diff --git a/_book/chapter1/dart.html b/_book/chapter1/dart.html index b36b2f38..6f815b68 100644 --- a/_book/chapter1/dart.html +++ b/_book/chapter1/dart.html @@ -2053,7 +2053,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"1.4:Dart语言简介","level":"2.1.4","depth":2,"next":{"title":"第二章:第一个Flutter应用","level":"2.2","depth":1,"path":"chapter2/index.md","ref":"chapter2/index.md","articles":[{"title":"2.1:计数器示例","level":"2.2.1","depth":2,"path":"chapter2/first_flutter_app.md","ref":"chapter2/first_flutter_app.md","articles":[]},{"title":"2.2:路由管理","level":"2.2.2","depth":2,"path":"chapter2/flutter_router.md","ref":"chapter2/flutter_router.md","articles":[]},{"title":"2.3:包管理","level":"2.2.3","depth":2,"path":"chapter2/flutter_package_mgr.md","ref":"chapter2/flutter_package_mgr.md","articles":[]},{"title":"2.4:资源管理","level":"2.2.4","depth":2,"path":"chapter2/flutter_assets_mgr.md","ref":"chapter2/flutter_assets_mgr.md","articles":[]},{"title":"2.5:调试Flutter APP","level":"2.2.5","depth":2,"path":"chapter2/flutter_app_debug.md","ref":"chapter2/flutter_app_debug.md","articles":[]},{"title":"2.6:Dart线程模型及异常捕获","level":"2.2.6","depth":2,"path":"chapter2/thread_model_and_error_report.md","ref":"chapter2/thread_model_and_error_report.md","articles":[]}]},"previous":{"title":"1.3:搭建Flutter开发环境","level":"2.1.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-06T11:10:58.916Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"1.4:Dart语言简介","level":"2.1.4","depth":2,"next":{"title":"第二章:第一个Flutter应用","level":"2.2","depth":1,"path":"chapter2/index.md","ref":"chapter2/index.md","articles":[{"title":"2.1:计数器示例","level":"2.2.1","depth":2,"path":"chapter2/first_flutter_app.md","ref":"chapter2/first_flutter_app.md","articles":[]},{"title":"2.2:路由管理","level":"2.2.2","depth":2,"path":"chapter2/flutter_router.md","ref":"chapter2/flutter_router.md","articles":[]},{"title":"2.3:包管理","level":"2.2.3","depth":2,"path":"chapter2/flutter_package_mgr.md","ref":"chapter2/flutter_package_mgr.md","articles":[]},{"title":"2.4:资源管理","level":"2.2.4","depth":2,"path":"chapter2/flutter_assets_mgr.md","ref":"chapter2/flutter_assets_mgr.md","articles":[]},{"title":"2.5:调试Flutter APP","level":"2.2.5","depth":2,"path":"chapter2/flutter_app_debug.md","ref":"chapter2/flutter_app_debug.md","articles":[]},{"title":"2.6:Dart线程模型及异常捕获","level":"2.2.6","depth":2,"path":"chapter2/thread_model_and_error_report.md","ref":"chapter2/thread_model_and_error_report.md","articles":[]}]},"previous":{"title":"1.3:搭建Flutter开发环境","level":"2.1.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-06T11:10:58.916Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter1/flutter_intro.html b/_book/chapter1/flutter_intro.html index ddf85837..3f8bd300 100644 --- a/_book/chapter1/flutter_intro.html +++ b/_book/chapter1/flutter_intro.html @@ -1811,7 +1811,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"1.2:初识Flutter","level":"2.1.2","depth":2,"next":{"title":"1.3:搭建Flutter开发环境","level":"2.1.3","depth":2,"path":"chapter1/install_flutter.md","ref":"chapter1/install_flutter.md","articles":[]},"previous":{"title":"1.1:移动开发技术简介","level":"2.1.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-06T11:10:58.238Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"1.2:初识Flutter","level":"2.1.2","depth":2,"next":{"title":"1.3:搭建Flutter开发环境","level":"2.1.3","depth":2,"path":"chapter1/install_flutter.md","ref":"chapter1/install_flutter.md","articles":[]},"previous":{"title":"1.1:移动开发技术简介","level":"2.1.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-06T11:10:58.238Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter1/index.html b/_book/chapter1/index.html index f5ca8295..0c0589ad 100644 --- a/_book/chapter1/index.html +++ b/_book/chapter1/index.html @@ -1749,7 +1749,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"第一章:起步","level":"2.1","depth":1,"next":{"title":"1.1:移动开发技术简介","level":"2.1.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"第一章:起步","level":"2.1","depth":1,"next":{"title":"1.1:移动开发技术简介","level":"2.1.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter1/install_flutter.html b/_book/chapter1/install_flutter.html index 3b0ee60c..0a3b3e21 100644 --- a/_book/chapter1/install_flutter.html +++ b/_book/chapter1/install_flutter.html @@ -2107,7 +2107,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"1.3:搭建Flutter开发环境","level":"2.1.3","depth":2,"next":{"title":"1.4:Dart语言简介","level":"2.1.4","depth":2,"path":"chapter1/dart.md","ref":"chapter1/dart.md","articles":[]},"previous":{"title":"1.2:初识Flutter","level":"2.1.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-06T11:10:58.239Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"1.3:搭建Flutter开发环境","level":"2.1.3","depth":2,"next":{"title":"1.4:Dart语言简介","level":"2.1.4","depth":2,"path":"chapter1/dart.md","ref":"chapter1/dart.md","articles":[]},"previous":{"title":"1.2:初识Flutter","level":"2.1.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-06T11:10:58.239Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter1/mobile_development_intro.html b/_book/chapter1/mobile_development_intro.html index fbf2e02c..eca2ddb4 100644 --- a/_book/chapter1/mobile_development_intro.html +++ b/_book/chapter1/mobile_development_intro.html @@ -1944,7 +1944,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"1.1:移动开发技术简介","level":"2.1.1","depth":2,"next":{"title":"1.2:初识Flutter","level":"2.1.2","depth":2,"path":"chapter1/flutter_intro.md","ref":"chapter1/flutter_intro.md","articles":[]},"previous":{"title":"第一章:起步","level":"2.1","depth":1,"path":"chapter1/index.md","ref":"chapter1/index.md","articles":[{"title":"1.1:移动开发技术简介","level":"2.1.1","depth":2,"path":"chapter1/mobile_development_intro.md","ref":"chapter1/mobile_development_intro.md","articles":[]},{"title":"1.2:初识Flutter","level":"2.1.2","depth":2,"path":"chapter1/flutter_intro.md","ref":"chapter1/flutter_intro.md","articles":[]},{"title":"1.3:搭建Flutter开发环境","level":"2.1.3","depth":2,"path":"chapter1/install_flutter.md","ref":"chapter1/install_flutter.md","articles":[]},{"title":"1.4:Dart语言简介","level":"2.1.4","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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-06T11:12:13.408Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"1.1:移动开发技术简介","level":"2.1.1","depth":2,"next":{"title":"1.2:初识Flutter","level":"2.1.2","depth":2,"path":"chapter1/flutter_intro.md","ref":"chapter1/flutter_intro.md","articles":[]},"previous":{"title":"第一章:起步","level":"2.1","depth":1,"path":"chapter1/index.md","ref":"chapter1/index.md","articles":[{"title":"1.1:移动开发技术简介","level":"2.1.1","depth":2,"path":"chapter1/mobile_development_intro.md","ref":"chapter1/mobile_development_intro.md","articles":[]},{"title":"1.2:初识Flutter","level":"2.1.2","depth":2,"path":"chapter1/flutter_intro.md","ref":"chapter1/flutter_intro.md","articles":[]},{"title":"1.3:搭建Flutter开发环境","level":"2.1.3","depth":2,"path":"chapter1/install_flutter.md","ref":"chapter1/install_flutter.md","articles":[]},{"title":"1.4:Dart语言简介","level":"2.1.4","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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-06T11:12:13.408Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter10/combine.html b/_book/chapter10/combine.html index e76338a0..776e8e30 100644 --- a/_book/chapter10/combine.html +++ b/_book/chapter10/combine.html @@ -1862,7 +1862,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"10.2:组合现有组件","level":"3.3.2","depth":2,"next":{"title":"10.3:组合实例:TurnBox","level":"3.3.3","depth":2,"path":"chapter10/turn_box.md","ref":"chapter10/turn_box.md","articles":[]},"previous":{"title":"10.1:自定义组件方法简介","level":"3.3.1","depth":2,"path":"chapter10/intro.md","ref":"chapter10/intro.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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/combine.md","mtime":"2019-08-06T11:10:58.913Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"10.2:组合现有组件","level":"3.3.2","depth":2,"next":{"title":"10.3:组合实例:TurnBox","level":"3.3.3","depth":2,"path":"chapter10/turn_box.md","ref":"chapter10/turn_box.md","articles":[]},"previous":{"title":"10.1:自定义组件方法简介","level":"3.3.1","depth":2,"path":"chapter10/intro.md","ref":"chapter10/intro.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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/combine.md","mtime":"2019-08-06T11:10:58.913Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter10/custom_paint.html b/_book/chapter10/custom_paint.html index 4b0c3a3f..f53821bd 100644 --- a/_book/chapter10/custom_paint.html +++ b/_book/chapter10/custom_paint.html @@ -1883,7 +1883,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"10.4:自绘组件(CustomPaint与Canvas)","level":"3.3.4","depth":2,"next":{"title":"10.5:自绘实例:圆形渐变进度条(自绘)","level":"3.3.5","depth":2,"path":"chapter10/gradient_circular_progress_demo.md","ref":"chapter10/gradient_circular_progress_demo.md","articles":[]},"previous":{"title":"10.3:组合实例:TurnBox","level":"3.3.3","depth":2,"path":"chapter10/turn_box.md","ref":"chapter10/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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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/custom_paint.md","mtime":"2019-08-06T11:10:58.913Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"10.4:自绘组件(CustomPaint与Canvas)","level":"3.3.4","depth":2,"next":{"title":"10.5:自绘实例:圆形渐变进度条(自绘)","level":"3.3.5","depth":2,"path":"chapter10/gradient_circular_progress_demo.md","ref":"chapter10/gradient_circular_progress_demo.md","articles":[]},"previous":{"title":"10.3:组合实例:TurnBox","level":"3.3.3","depth":2,"path":"chapter10/turn_box.md","ref":"chapter10/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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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/custom_paint.md","mtime":"2019-08-06T11:10:58.913Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter10/gradient_circular_progress_demo.html b/_book/chapter10/gradient_circular_progress_demo.html index 3038f242..bd16075e 100644 --- a/_book/chapter10/gradient_circular_progress_demo.html +++ b/_book/chapter10/gradient_circular_progress_demo.html @@ -2127,7 +2127,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"10.5:自绘实例:圆形渐变进度条(自绘)","level":"3.3.5","depth":2,"next":{"title":"第十一章:文件操作与网络请求","level":"3.4","depth":1,"path":"chapter11/index.md","ref":"chapter11/index.md","articles":[{"title":"11.1:文件操作","level":"3.4.1","depth":2,"path":"chapter11/file_operation.md","ref":"chapter11/file_operation.md","articles":[]},{"title":"11.2:Http请求-HttpClient","level":"3.4.2","depth":2,"path":"chapter11/http.md","ref":"chapter11/http.md","articles":[]},{"title":"11.3:Http请求-Dio package","level":"3.4.3","depth":2,"path":"chapter11/dio.md","ref":"chapter11/dio.md","articles":[]},{"title":"11.4:实例:Http分块下载","level":"3.4.4","depth":2,"path":"chapter11/download_with_chunks.md","ref":"chapter11/download_with_chunks.md","articles":[]},{"title":"11.5:WebSocket","level":"3.4.5","depth":2,"path":"chapter11/websocket.md","ref":"chapter11/websocket.md","articles":[]},{"title":"11.6:使用Socket API","level":"3.4.6","depth":2,"path":"chapter11/socket.md","ref":"chapter11/socket.md","articles":[]},{"title":"11.7:Json转Dart Model类","level":"3.4.7","depth":2,"path":"chapter11/json_model.md","ref":"chapter11/json_model.md","articles":[]}]},"previous":{"title":"10.4:自绘组件(CustomPaint与Canvas)","level":"3.3.4","depth":2,"path":"chapter10/custom_paint.md","ref":"chapter10/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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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/gradient_circular_progress_demo.md","mtime":"2019-08-06T11:10:58.912Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"10.5:自绘实例:圆形渐变进度条(自绘)","level":"3.3.5","depth":2,"next":{"title":"第十一章:文件操作与网络请求","level":"3.4","depth":1,"path":"chapter11/index.md","ref":"chapter11/index.md","articles":[{"title":"11.1:文件操作","level":"3.4.1","depth":2,"path":"chapter11/file_operation.md","ref":"chapter11/file_operation.md","articles":[]},{"title":"11.2:Http请求-HttpClient","level":"3.4.2","depth":2,"path":"chapter11/http.md","ref":"chapter11/http.md","articles":[]},{"title":"11.3:Http请求-Dio package","level":"3.4.3","depth":2,"path":"chapter11/dio.md","ref":"chapter11/dio.md","articles":[]},{"title":"11.4:实例:Http分块下载","level":"3.4.4","depth":2,"path":"chapter11/download_with_chunks.md","ref":"chapter11/download_with_chunks.md","articles":[]},{"title":"11.5:WebSocket","level":"3.4.5","depth":2,"path":"chapter11/websocket.md","ref":"chapter11/websocket.md","articles":[]},{"title":"11.6:使用Socket API","level":"3.4.6","depth":2,"path":"chapter11/socket.md","ref":"chapter11/socket.md","articles":[]},{"title":"11.7:Json转Dart Model类","level":"3.4.7","depth":2,"path":"chapter11/json_model.md","ref":"chapter11/json_model.md","articles":[]}]},"previous":{"title":"10.4:自绘组件(CustomPaint与Canvas)","level":"3.3.4","depth":2,"path":"chapter10/custom_paint.md","ref":"chapter10/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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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/gradient_circular_progress_demo.md","mtime":"2019-08-06T11:10:58.912Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter10/index.html b/_book/chapter10/index.html index 1545cd0c..0abf39c5 100644 --- a/_book/chapter10/index.html +++ b/_book/chapter10/index.html @@ -1750,7 +1750,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"第十章:自定义组件","level":"3.3","depth":1,"next":{"title":"10.1:自定义组件方法简介","level":"3.3.1","depth":2,"path":"chapter10/intro.md","ref":"chapter10/intro.md","articles":[]},"previous":{"title":"9.6:通用\"切换动画\"组件(AnimatedSwitcher)","level":"3.2.6","depth":2,"path":"chapter9/animated_switcher.md","ref":"chapter9/animated_switcher.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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":"2019-08-06T11:10:58.241Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"第十章:自定义组件","level":"3.3","depth":1,"next":{"title":"10.1:自定义组件方法简介","level":"3.3.1","depth":2,"path":"chapter10/intro.md","ref":"chapter10/intro.md","articles":[]},"previous":{"title":"9.6:通用\"切换动画\"组件(AnimatedSwitcher)","level":"3.2.6","depth":2,"path":"chapter9/animated_switcher.md","ref":"chapter9/animated_switcher.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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":"2019-08-06T11:10:58.241Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter10/intro.html b/_book/chapter10/intro.html index 9e81e9cb..a9fec5b7 100644 --- a/_book/chapter10/intro.html +++ b/_book/chapter10/intro.html @@ -1758,7 +1758,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"10.1:自定义组件方法简介","level":"3.3.1","depth":2,"next":{"title":"10.2:组合现有组件","level":"3.3.2","depth":2,"path":"chapter10/combine.md","ref":"chapter10/combine.md","articles":[]},"previous":{"title":"第十章:自定义组件","level":"3.3","depth":1,"path":"chapter10/index.md","ref":"chapter10/index.md","articles":[{"title":"10.1:自定义组件方法简介","level":"3.3.1","depth":2,"path":"chapter10/intro.md","ref":"chapter10/intro.md","articles":[]},{"title":"10.2:组合现有组件","level":"3.3.2","depth":2,"path":"chapter10/combine.md","ref":"chapter10/combine.md","articles":[]},{"title":"10.3:组合实例:TurnBox","level":"3.3.3","depth":2,"path":"chapter10/turn_box.md","ref":"chapter10/turn_box.md","articles":[]},{"title":"10.4:自绘组件(CustomPaint与Canvas)","level":"3.3.4","depth":2,"path":"chapter10/custom_paint.md","ref":"chapter10/custom_paint.md","articles":[]},{"title":"10.5:自绘实例:圆形渐变进度条(自绘)","level":"3.3.5","depth":2,"path":"chapter10/gradient_circular_progress_demo.md","ref":"chapter10/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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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/intro.md","mtime":"2019-08-06T11:10:58.241Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"10.1:自定义组件方法简介","level":"3.3.1","depth":2,"next":{"title":"10.2:组合现有组件","level":"3.3.2","depth":2,"path":"chapter10/combine.md","ref":"chapter10/combine.md","articles":[]},"previous":{"title":"第十章:自定义组件","level":"3.3","depth":1,"path":"chapter10/index.md","ref":"chapter10/index.md","articles":[{"title":"10.1:自定义组件方法简介","level":"3.3.1","depth":2,"path":"chapter10/intro.md","ref":"chapter10/intro.md","articles":[]},{"title":"10.2:组合现有组件","level":"3.3.2","depth":2,"path":"chapter10/combine.md","ref":"chapter10/combine.md","articles":[]},{"title":"10.3:组合实例:TurnBox","level":"3.3.3","depth":2,"path":"chapter10/turn_box.md","ref":"chapter10/turn_box.md","articles":[]},{"title":"10.4:自绘组件(CustomPaint与Canvas)","level":"3.3.4","depth":2,"path":"chapter10/custom_paint.md","ref":"chapter10/custom_paint.md","articles":[]},{"title":"10.5:自绘实例:圆形渐变进度条(自绘)","level":"3.3.5","depth":2,"path":"chapter10/gradient_circular_progress_demo.md","ref":"chapter10/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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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/intro.md","mtime":"2019-08-06T11:10:58.241Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter10/turn_box.html b/_book/chapter10/turn_box.html index aeeda4bd..2f25f7a1 100644 --- a/_book/chapter10/turn_box.html +++ b/_book/chapter10/turn_box.html @@ -1919,7 +1919,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"10.3:组合实例:TurnBox","level":"3.3.3","depth":2,"next":{"title":"10.4:自绘组件(CustomPaint与Canvas)","level":"3.3.4","depth":2,"path":"chapter10/custom_paint.md","ref":"chapter10/custom_paint.md","articles":[]},"previous":{"title":"10.2:组合现有组件","level":"3.3.2","depth":2,"path":"chapter10/combine.md","ref":"chapter10/combine.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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/turn_box.md","mtime":"2019-08-06T11:10:58.242Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"10.3:组合实例:TurnBox","level":"3.3.3","depth":2,"next":{"title":"10.4:自绘组件(CustomPaint与Canvas)","level":"3.3.4","depth":2,"path":"chapter10/custom_paint.md","ref":"chapter10/custom_paint.md","articles":[]},"previous":{"title":"10.2:组合现有组件","level":"3.3.2","depth":2,"path":"chapter10/combine.md","ref":"chapter10/combine.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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/turn_box.md","mtime":"2019-08-06T11:10:58.242Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter11/dio.html b/_book/chapter11/dio.html index 926235bd..6adec430 100644 --- a/_book/chapter11/dio.html +++ b/_book/chapter11/dio.html @@ -1855,7 +1855,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"11.3:Http请求-Dio package","level":"3.4.3","depth":2,"next":{"title":"11.4:实例:Http分块下载","level":"3.4.4","depth":2,"path":"chapter11/download_with_chunks.md","ref":"chapter11/download_with_chunks.md","articles":[]},"previous":{"title":"11.2:Http请求-HttpClient","level":"3.4.2","depth":2,"path":"chapter11/http.md","ref":"chapter11/http.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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/dio.md","mtime":"2019-08-06T11:10:58.911Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"11.3:Http请求-Dio package","level":"3.4.3","depth":2,"next":{"title":"11.4:实例:Http分块下载","level":"3.4.4","depth":2,"path":"chapter11/download_with_chunks.md","ref":"chapter11/download_with_chunks.md","articles":[]},"previous":{"title":"11.2:Http请求-HttpClient","level":"3.4.2","depth":2,"path":"chapter11/http.md","ref":"chapter11/http.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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/dio.md","mtime":"2019-08-06T11:10:58.911Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter11/download_with_chunks.html b/_book/chapter11/download_with_chunks.html index 058196e0..329809db 100644 --- a/_book/chapter11/download_with_chunks.html +++ b/_book/chapter11/download_with_chunks.html @@ -1924,7 +1924,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"11.4:实例:Http分块下载","level":"3.4.4","depth":2,"next":{"title":"11.5:WebSocket","level":"3.4.5","depth":2,"path":"chapter11/websocket.md","ref":"chapter11/websocket.md","articles":[]},"previous":{"title":"11.3:Http请求-Dio package","level":"3.4.3","depth":2,"path":"chapter11/dio.md","ref":"chapter11/dio.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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/download_with_chunks.md","mtime":"2019-08-06T11:10:58.911Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"11.4:实例:Http分块下载","level":"3.4.4","depth":2,"next":{"title":"11.5:WebSocket","level":"3.4.5","depth":2,"path":"chapter11/websocket.md","ref":"chapter11/websocket.md","articles":[]},"previous":{"title":"11.3:Http请求-Dio package","level":"3.4.3","depth":2,"path":"chapter11/dio.md","ref":"chapter11/dio.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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/download_with_chunks.md","mtime":"2019-08-06T11:10:58.911Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter11/file_operation.html b/_book/chapter11/file_operation.html index 25b0e3af..0eccbe3c 100644 --- a/_book/chapter11/file_operation.html +++ b/_book/chapter11/file_operation.html @@ -1834,7 +1834,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"11.1:文件操作","level":"3.4.1","depth":2,"next":{"title":"11.2:Http请求-HttpClient","level":"3.4.2","depth":2,"path":"chapter11/http.md","ref":"chapter11/http.md","articles":[]},"previous":{"title":"第十一章:文件操作与网络请求","level":"3.4","depth":1,"path":"chapter11/index.md","ref":"chapter11/index.md","articles":[{"title":"11.1:文件操作","level":"3.4.1","depth":2,"path":"chapter11/file_operation.md","ref":"chapter11/file_operation.md","articles":[]},{"title":"11.2:Http请求-HttpClient","level":"3.4.2","depth":2,"path":"chapter11/http.md","ref":"chapter11/http.md","articles":[]},{"title":"11.3:Http请求-Dio package","level":"3.4.3","depth":2,"path":"chapter11/dio.md","ref":"chapter11/dio.md","articles":[]},{"title":"11.4:实例:Http分块下载","level":"3.4.4","depth":2,"path":"chapter11/download_with_chunks.md","ref":"chapter11/download_with_chunks.md","articles":[]},{"title":"11.5:WebSocket","level":"3.4.5","depth":2,"path":"chapter11/websocket.md","ref":"chapter11/websocket.md","articles":[]},{"title":"11.6:使用Socket API","level":"3.4.6","depth":2,"path":"chapter11/socket.md","ref":"chapter11/socket.md","articles":[]},{"title":"11.7:Json转Dart Model类","level":"3.4.7","depth":2,"path":"chapter11/json_model.md","ref":"chapter11/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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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/file_operation.md","mtime":"2019-08-06T11:10:58.911Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"11.1:文件操作","level":"3.4.1","depth":2,"next":{"title":"11.2:Http请求-HttpClient","level":"3.4.2","depth":2,"path":"chapter11/http.md","ref":"chapter11/http.md","articles":[]},"previous":{"title":"第十一章:文件操作与网络请求","level":"3.4","depth":1,"path":"chapter11/index.md","ref":"chapter11/index.md","articles":[{"title":"11.1:文件操作","level":"3.4.1","depth":2,"path":"chapter11/file_operation.md","ref":"chapter11/file_operation.md","articles":[]},{"title":"11.2:Http请求-HttpClient","level":"3.4.2","depth":2,"path":"chapter11/http.md","ref":"chapter11/http.md","articles":[]},{"title":"11.3:Http请求-Dio package","level":"3.4.3","depth":2,"path":"chapter11/dio.md","ref":"chapter11/dio.md","articles":[]},{"title":"11.4:实例:Http分块下载","level":"3.4.4","depth":2,"path":"chapter11/download_with_chunks.md","ref":"chapter11/download_with_chunks.md","articles":[]},{"title":"11.5:WebSocket","level":"3.4.5","depth":2,"path":"chapter11/websocket.md","ref":"chapter11/websocket.md","articles":[]},{"title":"11.6:使用Socket API","level":"3.4.6","depth":2,"path":"chapter11/socket.md","ref":"chapter11/socket.md","articles":[]},{"title":"11.7:Json转Dart Model类","level":"3.4.7","depth":2,"path":"chapter11/json_model.md","ref":"chapter11/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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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/file_operation.md","mtime":"2019-08-06T11:10:58.911Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter11/http.html b/_book/chapter11/http.html index 9313d6c8..6ff1ca32 100644 --- a/_book/chapter11/http.html +++ b/_book/chapter11/http.html @@ -1987,7 +1987,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"11.2:Http请求-HttpClient","level":"3.4.2","depth":2,"next":{"title":"11.3:Http请求-Dio package","level":"3.4.3","depth":2,"path":"chapter11/dio.md","ref":"chapter11/dio.md","articles":[]},"previous":{"title":"11.1:文件操作","level":"3.4.1","depth":2,"path":"chapter11/file_operation.md","ref":"chapter11/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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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/http.md","mtime":"2019-08-06T11:10:58.910Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"11.2:Http请求-HttpClient","level":"3.4.2","depth":2,"next":{"title":"11.3:Http请求-Dio package","level":"3.4.3","depth":2,"path":"chapter11/dio.md","ref":"chapter11/dio.md","articles":[]},"previous":{"title":"11.1:文件操作","level":"3.4.1","depth":2,"path":"chapter11/file_operation.md","ref":"chapter11/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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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/http.md","mtime":"2019-08-06T11:10:58.910Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter11/index.html b/_book/chapter11/index.html index 82543a14..890babb0 100644 --- a/_book/chapter11/index.html +++ b/_book/chapter11/index.html @@ -1752,7 +1752,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"第十一章:文件操作与网络请求","level":"3.4","depth":1,"next":{"title":"11.1:文件操作","level":"3.4.1","depth":2,"path":"chapter11/file_operation.md","ref":"chapter11/file_operation.md","articles":[]},"previous":{"title":"10.5:自绘实例:圆形渐变进度条(自绘)","level":"3.3.5","depth":2,"path":"chapter10/gradient_circular_progress_demo.md","ref":"chapter10/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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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":"2019-08-06T11:10:58.244Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"第十一章:文件操作与网络请求","level":"3.4","depth":1,"next":{"title":"11.1:文件操作","level":"3.4.1","depth":2,"path":"chapter11/file_operation.md","ref":"chapter11/file_operation.md","articles":[]},"previous":{"title":"10.5:自绘实例:圆形渐变进度条(自绘)","level":"3.3.5","depth":2,"path":"chapter10/gradient_circular_progress_demo.md","ref":"chapter10/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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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":"2019-08-06T11:10:58.244Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter11/json_model.html b/_book/chapter11/json_model.html index 5207cd0b..75c04586 100644 --- a/_book/chapter11/json_model.html +++ b/_book/chapter11/json_model.html @@ -2072,7 +2072,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"11.7:Json转Dart Model类","level":"3.4.7","depth":2,"next":{"title":"第十二章:包与插件","level":"3.5","depth":1,"path":"chapter12/index.md","ref":"chapter12/index.md","articles":[{"title":"12.1:开发package","level":"3.5.1","depth":2,"path":"chapter12/develop_package.md","ref":"chapter12/develop_package.md","articles":[]},{"title":"12.2:平台通道简介","level":"3.5.2","depth":2,"path":"chapter12/platform-channel.md","ref":"chapter12/platform-channel.md","articles":[]},{"title":"12.3:开发Flutter插件","level":"3.5.3","depth":2,"path":"chapter12/develop_plugin.md","ref":"chapter12/develop_plugin.md","articles":[]},{"title":"12.4:插件开发:实现Android端API","level":"3.5.4","depth":2,"path":"chapter12/android_implement.md","ref":"chapter12/android_implement.md","articles":[]},{"title":"12.5:插件开发:实现IOS端API","level":"3.5.5","depth":2,"path":"chapter12/ios_implement.md","ref":"chapter12/ios_implement.md","articles":[]},{"title":"12.6:Texture和PlatformView","level":"3.5.6","depth":2,"path":"todo.md","ref":"todo.md","articles":[]},{"title":"12.6:系统能力调用","level":"3.5.7","depth":2,"path":"todo.md","ref":"todo.md","articles":[]}]},"previous":{"title":"11.6:使用Socket API","level":"3.4.6","depth":2,"path":"chapter11/socket.md","ref":"chapter11/socket.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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/json_model.md","mtime":"2019-08-06T11:10:58.909Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"11.7:Json转Dart Model类","level":"3.4.7","depth":2,"next":{"title":"第十二章:包与插件","level":"3.5","depth":1,"path":"chapter12/index.md","ref":"chapter12/index.md","articles":[{"title":"12.1:开发package","level":"3.5.1","depth":2,"path":"chapter12/develop_package.md","ref":"chapter12/develop_package.md","articles":[]},{"title":"12.2:平台通道简介","level":"3.5.2","depth":2,"path":"chapter12/platform-channel.md","ref":"chapter12/platform-channel.md","articles":[]},{"title":"12.3:开发Flutter插件","level":"3.5.3","depth":2,"path":"chapter12/develop_plugin.md","ref":"chapter12/develop_plugin.md","articles":[]},{"title":"12.4:插件开发:实现Android端API","level":"3.5.4","depth":2,"path":"chapter12/android_implement.md","ref":"chapter12/android_implement.md","articles":[]},{"title":"12.5:插件开发:实现IOS端API","level":"3.5.5","depth":2,"path":"chapter12/ios_implement.md","ref":"chapter12/ios_implement.md","articles":[]},{"title":"12.6:Texture和PlatformView","level":"3.5.6","depth":2,"path":"todo.md","ref":"todo.md","articles":[]},{"title":"12.6:系统能力调用","level":"3.5.7","depth":2,"path":"todo.md","ref":"todo.md","articles":[]}]},"previous":{"title":"11.6:使用Socket API","level":"3.4.6","depth":2,"path":"chapter11/socket.md","ref":"chapter11/socket.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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/json_model.md","mtime":"2019-08-06T11:10:58.909Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter11/socket.html b/_book/chapter11/socket.html index fcb0384a..1a76792c 100644 --- a/_book/chapter11/socket.html +++ b/_book/chapter11/socket.html @@ -1761,7 +1761,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"11.6:使用Socket API","level":"3.4.6","depth":2,"next":{"title":"11.7:Json转Dart Model类","level":"3.4.7","depth":2,"path":"chapter11/json_model.md","ref":"chapter11/json_model.md","articles":[]},"previous":{"title":"11.5:WebSocket","level":"3.4.5","depth":2,"path":"chapter11/websocket.md","ref":"chapter11/websocket.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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/socket.md","mtime":"2019-08-06T11:10:58.244Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"11.6:使用Socket API","level":"3.4.6","depth":2,"next":{"title":"11.7:Json转Dart Model类","level":"3.4.7","depth":2,"path":"chapter11/json_model.md","ref":"chapter11/json_model.md","articles":[]},"previous":{"title":"11.5:WebSocket","level":"3.4.5","depth":2,"path":"chapter11/websocket.md","ref":"chapter11/websocket.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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/socket.md","mtime":"2019-08-06T11:10:58.244Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter11/websocket.html b/_book/chapter11/websocket.html index eb396278..cc60050d 100644 --- a/_book/chapter11/websocket.html +++ b/_book/chapter11/websocket.html @@ -1862,7 +1862,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"11.5:WebSocket","level":"3.4.5","depth":2,"next":{"title":"11.6:使用Socket API","level":"3.4.6","depth":2,"path":"chapter11/socket.md","ref":"chapter11/socket.md","articles":[]},"previous":{"title":"11.4:实例:Http分块下载","level":"3.4.4","depth":2,"path":"chapter11/download_with_chunks.md","ref":"chapter11/download_with_chunks.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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/websocket.md","mtime":"2019-08-06T11:10:58.909Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"11.5:WebSocket","level":"3.4.5","depth":2,"next":{"title":"11.6:使用Socket API","level":"3.4.6","depth":2,"path":"chapter11/socket.md","ref":"chapter11/socket.md","articles":[]},"previous":{"title":"11.4:实例:Http分块下载","level":"3.4.4","depth":2,"path":"chapter11/download_with_chunks.md","ref":"chapter11/download_with_chunks.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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/websocket.md","mtime":"2019-08-06T11:10:58.909Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter12/android_implement.html b/_book/chapter12/android_implement.html index b7be4f3e..86341716 100644 --- a/_book/chapter12/android_implement.html +++ b/_book/chapter12/android_implement.html @@ -1884,7 +1884,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"12.4:插件开发:实现Android端API","level":"3.5.4","depth":2,"next":{"title":"12.5:插件开发:实现IOS端API","level":"3.5.5","depth":2,"path":"chapter12/ios_implement.md","ref":"chapter12/ios_implement.md","articles":[]},"previous":{"title":"12.3:开发Flutter插件","level":"3.5.3","depth":2,"path":"chapter12/develop_plugin.md","ref":"chapter12/develop_plugin.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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/android_implement.md","mtime":"2019-08-06T11:10:58.908Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"12.4:插件开发:实现Android端API","level":"3.5.4","depth":2,"next":{"title":"12.5:插件开发:实现IOS端API","level":"3.5.5","depth":2,"path":"chapter12/ios_implement.md","ref":"chapter12/ios_implement.md","articles":[]},"previous":{"title":"12.3:开发Flutter插件","level":"3.5.3","depth":2,"path":"chapter12/develop_plugin.md","ref":"chapter12/develop_plugin.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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/android_implement.md","mtime":"2019-08-06T11:10:58.908Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter12/develop_package.html b/_book/chapter12/develop_package.html index 32220f6d..3edb5975 100644 --- a/_book/chapter12/develop_package.html +++ b/_book/chapter12/develop_package.html @@ -1858,7 +1858,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"12.1:开发package","level":"3.5.1","depth":2,"next":{"title":"12.2:平台通道简介","level":"3.5.2","depth":2,"path":"chapter12/platform-channel.md","ref":"chapter12/platform-channel.md","articles":[]},"previous":{"title":"第十二章:包与插件","level":"3.5","depth":1,"path":"chapter12/index.md","ref":"chapter12/index.md","articles":[{"title":"12.1:开发package","level":"3.5.1","depth":2,"path":"chapter12/develop_package.md","ref":"chapter12/develop_package.md","articles":[]},{"title":"12.2:平台通道简介","level":"3.5.2","depth":2,"path":"chapter12/platform-channel.md","ref":"chapter12/platform-channel.md","articles":[]},{"title":"12.3:开发Flutter插件","level":"3.5.3","depth":2,"path":"chapter12/develop_plugin.md","ref":"chapter12/develop_plugin.md","articles":[]},{"title":"12.4:插件开发:实现Android端API","level":"3.5.4","depth":2,"path":"chapter12/android_implement.md","ref":"chapter12/android_implement.md","articles":[]},{"title":"12.5:插件开发:实现IOS端API","level":"3.5.5","depth":2,"path":"chapter12/ios_implement.md","ref":"chapter12/ios_implement.md","articles":[]},{"title":"12.6:Texture和PlatformView","level":"3.5.6","depth":2,"path":"todo.md","ref":"todo.md","articles":[]},{"title":"12.6:系统能力调用","level":"3.5.7","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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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/develop_package.md","mtime":"2019-08-06T11:10:58.908Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"12.1:开发package","level":"3.5.1","depth":2,"next":{"title":"12.2:平台通道简介","level":"3.5.2","depth":2,"path":"chapter12/platform-channel.md","ref":"chapter12/platform-channel.md","articles":[]},"previous":{"title":"第十二章:包与插件","level":"3.5","depth":1,"path":"chapter12/index.md","ref":"chapter12/index.md","articles":[{"title":"12.1:开发package","level":"3.5.1","depth":2,"path":"chapter12/develop_package.md","ref":"chapter12/develop_package.md","articles":[]},{"title":"12.2:平台通道简介","level":"3.5.2","depth":2,"path":"chapter12/platform-channel.md","ref":"chapter12/platform-channel.md","articles":[]},{"title":"12.3:开发Flutter插件","level":"3.5.3","depth":2,"path":"chapter12/develop_plugin.md","ref":"chapter12/develop_plugin.md","articles":[]},{"title":"12.4:插件开发:实现Android端API","level":"3.5.4","depth":2,"path":"chapter12/android_implement.md","ref":"chapter12/android_implement.md","articles":[]},{"title":"12.5:插件开发:实现IOS端API","level":"3.5.5","depth":2,"path":"chapter12/ios_implement.md","ref":"chapter12/ios_implement.md","articles":[]},{"title":"12.6:Texture和PlatformView","level":"3.5.6","depth":2,"path":"todo.md","ref":"todo.md","articles":[]},{"title":"12.6:系统能力调用","level":"3.5.7","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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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/develop_package.md","mtime":"2019-08-06T11:10:58.908Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter12/develop_plugin.html b/_book/chapter12/develop_plugin.html index a5508943..56af6ee0 100644 --- a/_book/chapter12/develop_plugin.html +++ b/_book/chapter12/develop_plugin.html @@ -1807,7 +1807,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"12.3:开发Flutter插件","level":"3.5.3","depth":2,"next":{"title":"12.4:插件开发:实现Android端API","level":"3.5.4","depth":2,"path":"chapter12/android_implement.md","ref":"chapter12/android_implement.md","articles":[]},"previous":{"title":"12.2:平台通道简介","level":"3.5.2","depth":2,"path":"chapter12/platform-channel.md","ref":"chapter12/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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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/develop_plugin.md","mtime":"2019-08-06T11:10:58.245Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"12.3:开发Flutter插件","level":"3.5.3","depth":2,"next":{"title":"12.4:插件开发:实现Android端API","level":"3.5.4","depth":2,"path":"chapter12/android_implement.md","ref":"chapter12/android_implement.md","articles":[]},"previous":{"title":"12.2:平台通道简介","level":"3.5.2","depth":2,"path":"chapter12/platform-channel.md","ref":"chapter12/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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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/develop_plugin.md","mtime":"2019-08-06T11:10:58.245Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter12/index.html b/_book/chapter12/index.html index 3d73d678..18e1f629 100644 --- a/_book/chapter12/index.html +++ b/_book/chapter12/index.html @@ -1749,7 +1749,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"第十二章:包与插件","level":"3.5","depth":1,"next":{"title":"12.1:开发package","level":"3.5.1","depth":2,"path":"chapter12/develop_package.md","ref":"chapter12/develop_package.md","articles":[]},"previous":{"title":"11.7:Json转Dart Model类","level":"3.4.7","depth":2,"path":"chapter11/json_model.md","ref":"chapter11/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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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":"2019-08-06T11:10:58.246Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"第十二章:包与插件","level":"3.5","depth":1,"next":{"title":"12.1:开发package","level":"3.5.1","depth":2,"path":"chapter12/develop_package.md","ref":"chapter12/develop_package.md","articles":[]},"previous":{"title":"11.7:Json转Dart Model类","level":"3.4.7","depth":2,"path":"chapter11/json_model.md","ref":"chapter11/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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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":"2019-08-06T11:10:58.246Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter12/ios_implement.html b/_book/chapter12/ios_implement.html index 9dbef304..b142a476 100644 --- a/_book/chapter12/ios_implement.html +++ b/_book/chapter12/ios_implement.html @@ -1854,7 +1854,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"12.5:插件开发:实现IOS端API","level":"3.5.5","depth":2,"next":{"title":"12.6:Texture和PlatformView","level":"3.5.6","depth":2,"path":"todo.md","ref":"todo.md","articles":[]},"previous":{"title":"12.4:插件开发:实现Android端API","level":"3.5.4","depth":2,"path":"chapter12/android_implement.md","ref":"chapter12/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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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/ios_implement.md","mtime":"2019-08-06T11:10:58.907Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"12.5:插件开发:实现IOS端API","level":"3.5.5","depth":2,"next":{"title":"12.6:Texture和PlatformView","level":"3.5.6","depth":2,"path":"todo.md","ref":"todo.md","articles":[]},"previous":{"title":"12.4:插件开发:实现Android端API","level":"3.5.4","depth":2,"path":"chapter12/android_implement.md","ref":"chapter12/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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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/ios_implement.md","mtime":"2019-08-06T11:10:58.907Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter12/platform-channel.html b/_book/chapter12/platform-channel.html index f78b327e..fa09d4f9 100644 --- a/_book/chapter12/platform-channel.html +++ b/_book/chapter12/platform-channel.html @@ -1796,6 +1796,26 @@

自定义编解码器

除了上面提到的MethodChannel,还可以使用BasicMessageChannel,它支持使用自定义消息编解码器进行基本的异步消息传递。 此外,可以使用专门的BinaryCodecStringCodecJSONMessageCodec类,或创建自己的编解码器。

+

如何获取平台信息

+

Flutter 中提供了一个全局变量defaultTargetPlatform来获取当前应用的平台信息,defaultTargetPlatform定义在"platform.dart"中,它的类型是TargetPlatform,这是一个枚举类,定义如下:

+
enum TargetPlatform {
+  android,
+  fuchsia,
+  iOS,
+}
+
+

可以看到目前Flutter只支持这三个平台。我们可以通过如下代码判断平台:

+
if(defaultTargetPlatform==TargetPlatform.android){
+  // 是安卓系统,do something
+  ...
+}
+...
+
+

由于不同平台有它们各自的交互规范,Flutter Material库中的一些组件都针对相应的平台做了一些适配,比如路由组件MaterialPageRoute,它在android和ios中会应用各自平台规范的切换动画。那如果我们想让我们的APP在所有平台都表现一致,比如希望在所有平台路由切换动画都按照ios平台一致的左右滑动切换风格该怎么做?Flutter中提供了一种覆盖默认平台的机制,我们可以通过显式指定debugDefaultTargetPlatformOverride全局变量的值来指定应用平台。比如:

+
debugDefaultTargetPlatformOverride=TargetPlatform.iOS;
+print(defaultTargetPlatform); // 会输出TargetPlatform.iOS
+
+

上面代码即在Android中运行后,Flutter APP就会认为是当前系统是iOS,Material组件库中所有组件交互方式都会和iOS平台对齐,defaultTargetPlatform的值也会变为TargetPlatform.iOS

@@ -1839,7 +1859,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"12.2:平台通道简介","level":"3.5.2","depth":2,"next":{"title":"12.3:开发Flutter插件","level":"3.5.3","depth":2,"path":"chapter12/develop_plugin.md","ref":"chapter12/develop_plugin.md","articles":[]},"previous":{"title":"12.1:开发package","level":"3.5.1","depth":2,"path":"chapter12/develop_package.md","ref":"chapter12/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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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/platform-channel.md","mtime":"2019-08-06T11:10:58.246Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"12.2:平台通道简介","level":"3.5.2","depth":2,"next":{"title":"12.3:开发Flutter插件","level":"3.5.3","depth":2,"path":"chapter12/develop_plugin.md","ref":"chapter12/develop_plugin.md","articles":[]},"previous":{"title":"12.1:开发package","level":"3.5.1","depth":2,"path":"chapter12/develop_package.md","ref":"chapter12/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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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/platform-channel.md","mtime":"2019-08-09T07:47:03.129Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter13/faq.html b/_book/chapter13/faq.html index a1a26d73..28d0e5f6 100644 --- a/_book/chapter13/faq.html +++ b/_book/chapter13/faq.html @@ -1777,7 +1777,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"13.4:国际化常见问题","level":"3.6.4","depth":2,"next":{"title":"第十四章:Flutter核心原理","level":"3.7","depth":1,"path":"chapter14/index.md","ref":"chapter14/index.md","articles":[{"title":"14.1:Flutter UI系统","level":"3.7.1","depth":2,"path":"chapter14/flutter_ui_system.md","ref":"chapter14/flutter_ui_system.md","articles":[]},{"title":"14.2:Element和BuildContext","level":"3.7.2","depth":2,"path":"chapter14/element_buildcontext.md","ref":"chapter14/element_buildcontext.md","articles":[]},{"title":"14.3:RenderObject与RenderBox","level":"3.7.3","depth":2,"path":"chapter14/render_object.md","ref":"chapter14/render_object.md","articles":[]},{"title":"14.4:Flutter从启动到显示","level":"3.7.4","depth":2,"path":"chapter14/flutter_app_startup.md","ref":"chapter14/flutter_app_startup.md","articles":[]},{"title":"14.5:Flutter图片加载与缓存","level":"3.7.5","depth":2,"path":"chapter14/image_and_cache.md","ref":"chapter14/image_and_cache.md","articles":[]}]},"previous":{"title":"13.3:使用Intl包","level":"3.6.3","depth":2,"path":"chapter13/intl.md","ref":"chapter13/intl.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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/faq.md","mtime":"2019-08-06T11:10:58.247Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"13.4:国际化常见问题","level":"3.6.4","depth":2,"next":{"title":"第十四章:Flutter核心原理","level":"3.7","depth":1,"path":"chapter14/index.md","ref":"chapter14/index.md","articles":[{"title":"14.1:Flutter UI系统","level":"3.7.1","depth":2,"path":"chapter14/flutter_ui_system.md","ref":"chapter14/flutter_ui_system.md","articles":[]},{"title":"14.2:Element和BuildContext","level":"3.7.2","depth":2,"path":"chapter14/element_buildcontext.md","ref":"chapter14/element_buildcontext.md","articles":[]},{"title":"14.3:RenderObject与RenderBox","level":"3.7.3","depth":2,"path":"chapter14/render_object.md","ref":"chapter14/render_object.md","articles":[]},{"title":"14.4:Flutter从启动到显示","level":"3.7.4","depth":2,"path":"chapter14/flutter_app_startup.md","ref":"chapter14/flutter_app_startup.md","articles":[]},{"title":"14.5:Flutter图片加载与缓存","level":"3.7.5","depth":2,"path":"chapter14/image_and_cache.md","ref":"chapter14/image_and_cache.md","articles":[]}]},"previous":{"title":"13.3:使用Intl包","level":"3.6.3","depth":2,"path":"chapter13/intl.md","ref":"chapter13/intl.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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/faq.md","mtime":"2019-08-06T11:10:58.247Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter13/index.html b/_book/chapter13/index.html index f3712018..9c17dd8b 100644 --- a/_book/chapter13/index.html +++ b/_book/chapter13/index.html @@ -1748,7 +1748,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"第十三章:国际化","level":"3.6","depth":1,"next":{"title":"13.1:让App支持多语言","level":"3.6.1","depth":2,"path":"chapter13/multi_languages_support.md","ref":"chapter13/multi_languages_support.md","articles":[]},"previous":{"title":"12.6:系统能力调用","level":"3.5.7","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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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":"2019-08-06T11:10:58.247Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"第十三章:国际化","level":"3.6","depth":1,"next":{"title":"13.1:让App支持多语言","level":"3.6.1","depth":2,"path":"chapter13/multi_languages_support.md","ref":"chapter13/multi_languages_support.md","articles":[]},"previous":{"title":"12.6:系统能力调用","level":"3.5.7","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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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":"2019-08-06T11:10:58.247Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter13/intl.html b/_book/chapter13/intl.html index 6fbe038b..36b45d49 100644 --- a/_book/chapter13/intl.html +++ b/_book/chapter13/intl.html @@ -1929,7 +1929,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"13.3:使用Intl包","level":"3.6.3","depth":2,"next":{"title":"13.4:国际化常见问题","level":"3.6.4","depth":2,"path":"chapter13/faq.md","ref":"chapter13/faq.md","articles":[]},"previous":{"title":"13.2:实现Localizations","level":"3.6.2","depth":2,"path":"chapter13/locallization_implement.md","ref":"chapter13/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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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/intl.md","mtime":"2019-08-06T11:10:58.907Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"13.3:使用Intl包","level":"3.6.3","depth":2,"next":{"title":"13.4:国际化常见问题","level":"3.6.4","depth":2,"path":"chapter13/faq.md","ref":"chapter13/faq.md","articles":[]},"previous":{"title":"13.2:实现Localizations","level":"3.6.2","depth":2,"path":"chapter13/locallization_implement.md","ref":"chapter13/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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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/intl.md","mtime":"2019-08-06T11:10:58.907Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter13/locallization_implement.html b/_book/chapter13/locallization_implement.html index a98455bf..aa39b6f0 100644 --- a/_book/chapter13/locallization_implement.html +++ b/_book/chapter13/locallization_implement.html @@ -1810,7 +1810,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"13.2:实现Localizations","level":"3.6.2","depth":2,"next":{"title":"13.3:使用Intl包","level":"3.6.3","depth":2,"path":"chapter13/intl.md","ref":"chapter13/intl.md","articles":[]},"previous":{"title":"13.1:让App支持多语言","level":"3.6.1","depth":2,"path":"chapter13/multi_languages_support.md","ref":"chapter13/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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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/locallization_implement.md","mtime":"2019-08-06T11:10:58.906Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"13.2:实现Localizations","level":"3.6.2","depth":2,"next":{"title":"13.3:使用Intl包","level":"3.6.3","depth":2,"path":"chapter13/intl.md","ref":"chapter13/intl.md","articles":[]},"previous":{"title":"13.1:让App支持多语言","level":"3.6.1","depth":2,"path":"chapter13/multi_languages_support.md","ref":"chapter13/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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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/locallization_implement.md","mtime":"2019-08-06T11:10:58.906Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter13/multi_languages_support.html b/_book/chapter13/multi_languages_support.html index 822f566a..391dd8f5 100644 --- a/_book/chapter13/multi_languages_support.html +++ b/_book/chapter13/multi_languages_support.html @@ -1828,7 +1828,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"13.1:让App支持多语言","level":"3.6.1","depth":2,"next":{"title":"13.2:实现Localizations","level":"3.6.2","depth":2,"path":"chapter13/locallization_implement.md","ref":"chapter13/locallization_implement.md","articles":[]},"previous":{"title":"第十三章:国际化","level":"3.6","depth":1,"path":"chapter13/index.md","ref":"chapter13/index.md","articles":[{"title":"13.1:让App支持多语言","level":"3.6.1","depth":2,"path":"chapter13/multi_languages_support.md","ref":"chapter13/multi_languages_support.md","articles":[]},{"title":"13.2:实现Localizations","level":"3.6.2","depth":2,"path":"chapter13/locallization_implement.md","ref":"chapter13/locallization_implement.md","articles":[]},{"title":"13.3:使用Intl包","level":"3.6.3","depth":2,"path":"chapter13/intl.md","ref":"chapter13/intl.md","articles":[]},{"title":"13.4:国际化常见问题","level":"3.6.4","depth":2,"path":"chapter13/faq.md","ref":"chapter13/faq.md","articles":[]}]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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/multi_languages_support.md","mtime":"2019-08-06T11:10:58.248Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"13.1:让App支持多语言","level":"3.6.1","depth":2,"next":{"title":"13.2:实现Localizations","level":"3.6.2","depth":2,"path":"chapter13/locallization_implement.md","ref":"chapter13/locallization_implement.md","articles":[]},"previous":{"title":"第十三章:国际化","level":"3.6","depth":1,"path":"chapter13/index.md","ref":"chapter13/index.md","articles":[{"title":"13.1:让App支持多语言","level":"3.6.1","depth":2,"path":"chapter13/multi_languages_support.md","ref":"chapter13/multi_languages_support.md","articles":[]},{"title":"13.2:实现Localizations","level":"3.6.2","depth":2,"path":"chapter13/locallization_implement.md","ref":"chapter13/locallization_implement.md","articles":[]},{"title":"13.3:使用Intl包","level":"3.6.3","depth":2,"path":"chapter13/intl.md","ref":"chapter13/intl.md","articles":[]},{"title":"13.4:国际化常见问题","level":"3.6.4","depth":2,"path":"chapter13/faq.md","ref":"chapter13/faq.md","articles":[]}]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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/multi_languages_support.md","mtime":"2019-08-06T11:10:58.248Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter14/element_buildcontext.html b/_book/chapter14/element_buildcontext.html index da8f7812..d09b8e98 100644 --- a/_book/chapter14/element_buildcontext.html +++ b/_book/chapter14/element_buildcontext.html @@ -1842,7 +1842,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"14.2:Element和BuildContext","level":"3.7.2","depth":2,"next":{"title":"14.3:RenderObject与RenderBox","level":"3.7.3","depth":2,"path":"chapter14/render_object.md","ref":"chapter14/render_object.md","articles":[]},"previous":{"title":"14.1:Flutter UI系统","level":"3.7.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-06T11:10:58.248Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"14.2:Element和BuildContext","level":"3.7.2","depth":2,"next":{"title":"14.3:RenderObject与RenderBox","level":"3.7.3","depth":2,"path":"chapter14/render_object.md","ref":"chapter14/render_object.md","articles":[]},"previous":{"title":"14.1:Flutter UI系统","level":"3.7.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-06T11:10:58.248Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter14/flutter_app_startup.html b/_book/chapter14/flutter_app_startup.html index 43cf68a1..f0a6b197 100644 --- a/_book/chapter14/flutter_app_startup.html +++ b/_book/chapter14/flutter_app_startup.html @@ -2000,7 +2000,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"14.4:Flutter从启动到显示","level":"3.7.4","depth":2,"next":{"title":"14.5:Flutter图片加载与缓存","level":"3.7.5","depth":2,"path":"chapter14/image_and_cache.md","ref":"chapter14/image_and_cache.md","articles":[]},"previous":{"title":"14.3:RenderObject与RenderBox","level":"3.7.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-06T11:10:58.249Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"14.4:Flutter从启动到显示","level":"3.7.4","depth":2,"next":{"title":"14.5:Flutter图片加载与缓存","level":"3.7.5","depth":2,"path":"chapter14/image_and_cache.md","ref":"chapter14/image_and_cache.md","articles":[]},"previous":{"title":"14.3:RenderObject与RenderBox","level":"3.7.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-06T11:10:58.249Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter14/flutter_ui_system.html b/_book/chapter14/flutter_ui_system.html index 269153e8..5729e366 100644 --- a/_book/chapter14/flutter_ui_system.html +++ b/_book/chapter14/flutter_ui_system.html @@ -1759,7 +1759,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"14.1:Flutter UI系统","level":"3.7.1","depth":2,"next":{"title":"14.2:Element和BuildContext","level":"3.7.2","depth":2,"path":"chapter14/element_buildcontext.md","ref":"chapter14/element_buildcontext.md","articles":[]},"previous":{"title":"第十四章:Flutter核心原理","level":"3.7","depth":1,"path":"chapter14/index.md","ref":"chapter14/index.md","articles":[{"title":"14.1:Flutter UI系统","level":"3.7.1","depth":2,"path":"chapter14/flutter_ui_system.md","ref":"chapter14/flutter_ui_system.md","articles":[]},{"title":"14.2:Element和BuildContext","level":"3.7.2","depth":2,"path":"chapter14/element_buildcontext.md","ref":"chapter14/element_buildcontext.md","articles":[]},{"title":"14.3:RenderObject与RenderBox","level":"3.7.3","depth":2,"path":"chapter14/render_object.md","ref":"chapter14/render_object.md","articles":[]},{"title":"14.4:Flutter从启动到显示","level":"3.7.4","depth":2,"path":"chapter14/flutter_app_startup.md","ref":"chapter14/flutter_app_startup.md","articles":[]},{"title":"14.5:Flutter图片加载与缓存","level":"3.7.5","depth":2,"path":"chapter14/image_and_cache.md","ref":"chapter14/image_and_cache.md","articles":[]}]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-06T11:10:58.249Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"14.1:Flutter UI系统","level":"3.7.1","depth":2,"next":{"title":"14.2:Element和BuildContext","level":"3.7.2","depth":2,"path":"chapter14/element_buildcontext.md","ref":"chapter14/element_buildcontext.md","articles":[]},"previous":{"title":"第十四章:Flutter核心原理","level":"3.7","depth":1,"path":"chapter14/index.md","ref":"chapter14/index.md","articles":[{"title":"14.1:Flutter UI系统","level":"3.7.1","depth":2,"path":"chapter14/flutter_ui_system.md","ref":"chapter14/flutter_ui_system.md","articles":[]},{"title":"14.2:Element和BuildContext","level":"3.7.2","depth":2,"path":"chapter14/element_buildcontext.md","ref":"chapter14/element_buildcontext.md","articles":[]},{"title":"14.3:RenderObject与RenderBox","level":"3.7.3","depth":2,"path":"chapter14/render_object.md","ref":"chapter14/render_object.md","articles":[]},{"title":"14.4:Flutter从启动到显示","level":"3.7.4","depth":2,"path":"chapter14/flutter_app_startup.md","ref":"chapter14/flutter_app_startup.md","articles":[]},{"title":"14.5:Flutter图片加载与缓存","level":"3.7.5","depth":2,"path":"chapter14/image_and_cache.md","ref":"chapter14/image_and_cache.md","articles":[]}]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-06T11:10:58.249Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter14/image_and_cache.html b/_book/chapter14/image_and_cache.html index 03233f6e..ac63ad90 100644 --- a/_book/chapter14/image_and_cache.html +++ b/_book/chapter14/image_and_cache.html @@ -2127,7 +2127,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"14.5:Flutter图片加载与缓存","level":"3.7.5","depth":2,"next":{"title":"第十五章:一个完整的Flutter应用","level":"4.1","depth":1,"path":"chapter15/intro.md","ref":"chapter15/intro.md","articles":[{"title":"15.1:应用简介","level":"4.1.1","depth":2,"path":"chapter15/intro.md","ref":"chapter15/intro.md","articles":[]},{"title":"15.2:APP代码结构","level":"4.1.2","depth":2,"path":"chapter15/code_structure.md","ref":"chapter15/code_structure.md","articles":[]},{"title":"15.3:Model类定义","level":"4.1.3","depth":2,"path":"chapter15/models.md","ref":"chapter15/models.md","articles":[]},{"title":"15.4:全局变量及共享状态","level":"4.1.4","depth":2,"path":"chapter15/globals.md","ref":"chapter15/globals.md","articles":[]},{"title":"15.5:网络请求封装","level":"4.1.5","depth":2,"path":"chapter15/network.md","ref":"chapter15/network.md","articles":[]},{"title":"15.6:App入口及首页","level":"4.1.6","depth":2,"path":"chapter15/entry.md","ref":"chapter15/entry.md","articles":[]},{"title":"15.7:登录页","level":"4.1.7","depth":2,"path":"chapter15/login_page.md","ref":"chapter15/login_page.md","articles":[]},{"title":"15.8:多语言和多主题","level":"4.1.8","depth":2,"path":"chapter15/language_and_theme_setting.md","ref":"chapter15/language_and_theme_setting.md","articles":[]}]},"previous":{"title":"14.4:Flutter从启动到显示","level":"3.7.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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/image_and_cache.md","mtime":"2019-08-06T11:10:58.250Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"14.5:Flutter图片加载与缓存","level":"3.7.5","depth":2,"next":{"title":"第十五章:一个完整的Flutter应用","level":"4.1","depth":1,"path":"chapter15/intro.md","ref":"chapter15/intro.md","articles":[{"title":"15.1:应用简介","level":"4.1.1","depth":2,"path":"chapter15/intro.md","ref":"chapter15/intro.md","articles":[]},{"title":"15.2:APP代码结构","level":"4.1.2","depth":2,"path":"chapter15/code_structure.md","ref":"chapter15/code_structure.md","articles":[]},{"title":"15.3:Model类定义","level":"4.1.3","depth":2,"path":"chapter15/models.md","ref":"chapter15/models.md","articles":[]},{"title":"15.4:全局变量及共享状态","level":"4.1.4","depth":2,"path":"chapter15/globals.md","ref":"chapter15/globals.md","articles":[]},{"title":"15.5:网络请求封装","level":"4.1.5","depth":2,"path":"chapter15/network.md","ref":"chapter15/network.md","articles":[]},{"title":"15.6:App入口及首页","level":"4.1.6","depth":2,"path":"chapter15/entry.md","ref":"chapter15/entry.md","articles":[]},{"title":"15.7:登录页","level":"4.1.7","depth":2,"path":"chapter15/login_page.md","ref":"chapter15/login_page.md","articles":[]},{"title":"15.8:多语言和多主题","level":"4.1.8","depth":2,"path":"chapter15/language_and_theme_setting.md","ref":"chapter15/language_and_theme_setting.md","articles":[]}]},"previous":{"title":"14.4:Flutter从启动到显示","level":"3.7.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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/image_and_cache.md","mtime":"2019-08-06T11:10:58.250Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter14/index.html b/_book/chapter14/index.html index 81fc4df1..7b1a56ad 100644 --- a/_book/chapter14/index.html +++ b/_book/chapter14/index.html @@ -1749,7 +1749,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"第十四章:Flutter核心原理","level":"3.7","depth":1,"next":{"title":"14.1:Flutter UI系统","level":"3.7.1","depth":2,"path":"chapter14/flutter_ui_system.md","ref":"chapter14/flutter_ui_system.md","articles":[]},"previous":{"title":"13.4:国际化常见问题","level":"3.6.4","depth":2,"path":"chapter13/faq.md","ref":"chapter13/faq.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"第十四章:Flutter核心原理","level":"3.7","depth":1,"next":{"title":"14.1:Flutter UI系统","level":"3.7.1","depth":2,"path":"chapter14/flutter_ui_system.md","ref":"chapter14/flutter_ui_system.md","articles":[]},"previous":{"title":"13.4:国际化常见问题","level":"3.6.4","depth":2,"path":"chapter13/faq.md","ref":"chapter13/faq.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter14/render_object.html b/_book/chapter14/render_object.html index 70d981c1..4b2bc5f3 100644 --- a/_book/chapter14/render_object.html +++ b/_book/chapter14/render_object.html @@ -1975,7 +1975,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"14.3:RenderObject与RenderBox","level":"3.7.3","depth":2,"next":{"title":"14.4:Flutter从启动到显示","level":"3.7.4","depth":2,"path":"chapter14/flutter_app_startup.md","ref":"chapter14/flutter_app_startup.md","articles":[]},"previous":{"title":"14.2:Element和BuildContext","level":"3.7.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-06T11:10:58.251Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"14.3:RenderObject与RenderBox","level":"3.7.3","depth":2,"next":{"title":"14.4:Flutter从启动到显示","level":"3.7.4","depth":2,"path":"chapter14/flutter_app_startup.md","ref":"chapter14/flutter_app_startup.md","articles":[]},"previous":{"title":"14.2:Element和BuildContext","level":"3.7.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-06T11:10:58.251Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter15/code_structure.html b/_book/chapter15/code_structure.html index ecbe2f81..2abf885f 100644 --- a/_book/chapter15/code_structure.html +++ b/_book/chapter15/code_structure.html @@ -1808,7 +1808,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"15.2:APP代码结构","level":"4.1.2","depth":2,"next":{"title":"15.3:Model类定义","level":"4.1.3","depth":2,"path":"chapter15/models.md","ref":"chapter15/models.md","articles":[]},"previous":{"title":"15.1:应用简介","level":"4.1.1","depth":2,"path":"chapter15/intro.md","ref":"chapter15/intro.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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":"chapter15/code_structure.md","mtime":"2019-08-06T11:10:58.251Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"15.2:APP代码结构","level":"4.1.2","depth":2,"next":{"title":"15.3:Model类定义","level":"4.1.3","depth":2,"path":"chapter15/models.md","ref":"chapter15/models.md","articles":[]},"previous":{"title":"15.1:应用简介","level":"4.1.1","depth":2,"path":"chapter15/intro.md","ref":"chapter15/intro.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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":"chapter15/code_structure.md","mtime":"2019-08-06T11:10:58.251Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter15/entry.html b/_book/chapter15/entry.html index 6619b4e3..eb65b8f2 100644 --- a/_book/chapter15/entry.html +++ b/_book/chapter15/entry.html @@ -2207,7 +2207,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"15.6:App入口及首页","level":"4.1.6","depth":2,"next":{"title":"15.7:登录页","level":"4.1.7","depth":2,"path":"chapter15/login_page.md","ref":"chapter15/login_page.md","articles":[]},"previous":{"title":"15.5:网络请求封装","level":"4.1.5","depth":2,"path":"chapter15/network.md","ref":"chapter15/network.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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":"chapter15/entry.md","mtime":"2019-08-06T11:10:58.252Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"15.6:App入口及首页","level":"4.1.6","depth":2,"next":{"title":"15.7:登录页","level":"4.1.7","depth":2,"path":"chapter15/login_page.md","ref":"chapter15/login_page.md","articles":[]},"previous":{"title":"15.5:网络请求封装","level":"4.1.5","depth":2,"path":"chapter15/network.md","ref":"chapter15/network.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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":"chapter15/entry.md","mtime":"2019-08-06T11:10:58.252Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter15/globals.html b/_book/chapter15/globals.html index 10f8eee5..a09bdcd1 100644 --- a/_book/chapter15/globals.html +++ b/_book/chapter15/globals.html @@ -1866,7 +1866,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"15.4:全局变量及共享状态","level":"4.1.4","depth":2,"next":{"title":"15.5:网络请求封装","level":"4.1.5","depth":2,"path":"chapter15/network.md","ref":"chapter15/network.md","articles":[]},"previous":{"title":"15.3:Model类定义","level":"4.1.3","depth":2,"path":"chapter15/models.md","ref":"chapter15/models.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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":"chapter15/globals.md","mtime":"2019-08-06T11:10:58.252Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"15.4:全局变量及共享状态","level":"4.1.4","depth":2,"next":{"title":"15.5:网络请求封装","level":"4.1.5","depth":2,"path":"chapter15/network.md","ref":"chapter15/network.md","articles":[]},"previous":{"title":"15.3:Model类定义","level":"4.1.3","depth":2,"path":"chapter15/models.md","ref":"chapter15/models.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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":"chapter15/globals.md","mtime":"2019-08-06T11:10:58.252Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter15/intro.html b/_book/chapter15/intro.html index 66fc8ff6..a0d7e1c0 100644 --- a/_book/chapter15/intro.html +++ b/_book/chapter15/intro.html @@ -1765,7 +1765,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"第十五章:一个完整的Flutter应用","level":"4.1","depth":1,"next":{"title":"15.1:应用简介","level":"4.1.1","depth":2,"path":"chapter15/intro.md","ref":"chapter15/intro.md","articles":[]},"previous":{"title":"14.5:Flutter图片加载与缓存","level":"3.7.5","depth":2,"path":"chapter14/image_and_cache.md","ref":"chapter14/image_and_cache.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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":"chapter15/intro.md","mtime":"2019-08-06T11:10:58.253Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"第十五章:一个完整的Flutter应用","level":"4.1","depth":1,"next":{"title":"15.1:应用简介","level":"4.1.1","depth":2,"path":"chapter15/intro.md","ref":"chapter15/intro.md","articles":[]},"previous":{"title":"14.5:Flutter图片加载与缓存","level":"3.7.5","depth":2,"path":"chapter14/image_and_cache.md","ref":"chapter14/image_and_cache.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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":"chapter15/intro.md","mtime":"2019-08-06T11:10:58.253Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter15/language_and_theme_setting.html b/_book/chapter15/language_and_theme_setting.html index 8ce0a0df..b5955fb5 100644 --- a/_book/chapter15/language_and_theme_setting.html +++ b/_book/chapter15/language_and_theme_setting.html @@ -1814,7 +1814,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"15.8:多语言和多主题","level":"4.1.8","depth":2,"previous":{"title":"15.7:登录页","level":"4.1.7","depth":2,"path":"chapter15/login_page.md","ref":"chapter15/login_page.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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":"chapter15/language_and_theme_setting.md","mtime":"2019-08-06T11:10:58.253Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"15.8:多语言和多主题","level":"4.1.8","depth":2,"previous":{"title":"15.7:登录页","level":"4.1.7","depth":2,"path":"chapter15/login_page.md","ref":"chapter15/login_page.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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":"chapter15/language_and_theme_setting.md","mtime":"2019-08-06T11:10:58.253Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter15/login_page.html b/_book/chapter15/login_page.html index 37acb568..a940ab43 100644 --- a/_book/chapter15/login_page.html +++ b/_book/chapter15/login_page.html @@ -1870,7 +1870,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"15.7:登录页","level":"4.1.7","depth":2,"next":{"title":"15.8:多语言和多主题","level":"4.1.8","depth":2,"path":"chapter15/language_and_theme_setting.md","ref":"chapter15/language_and_theme_setting.md","articles":[]},"previous":{"title":"15.6:App入口及首页","level":"4.1.6","depth":2,"path":"chapter15/entry.md","ref":"chapter15/entry.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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":"chapter15/login_page.md","mtime":"2019-08-06T11:10:58.253Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"15.7:登录页","level":"4.1.7","depth":2,"next":{"title":"15.8:多语言和多主题","level":"4.1.8","depth":2,"path":"chapter15/language_and_theme_setting.md","ref":"chapter15/language_and_theme_setting.md","articles":[]},"previous":{"title":"15.6:App入口及首页","level":"4.1.6","depth":2,"path":"chapter15/entry.md","ref":"chapter15/entry.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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":"chapter15/login_page.md","mtime":"2019-08-06T11:10:58.253Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter15/models.html b/_book/chapter15/models.html index 343adbb6..ac57d935 100644 --- a/_book/chapter15/models.html +++ b/_book/chapter15/models.html @@ -1845,7 +1845,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"15.3:Model类定义","level":"4.1.3","depth":2,"next":{"title":"15.4:全局变量及共享状态","level":"4.1.4","depth":2,"path":"chapter15/globals.md","ref":"chapter15/globals.md","articles":[]},"previous":{"title":"15.2:APP代码结构","level":"4.1.2","depth":2,"path":"chapter15/code_structure.md","ref":"chapter15/code_structure.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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":"chapter15/models.md","mtime":"2019-08-06T11:10:58.254Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"15.3:Model类定义","level":"4.1.3","depth":2,"next":{"title":"15.4:全局变量及共享状态","level":"4.1.4","depth":2,"path":"chapter15/globals.md","ref":"chapter15/globals.md","articles":[]},"previous":{"title":"15.2:APP代码结构","level":"4.1.2","depth":2,"path":"chapter15/code_structure.md","ref":"chapter15/code_structure.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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":"chapter15/models.md","mtime":"2019-08-06T11:10:58.254Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter15/network.html b/_book/chapter15/network.html index 8bd379b0..88467732 100644 --- a/_book/chapter15/network.html +++ b/_book/chapter15/network.html @@ -1958,7 +1958,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"15.5:网络请求封装","level":"4.1.5","depth":2,"next":{"title":"15.6:App入口及首页","level":"4.1.6","depth":2,"path":"chapter15/entry.md","ref":"chapter15/entry.md","articles":[]},"previous":{"title":"15.4:全局变量及共享状态","level":"4.1.4","depth":2,"path":"chapter15/globals.md","ref":"chapter15/globals.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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":"chapter15/network.md","mtime":"2019-08-06T11:10:58.254Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"15.5:网络请求封装","level":"4.1.5","depth":2,"next":{"title":"15.6:App入口及首页","level":"4.1.6","depth":2,"path":"chapter15/entry.md","ref":"chapter15/entry.md","articles":[]},"previous":{"title":"15.4:全局变量及共享状态","level":"4.1.4","depth":2,"path":"chapter15/globals.md","ref":"chapter15/globals.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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":"chapter15/network.md","mtime":"2019-08-06T11:10:58.254Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter2/first_flutter_app.html b/_book/chapter2/first_flutter_app.html index 5d9c3ddf..394fc562 100644 --- a/_book/chapter2/first_flutter_app.html +++ b/_book/chapter2/first_flutter_app.html @@ -1975,7 +1975,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"2.1:计数器示例","level":"2.2.1","depth":2,"next":{"title":"2.2:路由管理","level":"2.2.2","depth":2,"path":"chapter2/flutter_router.md","ref":"chapter2/flutter_router.md","articles":[]},"previous":{"title":"第二章:第一个Flutter应用","level":"2.2","depth":1,"path":"chapter2/index.md","ref":"chapter2/index.md","articles":[{"title":"2.1:计数器示例","level":"2.2.1","depth":2,"path":"chapter2/first_flutter_app.md","ref":"chapter2/first_flutter_app.md","articles":[]},{"title":"2.2:路由管理","level":"2.2.2","depth":2,"path":"chapter2/flutter_router.md","ref":"chapter2/flutter_router.md","articles":[]},{"title":"2.3:包管理","level":"2.2.3","depth":2,"path":"chapter2/flutter_package_mgr.md","ref":"chapter2/flutter_package_mgr.md","articles":[]},{"title":"2.4:资源管理","level":"2.2.4","depth":2,"path":"chapter2/flutter_assets_mgr.md","ref":"chapter2/flutter_assets_mgr.md","articles":[]},{"title":"2.5:调试Flutter APP","level":"2.2.5","depth":2,"path":"chapter2/flutter_app_debug.md","ref":"chapter2/flutter_app_debug.md","articles":[]},{"title":"2.6:Dart线程模型及异常捕获","level":"2.2.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-06T11:10:58.254Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"2.1:计数器示例","level":"2.2.1","depth":2,"next":{"title":"2.2:路由管理","level":"2.2.2","depth":2,"path":"chapter2/flutter_router.md","ref":"chapter2/flutter_router.md","articles":[]},"previous":{"title":"第二章:第一个Flutter应用","level":"2.2","depth":1,"path":"chapter2/index.md","ref":"chapter2/index.md","articles":[{"title":"2.1:计数器示例","level":"2.2.1","depth":2,"path":"chapter2/first_flutter_app.md","ref":"chapter2/first_flutter_app.md","articles":[]},{"title":"2.2:路由管理","level":"2.2.2","depth":2,"path":"chapter2/flutter_router.md","ref":"chapter2/flutter_router.md","articles":[]},{"title":"2.3:包管理","level":"2.2.3","depth":2,"path":"chapter2/flutter_package_mgr.md","ref":"chapter2/flutter_package_mgr.md","articles":[]},{"title":"2.4:资源管理","level":"2.2.4","depth":2,"path":"chapter2/flutter_assets_mgr.md","ref":"chapter2/flutter_assets_mgr.md","articles":[]},{"title":"2.5:调试Flutter APP","level":"2.2.5","depth":2,"path":"chapter2/flutter_app_debug.md","ref":"chapter2/flutter_app_debug.md","articles":[]},{"title":"2.6:Dart线程模型及异常捕获","level":"2.2.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-06T11:10:58.254Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter2/flutter_app_debug.html b/_book/chapter2/flutter_app_debug.html index 134a56d1..de1ba350 100644 --- a/_book/chapter2/flutter_app_debug.html +++ b/_book/chapter2/flutter_app_debug.html @@ -1927,7 +1927,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"2.5:调试Flutter APP","level":"2.2.5","depth":2,"next":{"title":"2.6:Dart线程模型及异常捕获","level":"2.2.6","depth":2,"path":"chapter2/thread_model_and_error_report.md","ref":"chapter2/thread_model_and_error_report.md","articles":[]},"previous":{"title":"2.4:资源管理","level":"2.2.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-06T11:10:58.255Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"2.5:调试Flutter APP","level":"2.2.5","depth":2,"next":{"title":"2.6:Dart线程模型及异常捕获","level":"2.2.6","depth":2,"path":"chapter2/thread_model_and_error_report.md","ref":"chapter2/thread_model_and_error_report.md","articles":[]},"previous":{"title":"2.4:资源管理","level":"2.2.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-06T11:10:58.255Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter2/flutter_assets_mgr.html b/_book/chapter2/flutter_assets_mgr.html index 5357b006..2ae194ef 100644 --- a/_book/chapter2/flutter_assets_mgr.html +++ b/_book/chapter2/flutter_assets_mgr.html @@ -1881,7 +1881,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"2.4:资源管理","level":"2.2.4","depth":2,"next":{"title":"2.5:调试Flutter APP","level":"2.2.5","depth":2,"path":"chapter2/flutter_app_debug.md","ref":"chapter2/flutter_app_debug.md","articles":[]},"previous":{"title":"2.3:包管理","level":"2.2.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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":"2019-08-06T11:11:54.767Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"2.4:资源管理","level":"2.2.4","depth":2,"next":{"title":"2.5:调试Flutter APP","level":"2.2.5","depth":2,"path":"chapter2/flutter_app_debug.md","ref":"chapter2/flutter_app_debug.md","articles":[]},"previous":{"title":"2.3:包管理","level":"2.2.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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":"2019-08-06T11:11:54.767Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter2/flutter_package_mgr.html b/_book/chapter2/flutter_package_mgr.html index a5cd9984..cc013ee9 100644 --- a/_book/chapter2/flutter_package_mgr.html +++ b/_book/chapter2/flutter_package_mgr.html @@ -1860,7 +1860,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"2.3:包管理","level":"2.2.3","depth":2,"next":{"title":"2.4:资源管理","level":"2.2.4","depth":2,"path":"chapter2/flutter_assets_mgr.md","ref":"chapter2/flutter_assets_mgr.md","articles":[]},"previous":{"title":"2.2:路由管理","level":"2.2.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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":"2019-08-06T11:10:58.255Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"2.3:包管理","level":"2.2.3","depth":2,"next":{"title":"2.4:资源管理","level":"2.2.4","depth":2,"path":"chapter2/flutter_assets_mgr.md","ref":"chapter2/flutter_assets_mgr.md","articles":[]},"previous":{"title":"2.2:路由管理","level":"2.2.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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":"2019-08-06T11:10:58.255Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter2/flutter_router.html b/_book/chapter2/flutter_router.html index 9cdbab05..0c9712c7 100644 --- a/_book/chapter2/flutter_router.html +++ b/_book/chapter2/flutter_router.html @@ -2008,7 +2008,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"2.2:路由管理","level":"2.2.2","depth":2,"next":{"title":"2.3:包管理","level":"2.2.3","depth":2,"path":"chapter2/flutter_package_mgr.md","ref":"chapter2/flutter_package_mgr.md","articles":[]},"previous":{"title":"2.1:计数器示例","level":"2.2.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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":"2019-08-06T11:10:58.255Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"2.2:路由管理","level":"2.2.2","depth":2,"next":{"title":"2.3:包管理","level":"2.2.3","depth":2,"path":"chapter2/flutter_package_mgr.md","ref":"chapter2/flutter_package_mgr.md","articles":[]},"previous":{"title":"2.1:计数器示例","level":"2.2.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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":"2019-08-06T11:10:58.255Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter2/index.html b/_book/chapter2/index.html index b14c213e..1da2f2f2 100644 --- a/_book/chapter2/index.html +++ b/_book/chapter2/index.html @@ -1753,7 +1753,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"第二章:第一个Flutter应用","level":"2.2","depth":1,"next":{"title":"2.1:计数器示例","level":"2.2.1","depth":2,"path":"chapter2/first_flutter_app.md","ref":"chapter2/first_flutter_app.md","articles":[]},"previous":{"title":"1.4:Dart语言简介","level":"2.1.4","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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"第二章:第一个Flutter应用","level":"2.2","depth":1,"next":{"title":"2.1:计数器示例","level":"2.2.1","depth":2,"path":"chapter2/first_flutter_app.md","ref":"chapter2/first_flutter_app.md","articles":[]},"previous":{"title":"1.4:Dart语言简介","level":"2.1.4","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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter2/thread_model_and_error_report.html b/_book/chapter2/thread_model_and_error_report.html index d834adc7..1b356691 100644 --- a/_book/chapter2/thread_model_and_error_report.html +++ b/_book/chapter2/thread_model_and_error_report.html @@ -1885,7 +1885,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"2.6:Dart线程模型及异常捕获","level":"2.2.6","depth":2,"next":{"title":"第三章:基础组件","level":"2.3","depth":1,"path":"chapter3/index.md","ref":"chapter3/index.md","articles":[{"title":"3.1:Widget简介","level":"2.3.1","depth":2,"path":"chapter3/flutter_widget_intro.md","ref":"chapter3/flutter_widget_intro.md","articles":[]},{"title":"3.2:状态管理","level":"2.3.2","depth":2,"path":"chapter3/state_manage.md","ref":"chapter3/state_manage.md","articles":[]},{"title":"3.3:文本、字体样式","level":"2.3.3","depth":2,"path":"chapter3/text.md","ref":"chapter3/text.md","articles":[]},{"title":"3.4:按钮","level":"2.3.4","depth":2,"path":"chapter3/buttons.md","ref":"chapter3/buttons.md","articles":[]},{"title":"3.5:图片和Icon","level":"2.3.5","depth":2,"path":"chapter3/img_and_icon.md","ref":"chapter3/img_and_icon.md","articles":[]},{"title":"3.6:单选框和复选框","level":"2.3.6","depth":2,"path":"chapter3/radio_and_checkbox.md","ref":"chapter3/radio_and_checkbox.md","articles":[]},{"title":"3.7:输入框和表单","level":"2.3.7","depth":2,"path":"chapter3/input_and_form.md","ref":"chapter3/input_and_form.md","articles":[]},{"title":"3.8:进度指示器","level":"2.3.8","depth":2,"path":"chapter3/progress.md","ref":"chapter3/progress.md","articles":[]}]},"previous":{"title":"2.5:调试Flutter APP","level":"2.2.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-06T11:10:58.256Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"2.6:Dart线程模型及异常捕获","level":"2.2.6","depth":2,"next":{"title":"第三章:基础组件","level":"2.3","depth":1,"path":"chapter3/index.md","ref":"chapter3/index.md","articles":[{"title":"3.1:Widget简介","level":"2.3.1","depth":2,"path":"chapter3/flutter_widget_intro.md","ref":"chapter3/flutter_widget_intro.md","articles":[]},{"title":"3.2:状态管理","level":"2.3.2","depth":2,"path":"chapter3/state_manage.md","ref":"chapter3/state_manage.md","articles":[]},{"title":"3.3:文本、字体样式","level":"2.3.3","depth":2,"path":"chapter3/text.md","ref":"chapter3/text.md","articles":[]},{"title":"3.4:按钮","level":"2.3.4","depth":2,"path":"chapter3/buttons.md","ref":"chapter3/buttons.md","articles":[]},{"title":"3.5:图片和Icon","level":"2.3.5","depth":2,"path":"chapter3/img_and_icon.md","ref":"chapter3/img_and_icon.md","articles":[]},{"title":"3.6:单选框和复选框","level":"2.3.6","depth":2,"path":"chapter3/radio_and_checkbox.md","ref":"chapter3/radio_and_checkbox.md","articles":[]},{"title":"3.7:输入框和表单","level":"2.3.7","depth":2,"path":"chapter3/input_and_form.md","ref":"chapter3/input_and_form.md","articles":[]},{"title":"3.8:进度指示器","level":"2.3.8","depth":2,"path":"chapter3/progress.md","ref":"chapter3/progress.md","articles":[]}]},"previous":{"title":"2.5:调试Flutter APP","level":"2.2.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-06T11:10:58.256Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter3/buttons.html b/_book/chapter3/buttons.html index cfe06f9b..4c1f3e19 100644 --- a/_book/chapter3/buttons.html +++ b/_book/chapter3/buttons.html @@ -1852,7 +1852,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"3.4:按钮","level":"2.3.4","depth":2,"next":{"title":"3.5:图片和Icon","level":"2.3.5","depth":2,"path":"chapter3/img_and_icon.md","ref":"chapter3/img_and_icon.md","articles":[]},"previous":{"title":"3.3:文本、字体样式","level":"2.3.3","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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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":"2019-08-06T11:10:58.904Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"3.4:按钮","level":"2.3.4","depth":2,"next":{"title":"3.5:图片和Icon","level":"2.3.5","depth":2,"path":"chapter3/img_and_icon.md","ref":"chapter3/img_and_icon.md","articles":[]},"previous":{"title":"3.3:文本、字体样式","level":"2.3.3","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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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":"2019-08-06T11:10:58.904Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter3/flutter_widget_intro.html b/_book/chapter3/flutter_widget_intro.html index 54978517..7f160b70 100644 --- a/_book/chapter3/flutter_widget_intro.html +++ b/_book/chapter3/flutter_widget_intro.html @@ -2033,7 +2033,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"3.1:Widget简介","level":"2.3.1","depth":2,"next":{"title":"3.2:状态管理","level":"2.3.2","depth":2,"path":"chapter3/state_manage.md","ref":"chapter3/state_manage.md","articles":[]},"previous":{"title":"第三章:基础组件","level":"2.3","depth":1,"path":"chapter3/index.md","ref":"chapter3/index.md","articles":[{"title":"3.1:Widget简介","level":"2.3.1","depth":2,"path":"chapter3/flutter_widget_intro.md","ref":"chapter3/flutter_widget_intro.md","articles":[]},{"title":"3.2:状态管理","level":"2.3.2","depth":2,"path":"chapter3/state_manage.md","ref":"chapter3/state_manage.md","articles":[]},{"title":"3.3:文本、字体样式","level":"2.3.3","depth":2,"path":"chapter3/text.md","ref":"chapter3/text.md","articles":[]},{"title":"3.4:按钮","level":"2.3.4","depth":2,"path":"chapter3/buttons.md","ref":"chapter3/buttons.md","articles":[]},{"title":"3.5:图片和Icon","level":"2.3.5","depth":2,"path":"chapter3/img_and_icon.md","ref":"chapter3/img_and_icon.md","articles":[]},{"title":"3.6:单选框和复选框","level":"2.3.6","depth":2,"path":"chapter3/radio_and_checkbox.md","ref":"chapter3/radio_and_checkbox.md","articles":[]},{"title":"3.7:输入框和表单","level":"2.3.7","depth":2,"path":"chapter3/input_and_form.md","ref":"chapter3/input_and_form.md","articles":[]},{"title":"3.8:进度指示器","level":"2.3.8","depth":2,"path":"chapter3/progress.md","ref":"chapter3/progress.md","articles":[]}]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-06T11:10:57.323Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"3.1:Widget简介","level":"2.3.1","depth":2,"next":{"title":"3.2:状态管理","level":"2.3.2","depth":2,"path":"chapter3/state_manage.md","ref":"chapter3/state_manage.md","articles":[]},"previous":{"title":"第三章:基础组件","level":"2.3","depth":1,"path":"chapter3/index.md","ref":"chapter3/index.md","articles":[{"title":"3.1:Widget简介","level":"2.3.1","depth":2,"path":"chapter3/flutter_widget_intro.md","ref":"chapter3/flutter_widget_intro.md","articles":[]},{"title":"3.2:状态管理","level":"2.3.2","depth":2,"path":"chapter3/state_manage.md","ref":"chapter3/state_manage.md","articles":[]},{"title":"3.3:文本、字体样式","level":"2.3.3","depth":2,"path":"chapter3/text.md","ref":"chapter3/text.md","articles":[]},{"title":"3.4:按钮","level":"2.3.4","depth":2,"path":"chapter3/buttons.md","ref":"chapter3/buttons.md","articles":[]},{"title":"3.5:图片和Icon","level":"2.3.5","depth":2,"path":"chapter3/img_and_icon.md","ref":"chapter3/img_and_icon.md","articles":[]},{"title":"3.6:单选框和复选框","level":"2.3.6","depth":2,"path":"chapter3/radio_and_checkbox.md","ref":"chapter3/radio_and_checkbox.md","articles":[]},{"title":"3.7:输入框和表单","level":"2.3.7","depth":2,"path":"chapter3/input_and_form.md","ref":"chapter3/input_and_form.md","articles":[]},{"title":"3.8:进度指示器","level":"2.3.8","depth":2,"path":"chapter3/progress.md","ref":"chapter3/progress.md","articles":[]}]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-06T11:10:57.323Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter3/img_and_icon.html b/_book/chapter3/img_and_icon.html index 1ec7929e..b8773e0e 100644 --- a/_book/chapter3/img_and_icon.html +++ b/_book/chapter3/img_and_icon.html @@ -2020,7 +2020,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"3.5:图片和Icon","level":"2.3.5","depth":2,"next":{"title":"3.6:单选框和复选框","level":"2.3.6","depth":2,"path":"chapter3/radio_and_checkbox.md","ref":"chapter3/radio_and_checkbox.md","articles":[]},"previous":{"title":"3.4:按钮","level":"2.3.4","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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-06T11:10:58.256Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"3.5:图片和Icon","level":"2.3.5","depth":2,"next":{"title":"3.6:单选框和复选框","level":"2.3.6","depth":2,"path":"chapter3/radio_and_checkbox.md","ref":"chapter3/radio_and_checkbox.md","articles":[]},"previous":{"title":"3.4:按钮","level":"2.3.4","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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-06T11:10:58.256Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter3/index.html b/_book/chapter3/index.html index 4ac6d9ac..4965004f 100644 --- a/_book/chapter3/index.html +++ b/_book/chapter3/index.html @@ -1753,7 +1753,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"第三章:基础组件","level":"2.3","depth":1,"next":{"title":"3.1:Widget简介","level":"2.3.1","depth":2,"path":"chapter3/flutter_widget_intro.md","ref":"chapter3/flutter_widget_intro.md","articles":[]},"previous":{"title":"2.6:Dart线程模型及异常捕获","level":"2.2.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"第三章:基础组件","level":"2.3","depth":1,"next":{"title":"3.1:Widget简介","level":"2.3.1","depth":2,"path":"chapter3/flutter_widget_intro.md","ref":"chapter3/flutter_widget_intro.md","articles":[]},"previous":{"title":"2.6:Dart线程模型及异常捕获","level":"2.2.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter3/input_and_form.html b/_book/chapter3/input_and_form.html index 588c5cc5..bc479fc5 100644 --- a/_book/chapter3/input_and_form.html +++ b/_book/chapter3/input_and_form.html @@ -2202,7 +2202,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"3.7:输入框和表单","level":"2.3.7","depth":2,"next":{"title":"3.8:进度指示器","level":"2.3.8","depth":2,"path":"chapter3/progress.md","ref":"chapter3/progress.md","articles":[]},"previous":{"title":"3.6:单选框和复选框","level":"2.3.6","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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-06T11:10:58.257Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"3.7:输入框和表单","level":"2.3.7","depth":2,"next":{"title":"3.8:进度指示器","level":"2.3.8","depth":2,"path":"chapter3/progress.md","ref":"chapter3/progress.md","articles":[]},"previous":{"title":"3.6:单选框和复选框","level":"2.3.6","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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-06T11:10:58.257Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter3/progress.html b/_book/chapter3/progress.html index 62deaebb..a0f198cb 100644 --- a/_book/chapter3/progress.html +++ b/_book/chapter3/progress.html @@ -1894,7 +1894,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"3.8:进度指示器","level":"2.3.8","depth":2,"next":{"title":"第四章:布局类组件","level":"2.4","depth":1,"path":"chapter4/index.md","ref":"chapter4/index.md","articles":[{"title":"4.1:布局类组件简介","level":"2.4.1","depth":2,"path":"chapter4/intro.md","ref":"chapter4/intro.md","articles":[]},{"title":"4.2:线性布局(Row、Column)","level":"2.4.2","depth":2,"path":"chapter4/row_and_column.md","ref":"chapter4/row_and_column.md","articles":[]},{"title":"4.3:弹性布局(Flex)","level":"2.4.3","depth":2,"path":"chapter4/flex.md","ref":"chapter4/flex.md","articles":[]},{"title":"4.4:流式布局(Wrap、Flow)","level":"2.4.4","depth":2,"path":"chapter4/wrap_and_flow.md","ref":"chapter4/wrap_and_flow.md","articles":[]},{"title":"4.5:层叠布局(Stack、Positioned)","level":"2.4.5","depth":2,"path":"chapter4/stack.md","ref":"chapter4/stack.md","articles":[]},{"title":"4.6:对齐与相对定位(Align)","level":"2.4.6","depth":2,"path":"chapter4/alignment.md","ref":"chapter4/alignment.md","articles":[]}]},"previous":{"title":"3.7:输入框和表单","level":"2.3.7","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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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/progress.md","mtime":"2019-08-06T11:10:58.257Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"3.8:进度指示器","level":"2.3.8","depth":2,"next":{"title":"第四章:布局类组件","level":"2.4","depth":1,"path":"chapter4/index.md","ref":"chapter4/index.md","articles":[{"title":"4.1:布局类组件简介","level":"2.4.1","depth":2,"path":"chapter4/intro.md","ref":"chapter4/intro.md","articles":[]},{"title":"4.2:线性布局(Row、Column)","level":"2.4.2","depth":2,"path":"chapter4/row_and_column.md","ref":"chapter4/row_and_column.md","articles":[]},{"title":"4.3:弹性布局(Flex)","level":"2.4.3","depth":2,"path":"chapter4/flex.md","ref":"chapter4/flex.md","articles":[]},{"title":"4.4:流式布局(Wrap、Flow)","level":"2.4.4","depth":2,"path":"chapter4/wrap_and_flow.md","ref":"chapter4/wrap_and_flow.md","articles":[]},{"title":"4.5:层叠布局(Stack、Positioned)","level":"2.4.5","depth":2,"path":"chapter4/stack.md","ref":"chapter4/stack.md","articles":[]},{"title":"4.6:对齐与相对定位(Align)","level":"2.4.6","depth":2,"path":"chapter4/alignment.md","ref":"chapter4/alignment.md","articles":[]}]},"previous":{"title":"3.7:输入框和表单","level":"2.3.7","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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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/progress.md","mtime":"2019-08-06T11:10:58.257Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter3/radio_and_checkbox.html b/_book/chapter3/radio_and_checkbox.html index 6b1bc121..acb8b691 100644 --- a/_book/chapter3/radio_and_checkbox.html +++ b/_book/chapter3/radio_and_checkbox.html @@ -1785,7 +1785,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"3.6:单选框和复选框","level":"2.3.6","depth":2,"next":{"title":"3.7:输入框和表单","level":"2.3.7","depth":2,"path":"chapter3/input_and_form.md","ref":"chapter3/input_and_form.md","articles":[]},"previous":{"title":"3.5:图片和Icon","level":"2.3.5","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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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":"2019-08-06T11:10:58.257Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"3.6:单选框和复选框","level":"2.3.6","depth":2,"next":{"title":"3.7:输入框和表单","level":"2.3.7","depth":2,"path":"chapter3/input_and_form.md","ref":"chapter3/input_and_form.md","articles":[]},"previous":{"title":"3.5:图片和Icon","level":"2.3.5","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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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":"2019-08-06T11:10:58.257Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter3/state_manage.html b/_book/chapter3/state_manage.html index 63246480..57fe9980 100644 --- a/_book/chapter3/state_manage.html +++ b/_book/chapter3/state_manage.html @@ -2000,7 +2000,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"3.2:状态管理","level":"2.3.2","depth":2,"next":{"title":"3.3:文本、字体样式","level":"2.3.3","depth":2,"path":"chapter3/text.md","ref":"chapter3/text.md","articles":[]},"previous":{"title":"3.1:Widget简介","level":"2.3.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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/state_manage.md","mtime":"2019-07-24T08:17:49.470Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"3.2:状态管理","level":"2.3.2","depth":2,"next":{"title":"3.3:文本、字体样式","level":"2.3.3","depth":2,"path":"chapter3/text.md","ref":"chapter3/text.md","articles":[]},"previous":{"title":"3.1:Widget简介","level":"2.3.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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/state_manage.md","mtime":"2019-07-24T08:17:49.470Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter3/text.html b/_book/chapter3/text.html index dc5fca4c..ec9e6c19 100644 --- a/_book/chapter3/text.html +++ b/_book/chapter3/text.html @@ -1916,7 +1916,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"3.3:文本、字体样式","level":"2.3.3","depth":2,"next":{"title":"3.4:按钮","level":"2.3.4","depth":2,"path":"chapter3/buttons.md","ref":"chapter3/buttons.md","articles":[]},"previous":{"title":"3.2:状态管理","level":"2.3.2","depth":2,"path":"chapter3/state_manage.md","ref":"chapter3/state_manage.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-06T11:10:58.258Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"3.3:文本、字体样式","level":"2.3.3","depth":2,"next":{"title":"3.4:按钮","level":"2.3.4","depth":2,"path":"chapter3/buttons.md","ref":"chapter3/buttons.md","articles":[]},"previous":{"title":"3.2:状态管理","level":"2.3.2","depth":2,"path":"chapter3/state_manage.md","ref":"chapter3/state_manage.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-06T11:10:58.258Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter4/alignment.html b/_book/chapter4/alignment.html index b8428ab9..ffc35687 100644 --- a/_book/chapter4/alignment.html +++ b/_book/chapter4/alignment.html @@ -1847,7 +1847,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"4.6:对齐与相对定位(Align)","level":"2.4.6","depth":2,"next":{"title":"第五章:容器类组件","level":"2.5","depth":1,"path":"chapter5/index.md","ref":"chapter5/index.md","articles":[{"title":"5.1:填充(Padding)","level":"2.5.1","depth":2,"path":"chapter5/padding.md","ref":"chapter5/padding.md","articles":[]},{"title":"5.2:尺寸限制类容器(ConstrainedBox等)","level":"2.5.2","depth":2,"path":"chapter5/constrainedbox_and_sizebox.md","ref":"chapter5/constrainedbox_and_sizebox.md","articles":[]},{"title":"5.3:装饰容器(DecoratedBox)","level":"2.5.3","depth":2,"path":"chapter5/decoratedbox.md","ref":"chapter5/decoratedbox.md","articles":[]},{"title":"5.4:变换(Transform)","level":"2.5.4","depth":2,"path":"chapter5/transform.md","ref":"chapter5/transform.md","articles":[]},{"title":"5.5:Container容器","level":"2.5.5","depth":2,"path":"chapter5/container.md","ref":"chapter5/container.md","articles":[]},{"title":"5.6:Scaffold、TabBar、底部导航","level":"2.5.6","depth":2,"path":"chapter5/material_scaffold.md","ref":"chapter5/material_scaffold.md","articles":[]},{"title":"5.7:剪裁(Clip)","level":"2.5.7","depth":2,"path":"chapter5/clip.md","ref":"chapter5/clip.md","articles":[]}]},"previous":{"title":"4.5:层叠布局(Stack、Positioned)","level":"2.4.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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/alignment.md","mtime":"2019-08-06T11:10:58.258Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"4.6:对齐与相对定位(Align)","level":"2.4.6","depth":2,"next":{"title":"第五章:容器类组件","level":"2.5","depth":1,"path":"chapter5/index.md","ref":"chapter5/index.md","articles":[{"title":"5.1:填充(Padding)","level":"2.5.1","depth":2,"path":"chapter5/padding.md","ref":"chapter5/padding.md","articles":[]},{"title":"5.2:尺寸限制类容器(ConstrainedBox等)","level":"2.5.2","depth":2,"path":"chapter5/constrainedbox_and_sizebox.md","ref":"chapter5/constrainedbox_and_sizebox.md","articles":[]},{"title":"5.3:装饰容器(DecoratedBox)","level":"2.5.3","depth":2,"path":"chapter5/decoratedbox.md","ref":"chapter5/decoratedbox.md","articles":[]},{"title":"5.4:变换(Transform)","level":"2.5.4","depth":2,"path":"chapter5/transform.md","ref":"chapter5/transform.md","articles":[]},{"title":"5.5:Container容器","level":"2.5.5","depth":2,"path":"chapter5/container.md","ref":"chapter5/container.md","articles":[]},{"title":"5.6:Scaffold、TabBar、底部导航","level":"2.5.6","depth":2,"path":"chapter5/material_scaffold.md","ref":"chapter5/material_scaffold.md","articles":[]},{"title":"5.7:剪裁(Clip)","level":"2.5.7","depth":2,"path":"chapter5/clip.md","ref":"chapter5/clip.md","articles":[]}]},"previous":{"title":"4.5:层叠布局(Stack、Positioned)","level":"2.4.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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/alignment.md","mtime":"2019-08-06T11:10:58.258Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter4/flex.html b/_book/chapter4/flex.html index 2678413b..f20f51cb 100644 --- a/_book/chapter4/flex.html +++ b/_book/chapter4/flex.html @@ -1842,7 +1842,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"4.3:弹性布局(Flex)","level":"2.4.3","depth":2,"next":{"title":"4.4:流式布局(Wrap、Flow)","level":"2.4.4","depth":2,"path":"chapter4/wrap_and_flow.md","ref":"chapter4/wrap_and_flow.md","articles":[]},"previous":{"title":"4.2:线性布局(Row、Column)","level":"2.4.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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":"2019-08-06T11:10:58.259Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"4.3:弹性布局(Flex)","level":"2.4.3","depth":2,"next":{"title":"4.4:流式布局(Wrap、Flow)","level":"2.4.4","depth":2,"path":"chapter4/wrap_and_flow.md","ref":"chapter4/wrap_and_flow.md","articles":[]},"previous":{"title":"4.2:线性布局(Row、Column)","level":"2.4.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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":"2019-08-06T11:10:58.259Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter4/index.html b/_book/chapter4/index.html index 7a3de1b3..e61a18e5 100644 --- a/_book/chapter4/index.html +++ b/_book/chapter4/index.html @@ -1750,7 +1750,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"第四章:布局类组件","level":"2.4","depth":1,"next":{"title":"4.1:布局类组件简介","level":"2.4.1","depth":2,"path":"chapter4/intro.md","ref":"chapter4/intro.md","articles":[]},"previous":{"title":"3.8:进度指示器","level":"2.3.8","depth":2,"path":"chapter3/progress.md","ref":"chapter3/progress.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"第四章:布局类组件","level":"2.4","depth":1,"next":{"title":"4.1:布局类组件简介","level":"2.4.1","depth":2,"path":"chapter4/intro.md","ref":"chapter4/intro.md","articles":[]},"previous":{"title":"3.8:进度指示器","level":"2.3.8","depth":2,"path":"chapter3/progress.md","ref":"chapter3/progress.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter4/intro.html b/_book/chapter4/intro.html index 5e672d05..603d852f 100644 --- a/_book/chapter4/intro.html +++ b/_book/chapter4/intro.html @@ -1776,7 +1776,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"4.1:布局类组件简介","level":"2.4.1","depth":2,"next":{"title":"4.2:线性布局(Row、Column)","level":"2.4.2","depth":2,"path":"chapter4/row_and_column.md","ref":"chapter4/row_and_column.md","articles":[]},"previous":{"title":"第四章:布局类组件","level":"2.4","depth":1,"path":"chapter4/index.md","ref":"chapter4/index.md","articles":[{"title":"4.1:布局类组件简介","level":"2.4.1","depth":2,"path":"chapter4/intro.md","ref":"chapter4/intro.md","articles":[]},{"title":"4.2:线性布局(Row、Column)","level":"2.4.2","depth":2,"path":"chapter4/row_and_column.md","ref":"chapter4/row_and_column.md","articles":[]},{"title":"4.3:弹性布局(Flex)","level":"2.4.3","depth":2,"path":"chapter4/flex.md","ref":"chapter4/flex.md","articles":[]},{"title":"4.4:流式布局(Wrap、Flow)","level":"2.4.4","depth":2,"path":"chapter4/wrap_and_flow.md","ref":"chapter4/wrap_and_flow.md","articles":[]},{"title":"4.5:层叠布局(Stack、Positioned)","level":"2.4.5","depth":2,"path":"chapter4/stack.md","ref":"chapter4/stack.md","articles":[]},{"title":"4.6:对齐与相对定位(Align)","level":"2.4.6","depth":2,"path":"chapter4/alignment.md","ref":"chapter4/alignment.md","articles":[]}]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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":"2019-08-06T11:10:58.259Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"4.1:布局类组件简介","level":"2.4.1","depth":2,"next":{"title":"4.2:线性布局(Row、Column)","level":"2.4.2","depth":2,"path":"chapter4/row_and_column.md","ref":"chapter4/row_and_column.md","articles":[]},"previous":{"title":"第四章:布局类组件","level":"2.4","depth":1,"path":"chapter4/index.md","ref":"chapter4/index.md","articles":[{"title":"4.1:布局类组件简介","level":"2.4.1","depth":2,"path":"chapter4/intro.md","ref":"chapter4/intro.md","articles":[]},{"title":"4.2:线性布局(Row、Column)","level":"2.4.2","depth":2,"path":"chapter4/row_and_column.md","ref":"chapter4/row_and_column.md","articles":[]},{"title":"4.3:弹性布局(Flex)","level":"2.4.3","depth":2,"path":"chapter4/flex.md","ref":"chapter4/flex.md","articles":[]},{"title":"4.4:流式布局(Wrap、Flow)","level":"2.4.4","depth":2,"path":"chapter4/wrap_and_flow.md","ref":"chapter4/wrap_and_flow.md","articles":[]},{"title":"4.5:层叠布局(Stack、Positioned)","level":"2.4.5","depth":2,"path":"chapter4/stack.md","ref":"chapter4/stack.md","articles":[]},{"title":"4.6:对齐与相对定位(Align)","level":"2.4.6","depth":2,"path":"chapter4/alignment.md","ref":"chapter4/alignment.md","articles":[]}]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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":"2019-08-06T11:10:58.259Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter4/row_and_column.html b/_book/chapter4/row_and_column.html index 1112c415..99a53f16 100644 --- a/_book/chapter4/row_and_column.html +++ b/_book/chapter4/row_and_column.html @@ -1896,7 +1896,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"4.2:线性布局(Row、Column)","level":"2.4.2","depth":2,"next":{"title":"4.3:弹性布局(Flex)","level":"2.4.3","depth":2,"path":"chapter4/flex.md","ref":"chapter4/flex.md","articles":[]},"previous":{"title":"4.1:布局类组件简介","level":"2.4.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-06T11:10:58.259Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"4.2:线性布局(Row、Column)","level":"2.4.2","depth":2,"next":{"title":"4.3:弹性布局(Flex)","level":"2.4.3","depth":2,"path":"chapter4/flex.md","ref":"chapter4/flex.md","articles":[]},"previous":{"title":"4.1:布局类组件简介","level":"2.4.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-06T11:10:58.259Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter4/stack.html b/_book/chapter4/stack.html index de5d83c6..27b875c8 100644 --- a/_book/chapter4/stack.html +++ b/_book/chapter4/stack.html @@ -1820,7 +1820,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"4.5:层叠布局(Stack、Positioned)","level":"2.4.5","depth":2,"next":{"title":"4.6:对齐与相对定位(Align)","level":"2.4.6","depth":2,"path":"chapter4/alignment.md","ref":"chapter4/alignment.md","articles":[]},"previous":{"title":"4.4:流式布局(Wrap、Flow)","level":"2.4.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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":"2019-08-06T11:10:58.260Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"4.5:层叠布局(Stack、Positioned)","level":"2.4.5","depth":2,"next":{"title":"4.6:对齐与相对定位(Align)","level":"2.4.6","depth":2,"path":"chapter4/alignment.md","ref":"chapter4/alignment.md","articles":[]},"previous":{"title":"4.4:流式布局(Wrap、Flow)","level":"2.4.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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":"2019-08-06T11:10:58.260Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter4/wrap_and_flow.html b/_book/chapter4/wrap_and_flow.html index 309cfc08..2b7399df 100644 --- a/_book/chapter4/wrap_and_flow.html +++ b/_book/chapter4/wrap_and_flow.html @@ -1869,7 +1869,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"4.4:流式布局(Wrap、Flow)","level":"2.4.4","depth":2,"next":{"title":"4.5:层叠布局(Stack、Positioned)","level":"2.4.5","depth":2,"path":"chapter4/stack.md","ref":"chapter4/stack.md","articles":[]},"previous":{"title":"4.3:弹性布局(Flex)","level":"2.4.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-06T11:10:58.260Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"4.4:流式布局(Wrap、Flow)","level":"2.4.4","depth":2,"next":{"title":"4.5:层叠布局(Stack、Positioned)","level":"2.4.5","depth":2,"path":"chapter4/stack.md","ref":"chapter4/stack.md","articles":[]},"previous":{"title":"4.3:弹性布局(Flex)","level":"2.4.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-06T11:10:58.260Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter5/clip.html b/_book/chapter5/clip.html index b123478e..0cecb882 100644 --- a/_book/chapter5/clip.html +++ b/_book/chapter5/clip.html @@ -1845,7 +1845,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"5.7:剪裁(Clip)","level":"2.5.7","depth":2,"next":{"title":"第六章:可滚动组件","level":"2.6","depth":1,"path":"chapter6/index.md","ref":"chapter6/index.md","articles":[{"title":"6.1:可滚动组件简介","level":"2.6.1","depth":2,"path":"chapter6/intro.md","ref":"chapter6/intro.md","articles":[]},{"title":"6.2:SingleChildScrollView","level":"2.6.2","depth":2,"path":"chapter6/single_child_scrollview.md","ref":"chapter6/single_child_scrollview.md","articles":[]},{"title":"6.3:ListView","level":"2.6.3","depth":2,"path":"chapter6/listview.md","ref":"chapter6/listview.md","articles":[]},{"title":"6.4:GridView","level":"2.6.4","depth":2,"path":"chapter6/gridview.md","ref":"chapter6/gridview.md","articles":[]},{"title":"6.5:CustomScrollView","level":"2.6.5","depth":2,"path":"chapter6/custom_scrollview.md","ref":"chapter6/custom_scrollview.md","articles":[]},{"title":"6.6:滚动监听及控制(ScrollController)","level":"2.6.6","depth":2,"path":"chapter6/scroll_controller.md","ref":"chapter6/scroll_controller.md","articles":[]}]},"previous":{"title":"5.6:Scaffold、TabBar、底部导航","level":"2.5.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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/clip.md","mtime":"2019-08-06T11:10:58.260Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"5.7:剪裁(Clip)","level":"2.5.7","depth":2,"next":{"title":"第六章:可滚动组件","level":"2.6","depth":1,"path":"chapter6/index.md","ref":"chapter6/index.md","articles":[{"title":"6.1:可滚动组件简介","level":"2.6.1","depth":2,"path":"chapter6/intro.md","ref":"chapter6/intro.md","articles":[]},{"title":"6.2:SingleChildScrollView","level":"2.6.2","depth":2,"path":"chapter6/single_child_scrollview.md","ref":"chapter6/single_child_scrollview.md","articles":[]},{"title":"6.3:ListView","level":"2.6.3","depth":2,"path":"chapter6/listview.md","ref":"chapter6/listview.md","articles":[]},{"title":"6.4:GridView","level":"2.6.4","depth":2,"path":"chapter6/gridview.md","ref":"chapter6/gridview.md","articles":[]},{"title":"6.5:CustomScrollView","level":"2.6.5","depth":2,"path":"chapter6/custom_scrollview.md","ref":"chapter6/custom_scrollview.md","articles":[]},{"title":"6.6:滚动监听及控制(ScrollController)","level":"2.6.6","depth":2,"path":"chapter6/scroll_controller.md","ref":"chapter6/scroll_controller.md","articles":[]}]},"previous":{"title":"5.6:Scaffold、TabBar、底部导航","level":"2.5.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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/clip.md","mtime":"2019-08-06T11:10:58.260Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter5/constrainedbox_and_sizebox.html b/_book/chapter5/constrainedbox_and_sizebox.html index 3b84a50b..3a9b5fb3 100644 --- a/_book/chapter5/constrainedbox_and_sizebox.html +++ b/_book/chapter5/constrainedbox_and_sizebox.html @@ -1887,7 +1887,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"5.2:尺寸限制类容器(ConstrainedBox等)","level":"2.5.2","depth":2,"next":{"title":"5.3:装饰容器(DecoratedBox)","level":"2.5.3","depth":2,"path":"chapter5/decoratedbox.md","ref":"chapter5/decoratedbox.md","articles":[]},"previous":{"title":"5.1:填充(Padding)","level":"2.5.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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":"2019-08-06T11:10:58.261Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"5.2:尺寸限制类容器(ConstrainedBox等)","level":"2.5.2","depth":2,"next":{"title":"5.3:装饰容器(DecoratedBox)","level":"2.5.3","depth":2,"path":"chapter5/decoratedbox.md","ref":"chapter5/decoratedbox.md","articles":[]},"previous":{"title":"5.1:填充(Padding)","level":"2.5.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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":"2019-08-06T11:10:58.261Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter5/container.html b/_book/chapter5/container.html index ab32e8d4..0c3d66e0 100644 --- a/_book/chapter5/container.html +++ b/_book/chapter5/container.html @@ -1826,7 +1826,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"5.5:Container容器","level":"2.5.5","depth":2,"next":{"title":"5.6:Scaffold、TabBar、底部导航","level":"2.5.6","depth":2,"path":"chapter5/material_scaffold.md","ref":"chapter5/material_scaffold.md","articles":[]},"previous":{"title":"5.4:变换(Transform)","level":"2.5.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-06T11:10:58.261Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"5.5:Container容器","level":"2.5.5","depth":2,"next":{"title":"5.6:Scaffold、TabBar、底部导航","level":"2.5.6","depth":2,"path":"chapter5/material_scaffold.md","ref":"chapter5/material_scaffold.md","articles":[]},"previous":{"title":"5.4:变换(Transform)","level":"2.5.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-06T11:10:58.261Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter5/decoratedbox.html b/_book/chapter5/decoratedbox.html index e67d2fbd..55ae696b 100644 --- a/_book/chapter5/decoratedbox.html +++ b/_book/chapter5/decoratedbox.html @@ -1792,7 +1792,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"5.3:装饰容器(DecoratedBox)","level":"2.5.3","depth":2,"next":{"title":"5.4:变换(Transform)","level":"2.5.4","depth":2,"path":"chapter5/transform.md","ref":"chapter5/transform.md","articles":[]},"previous":{"title":"5.2:尺寸限制类容器(ConstrainedBox等)","level":"2.5.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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":"2019-08-06T11:10:58.262Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"5.3:装饰容器(DecoratedBox)","level":"2.5.3","depth":2,"next":{"title":"5.4:变换(Transform)","level":"2.5.4","depth":2,"path":"chapter5/transform.md","ref":"chapter5/transform.md","articles":[]},"previous":{"title":"5.2:尺寸限制类容器(ConstrainedBox等)","level":"2.5.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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":"2019-08-06T11:10:58.262Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter5/index.html b/_book/chapter5/index.html index 89bdc42d..8c2b7a3c 100644 --- a/_book/chapter5/index.html +++ b/_book/chapter5/index.html @@ -1758,7 +1758,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"第五章:容器类组件","level":"2.5","depth":1,"next":{"title":"5.1:填充(Padding)","level":"2.5.1","depth":2,"path":"chapter5/padding.md","ref":"chapter5/padding.md","articles":[]},"previous":{"title":"4.6:对齐与相对定位(Align)","level":"2.4.6","depth":2,"path":"chapter4/alignment.md","ref":"chapter4/alignment.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-05-06T08:08:17.843Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"第五章:容器类组件","level":"2.5","depth":1,"next":{"title":"5.1:填充(Padding)","level":"2.5.1","depth":2,"path":"chapter5/padding.md","ref":"chapter5/padding.md","articles":[]},"previous":{"title":"4.6:对齐与相对定位(Align)","level":"2.4.6","depth":2,"path":"chapter4/alignment.md","ref":"chapter4/alignment.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-05-06T08:08:17.843Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter5/material_scaffold.html b/_book/chapter5/material_scaffold.html index a348d9d5..81311614 100644 --- a/_book/chapter5/material_scaffold.html +++ b/_book/chapter5/material_scaffold.html @@ -2041,7 +2041,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"5.6:Scaffold、TabBar、底部导航","level":"2.5.6","depth":2,"next":{"title":"5.7:剪裁(Clip)","level":"2.5.7","depth":2,"path":"chapter5/clip.md","ref":"chapter5/clip.md","articles":[]},"previous":{"title":"5.5:Container容器","level":"2.5.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-06T11:10:58.262Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"5.6:Scaffold、TabBar、底部导航","level":"2.5.6","depth":2,"next":{"title":"5.7:剪裁(Clip)","level":"2.5.7","depth":2,"path":"chapter5/clip.md","ref":"chapter5/clip.md","articles":[]},"previous":{"title":"5.5:Container容器","level":"2.5.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-06T11:10:58.262Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter5/padding.html b/_book/chapter5/padding.html index ab85f8ce..48b472a3 100644 --- a/_book/chapter5/padding.html +++ b/_book/chapter5/padding.html @@ -1794,7 +1794,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"5.1:填充(Padding)","level":"2.5.1","depth":2,"next":{"title":"5.2:尺寸限制类容器(ConstrainedBox等)","level":"2.5.2","depth":2,"path":"chapter5/constrainedbox_and_sizebox.md","ref":"chapter5/constrainedbox_and_sizebox.md","articles":[]},"previous":{"title":"第五章:容器类组件","level":"2.5","depth":1,"path":"chapter5/index.md","ref":"chapter5/index.md","articles":[{"title":"5.1:填充(Padding)","level":"2.5.1","depth":2,"path":"chapter5/padding.md","ref":"chapter5/padding.md","articles":[]},{"title":"5.2:尺寸限制类容器(ConstrainedBox等)","level":"2.5.2","depth":2,"path":"chapter5/constrainedbox_and_sizebox.md","ref":"chapter5/constrainedbox_and_sizebox.md","articles":[]},{"title":"5.3:装饰容器(DecoratedBox)","level":"2.5.3","depth":2,"path":"chapter5/decoratedbox.md","ref":"chapter5/decoratedbox.md","articles":[]},{"title":"5.4:变换(Transform)","level":"2.5.4","depth":2,"path":"chapter5/transform.md","ref":"chapter5/transform.md","articles":[]},{"title":"5.5:Container容器","level":"2.5.5","depth":2,"path":"chapter5/container.md","ref":"chapter5/container.md","articles":[]},{"title":"5.6:Scaffold、TabBar、底部导航","level":"2.5.6","depth":2,"path":"chapter5/material_scaffold.md","ref":"chapter5/material_scaffold.md","articles":[]},{"title":"5.7:剪裁(Clip)","level":"2.5.7","depth":2,"path":"chapter5/clip.md","ref":"chapter5/clip.md","articles":[]}]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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":"2019-08-06T11:10:58.263Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"5.1:填充(Padding)","level":"2.5.1","depth":2,"next":{"title":"5.2:尺寸限制类容器(ConstrainedBox等)","level":"2.5.2","depth":2,"path":"chapter5/constrainedbox_and_sizebox.md","ref":"chapter5/constrainedbox_and_sizebox.md","articles":[]},"previous":{"title":"第五章:容器类组件","level":"2.5","depth":1,"path":"chapter5/index.md","ref":"chapter5/index.md","articles":[{"title":"5.1:填充(Padding)","level":"2.5.1","depth":2,"path":"chapter5/padding.md","ref":"chapter5/padding.md","articles":[]},{"title":"5.2:尺寸限制类容器(ConstrainedBox等)","level":"2.5.2","depth":2,"path":"chapter5/constrainedbox_and_sizebox.md","ref":"chapter5/constrainedbox_and_sizebox.md","articles":[]},{"title":"5.3:装饰容器(DecoratedBox)","level":"2.5.3","depth":2,"path":"chapter5/decoratedbox.md","ref":"chapter5/decoratedbox.md","articles":[]},{"title":"5.4:变换(Transform)","level":"2.5.4","depth":2,"path":"chapter5/transform.md","ref":"chapter5/transform.md","articles":[]},{"title":"5.5:Container容器","level":"2.5.5","depth":2,"path":"chapter5/container.md","ref":"chapter5/container.md","articles":[]},{"title":"5.6:Scaffold、TabBar、底部导航","level":"2.5.6","depth":2,"path":"chapter5/material_scaffold.md","ref":"chapter5/material_scaffold.md","articles":[]},{"title":"5.7:剪裁(Clip)","level":"2.5.7","depth":2,"path":"chapter5/clip.md","ref":"chapter5/clip.md","articles":[]}]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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":"2019-08-06T11:10:58.263Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter5/transform.html b/_book/chapter5/transform.html index e66bcfd2..9bbe8114 100644 --- a/_book/chapter5/transform.html +++ b/_book/chapter5/transform.html @@ -1851,7 +1851,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"5.4:变换(Transform)","level":"2.5.4","depth":2,"next":{"title":"5.5:Container容器","level":"2.5.5","depth":2,"path":"chapter5/container.md","ref":"chapter5/container.md","articles":[]},"previous":{"title":"5.3:装饰容器(DecoratedBox)","level":"2.5.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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":"2019-08-06T11:10:58.264Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"5.4:变换(Transform)","level":"2.5.4","depth":2,"next":{"title":"5.5:Container容器","level":"2.5.5","depth":2,"path":"chapter5/container.md","ref":"chapter5/container.md","articles":[]},"previous":{"title":"5.3:装饰容器(DecoratedBox)","level":"2.5.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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":"2019-08-06T11:10:58.264Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter6/custom_scrollview.html b/_book/chapter6/custom_scrollview.html index 9a26034f..73e3293e 100644 --- a/_book/chapter6/custom_scrollview.html +++ b/_book/chapter6/custom_scrollview.html @@ -1822,7 +1822,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"6.5:CustomScrollView","level":"2.6.5","depth":2,"next":{"title":"6.6:滚动监听及控制(ScrollController)","level":"2.6.6","depth":2,"path":"chapter6/scroll_controller.md","ref":"chapter6/scroll_controller.md","articles":[]},"previous":{"title":"6.4:GridView","level":"2.6.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-06T11:10:58.264Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"6.5:CustomScrollView","level":"2.6.5","depth":2,"next":{"title":"6.6:滚动监听及控制(ScrollController)","level":"2.6.6","depth":2,"path":"chapter6/scroll_controller.md","ref":"chapter6/scroll_controller.md","articles":[]},"previous":{"title":"6.4:GridView","level":"2.6.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-06T11:10:58.264Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter6/gridview.html b/_book/chapter6/gridview.html index 119c6a00..00ed6f3d 100644 --- a/_book/chapter6/gridview.html +++ b/_book/chapter6/gridview.html @@ -1920,7 +1920,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"6.4:GridView","level":"2.6.4","depth":2,"next":{"title":"6.5:CustomScrollView","level":"2.6.5","depth":2,"path":"chapter6/custom_scrollview.md","ref":"chapter6/custom_scrollview.md","articles":[]},"previous":{"title":"6.3:ListView","level":"2.6.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-06T11:10:58.265Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"6.4:GridView","level":"2.6.4","depth":2,"next":{"title":"6.5:CustomScrollView","level":"2.6.5","depth":2,"path":"chapter6/custom_scrollview.md","ref":"chapter6/custom_scrollview.md","articles":[]},"previous":{"title":"6.3:ListView","level":"2.6.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-06T11:10:58.265Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter6/index.html b/_book/chapter6/index.html index 0ac2a259..0bfac35d 100644 --- a/_book/chapter6/index.html +++ b/_book/chapter6/index.html @@ -1751,7 +1751,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"第六章:可滚动组件","level":"2.6","depth":1,"next":{"title":"6.1:可滚动组件简介","level":"2.6.1","depth":2,"path":"chapter6/intro.md","ref":"chapter6/intro.md","articles":[]},"previous":{"title":"5.7:剪裁(Clip)","level":"2.5.7","depth":2,"path":"chapter5/clip.md","ref":"chapter5/clip.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"第六章:可滚动组件","level":"2.6","depth":1,"next":{"title":"6.1:可滚动组件简介","level":"2.6.1","depth":2,"path":"chapter6/intro.md","ref":"chapter6/intro.md","articles":[]},"previous":{"title":"5.7:剪裁(Clip)","level":"2.5.7","depth":2,"path":"chapter5/clip.md","ref":"chapter5/clip.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter6/intro.html b/_book/chapter6/intro.html index 66139e09..cb3d8b0f 100644 --- a/_book/chapter6/intro.html +++ b/_book/chapter6/intro.html @@ -1778,7 +1778,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"6.1:可滚动组件简介","level":"2.6.1","depth":2,"next":{"title":"6.2:SingleChildScrollView","level":"2.6.2","depth":2,"path":"chapter6/single_child_scrollview.md","ref":"chapter6/single_child_scrollview.md","articles":[]},"previous":{"title":"第六章:可滚动组件","level":"2.6","depth":1,"path":"chapter6/index.md","ref":"chapter6/index.md","articles":[{"title":"6.1:可滚动组件简介","level":"2.6.1","depth":2,"path":"chapter6/intro.md","ref":"chapter6/intro.md","articles":[]},{"title":"6.2:SingleChildScrollView","level":"2.6.2","depth":2,"path":"chapter6/single_child_scrollview.md","ref":"chapter6/single_child_scrollview.md","articles":[]},{"title":"6.3:ListView","level":"2.6.3","depth":2,"path":"chapter6/listview.md","ref":"chapter6/listview.md","articles":[]},{"title":"6.4:GridView","level":"2.6.4","depth":2,"path":"chapter6/gridview.md","ref":"chapter6/gridview.md","articles":[]},{"title":"6.5:CustomScrollView","level":"2.6.5","depth":2,"path":"chapter6/custom_scrollview.md","ref":"chapter6/custom_scrollview.md","articles":[]},{"title":"6.6:滚动监听及控制(ScrollController)","level":"2.6.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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":"2019-08-06T11:10:58.265Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"6.1:可滚动组件简介","level":"2.6.1","depth":2,"next":{"title":"6.2:SingleChildScrollView","level":"2.6.2","depth":2,"path":"chapter6/single_child_scrollview.md","ref":"chapter6/single_child_scrollview.md","articles":[]},"previous":{"title":"第六章:可滚动组件","level":"2.6","depth":1,"path":"chapter6/index.md","ref":"chapter6/index.md","articles":[{"title":"6.1:可滚动组件简介","level":"2.6.1","depth":2,"path":"chapter6/intro.md","ref":"chapter6/intro.md","articles":[]},{"title":"6.2:SingleChildScrollView","level":"2.6.2","depth":2,"path":"chapter6/single_child_scrollview.md","ref":"chapter6/single_child_scrollview.md","articles":[]},{"title":"6.3:ListView","level":"2.6.3","depth":2,"path":"chapter6/listview.md","ref":"chapter6/listview.md","articles":[]},{"title":"6.4:GridView","level":"2.6.4","depth":2,"path":"chapter6/gridview.md","ref":"chapter6/gridview.md","articles":[]},{"title":"6.5:CustomScrollView","level":"2.6.5","depth":2,"path":"chapter6/custom_scrollview.md","ref":"chapter6/custom_scrollview.md","articles":[]},{"title":"6.6:滚动监听及控制(ScrollController)","level":"2.6.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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":"2019-08-06T11:10:58.265Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter6/listview.html b/_book/chapter6/listview.html index e2c2c319..e30750f6 100644 --- a/_book/chapter6/listview.html +++ b/_book/chapter6/listview.html @@ -1972,7 +1972,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"6.3:ListView","level":"2.6.3","depth":2,"next":{"title":"6.4:GridView","level":"2.6.4","depth":2,"path":"chapter6/gridview.md","ref":"chapter6/gridview.md","articles":[]},"previous":{"title":"6.2:SingleChildScrollView","level":"2.6.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-06T11:12:11.951Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"6.3:ListView","level":"2.6.3","depth":2,"next":{"title":"6.4:GridView","level":"2.6.4","depth":2,"path":"chapter6/gridview.md","ref":"chapter6/gridview.md","articles":[]},"previous":{"title":"6.2:SingleChildScrollView","level":"2.6.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-06T11:12:11.951Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter6/scroll_controller.html b/_book/chapter6/scroll_controller.html index 91cfce06..fb1f07dc 100644 --- a/_book/chapter6/scroll_controller.html +++ b/_book/chapter6/scroll_controller.html @@ -1938,7 +1938,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"6.6:滚动监听及控制(ScrollController)","level":"2.6.6","depth":2,"next":{"title":"第七章:功能型组件","level":"2.7","depth":1,"path":"chapter7/index.md","ref":"chapter7/index.md","articles":[{"title":"7.1:导航返回拦截(WillPopScope)","level":"2.7.1","depth":2,"path":"chapter7/willpopscope.md","ref":"chapter7/willpopscope.md","articles":[]},{"title":"7.2:数据共享(InheritedWidget)","level":"2.7.2","depth":2,"path":"chapter7/inherited_widget.md","ref":"chapter7/inherited_widget.md","articles":[]},{"title":"7.3: 跨组件状态共享(Provider)","level":"2.7.3","depth":2,"path":"chapter7/provider.md","ref":"chapter7/provider.md","articles":[]},{"title":"7.4:颜色和主题(Theme)","level":"2.7.4","depth":2,"path":"chapter7/theme.md","ref":"chapter7/theme.md","articles":[]},{"title":"7.5:异步UI更新(FutureBuilder、StreamBuilder)","level":"2.7.5","depth":2,"path":"chapter7/futurebuilder_and_streambuilder.md","ref":"chapter7/futurebuilder_and_streambuilder.md","articles":[]},{"title":"7.6:对话框详解","level":"2.7.6","depth":2,"path":"chapter7/dailog.md","ref":"chapter7/dailog.md","articles":[]}]},"previous":{"title":"6.5:CustomScrollView","level":"2.6.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-06T11:10:58.265Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"6.6:滚动监听及控制(ScrollController)","level":"2.6.6","depth":2,"next":{"title":"第七章:功能型组件","level":"2.7","depth":1,"path":"chapter7/index.md","ref":"chapter7/index.md","articles":[{"title":"7.1:导航返回拦截(WillPopScope)","level":"2.7.1","depth":2,"path":"chapter7/willpopscope.md","ref":"chapter7/willpopscope.md","articles":[]},{"title":"7.2:数据共享(InheritedWidget)","level":"2.7.2","depth":2,"path":"chapter7/inherited_widget.md","ref":"chapter7/inherited_widget.md","articles":[]},{"title":"7.3: 跨组件状态共享(Provider)","level":"2.7.3","depth":2,"path":"chapter7/provider.md","ref":"chapter7/provider.md","articles":[]},{"title":"7.4:颜色和主题(Theme)","level":"2.7.4","depth":2,"path":"chapter7/theme.md","ref":"chapter7/theme.md","articles":[]},{"title":"7.5:异步UI更新(FutureBuilder、StreamBuilder)","level":"2.7.5","depth":2,"path":"chapter7/futurebuilder_and_streambuilder.md","ref":"chapter7/futurebuilder_and_streambuilder.md","articles":[]},{"title":"7.6:对话框详解","level":"2.7.6","depth":2,"path":"chapter7/dailog.md","ref":"chapter7/dailog.md","articles":[]}]},"previous":{"title":"6.5:CustomScrollView","level":"2.6.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-06T11:10:58.265Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter6/single_child_scrollview.html b/_book/chapter6/single_child_scrollview.html index 19c96a8e..fe743386 100644 --- a/_book/chapter6/single_child_scrollview.html +++ b/_book/chapter6/single_child_scrollview.html @@ -1785,7 +1785,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"6.2:SingleChildScrollView","level":"2.6.2","depth":2,"next":{"title":"6.3:ListView","level":"2.6.3","depth":2,"path":"chapter6/listview.md","ref":"chapter6/listview.md","articles":[]},"previous":{"title":"6.1:可滚动组件简介","level":"2.6.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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":"2019-08-06T11:10:58.266Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"6.2:SingleChildScrollView","level":"2.6.2","depth":2,"next":{"title":"6.3:ListView","level":"2.6.3","depth":2,"path":"chapter6/listview.md","ref":"chapter6/listview.md","articles":[]},"previous":{"title":"6.1:可滚动组件简介","level":"2.6.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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":"2019-08-06T11:10:58.266Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter7/dailog.html b/_book/chapter7/dailog.html index 9e9bb4b2..acae6a2f 100644 --- a/_book/chapter7/dailog.html +++ b/_book/chapter7/dailog.html @@ -2080,8 +2080,8 @@

7.6.4  } } -

然后,当我们运行上面的代码时我们会发现复选框根本选不中!为什么会这样呢?其实原因很简单,我们知道setState方法只会针对当前context的子树重新build,但是我们的对话框并不是在_DialogRouteStatebuild 方法中构建的,而是通过showDialog单独构建的,所以调用在_DialogRouteState的context中调用setState是无法影响通过showDialog构建的UI的。另外,我们可以从另外一个角度来理解这个现象,前面说过动画框也是通过路由的方式来实现的,那么上面的代码实际上就等同于企图在父路由中调用setState来让子路由更新,这显然是不行的!简尔言之,根本原因就是context不对。那如何让复选框可点击呢?有常规方法和一个精妙的方法,下面我们分别介绍:

-

常规方法

+

然后,当我们运行上面的代码时我们会发现复选框根本选不中!为什么会这样呢?其实原因很简单,我们知道setState方法只会针对当前context的子树重新build,但是我们的对话框并不是在_DialogRouteStatebuild 方法中构建的,而是通过showDialog单独构建的,所以调用在_DialogRouteState的context中调用setState是无法影响通过showDialog构建的UI的。另外,我们可以从另外一个角度来理解这个现象,前面说过动画框也是通过路由的方式来实现的,那么上面的代码实际上就等同于企图在父路由中调用setState来让子路由更新,这显然是不行的!简尔言之,根本原因就是context不对。那如何让复选框可点击呢?通常有如下三种方法:

+

单独抽离出StatefulWidget

既然是context不对,那么直接的思路就是将复选框的选中逻辑单独封装成一个StatefulWidget,然后其再内部管理复选状态。我们先来看看这种方法,下面是实现代码:

// 单独封装一个内部管理选中状态的复选框组件
 class DialogCheckbox extends StatefulWidget {
@@ -2185,8 +2185,66 @@ 

常规方法

运行后效果如图7-15所示:

图7-15

可见复选框能选中了,点击“取消”或“删除”后,控制台就会打印出最终的确认状态。

+

使用StatefulBuilder方法

+

上面的方法虽然能解决对话框状态更新的问题,但是有一个明显的缺点——对话框上所有需要会改变状态的组件都得单独封装在一个在内部管理状态StatefulWidget中,这样不仅麻烦,而且复用性不大。因此,我们来想想能不能找到一种更简单的方法?上面的方法本质上就是将对话框的状态置于一个StatefulWidget的上下文中,由StatefulWidget在内部管理,那么我们有没有办法在不需要单独抽离组件的情况下创建一个StatefulWidget的上下文呢?想到这里,我们可以从Builder组件的实现获得灵感。在前面介绍过Builder组件可以获得组件所在位置的真正的Context,那它是怎么实现的呢,我们看看它的源码:

+
class Builder extends StatelessWidget {
+  const Builder({
+    Key key,
+     this.builder,
+  }) : assert(builder != null),
+       super(key: key);
+  final WidgetBuilder builder;
+
+  
+  Widget build(BuildContext context) => builder(context);
+}
+
+

可以看到,Builder实际上只是继承了StatelessWidget,然后在build方法中对获取当前context后将构建方法代理到了builder回调,Builder实际上是获取了StatelessWidget 的上下文。那我们能否用相同的方法获取StatefulWidget 上下文,并代理其build方法呢?我们照猫画虎,来封装一个StatefulBuilder方法:

+
class StatefulBuilder extends StatefulWidget {
+  const StatefulBuilder({
+    Key key,
+     this.builder,
+  }) : assert(builder != null),
+       super(key: key);
+
+  final StatefulWidgetBuilder builder;
+
+  
+  _StatefulBuilderState createState() => _StatefulBuilderState();
+}
+
+class _StatefulBuilderState extends State<StatefulBuilder> {
+  
+  Widget build(BuildContext context) => widget.builder(context, setState);
+}
+
+

代码很简单,StatefulBuilder获取了StatefulWidget的上下文,并代理了其构建过程。下面我们就可以通过StatefulBuilder来重构上面的代码了(变动只在DialogCheckbox部分):

+
... //省略无关代码
+Row(
+  children: <Widget>[
+    Text("同时删除子目录?"),
+    //使用StatefulBuilder来构建StatefulWidget上下文
+    StatefulBuilder(
+      builder: (context, _setState) {
+        return Checkbox(
+          value: _withTree, //默认不选中
+          onChanged: (bool value) {
+            //_setState方法实际就是该StatefulWidget的setState方法,
+            //调用后builder方法会重新被调用
+            _setState(() {
+              //更新选中状态
+              _withTree = !_withTree;
+            });
+          },
+        );
+      },
+    ),
+  ],
+),
+
+

实际上,这种方法本质上就是子组件通知父组件(StatefulWidget)重新build子组件本身来实现UI更新的,读者可以对比代码理解。实际上StatefulBuilder正是Flutter SDK中提供的一个类,它和Builder的原理是一样的,在此,提醒读者一定要将StatefulBuilderBuilder理解透彻,因为它们在Flutter中是非常实用的。

精妙的解法

-

上面的方法虽然能解决对话框状态更新的问题,但是有一个明显的缺点——对话框上所有需要会改变状态的组件都得单独封装在一个在内部管理状态StatefulWidget中,这样不仅麻烦,而且复用性不大。因此,我们来想想能不能找到一种更简单的方法?要确认这个问题,我们就得先想想UI是怎么更新的,我们知道在调用setState方法后StatefulWidget就会重新build,那setState方法做了什么呢?我们能不能从中找到方法?顺着这个思路,我们就得看一下setState的核心源码:

+

要确认这个问题,我们就得先想想UI是怎么更新的,我们知道在调用setState方法后StatefulWidget就会重新build,那setState方法做了什么呢?我们能不能从中找到方法?顺着这个思路,我们就得看一下setState的核心源码:

void setState(VoidCallback fn) {
   ... //省略无关代码
   _element.markNeedsBuild();
@@ -2366,6 +2424,48 @@ 

Loading框

代码运行后,效果如图7-19所示:

图7-19

+

日历选择

+

我们先看一下Material风格的日历选择器,如图7-20所示:

+

图7-20

+

实现代码:

+
Future<DateTime> _showDatePicker1() {
+  var date = DateTime.now();
+  return showDatePicker(
+    context: context,
+    initialDate: date,
+    firstDate: date,
+    lastDate: date.add( //未来30天可选
+      Duration(days: 30),
+    ),
+  );
+}
+
+

iOS风格的日历选择器需要使用showCupertinoModalPopup方法和CupertinoDatePicker组件来实现:

+
Future<DateTime> _showDatePicker2() {
+  var date = DateTime.now();
+  return showCupertinoModalPopup(
+    context: context,
+    builder: (ctx) {
+      return SizedBox(
+        height: 200,
+        child: CupertinoDatePicker(
+          mode: CupertinoDatePickerMode.dateAndTime,
+          minimumDate: date,
+          maximumDate: date.add(
+            Duration(days: 30),
+          ),
+          maximumYear: date.year + 1,
+          onDateTimeChanged: (DateTime value) {
+            print(value);
+          },
+        ),
+      );
+    },
+  );
+}
+
+

运行效果如图7-21所示:

+

图7-21

@@ -2409,7 +2509,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"7.6:对话框详解","level":"2.7.6","depth":2,"next":{"title":"第八章:事件处理与通知","level":"3.1","depth":1,"path":"chapter8/index.md","ref":"chapter8/index.md","articles":[{"title":"8.1:原始指针事件处理","level":"3.1.1","depth":2,"path":"chapter8/listener.md","ref":"chapter8/listener.md","articles":[]},{"title":"8.2:手势识别","level":"3.1.2","depth":2,"path":"chapter8/gesture.md","ref":"chapter8/gesture.md","articles":[]},{"title":"8.3:全局事件总线","level":"3.1.3","depth":2,"path":"chapter8/eventbus.md","ref":"chapter8/eventbus.md","articles":[]},{"title":"8.4:通知(Notification)","level":"3.1.4","depth":2,"path":"chapter8/notification.md","ref":"chapter8/notification.md","articles":[]}]},"previous":{"title":"7.5:异步UI更新(FutureBuilder、StreamBuilder)","level":"2.7.5","depth":2,"path":"chapter7/futurebuilder_and_streambuilder.md","ref":"chapter7/futurebuilder_and_streambuilder.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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/dailog.md","mtime":"2019-08-06T11:10:58.266Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"7.6:对话框详解","level":"2.7.6","depth":2,"next":{"title":"第八章:事件处理与通知","level":"3.1","depth":1,"path":"chapter8/index.md","ref":"chapter8/index.md","articles":[{"title":"8.1:原始指针事件处理","level":"3.1.1","depth":2,"path":"chapter8/listener.md","ref":"chapter8/listener.md","articles":[]},{"title":"8.2:手势识别","level":"3.1.2","depth":2,"path":"chapter8/gesture.md","ref":"chapter8/gesture.md","articles":[]},{"title":"8.3:全局事件总线","level":"3.1.3","depth":2,"path":"chapter8/eventbus.md","ref":"chapter8/eventbus.md","articles":[]},{"title":"8.4:通知(Notification)","level":"3.1.4","depth":2,"path":"chapter8/notification.md","ref":"chapter8/notification.md","articles":[]}]},"previous":{"title":"7.5:异步UI更新(FutureBuilder、StreamBuilder)","level":"2.7.5","depth":2,"path":"chapter7/futurebuilder_and_streambuilder.md","ref":"chapter7/futurebuilder_and_streambuilder.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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/dailog.md","mtime":"2019-08-09T07:23:04.557Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter7/futurebuilder_and_streambuilder.html b/_book/chapter7/futurebuilder_and_streambuilder.html index f6b0b419..19c4a2c7 100644 --- a/_book/chapter7/futurebuilder_and_streambuilder.html +++ b/_book/chapter7/futurebuilder_and_streambuilder.html @@ -1856,7 +1856,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"7.5:异步UI更新(FutureBuilder、StreamBuilder)","level":"2.7.5","depth":2,"next":{"title":"7.6:对话框详解","level":"2.7.6","depth":2,"path":"chapter7/dailog.md","ref":"chapter7/dailog.md","articles":[]},"previous":{"title":"7.4:颜色和主题(Theme)","level":"2.7.4","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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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/futurebuilder_and_streambuilder.md","mtime":"2019-08-06T11:10:58.266Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"7.5:异步UI更新(FutureBuilder、StreamBuilder)","level":"2.7.5","depth":2,"next":{"title":"7.6:对话框详解","level":"2.7.6","depth":2,"path":"chapter7/dailog.md","ref":"chapter7/dailog.md","articles":[]},"previous":{"title":"7.4:颜色和主题(Theme)","level":"2.7.4","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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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/futurebuilder_and_streambuilder.md","mtime":"2019-08-06T11:10:58.266Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter7/index.html b/_book/chapter7/index.html index fa5ad74a..49086dce 100644 --- a/_book/chapter7/index.html +++ b/_book/chapter7/index.html @@ -1750,7 +1750,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"第七章:功能型组件","level":"2.7","depth":1,"next":{"title":"7.1:导航返回拦截(WillPopScope)","level":"2.7.1","depth":2,"path":"chapter7/willpopscope.md","ref":"chapter7/willpopscope.md","articles":[]},"previous":{"title":"6.6:滚动监听及控制(ScrollController)","level":"2.6.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"第七章:功能型组件","level":"2.7","depth":1,"next":{"title":"7.1:导航返回拦截(WillPopScope)","level":"2.7.1","depth":2,"path":"chapter7/willpopscope.md","ref":"chapter7/willpopscope.md","articles":[]},"previous":{"title":"6.6:滚动监听及控制(ScrollController)","level":"2.6.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter7/inherited_widget.html b/_book/chapter7/inherited_widget.html index 8a7605c2..4e854026 100644 --- a/_book/chapter7/inherited_widget.html +++ b/_book/chapter7/inherited_widget.html @@ -1901,7 +1901,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"7.2:数据共享(InheritedWidget)","level":"2.7.2","depth":2,"next":{"title":"7.3: 跨组件状态共享(Provider)","level":"2.7.3","depth":2,"path":"chapter7/provider.md","ref":"chapter7/provider.md","articles":[]},"previous":{"title":"7.1:导航返回拦截(WillPopScope)","level":"2.7.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-06T11:10:58.267Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"7.2:数据共享(InheritedWidget)","level":"2.7.2","depth":2,"next":{"title":"7.3: 跨组件状态共享(Provider)","level":"2.7.3","depth":2,"path":"chapter7/provider.md","ref":"chapter7/provider.md","articles":[]},"previous":{"title":"7.1:导航返回拦截(WillPopScope)","level":"2.7.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-06T11:10:58.267Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter7/provider.html b/_book/chapter7/provider.html index 36015cc7..9a1f5a70 100644 --- a/_book/chapter7/provider.html +++ b/_book/chapter7/provider.html @@ -2091,7 +2091,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"7.3: 跨组件状态共享(Provider)","level":"2.7.3","depth":2,"next":{"title":"7.4:颜色和主题(Theme)","level":"2.7.4","depth":2,"path":"chapter7/theme.md","ref":"chapter7/theme.md","articles":[]},"previous":{"title":"7.2:数据共享(InheritedWidget)","level":"2.7.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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/provider.md","mtime":"2019-08-06T11:10:58.267Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"7.3: 跨组件状态共享(Provider)","level":"2.7.3","depth":2,"next":{"title":"7.4:颜色和主题(Theme)","level":"2.7.4","depth":2,"path":"chapter7/theme.md","ref":"chapter7/theme.md","articles":[]},"previous":{"title":"7.2:数据共享(InheritedWidget)","level":"2.7.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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/provider.md","mtime":"2019-08-06T11:10:58.267Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter7/theme.html b/_book/chapter7/theme.html index d6a5d9ea..89babecb 100644 --- a/_book/chapter7/theme.html +++ b/_book/chapter7/theme.html @@ -1962,7 +1962,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"7.4:颜色和主题(Theme)","level":"2.7.4","depth":2,"next":{"title":"7.5:异步UI更新(FutureBuilder、StreamBuilder)","level":"2.7.5","depth":2,"path":"chapter7/futurebuilder_and_streambuilder.md","ref":"chapter7/futurebuilder_and_streambuilder.md","articles":[]},"previous":{"title":"7.3: 跨组件状态共享(Provider)","level":"2.7.3","depth":2,"path":"chapter7/provider.md","ref":"chapter7/provider.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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":"2019-08-06T11:10:58.268Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"7.4:颜色和主题(Theme)","level":"2.7.4","depth":2,"next":{"title":"7.5:异步UI更新(FutureBuilder、StreamBuilder)","level":"2.7.5","depth":2,"path":"chapter7/futurebuilder_and_streambuilder.md","ref":"chapter7/futurebuilder_and_streambuilder.md","articles":[]},"previous":{"title":"7.3: 跨组件状态共享(Provider)","level":"2.7.3","depth":2,"path":"chapter7/provider.md","ref":"chapter7/provider.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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":"2019-08-06T11:10:58.268Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter7/willpopscope.html b/_book/chapter7/willpopscope.html index 87cf59da..8be078ae 100644 --- a/_book/chapter7/willpopscope.html +++ b/_book/chapter7/willpopscope.html @@ -1786,7 +1786,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"7.1:导航返回拦截(WillPopScope)","level":"2.7.1","depth":2,"next":{"title":"7.2:数据共享(InheritedWidget)","level":"2.7.2","depth":2,"path":"chapter7/inherited_widget.md","ref":"chapter7/inherited_widget.md","articles":[]},"previous":{"title":"第七章:功能型组件","level":"2.7","depth":1,"path":"chapter7/index.md","ref":"chapter7/index.md","articles":[{"title":"7.1:导航返回拦截(WillPopScope)","level":"2.7.1","depth":2,"path":"chapter7/willpopscope.md","ref":"chapter7/willpopscope.md","articles":[]},{"title":"7.2:数据共享(InheritedWidget)","level":"2.7.2","depth":2,"path":"chapter7/inherited_widget.md","ref":"chapter7/inherited_widget.md","articles":[]},{"title":"7.3: 跨组件状态共享(Provider)","level":"2.7.3","depth":2,"path":"chapter7/provider.md","ref":"chapter7/provider.md","articles":[]},{"title":"7.4:颜色和主题(Theme)","level":"2.7.4","depth":2,"path":"chapter7/theme.md","ref":"chapter7/theme.md","articles":[]},{"title":"7.5:异步UI更新(FutureBuilder、StreamBuilder)","level":"2.7.5","depth":2,"path":"chapter7/futurebuilder_and_streambuilder.md","ref":"chapter7/futurebuilder_and_streambuilder.md","articles":[]},{"title":"7.6:对话框详解","level":"2.7.6","depth":2,"path":"chapter7/dailog.md","ref":"chapter7/dailog.md","articles":[]}]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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":"2019-08-06T11:10:58.268Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"7.1:导航返回拦截(WillPopScope)","level":"2.7.1","depth":2,"next":{"title":"7.2:数据共享(InheritedWidget)","level":"2.7.2","depth":2,"path":"chapter7/inherited_widget.md","ref":"chapter7/inherited_widget.md","articles":[]},"previous":{"title":"第七章:功能型组件","level":"2.7","depth":1,"path":"chapter7/index.md","ref":"chapter7/index.md","articles":[{"title":"7.1:导航返回拦截(WillPopScope)","level":"2.7.1","depth":2,"path":"chapter7/willpopscope.md","ref":"chapter7/willpopscope.md","articles":[]},{"title":"7.2:数据共享(InheritedWidget)","level":"2.7.2","depth":2,"path":"chapter7/inherited_widget.md","ref":"chapter7/inherited_widget.md","articles":[]},{"title":"7.3: 跨组件状态共享(Provider)","level":"2.7.3","depth":2,"path":"chapter7/provider.md","ref":"chapter7/provider.md","articles":[]},{"title":"7.4:颜色和主题(Theme)","level":"2.7.4","depth":2,"path":"chapter7/theme.md","ref":"chapter7/theme.md","articles":[]},{"title":"7.5:异步UI更新(FutureBuilder、StreamBuilder)","level":"2.7.5","depth":2,"path":"chapter7/futurebuilder_and_streambuilder.md","ref":"chapter7/futurebuilder_and_streambuilder.md","articles":[]},{"title":"7.6:对话框详解","level":"2.7.6","depth":2,"path":"chapter7/dailog.md","ref":"chapter7/dailog.md","articles":[]}]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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":"2019-08-06T11:10:58.268Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter8/eventbus.html b/_book/chapter8/eventbus.html index 0dd4304e..0af00107 100644 --- a/_book/chapter8/eventbus.html +++ b/_book/chapter8/eventbus.html @@ -1810,7 +1810,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"8.3:全局事件总线","level":"3.1.3","depth":2,"next":{"title":"8.4:通知(Notification)","level":"3.1.4","depth":2,"path":"chapter8/notification.md","ref":"chapter8/notification.md","articles":[]},"previous":{"title":"8.2:手势识别","level":"3.1.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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":"2019-08-06T11:10:58.268Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"8.3:全局事件总线","level":"3.1.3","depth":2,"next":{"title":"8.4:通知(Notification)","level":"3.1.4","depth":2,"path":"chapter8/notification.md","ref":"chapter8/notification.md","articles":[]},"previous":{"title":"8.2:手势识别","level":"3.1.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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":"2019-08-06T11:10:58.268Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter8/gesture.html b/_book/chapter8/gesture.html index bf4625b3..79ab7397 100644 --- a/_book/chapter8/gesture.html +++ b/_book/chapter8/gesture.html @@ -2061,7 +2061,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"8.2:手势识别","level":"3.1.2","depth":2,"next":{"title":"8.3:全局事件总线","level":"3.1.3","depth":2,"path":"chapter8/eventbus.md","ref":"chapter8/eventbus.md","articles":[]},"previous":{"title":"8.1:原始指针事件处理","level":"3.1.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-06T11:10:58.269Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"8.2:手势识别","level":"3.1.2","depth":2,"next":{"title":"8.3:全局事件总线","level":"3.1.3","depth":2,"path":"chapter8/eventbus.md","ref":"chapter8/eventbus.md","articles":[]},"previous":{"title":"8.1:原始指针事件处理","level":"3.1.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-06T11:10:58.269Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter8/index.html b/_book/chapter8/index.html index 6ffd5dbc..17b66cf1 100644 --- a/_book/chapter8/index.html +++ b/_book/chapter8/index.html @@ -1751,7 +1751,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"第八章:事件处理与通知","level":"3.1","depth":1,"next":{"title":"8.1:原始指针事件处理","level":"3.1.1","depth":2,"path":"chapter8/listener.md","ref":"chapter8/listener.md","articles":[]},"previous":{"title":"7.6:对话框详解","level":"2.7.6","depth":2,"path":"chapter7/dailog.md","ref":"chapter7/dailog.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"第八章:事件处理与通知","level":"3.1","depth":1,"next":{"title":"8.1:原始指针事件处理","level":"3.1.1","depth":2,"path":"chapter8/listener.md","ref":"chapter8/listener.md","articles":[]},"previous":{"title":"7.6:对话框详解","level":"2.7.6","depth":2,"path":"chapter7/dailog.md","ref":"chapter7/dailog.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter8/listener.html b/_book/chapter8/listener.html index 2d3dd8bf..fe67a095 100644 --- a/_book/chapter8/listener.html +++ b/_book/chapter8/listener.html @@ -1847,7 +1847,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"8.1:原始指针事件处理","level":"3.1.1","depth":2,"next":{"title":"8.2:手势识别","level":"3.1.2","depth":2,"path":"chapter8/gesture.md","ref":"chapter8/gesture.md","articles":[]},"previous":{"title":"第八章:事件处理与通知","level":"3.1","depth":1,"path":"chapter8/index.md","ref":"chapter8/index.md","articles":[{"title":"8.1:原始指针事件处理","level":"3.1.1","depth":2,"path":"chapter8/listener.md","ref":"chapter8/listener.md","articles":[]},{"title":"8.2:手势识别","level":"3.1.2","depth":2,"path":"chapter8/gesture.md","ref":"chapter8/gesture.md","articles":[]},{"title":"8.3:全局事件总线","level":"3.1.3","depth":2,"path":"chapter8/eventbus.md","ref":"chapter8/eventbus.md","articles":[]},{"title":"8.4:通知(Notification)","level":"3.1.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-06T11:10:58.269Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"8.1:原始指针事件处理","level":"3.1.1","depth":2,"next":{"title":"8.2:手势识别","level":"3.1.2","depth":2,"path":"chapter8/gesture.md","ref":"chapter8/gesture.md","articles":[]},"previous":{"title":"第八章:事件处理与通知","level":"3.1","depth":1,"path":"chapter8/index.md","ref":"chapter8/index.md","articles":[{"title":"8.1:原始指针事件处理","level":"3.1.1","depth":2,"path":"chapter8/listener.md","ref":"chapter8/listener.md","articles":[]},{"title":"8.2:手势识别","level":"3.1.2","depth":2,"path":"chapter8/gesture.md","ref":"chapter8/gesture.md","articles":[]},{"title":"8.3:全局事件总线","level":"3.1.3","depth":2,"path":"chapter8/eventbus.md","ref":"chapter8/eventbus.md","articles":[]},{"title":"8.4:通知(Notification)","level":"3.1.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-06T11:10:58.269Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter8/notification.html b/_book/chapter8/notification.html index a7c5090e..48ca75aa 100644 --- a/_book/chapter8/notification.html +++ b/_book/chapter8/notification.html @@ -1946,7 +1946,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"8.4:通知(Notification)","level":"3.1.4","depth":2,"next":{"title":"第九章:动画","level":"3.2","depth":1,"path":"chapter9/index.md","ref":"chapter9/index.md","articles":[{"title":"9.1:Flutter动画简介","level":"3.2.1","depth":2,"path":"chapter9/intro.md","ref":"chapter9/intro.md","articles":[]},{"title":"9.2:动画结构","level":"3.2.2","depth":2,"path":"chapter9/animation_structure.md","ref":"chapter9/animation_structure.md","articles":[]},{"title":"9.3:自定义路由过渡动画","level":"3.2.3","depth":2,"path":"chapter9/route_transition.md","ref":"chapter9/route_transition.md","articles":[]},{"title":"9.4:Hero动画","level":"3.2.4","depth":2,"path":"chapter9/hero.md","ref":"chapter9/hero.md","articles":[]},{"title":"9.5:交织动画","level":"3.2.5","depth":2,"path":"chapter9/stagger_animation.md","ref":"chapter9/stagger_animation.md","articles":[]},{"title":"9.6:通用\"切换动画\"组件(AnimatedSwitcher)","level":"3.2.6","depth":2,"path":"chapter9/animated_switcher.md","ref":"chapter9/animated_switcher.md","articles":[]}]},"previous":{"title":"8.3:全局事件总线","level":"3.1.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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":"2019-08-06T11:10:58.269Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"8.4:通知(Notification)","level":"3.1.4","depth":2,"next":{"title":"第九章:动画","level":"3.2","depth":1,"path":"chapter9/index.md","ref":"chapter9/index.md","articles":[{"title":"9.1:Flutter动画简介","level":"3.2.1","depth":2,"path":"chapter9/intro.md","ref":"chapter9/intro.md","articles":[]},{"title":"9.2:动画结构","level":"3.2.2","depth":2,"path":"chapter9/animation_structure.md","ref":"chapter9/animation_structure.md","articles":[]},{"title":"9.3:自定义路由过渡动画","level":"3.2.3","depth":2,"path":"chapter9/route_transition.md","ref":"chapter9/route_transition.md","articles":[]},{"title":"9.4:Hero动画","level":"3.2.4","depth":2,"path":"chapter9/hero.md","ref":"chapter9/hero.md","articles":[]},{"title":"9.5:交织动画","level":"3.2.5","depth":2,"path":"chapter9/stagger_animation.md","ref":"chapter9/stagger_animation.md","articles":[]},{"title":"9.6:通用\"切换动画\"组件(AnimatedSwitcher)","level":"3.2.6","depth":2,"path":"chapter9/animated_switcher.md","ref":"chapter9/animated_switcher.md","articles":[]}]},"previous":{"title":"8.3:全局事件总线","level":"3.1.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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":"2019-08-06T11:10:58.269Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter9/animated_switcher.html b/_book/chapter9/animated_switcher.html index 7eaed8ea..68ac253d 100644 --- a/_book/chapter9/animated_switcher.html +++ b/_book/chapter9/animated_switcher.html @@ -1976,7 +1976,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"9.6:通用\"切换动画\"组件(AnimatedSwitcher)","level":"3.2.6","depth":2,"next":{"title":"第十章:自定义组件","level":"3.3","depth":1,"path":"chapter10/index.md","ref":"chapter10/index.md","articles":[{"title":"10.1:自定义组件方法简介","level":"3.3.1","depth":2,"path":"chapter10/intro.md","ref":"chapter10/intro.md","articles":[]},{"title":"10.2:组合现有组件","level":"3.3.2","depth":2,"path":"chapter10/combine.md","ref":"chapter10/combine.md","articles":[]},{"title":"10.3:组合实例:TurnBox","level":"3.3.3","depth":2,"path":"chapter10/turn_box.md","ref":"chapter10/turn_box.md","articles":[]},{"title":"10.4:自绘组件(CustomPaint与Canvas)","level":"3.3.4","depth":2,"path":"chapter10/custom_paint.md","ref":"chapter10/custom_paint.md","articles":[]},{"title":"10.5:自绘实例:圆形渐变进度条(自绘)","level":"3.3.5","depth":2,"path":"chapter10/gradient_circular_progress_demo.md","ref":"chapter10/gradient_circular_progress_demo.md","articles":[]}]},"previous":{"title":"9.5:交织动画","level":"3.2.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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/animated_switcher.md","mtime":"2019-08-06T11:10:58.270Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"9.6:通用\"切换动画\"组件(AnimatedSwitcher)","level":"3.2.6","depth":2,"next":{"title":"第十章:自定义组件","level":"3.3","depth":1,"path":"chapter10/index.md","ref":"chapter10/index.md","articles":[{"title":"10.1:自定义组件方法简介","level":"3.3.1","depth":2,"path":"chapter10/intro.md","ref":"chapter10/intro.md","articles":[]},{"title":"10.2:组合现有组件","level":"3.3.2","depth":2,"path":"chapter10/combine.md","ref":"chapter10/combine.md","articles":[]},{"title":"10.3:组合实例:TurnBox","level":"3.3.3","depth":2,"path":"chapter10/turn_box.md","ref":"chapter10/turn_box.md","articles":[]},{"title":"10.4:自绘组件(CustomPaint与Canvas)","level":"3.3.4","depth":2,"path":"chapter10/custom_paint.md","ref":"chapter10/custom_paint.md","articles":[]},{"title":"10.5:自绘实例:圆形渐变进度条(自绘)","level":"3.3.5","depth":2,"path":"chapter10/gradient_circular_progress_demo.md","ref":"chapter10/gradient_circular_progress_demo.md","articles":[]}]},"previous":{"title":"9.5:交织动画","level":"3.2.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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/animated_switcher.md","mtime":"2019-08-06T11:10:58.270Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter9/animation_structure.html b/_book/chapter9/animation_structure.html index eaeead6a..d7adf58d 100644 --- a/_book/chapter9/animation_structure.html +++ b/_book/chapter9/animation_structure.html @@ -1972,7 +1972,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"9.2:动画结构","level":"3.2.2","depth":2,"next":{"title":"9.3:自定义路由过渡动画","level":"3.2.3","depth":2,"path":"chapter9/route_transition.md","ref":"chapter9/route_transition.md","articles":[]},"previous":{"title":"9.1:Flutter动画简介","level":"3.2.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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":"2019-08-06T11:10:58.270Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"9.2:动画结构","level":"3.2.2","depth":2,"next":{"title":"9.3:自定义路由过渡动画","level":"3.2.3","depth":2,"path":"chapter9/route_transition.md","ref":"chapter9/route_transition.md","articles":[]},"previous":{"title":"9.1:Flutter动画简介","level":"3.2.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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":"2019-08-06T11:10:58.270Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter9/hero.html b/_book/chapter9/hero.html index f411f0f6..ff97fd99 100644 --- a/_book/chapter9/hero.html +++ b/_book/chapter9/hero.html @@ -1805,7 +1805,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"9.4:Hero动画","level":"3.2.4","depth":2,"next":{"title":"9.5:交织动画","level":"3.2.5","depth":2,"path":"chapter9/stagger_animation.md","ref":"chapter9/stagger_animation.md","articles":[]},"previous":{"title":"9.3:自定义路由过渡动画","level":"3.2.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-06T11:10:58.271Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"9.4:Hero动画","level":"3.2.4","depth":2,"next":{"title":"9.5:交织动画","level":"3.2.5","depth":2,"path":"chapter9/stagger_animation.md","ref":"chapter9/stagger_animation.md","articles":[]},"previous":{"title":"9.3:自定义路由过渡动画","level":"3.2.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-06T11:10:58.271Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter9/index.html b/_book/chapter9/index.html index 15d9071c..2b88f196 100644 --- a/_book/chapter9/index.html +++ b/_book/chapter9/index.html @@ -1752,7 +1752,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"第九章:动画","level":"3.2","depth":1,"next":{"title":"9.1:Flutter动画简介","level":"3.2.1","depth":2,"path":"chapter9/intro.md","ref":"chapter9/intro.md","articles":[]},"previous":{"title":"8.4:通知(Notification)","level":"3.1.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"第九章:动画","level":"3.2","depth":1,"next":{"title":"9.1:Flutter动画简介","level":"3.2.1","depth":2,"path":"chapter9/intro.md","ref":"chapter9/intro.md","articles":[]},"previous":{"title":"8.4:通知(Notification)","level":"3.1.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter9/intro.html b/_book/chapter9/intro.html index 9a0c7c33..53b45059 100644 --- a/_book/chapter9/intro.html +++ b/_book/chapter9/intro.html @@ -1857,7 +1857,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"9.1:Flutter动画简介","level":"3.2.1","depth":2,"next":{"title":"9.2:动画结构","level":"3.2.2","depth":2,"path":"chapter9/animation_structure.md","ref":"chapter9/animation_structure.md","articles":[]},"previous":{"title":"第九章:动画","level":"3.2","depth":1,"path":"chapter9/index.md","ref":"chapter9/index.md","articles":[{"title":"9.1:Flutter动画简介","level":"3.2.1","depth":2,"path":"chapter9/intro.md","ref":"chapter9/intro.md","articles":[]},{"title":"9.2:动画结构","level":"3.2.2","depth":2,"path":"chapter9/animation_structure.md","ref":"chapter9/animation_structure.md","articles":[]},{"title":"9.3:自定义路由过渡动画","level":"3.2.3","depth":2,"path":"chapter9/route_transition.md","ref":"chapter9/route_transition.md","articles":[]},{"title":"9.4:Hero动画","level":"3.2.4","depth":2,"path":"chapter9/hero.md","ref":"chapter9/hero.md","articles":[]},{"title":"9.5:交织动画","level":"3.2.5","depth":2,"path":"chapter9/stagger_animation.md","ref":"chapter9/stagger_animation.md","articles":[]},{"title":"9.6:通用\"切换动画\"组件(AnimatedSwitcher)","level":"3.2.6","depth":2,"path":"chapter9/animated_switcher.md","ref":"chapter9/animated_switcher.md","articles":[]}]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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":"2019-08-06T11:10:58.271Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"9.1:Flutter动画简介","level":"3.2.1","depth":2,"next":{"title":"9.2:动画结构","level":"3.2.2","depth":2,"path":"chapter9/animation_structure.md","ref":"chapter9/animation_structure.md","articles":[]},"previous":{"title":"第九章:动画","level":"3.2","depth":1,"path":"chapter9/index.md","ref":"chapter9/index.md","articles":[{"title":"9.1:Flutter动画简介","level":"3.2.1","depth":2,"path":"chapter9/intro.md","ref":"chapter9/intro.md","articles":[]},{"title":"9.2:动画结构","level":"3.2.2","depth":2,"path":"chapter9/animation_structure.md","ref":"chapter9/animation_structure.md","articles":[]},{"title":"9.3:自定义路由过渡动画","level":"3.2.3","depth":2,"path":"chapter9/route_transition.md","ref":"chapter9/route_transition.md","articles":[]},{"title":"9.4:Hero动画","level":"3.2.4","depth":2,"path":"chapter9/hero.md","ref":"chapter9/hero.md","articles":[]},{"title":"9.5:交织动画","level":"3.2.5","depth":2,"path":"chapter9/stagger_animation.md","ref":"chapter9/stagger_animation.md","articles":[]},{"title":"9.6:通用\"切换动画\"组件(AnimatedSwitcher)","level":"3.2.6","depth":2,"path":"chapter9/animated_switcher.md","ref":"chapter9/animated_switcher.md","articles":[]}]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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":"2019-08-06T11:10:58.271Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter9/route_transition.html b/_book/chapter9/route_transition.html index d37f9eca..c6f879dc 100644 --- a/_book/chapter9/route_transition.html +++ b/_book/chapter9/route_transition.html @@ -1838,7 +1838,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"9.3:自定义路由过渡动画","level":"3.2.3","depth":2,"next":{"title":"9.4:Hero动画","level":"3.2.4","depth":2,"path":"chapter9/hero.md","ref":"chapter9/hero.md","articles":[]},"previous":{"title":"9.2:动画结构","level":"3.2.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-06T11:10:58.271Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"9.3:自定义路由过渡动画","level":"3.2.3","depth":2,"next":{"title":"9.4:Hero动画","level":"3.2.4","depth":2,"path":"chapter9/hero.md","ref":"chapter9/hero.md","articles":[]},"previous":{"title":"9.2:动画结构","level":"3.2.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-06T11:10:58.271Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter9/stagger_animation.html b/_book/chapter9/stagger_animation.html index 40859967..a72b9cfa 100644 --- a/_book/chapter9/stagger_animation.html +++ b/_book/chapter9/stagger_animation.html @@ -1887,7 +1887,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"9.5:交织动画","level":"3.2.5","depth":2,"next":{"title":"9.6:通用\"切换动画\"组件(AnimatedSwitcher)","level":"3.2.6","depth":2,"path":"chapter9/animated_switcher.md","ref":"chapter9/animated_switcher.md","articles":[]},"previous":{"title":"9.4:Hero动画","level":"3.2.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-06T11:10:58.272Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"9.5:交织动画","level":"3.2.5","depth":2,"next":{"title":"9.6:通用\"切换动画\"组件(AnimatedSwitcher)","level":"3.2.6","depth":2,"path":"chapter9/animated_switcher.md","ref":"chapter9/animated_switcher.md","articles":[]},"previous":{"title":"9.4:Hero动画","level":"3.2.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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-06T11:10:58.272Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/img_des.txt b/_book/img_des.txt index 0bcec543..18b9eacf 100644 --- a/_book/img_des.txt +++ b/_book/img_des.txt @@ -134,6 +134,9 @@ 7-16 Material风格的底部菜单列表模态对话框 7-17 showBottomSheet示例 7-18 Loading框 +7-19 Loading框(自定义宽度) +7-20 Material风格的日历选择框 +7-21 iOS风格的日历选择框 8-1 Listener示例 8-2 手势检测(点击、双击、长按)示例 diff --git a/_book/index.html b/_book/index.html index a0738448..12fddd0a 100644 --- a/_book/index.html +++ b/_book/index.html @@ -1774,7 +1774,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"缘起","level":"1.1","depth":1,"next":{"title":"第一章:起步","level":"2.1","depth":1,"path":"chapter1/index.md","ref":"chapter1/index.md","articles":[{"title":"1.1:移动开发技术简介","level":"2.1.1","depth":2,"path":"chapter1/mobile_development_intro.md","ref":"chapter1/mobile_development_intro.md","articles":[]},{"title":"1.2:初识Flutter","level":"2.1.2","depth":2,"path":"chapter1/flutter_intro.md","ref":"chapter1/flutter_intro.md","articles":[]},{"title":"1.3:搭建Flutter开发环境","level":"2.1.3","depth":2,"path":"chapter1/install_flutter.md","ref":"chapter1/install_flutter.md","articles":[]},{"title":"1.4:Dart语言简介","level":"2.1.4","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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-07T08:45:39.455Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-07T08:46:25.191Z"},"basePath":".","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"缘起","level":"1.1","depth":1,"next":{"title":"第一章:起步","level":"2.1","depth":1,"path":"chapter1/index.md","ref":"chapter1/index.md","articles":[{"title":"1.1:移动开发技术简介","level":"2.1.1","depth":2,"path":"chapter1/mobile_development_intro.md","ref":"chapter1/mobile_development_intro.md","articles":[]},{"title":"1.2:初识Flutter","level":"2.1.2","depth":2,"path":"chapter1/flutter_intro.md","ref":"chapter1/flutter_intro.md","articles":[]},{"title":"1.3:搭建Flutter开发环境","level":"2.1.3","depth":2,"path":"chapter1/install_flutter.md","ref":"chapter1/install_flutter.md","articles":[]},{"title":"1.4:Dart语言简介","level":"2.1.4","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","ebook":"styles/ebook.css","pdf":"styles/pdf.css","mobi":"styles/mobi.css","epub":"styles/epub.css"},"pluginsConfig":{"prism":{"lang":{"shell":"bash"}},"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@1.0.3/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-08-07T08:45:39.455Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-09T09:47:21.601Z"},"basePath":".","book":{"language":""}}); }); diff --git a/_book/search_index.json b/_book/search_index.json index f3fb6cb4..ae636ac6 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":{"./":["du.","du,期待和你做同事!","sdk文档并没有翻译,而在开发中遇到的一些具体问题通常都得去查看sdk文档。所以,要解决这两个问题,必须得有一个系统化的flutter教程,它不仅可以快速引导开发者入门,而且也能触及到一些细节和原理,最好也能提供一些学习和研究flutter的方法。因此,如果能有一本能系统地介绍flutter的书籍便是便是非常棒的!但是,当时没有一本关于flutter的中文书籍,因此,我便计划写一本能由浅入深、系统介绍flutter的书。2018年12月,《flutter实战》完成初稿,并在github上开源,同时上线了《flutter实战》电子书官网","“唯有深入,方能浅出”。我非常认同这句话,对于一门技术,只有了解的深入,才能用最浅显、通俗的话语描述出。我在写作本书时,深入浅出就是一个主要目标。所以,本书的目标不仅是想告诉读者如何使用flutter,而且也非常关注各个知识点的底层实现以及设计思想。从本书章节划分上来看,入门篇为“浅出”,进阶篇则是“深入”。另外由于pc客户端开发、移动开发、web开发这些经验我都有,而flutter本质上是一个ui系统,而ui系统的设计和实现在”大前端“下有很多相通之处,所以在本书中的一些知识点我也会对比一些其他ui系统(主要是android或web)相应的实现,便于有相关开发经验的读者对比理解。","为了更好的帮助中国开发者了解这门新技术,我在2018年初开始翻译flutter官网文档,同年4月份上线了flutter中文网,上线后反响很强烈,flutter中文网也很快被传播开,百度搜索排名迅速蹿升到前三,截止目前,flutter中文官网日pv在7万左右,每日独立访问人数近一万多。","作者wendux,高级技术专家(前端方向)、掘金知名专栏作者、flutter中文网发起人、flutter中文社区开源项目发起人;github社区知名开发者,是dio、fly、dsbridge等多个知名开源项目作者。曾就职于百度、小赢科技等互联网公司,从事过pc桌面开发、移动端开发以及web开发,负责过多次核心技术攻关,现就职于字节跳动业务团队,目前闲暇时,主要关注大前端行业发展。","关于作者","关于随书源码","在flutter发布之初,当时,我在看完flutter原理介绍后,就对它产生了浓厚的兴趣。当时笔者身边也一些人比较关注flutter,我也被经常问到关于flutter的一些问题,比如flutter怎么样?和rn有什么区别?flutter为什么要用dart?当时也听到了一些批评的声音,比如有些人说flutter只是重复造轮子,没啥亮点、flutter最大的缺点就是使用了dart语言等。在听到这些问题及论调后,我深知这是对flutter的不了解而造成的,这和当时国内缺乏flutter中文文档和教程有直接关系,很多人对flutter的了解都只停留在google的发布会介绍(有中文翻译)。","在全球,随着flutter被越来越多的知名公司应用在自己的商业app中,flutter这门新技术也逐渐进入了移动开发者的视野,尤其是当google在2018年io大会上发布了第一个preview版本后,国内刮起来一股学习flutter的热潮。","在笔者深入的了解flutter后,深知flutter必将是一个会改变移动开发格局的里程碑级作品,它从设计之初就对性能和开发效率兼顾,并且借鉴了react(一个web开发框架)的响应式的ui框架设计思想等,总之,很难用一两句话说完flutter的优点,同时我也很快成为了flutter的路转粉。","如果您发现本书中的错误,欢迎点击右上角的”编辑按钮“,提pr。如果您想一起参与本书创作,可以参考《flutter实战》贡献指南。","广告:长期招聘前端、移动端高工,有意者请发简历到duwen32767@163.com","感谢一直以来支持flutter中文网、flutter开源项目的人以及所有对本书提过pr的人,正是因为有你们,才有这本书。另外尤其感谢给本书打赏过的同学,你们的支持给了我很大的鼓励。","或加微信demon","无论是做flutter中文网,还是写gitme,主要目标都是帮助开发者学习flutter,同时消除围观开发者疑虑。但当开发者们真正开始动手时,flutter的生态问题就变得尤为突出。由于在2018年初flutter刚起步时,很多基础的包和库都是空白,少数已有的一些库也大都是预览版(未到1.0),存在很多bug。这个状况不是一两个人花一两天能搞定的,这是需要聚整个flutter开发者社群之力,耗费数年时间才可能有所改善。因此,在2018年4月份,我以flutter中文网名义发起了flutter开源计划,该计划主要是开发一些常用的包来丰富flutter生态,帮助开发者提高开发效率。自在github建立flutter中文开发者社区账号以来,前后开源了dio、cookiejar、flukit等多个项目,而dio在开源两周后,就迅速成为flutter第三方包中star排名第一的开源库。","最后","最后,知识是应该付费的,创作不易,开源不等于免费,如果您是本书读者并手头宽裕,可以点击下面打赏按钮打赏;当然,如果您囊中羞涩,您也可以阅读本书,但我对您有个小小的要求,希望您在阅读的过程中能积极参与到本书的纠错以及未完成内容的创作上来,也算是有所付出。","本书不适合做为编程的入门读物。","本书官网访问量较大,由于服务器配置有限,所以某些时段访问本站可能略有延迟,如果延迟较久,读者可以直接在github上阅读本书。","本书是第一本系统介绍flutter技术的中文书籍,它是flutter中文社区发起的开源项目之一,旨在帮助开发者入门,系统地、循序渐进的了解flutter。","本书特色","本书读者对象","权益","由于篇幅所限,本书中大多数示例代码都只是部分核心代码,读者可以去这里查看下载。","笔者在大学时读过候捷(真名侯俊杰)写的一些c++相关书籍,在他的《深入浅出mfc》一书中,有一句话我映像非常深","简介","缘起","致谢","虽然flutter中文网给中国开发者提供了很好的第一手了解flutter的资料,但是笔者还会经常遇到一些对flutter技术处于围观而不愿尝试的开发者。这主要是因为当时flutter在国内没有成功案例,再加上新技术都有学习成本,所以即使有文档,也会有一些开发者犹豫是否来学习。为了解决这部分开发者的疑虑,我就想如果能用flutter开发一个完整的app发布到应用商店,这样开发者就可以在犹豫的时候可以先实际感受一下flutter应用,这样有个直观的了解后,就会容易做出判断,为此,我开发了gitme,它是一个github客户端,它支持了源码浏览、issue、label等github的大多数功能,到目前为止,通过gitme登录过github账号的用户有8000多人,日活用户有1000人。更重要的是,有很多人正是用了gitme后,才来学flutter的。","虽然做的事情已经够多了,但是仍有一些很有必要去做的事情,由于时间原因,一直被搁置。","读者最好接触过pc客户端、移动开发或web前端开发中的一种。","读者至少熟悉一种编程语言。","起初,我没有出版实体书的打算,当时我以为开发者直接通过在线访问本书官网即方便又不用付费,何乐而不为。但在本书上线后,很多读者来添加微信好友,表示非常有收益,很期待出版纸质书,甚至有比较热心的读者想提前付定金预定!我理解,这是大家对我所做之事的认可和鼓励。考虑到,确实有一部分读者,尤其是还没毕业的同学,可能更喜欢通过书籍去学习,为此,我已经和机械工业出版社合作,目前本书纸质版正在出版中,敬请关注。","近来在网上发现很多原封不动复制本书的镜像网站和大量复制或引用了本书但未注明出处的博客、文章甚至书籍;对此,笔者在此声明,本书著作权归wendux所有,任何组织或个人在未经授权的情况下复制、拷贝、抄袭本书用于商业目的,笔者保留追究其法律责任的权利。如果是非商业目的的转载和引用,请注明出处并附上本书网址。另外如有出版机构愿意为本书出版实体书或者想转载本书内容,亦或是想合作,请加微信demon","随着学习flutter的人越来越多,一部分开发者通过查看官网的文档就能入门,但也有很多开发者感觉学习时仍然有些吃力,主要原因有两个,首先官网的文档主要是为了引导开发者快速上手的,讲的并不是很细;其次是我们虽然翻译了官方文档,但是对于flutt",",至今每天有3000多人在线浏览本书。那为什么不直接出版?如果直接出版,不仅有稿费,而且也能保护知识产权,而直接开源,不就就只能当雷锋了?其实,无论是做中文网、写gitme、做flutter开源项目,我的出发点都是为了能帮助中国开发者了解、学习flutter,而这是一件非常有意义的事,只要坚持做对别人有价值的事,那么上帝迟早会奖赏你;当然我们也在网站中留了打赏的按钮,如果读者觉得有帮助,可以扫码打赏,请笔者喝一杯咖啡。另外由于成书比较仓促,当时书中也有很多错误,开源后,有很多读者提pr来纠正书中的错别字,时至今日,有78名开发者为本书提过pr,我在此,衷心的感谢你们。"],"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","1.1","1.1.1","1.1.2","1.1.3","1.1.4","1.1.5","1.1.6","1.1:移动开发技术简介","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树与控件树","dsbridg","dsbridge.call(\"getphonemodel\");","dsbridge项目主页查看。","dsl(domain","dwebview","dwebview.addjavascriptobject(new","findviewbyid(r.id.dwebview);","flutter","flutter出世","flutter是google发布的一个用于创建跨平台、高性能移动应用的框架。flutter和qt","flutter高,","getphonemodel","getphonemodel(object","github","googl","h5+原生","h5+原生混合开发","h5+原生(cordova、ionic、微信小程序)","hybrid技术简介","i/o","import","issue中找到答案。","javascript","javascript+原生渲染","javascriptcor","javascript为脚本语言,执行时需要jit(just","javascript开发+原生渲染","javascript开发+原生渲染的方式主要优点如下:","javascript开发+原生渲染的跨平台框架原理。","jsapi","jsapi(),","jsbridge,它也是混合开发框架的核心。","jsx","language)","mobil","mobile、flutter)","mobile一样,都没有使用原生控件,相反都实现了一个自绘引擎,使用自身的布局、绘制系统。那么,我们会担心,qt","mobile做一个对比:","mobile后尘,成为另一个烈士?要回到这个问题,我们先来看看flutter诞生过程:","mobile面对的问题flutter是否也一样,flutter会不会步入qt","model","model,简称dom),是w3c组织推荐的处理可扩展标志语言的标准编程接口,一种独立于平台和语言的方式访问和修改一个文档的内容和结构。换句话说,这是表示和处理一个html或xml文档的标准接口。简单来说,dom就是文档树,与用户界面控件树对应,在前端开发中通常指html对应的渲染树,但广义的dom也可以指android中的xml布局文件对应的控件树,而术语dom操作就是指直接来操作渲染树(或控件树),","msg)","nativ","native、weex、快应用)","native、weex及快应用","native中主要有两个作用:","native只支持jsx语法。","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操作),从而避免整棵树重构,提高性能。","require(\"dsbridge\")","return","rn、weex","sdk开发的应用程序。原生开发有以下主要优势:","sdk开发的应用程序;而ios原生应用就是指通过object","specif","star","star。而今天(2019年5月29日),已经有65k的star。经历了短短2年多的时间,flutt","time)代码仍有差距。","time),执行效率和aot(ahead","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布局信息传递给原生;","小节","布局消息传递;","平台特定,开发成本高;不同平台必须维护不同代码,人力成本随之变大;","年","开发效率","开发效率低:qt使用c++作为其开发语言,而编程需要效率是直接会影响app开发效率的,c++作为一门静态语言,在ui开发方面灵活性不及javascript这样的动态语言,另外,c++需要开发者手动去管理内存分配,没有javascript及java中垃圾回收(gc)的机制。","开发效率;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","是使用","是必选的,它不支持通过其它方式创建组件,所以学习","更新到了","本章主要介绍了目前移动开发中三种跨平台技术,现在我们从框架角度对比一下:","本篇主要介绍一下","本节将主要介绍一下移动开发技术的进化历程,主要是想让读者知道flutter技术出现的背景。笔者认为,了解一门新技术出现的背景是非常重要的,因为只有了解之前是什么样的,才能理解为什么会是现在这样。","框架代表","此处需要有一张插图","混合应用的优点是动态内容是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":["1.2","1.2.1","1.2.2","1.2.3","1.2:初识flutter","1所示:","android平台。","aot模式运行时,javascript便远远追不上了。速度的提升对高帧率下的视图数据计算很有帮助。其次,flutter使用自己的渲染引擎来绘制ui,布局数据等由dart语言直接控制,所以在布局过程中不需要像rn那样要在javascript和native之间通信,这在一些滑动和拖动的场景下具有明显优势,因为在滑动和拖动过程往往都会引起布局发生变化,所以javascript需要和native之间不停的同步布局信息,这和在浏览器中要javascript频繁操作dom所带来的问题是相同的,都会带来比较可观的性能开销。","aot,当以","app采用dart语言开发。dart在","app,一套代码同时运行在","c++实现的","chrome浏览器和android均采用skia作为其绘图引擎。","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","博客:随着flutter技术的推广,相信很快网上将会有很多flutter相关的文章、博客,读者可以多去浏览、阅读。","和","和cupertino两种视觉风格的组件库。而我们flutter开发的大多数场景,只是和这两层打交道。","基于aot的发布包:","基于jit的快速开发周期:flutter在开发阶段采用,采用jit模式,这样就避免了每次改动都要进行编译,极大的节省了开发时间;","如何学习flutter","官网:阅读flutter官网的资源是快速入门的最佳方式,同时官网也是了解最新flutter发展动态的地方,由于目前flutter仍然处于快速发展阶段,所以建议读者还是时不时的去官网看看有没有新的动态。","底下两层(foundation和animation、painting、gestures)在google的一些视频中被合并为一个dart","开发效率高","快速内存分配","总结","是","有了资料和社区后,对于我们学习者自身来说,最重要的还是要多动手、多实践,在本书后面的章节中,希望读者能够亲自动手写一下示例。准备好了吗,下一章中,我们将正式进入flutter的世界!","本节主要介绍了一下flutter的特点,如果你感到有些点还不是很好理解,不用着急,随着日后对flutter细节的了解,再回过头来看,相信你会有更深的体会。","本节我们先对flutter的框架做一个整体介绍,旨在让读者心中有一个整体的印象,这对初学者来说非常重要。如果一下子便深入到flutter中,就会像是一个在沙漠中没有地图的人,即使可以找到一个绿洲,但是他也不会知道下一个绿洲在哪。因此,无论学什么技术,都要现有一张清晰的“地图”,而我们的学习过程就是“按图索骥”,这样我们才不会陷于细节而“目无全牛”。言归正传,我们看一下flutter官方提供的flutter框架图,如图1","本节给大家一些学习建议,分享一下笔者在学习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","&","'http://maven.aliyun.com/nexus/content/groups/public/'","'you","(64","(cmd","(git命令行工具);","(macos:preferences>plugins,","(不包括android","(不包括xcode或android","(如","(如myapp),","(带有闪电⚡️图标的按钮)。","(带有闪电⚡️图标的按钮)也不会显示,将代理移除即可解决。","(绿色圆形箭头按钮)。","(输入代码时进行验证、代码补全等)。","(运行、调试、热重载等)。","*","**",".","/","//添加这一句","/applications/xcode.app/contents/develop","1.3","1.3.1","1.3.2","1.3.3","1.3.4","1.3:搭建flutter开发环境","10所示:","16)或更高版本的android设备.","2.0","2所示:","3.2.0.pom","3所示:","4.1(api","400","5.0","5s或更高版本)。","5:","7","700","7所示:","8所示,此时点击超链接即可自动跳转到安装页面","9.0或更新版本(通过链接下载或苹果应用商店).","9.0或更高版本:","9:",";",">","[","]","action","action。","adb","allproject","android","android_hom","android设置","appear","applic","archive/#maco","archive/,打开后如图1","avds.","bash、mkdir、rm、git、curl、unzip、which","behavior","beta","beta.zip","bit)","brew","brows","build,","build.gradl","buildtools/","built","bundl","button","c:\\users\\{user_name}\\.gradle\\gradle.properti","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","deployment/","detail","dev","develop","devic","device.","doctor","doctor’","doctor命令","doctor命令来验证是否安装成功。","doctor并按照说明解决问题.","doctor)时,它会下载它自己的依赖项并自行编译。以后再运行就会快得多。缺失的依赖需要安装一下,安装完成后再运行flutt","download","echo","embed","enabl","execution,","export","extens","extensions:","file","file/","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","google()","gradl","gradle/","hardwar","head","homebrew","hot","https://flutter.io/setup/#android","https://goo.gl/xxqghq","idea。","idea开发的,所以读者也可以使用intellij","ident","identifi","ideviceinstal","ide配置与使用","id登录xcode,如图1","id都支持开发和测试,但若想将应用分发到app","imag","instal","install。","instructions.","io","io.cn","ios/runner.xcworkspac","jcenter()","level","lib/main.dart。","libimobiledevic","license同意过了.","line","maco","manag","manager”中,点击工具栏的","mani","master","master,flutter官方建议跟踪稳定分支,但你也可以跟踪master分支,这样可以查看最新的变化,但这样稳定性要低的多。","maven","maven.aliyun.com","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","reload“只会重新构建整个widget树,如果变动不在构建widget树的过程中,”hot","reload“就不会起作用。","reload“重载失效,此时调用","reload)","repositori","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、stable,其中stable分支为稳定分支(日后有新的稳定版本发布后可能也会有新的稳定分支,如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,但在国内目前无法访问google所致,因此,我们可以配置代理或使用vpn。","sdk,则必须将该","sdk,只需一句命令:","sdk,在安装flutter时也需要安装相应平台的构建工具和sdk。下面我们分别介绍一下windows和macos下的环境搭建。","select","selector","set","settings/","setup","sign","simul","site","sourc","spotlight","store,就必须注册apple开发者计划,有关详情读者可以自行了解。","studio","studio>tools>android>avd","studio。","studio不仅可以管理android","studio创建一个flutter项目,然后运行它,并体验“热重载”。","studio后插件生效。","studio和v","studio安装sdk并创建项目。","studio安装向导”。这将安装最新的android","studio工具栏,如图1","studio是基于intellij","studio的全量安装。android","studio的磁盘空间).","studio的磁盘空间).","studio问题","studio,下载地址:https://developer.android.com/studio/index.html","studio,在此不再赘述。","studio,然后执行“android","studio,读者可以先自行下载并安装android","sudo","switch","system","target","target设置页面中,确保在","team","termin","times:'","times:'。","toolchain","tools;","tools>android>avd","tri","trust。","unzip","updat","upgrad","url","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文档中找到。","一般格式为","上手安卓最常遇见的问题之一,错误如图1","上述命令创建一个flutter项目,项目名为myapp,其中包含一个使用materi","下载并安装","下选择了你的开发团队。当你选择一个团队时,xcode会创建并下载开发证书,向你的设备注册你的帐户,并创建和下载配置文件(如果需要)。","不要按“停止”按钮;","不过,flutter官方建议使用android","中,","中,勾选上","为要模拟的android版本选择一个或多个系统印象,然后选择","之类的终端模拟器设置代理之后,会导致”hot","仔细检查命令行输出以获取可能需要安装的其他软件或进一步需要执行的任务。","以启用","以获得有关镜像服务器的最新动态。","任何appl","体验热重载","作为","作为分隔符.","你会立即在运行的应用程序中看到更新的字符串。","使用usb将手机插入电脑。如果设备出现调试授权提示,请授权你的电脑可以访问该设备。","使用xcode,您可以在ios设备或模拟器上运行flutter应用程序。","使用镜像","例如笔者flutter","例如:","依赖下面这些命令行工具.","值是否唯一,如图1","列表,可以看到此时的","创建flutter应用","刷新当前终端窗口。","升级","升级flutter","即可解决。","去flutter官网下载其最新可用的安装包,下载地址:https://flutter.io/sdk","去flutter官网下载其最新可用的安装包,官网地址:https://flutter.io/sdk","另外,有些情况下热重载是不生效的,比如修改了main函数、修改了全局静态方法等,读者可以认为”hot","可以通过","名称","启动","启动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","安卓包配置问题","安装","安装android","安装flutter","安装flutter和dart插件","安装flutter插件","安装xcode","安装之后重新运行即可,如图1","安装步骤:","安装目录是“~/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开发工作流","无法连接,如图1","是否有设置代理。删除后问题即可解决。","是芯片系列,如","更改为","更新环境变量","有关上述步骤的详细信息,请参阅","查看“output”窗口中的输出是否有问题","根据你电脑屏幕大小,模拟高清屏ios设备可能会溢出屏幕。可以在模拟器的","此代码只能暂时针对当前命令行窗口设置path环境变量,要想永久将flutter添加到path中请参考下面更新环境变量","此镜像为临时镜像,并不能保证一直可用,读者可以参考https://flutter.io/community/china","注意:","注意,flutter的渠道版本会不停变动,请以flutter官网为准。另外,在中国大陆地区,要想正常获取安装包列表或下载安装包,可能需要翻墙,读者也可以去flutt","注意:","注意:存在这样的一种情况,当你根据上述步骤设置了之后,依旧无法解决这个问题,并有类似于","注意:本节介绍的安装方式随着flutter的升级可能会发生变化,如果下面介绍的内容在您安装flutter时已经失效,请访问flutter官网,按照官网最新的安装教程安装。","添加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下步骤一致,不再赘述。","这一类问题是由于无法连接到","这也是最常见的问题之一,当你发现自己无法下载部分依赖的时候,请优先考虑这种情况。进入","这是由于要去google下载android","进入","进入当前所在项目名/android","连接android模拟器","连接android真机设备","连接ios模拟器","连接ios真机设备","连接不上android","连接的设备名是","连接设备运行flutter应用","追加","选择","选择一个设备并选择","选择一个运行该应用的android设备。如果没有列出可用,请选择","通过检查模拟器","遵循xcode签名流程来配置您的项目:","部分。","配置xcode命令行工具以使用新安装的xcode版本","配置与使用","重启android","重启windows以应用此更改.","重新启动","需要安装两个插件:","验证avd配置是否正确,然后选择","验证“flutter/bin”是否已在path中:","验证配置","默认情况下,flutter使用的android","(如果已经安装了brew,跳过此步骤)。",",其中",",在其中添加:sourc",",在搜索结果列表中选择",",然后将",",重启","~/.bash_profil","~/.zshrc"],"chapter1/dart.html":["!=","\"","\"\";","\"hello","\"hello\";","\"hi","$device';","$msg';","'$from","'$result","'hello","'howdy');","'howdy',","'length'","'object'","'smoke","()","(){","(17666):","(devic","(e)","(e){","(int","(str){","...","//","//const","//final","//return","//下面代码没有问题","//不指定返回类型,此时默认为dynamic,不是bool","//保存用户信息,接下来执行其它操作","//先分别定义各个异步任务","//可以省略string这个类型声明","//执行失败会走到这里","//执行成功会走到这里","//执行接下来的操作","//报错,isnoble不是bool类型","//无论成功或失败都会走到这里","//用户登录","//登录成功后通过,id获取用户信息","//结果是:","//结果是:bob","//获取用户信息","//获取用户信息后保存","//设置[bold]和[hidden]标志","//错误处理","1","1\";","1),","1.4","1.4.1","1.4.2","1.4.3","1.4.4","1.4.5","1.4:dart语言简介","1000;","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]","a;","assertionerror(\"error\");","async","async/await","async和await关键词支持了异步编程,允许您写出和同步代码很像的异步代码。","async用来表示函数是异步的,定义的函数会返回一个future对象,可以使用then方法添加回调函数。","atomicnumb","atomicnumber)","atomicnumber)=>","await","b","b;","bob","bold,","bool","callback();","callback)","catch(e){","catcherror回调函数将被调用;但是,并不是只有","catcherror回调才能捕获错误,then方法还有一个可选参数onerror,我们也可以它来捕获异常:","cb){","class","const","const,不是var,也不是一个类型。","c中的id作用很像.","c和swift中早就很普遍,而??操作符在php","dart","dart中的async/await","dart函数声明如果没有显式声明返回值类型时会默认当做dynamic处理,注意,函数返回值没有类型推断:","dart和java及javascript对比","dart是一种真正的面向对象的语言,所以即使是函数也是对象,并且有一个类型function。这意味着函数可以赋值给变量或作为参数传递给其他函数,这是函数式编程的典型特征。","dart类库有非常多的返回future或者stream对象的函数。","dart语言简介","defin","device])","duration(seconds:","dynam","dynamic与object不同的是,dynamic声明的对象编译器会提供所有可能的组合,","dynamic与var一样都是关键词,声明的变量可以赋值任意对象。","dynamic和object","dynamic的这个特性与object","dynamic的这个特点使得我们在使用它时需要格外注意,这很容易引入一个运行时错误.","enableflags(bold:","enableflags({bool","error","execute(()","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只会对应一个结果,要么成功,要么失败。","getter","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","main()","mode)和可选类型(opt","mode),原先的检查模式(check","msg,","null","null)","null;","object","object';","onerror:","param2,","print(\"success\");","print(\"xxx\"))","print(a.length);","print(b.length);","print(cb());","print(data);","print(e);","print(e.message);","print(results[0]+results[1]);","print(str);","printlengths()","printlengths();","pwd){","result","result;","return","saveuserinfo(str","saveuserinfo(userinfo).then((){","saveuserinfo(userinfo);","say(\"hi","say('bob',","say(str","signal","signal');","smoke","str","str1","stream","stream.fromfutures([","string","t","t;","task()","test(callback","test(isnoble);","throw","tour,就开始动手写flutter了。","true,","try{","typedef","type)将淡出,所以在类型安全这个层面来说,dart和typescript、coffeescript是差不多的,所以单从这一点来看,dart并不具备什么明显优势,但综合起来看,dart既能进行服务端脚本、app开发、web开发,这就有优势了!","userinfo","userinfo){","username,","valu","var","vm在内存回收和吞吐量都进行了反复的优化,但具体的性能对比,笔者没有找到相关测试数据,但在笔者看来,只要dart语言能流行,vm的性能就不用担心,毕竟google在go(没用vm但有gc)、javascript(v8)、dalvik(android上的java","vm)上已经有了很多技术积淀。值得注意的是dart在flutter中已经可以将gc做到10ms以内,所以dart和java相比,决胜因素并不会是在性能方面。而在语法层面,dart要比java更有表现力,最重要的是dart对函数式编程支持要远强于java(目前只停留在lambda表达式),而dart目前真正的不足是生态,但笔者相信,随着flutter的逐渐火热,会回过头来反推dart生态加速发展,对于dart来说,现在需要的是时间。","void","vs","warn","warning:","world!\";","world!\",然后我们在then中接收异步结果并打印结果,代码如下:","world\");","world\";","world”。","x","x;","{","}","})","}),","}).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","包装一组函数参数,用[]标记为可选的位置参数:","变量a不会报错,","变量b编译器会报错","变量只能被设置一次,两者区别在于:const","变量声明","变量是一个编译时常量,final变量在第一次使用时被初始化。被final或者const修饰的变量,变量类型可以省略,如:","可以感受一下,如果业务逻辑中有大量异步依赖的情况,将会出现上面这种在回调里面套回调的情况,过多的嵌套会导致的代码可读性下降以及出错率提高,并且非常难维护,这个问题被形象的称为回调地狱(callback","可以看到,我们通过async/await将一个异步流用同步的代码表示出来了。","可选命名参数在flutter中使用非常多。","可选的位置参数","可选的命名参数","后面是一个future,表示等待该异步任务完成,异步完成后才会往下走;await必须出现在","否则编译器会报错。如:","和javascript中的async/await功能和用法是一模一样的,如果你已经了解javascript中的async/await的用法,可以直接跳过本节。","回调地狱(callback","在之前我们已经介绍过dart语言的相关特性,读者可以翻看一下,如果读者已经熟悉dart语法,可以跳过本节,如果你还不了解dart,也不用担心,按照笔者经验,如果你有过其他编程语言经验(尤其是java和javascript)的话会非常容易上手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的子类(包括function和null),所以任何类型的数据都可以赋值给object声明的对象.","有些时候,我们会遇到无论异步任务执行成功或失败都需要做一些事的场景,比如在网络请求前弹出加载对话框,在请求结束后关闭对话框。这种场景,有两种方法,第一种是分别在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语言的将来,之所以表这个态,是因为在新技术发展初期,很多人可能还有所摇摆,有所犹豫,所以有必要给大家打一剂强心针,当然,这是一个见仁见智的问题,大家可以各抒己见。","而dynamic与object相同之处在于,他们声明的变量可以在后期改变赋值类型。","而object声明的对象只能使用object的属性与方法,","而在dart中几乎是完全平移了javascript中的这两者:future相当于promise,而async/await连名字都没改。接下来我们看看通过future和async/await如何消除上面示例中的嵌套问题。","语法中很多地方也都借鉴了java和javascript。","调用函数时,可以使用指定命名参数。例如:paramname:","这些函数被称为异步函数:它们只会在设置好一些耗时操作之后返回,比如像","通过future回调中再返回future的方式虽然能避免层层嵌套,但是还是有一层回调,有没有一种方式能够让我们可以像写同步代码那样来执行异步任务而不使用回调的方式?答案是肯定的,这就要使用async/await了,下面我们先直接看代码,然后再解释,代码如下:","通过上面介绍,相信你对dart应该有了一个初步的印象,由于笔者平时也使用java和javascript,下面笔者根据自己的经验,结合java和javascript,谈一下自己的看法。","!=",",如果在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;","1所示:","2.1","2.1.1","2.1.2","2.1:计数器示例",":","=","=>","@overrid","[","],","_animatedwidgetstate)","_counter","_counter++;","_incrementcounter()","_incrementcounter,","_myhomepagest","_myhomepagestate();","_myhomepagestate类是myhomepage类对应的状态类。看到这里,读者可能已经发现:和myapp","animatedwidget{","animatedwidget的状态对象是animatedwidget内部实现细节,不应该暴露给外部。","appbar(","appbar:","app框架,通过它可以设置应用的名称、主题、语言、首页及路由列表等。materialapp也是一个widget。","auto","body:","body的组件树中包含了一个cent","build","build(buildcontext","button","center","center(","child:","children:","class","code创建一个新的flutter工程,命名为\"first_flutter_app\"。创建好后,就会得到一个计数器应用的demo。","code创建的flutter应用模板默认是一个简单的计数器示例。本节先仔细讲解一下这个计数器demo的源码,让读者对flutter应用程序结构有个基本了解,然后在随后的小节中将会基于此示例,一步一步添加一些新的功能来介绍flutter应用的其它概念与技术。","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树(后同”组件树“或”部件树“)的body属性。组件树可以很复杂。","methods.","myanimationwidget","myapp","myapp());","myapp类代表flutter应用,它继承了","myhomepag","myhomepage(title:","myhomepage({key","myhomepage类中并没有build方法,取而代之的是,build方法被挪到了_myhomepagestate方法中,至于为什么这么做,先留个疑问,在分析完完整代码后再来解答。","new","nicer","onpressed:","page'),","primaryswatch:","push","return","runapp(myapp());","runapp(new","scaffold","scaffold(","setstate(()","state","state){","statefulwidget","statefulwidget类本身是不变的,但是state类中持有的状态在widget生命周期中可能会发生变化。","statelesswidget","statelesswidget类,这也就意味着应用本身也是一个widget。","state类","state类;","string","studio和v","studio或v","style:","super(key:","super.build(context,","text(","text(widget.title),","text,第一个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简介“一节自习介绍,现在我们只需简单认为有状态的组件(st","widget是不可变的。","widget至少由两个类组成:","widget)","widget)。关于st","widget)有两点不同:","{","}","});","“you","一个","一个statefulwidget类。","与c/c++、java类似,flutt","为flutter应用的首页,它也是一个widget。","为什么要将build方法放在state中,而不是放在statefulwidget中?","为保存屏幕右下角带“+”号按钮点击次数的状态。","例如,flutter中有一个动画widget的基类animatedwidget,它继承自statefulwidget类。animatedwidget中引入了一个抽象方法build(buildcontext","分析","创建flutter应用模板","可以将其子组件树对齐到屏幕中心。此例中,","和无状态的组件(stateless","在flutter中,大多数东西都是widget(后同”组件“或”部件“),包括对齐(alignment)、填充(padding)和布局(layout)等,它们嗾使以widget的形式提供。","在这个示例中,主要dart代码是在","如果要将父类状态暴露给子类,那么必须得有一种传递机制,而做这一套传递机制是无意义的,因为父子类之间状态的传递和子类本身逻辑是无关的。","子组件是一个column","对于接下来的示例,希望读者可以跟着笔者一起亲自动手来写一下,这样不仅可以加深印象,而且也会对介绍的概念与技术有一个真切的体会。如果你还不是很熟悉dart语言或者没有移动开发经验,不用担心,只要你熟悉面向对象和基本编程概念(如变量、循环和条件控制),则可以完成本示例。","对此方法做了优化,使重新执行变的很快,所以你可以重新构建任何需要更新的东西,而无需分别去修改各个widget。","导入包。","应用中main函数为应用程序的入口。main函数中调用了runapp","应用入口。","应用结构。","当按钮点击时,会调用此函数,该函数的作用是先自增_counter,然后调用setst","我们先运行创建的工程,效果如图2","接下来,我们看看_myhomepagestate中都包含哪些东西:","文件中,下面是它的源码:","方法。setstate方法的作用是通知flutter框架,有状态发生了改变,flutter框架收到通知后,会执行build方法来根据新的状态重新构建界面,","方法,它的功能是启动flutter应用。runapp它接受一个widget参数,在本示例中它是一个myapp对象,myapp()是flutter应用的根组件。","是","是flutter应用的首页,它继承自statefulwidget类,表示它是一个有状态的组件(st","是material库中提供的flutt","是material库中提供的页面脚手架,它包含导航栏和body以及floatingactionbutton(如果需要的话)。","显示_counter状态的数值。","显示固定文本","本书后面示例中,路由默认都是通过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方法,代码可能如下:","组件,center","组件,column的作用是将其所有子组件沿屏幕垂直方向依次排列;","继承statefulwidget不便","综上所述,可以发现,对于statefulwidget,将build方法放在state中,可以给开发带来很大的灵活性。","计数器应用示例","设置状态的自增函数。","试想一下,如果我们的statefulwidget有很多状态,而每次状态改变都要调用build方法,由于状态是保存在state中的,如果build方法在statefulwidget中,那么build方法和状态分别在两个类中,那么构建时读取状态将会很不方便!试想一下,如果真的将build方法放在statefulwidget中的话,由于构建用户界面过程需要依赖state,所以build方法将必须加一个state参数,大概是下面这样:","该组件的状态。由于我们只需要维护一个点击次数计数器,所以定义一个_counter状态:","该计数器示例中,每点击一次右下角带“+”号的悬浮按钮,屏幕中央的数字就会加1。","这样很显然是不合理的,因为","这样的话就只能将state的所有状态声明为公开的状态,这样才能在state类外部访问状态!但是,将状态设置为公开后,状态将不再具有私密性,这就会导致对状态的修改将会变的不可控。但如果将build()方法放在state中的话,构建过程不仅可以直接访问状态,而且也无需公开私有状态,这会非常方便。","通过android","首页","?这主要是为了提高开发的灵活性。如果将build()方法在statefulwidget中则会有两个问题:"],"chapter2/flutter_router.html":["\"/\":(context)=>","\"hi\");","\"new_page\");","\"new_page\":(context)=>echoroute(),","\"new_page\":(context)=>newroute(),","\"tip2\":","\"我是提示xxxx\",","\"我是返回值\"),","$result\");","'flutter","()","(27896):","(context)","(context){",")","),",");",",","...","//","//...省略无关代码","//navigator.push(context,","//}));","//名为\"/\"的路由作为应用的home(首页)","//导航到新路由","//注册路由表","//注册首页路由","//省略无关代码","//获取路由参数","//输出`tiproute`路由返回结果","2.2","2.2.1","2.2.2","2.2.3","2.2.4","2.2.5","2.2.6","2.2.7","2.2:路由管理","2和2","3所示。","4所示下:",":","=","=>","@overrid","@requir","[","])","],","appbar(","appbar:","args=modalroute.of(context).settings.argu","arguments:","arguments})","async","await","body:","bool","build(buildcontext","builder","builder,","builder:","center(","child:","children:","class","colors.blue,","column(","context)","context,","demo","demo',","echorout","edgeinsets.all(18),","extend","false,","final","flatbutton(","fullscreendialog","fullscreendialog表示新的路由页面是否是一个全屏的模态对话框,在ios中,如果fullscreendialog为true,新页面将会从屏幕底部滑入(而不是水平方向)。","function(routeset","futur","home","home:","i/flutt","initialroute:\"/\",","key","key);","key,","mainaxisalignment.center,","mainaxisalignment:","maintainst","maintainstate:默认情况下,当入栈一个新路由时,原来的路由仍然会被保存在内存中,如果想在路由没用的时候释放其所占用的所有资源,可以设置maintainstate为false。","map","materialapp(","materialapp有一个ongenerateroute属性,它在打开命名路由时会可能会被调用,之所以说可能,是因为当调用navigator.pushnamed(...)打开命名路由时,如果指定的路由名在路由表中已注册,则会调用路由表中的builder函数来生成路由组件;如果路由表中没有注册,才会调用ongenerateroute来生成路由。ongenerateroute回调签名如下:","materialpagerout","materialpageroute(","materialpageroute(builder:","materialpageroute({","materialpageroute继承自pageroute类,pageroute类是一个抽象类,表示占有整个屏幕空间的一个模态路由页面,它还定义了路由构建及切换时过渡动画的相关接口及属性。materialpagerout","modalroute.of(context).settings.arguments);","myhomepage(title:","navig","navigator.of(context).pushnamed(\"new_page\",","navigator.pop(context,","navigator.push(","navigator.pushnamed(context,","navigator是一个路由管理的组件,它提供了打开和退出路由页方法。navigator通过一个栈来管理活动路由集合。通常当前屏幕显示的页面就是栈顶的路由。navigator提供了一系列方法来管理路由栈,在此我们只介绍其最常用的两个方法:","navigator类中第一个参数为context的静态方法都对应一个navigator的实例方法,","new","newrout","newroute();","null","ongenerateroute:(routeset","onpressed:","padding(","padding:","page'),","pop(buildcontext","primaryswatch:","print(\"路由返回值:","push(buildcontext","pushnamed(buildcontext","raisedbutton(","result","return","rout","route\"),","route\"。","route)","route)等价于navigator.of(context).push(rout","routenam","routename,{object","routertestrout","routes:","routes:{","routes;","routeset","route”按钮,依然可以打开新的路由页。","route)即有名字的路由,我们可以先给路由起一个名字,然后就可以通过路由名字直接打开新的路由了,这为路由管理带来了一种直观、简单的方式。","scaffold(","set","settings)","settings){","settings,","settings.name;","statelesswidget","string","super(key:","table),这样应用程序才知道哪个名字与哪个路由组件相对应。其实注册路由表就是给路由起名字,路由表的定义如下:","text(\"new","text(\"open","text(\"thi","text(\"打开提示页\"),","text(\"提示\"),","text(\"返回\"),","text(text),","text:","text;","textcolor:","theme:","themedata(","this.text,","tiprout","tiproute(","tiproute(text:","tiproute({","tiproute实现代码:","title:","true,","var","widget","widgetbuild","{","}","})","}));","},","一个简单示例","上面介绍的是非命名路由的传值方式,命名路由的传值方式会有所不同,我们会在下面介绍命名路由时介绍。","下面我们介绍一下materialpagerout","下面是打开新路由tiproute的代码:","代码更好维护;如果使用匿名路由,则必须在调用navigator.push的地方创建新路由页,这样不仅需要import新路由页的dart文件,而且这样的代码将会非常分散。","假设我们也想将上面路由传参示例中的tiproute路由页注册到路由表中,以便也可以通过路由名来打开它。但是,由于tiproute接受一个text","假设我们要开发一个电商app,当用户没有登录时可以看店铺、商品等信息,但交易记录、购物车、用户个人信息等页面需要登录后才能看。为了实现上述功能,我们需要在打开每一个路由页前判断用户登录状态!如果每次打开路由前我们都需要去判断一下将会非常麻烦,那有什么更好的办法吗?答案是有!","创建一个新路由,命名“newroute”","包含路由的配置信息,如路由名称、是否初始路由(首页)。","参数,我们如何在不改变tiproute源码的前提下适配这种情况?其实很简单:","另外,还有一些关于路由管理的内容我们没有介绍,比如路由materialapp中还有navigatorobservers和onunknownroute两个回调属性,前者可以监听所有路由跳转动作,后者在打开一个不存在的命名路由时会被调用,由于这些功能并不常用,而且也比较简单,我们便不再花费篇幅来介绍了,读者可以自行查看api文档。","可以看到,我们只需在路由表中注册一下myhomepage路由,然后将其名字作为materialapp的initialroute属性值即可,该属性决定应用的初始路由页是哪一个命名路由。","可以通过ongenerateroute做一些全局的路由跳转前置处理逻辑。","命名路由","命名路由参数传递","在_myhomepagestate.build方法中的column的子widget中添加一个按钮(flatbutton)","在flutter最初的版本中,命名路由是不能传递参数的,后来才支持了参数;下面展示命名路由如何传递并获取路由参数:","在tiproute页中有两种方式可以返回到上一页;第一种方式时直接点击导航栏返回箭头,第二种方式是点击页面中的”返回“按钮。这两种返回方式的区别是前者不会返回数据给上一个路由,而后者会。下面是分别点击页面中的返回按钮和导航栏返回箭头后,routertestroute页中print方法在控制台输出的内容:","在打开路由时传递参数","在路由页通过routesetting对象获取路由参数:","如果想自定义路由切换动画,可以自己继承pageroute来实现,我们将在后面介绍动画时,实现一个自定义的路由组件。","如果访问的路由页需要登录,但当前未登录,则直接返回登录页路由,","它是一个map,key为路由的名字,是个字符串;value是个builder回调函数,用于生成相应的路由widget。我们在通过路由名字打开新路由时,应用会根据路由名字在路由表中查找到对应的widgetbuilder回调函数,然后调用该回调函数生成路由widget并返回。","实例方法","对于android,当打开新页面时,新的页面会从屏幕底部滑动到屏幕顶部;当关闭页面时,当前页面会从屏幕顶部滑动到屏幕底部后消失,同时上一个页面会显示到屏幕上。","对于ios,当打开页面时,新的页面会从屏幕右侧边缘一致滑动到屏幕左边,直到新页面全部显示到屏幕上,而上一个页面则会从当前屏幕滑动到屏幕左侧而消失;当关闭页面时,正好相反,当前页面会从屏幕右侧滑出,同时上一个页面会从屏幕左侧滑入。","将栈顶路由出栈,result为页面关闭时返回给上一个页面的数据。","将给定的路由入栈(即打开新的页面),返回值是一个future对象,用以接收新路由出栈(即关闭)时的返回数据。","引导用户登录;其它情况则正常打开路由。","很多时候,在路由跳转时我们需要带一些参数,比如打开商品详情页时,我们需要带一个商品id,这样商品详情页才知道展示哪个商品信息;又比如我们在填写订单时需要选择收获地址,打开地址选择页后,可以将用户选择的地址返回到订单页等等。下面我们通过一个简单的示例来演示新旧路由如何传参。","总结","我们先注册一个路由:","我们创建一个tiproute路由,它接受一个提示文本参数,负责将传入它的文本显示在页面上,另外tiproute中我们添加一个“返回”按钮,点击后在返回上一个路由的同时会带上一个返回参数,下面我们看一下实现代码。","我们在上一节“计数器”示例的基础上,做如下修改:","我们添加了一个打开新路由的按钮,并将按钮文字颜色设置为蓝色,点击该按钮后就会打开新的路由页面,效果如图2","我是返回值","所谓”命名路由“(name","打开`tiproute`,并等待返回结果","接收一个text参数","提示文案”我是提示xxxx“是通过tiproute的text参数传递给新路由页的。我们可以通过等待navigator.push(…)返回的future来获取新路由的返回数据。","新路由继承自statelesswidget,界面很简单,在页面中间显示一句\"thi","是material组件库提供的组件,它可以针对不同平台,实现与平台页面切换动画风格一致的路由切换动画:","是一个widgetbuilder类型的回调函数,它的作用是构建路由页面的具体内容,返回值是一个widget。我们通常要实现此回调,返回新路由的实例。","有了ongenerateroute回调,要实现上面控制页面权限的功能就非常容易:我们放弃使用路由表,取而代之的是提供一个ongenerateroute回调,然后在该回调中进行统一的权限控制,如:","本章先介绍了flutter中路由管理、传参的方式,然后又着重介绍了命名路由相关内容。在此需要说明一点,由于命名路由只是一种可选的路由管理方式,在实际开发中,读者可能心中会犹豫到底使用哪种路由管理方式。在此,根据笔者经验,建议读者最好统一使用命名路由的管理方式,这将会带来如下好处:","构造函数的各个参数的意义:","比如navigator.push(buildcontext","注册路由表","注意,ongenerateroute只会对命名路由生效。","热重载应用,再次点击“open","现在我们就完成了路由表的注册。上面的代码中home路由并没有使用命名路由,如果我们也想将home注册为命名路由应该怎么做呢?其实很简单,直接看代码:","的pushnamed方法:","省略其它路由注册信息","示例","综上所述,笔者比较建议使用命名路由,当然这并不是什么金科玉律,读者可以根据自己偏好或实际情况来决定。","要想使用命名路由,我们必须先提供并注册一个路由表(rout","要通过路由名称来打开新路由,可以使用navig","语义化更明确。","路由(route)在移动开发中通常指页面(page),这跟web开发中单页应用的route概念意义是相同的,route在android中通常指一个activity,在ios中指一个viewcontroller。所谓路由管理,就是管理页面之间如何跳转,通常也可被称为导航管理。flutter中的路由管理和原生开发类似,无论是android还是ios,导航管理都会维护一个路由栈,路由入栈(push)操作对应打开一个新页面,路由出栈(pop)操作对应页面关闭操作,而路由管理主要是指如何来管理路由栈。","路由传值","路由参数","路由生成钩子","路由管理","路由表","路由表的注册方式很简单,我们回到之前“计数器”的示例,然后在myapp类的build方法中找到materialapp,添加routes属性,代码如下:","路由返回值:","运行上面代码,点击routertestroute页的”打开提示页“按钮,会打开tiproute页,运行效果如图2","还有很多其它方法,如navigator.replace、navigator.popuntil等,详情请参考api文档或sdk源码注释,在此不再赘述。下面我们还需要介绍一下路由相关的另一个概念“命名路由”。","适配","通过路由名打开新路由页","除了pushnamed方法,还有pushreplacementnamed等其他管理命名路由的方法,读者可以自行查看api文档。接下来我们通过路由名来打开新的路由页,修改flatbutton的onpressed回调代码,改为:","需要说明:",",下面命名路由相关的方法也是一样的。"],"chapter2/flutter_package_mgr.html":["\"flutter","#","'package:english_words/english_words.dart';",")",");","...","../../code/pkg1","//","//省略无关代码","0","1.0.0+1","2.3","2.3:包管理","5所示),确定其最新的版本号和是否支持flutter。","6),单击右上角的","7所示。","=","@overrid","[","],","^0.1.0","^0.1.2","^3.1.3","_myhomepagestate.build","application.","build","build(buildcontext","child:","children:","class","code","column(","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","mainaxisalignment.center,","mainaxisalignment:","materi","name:","name:应用或包名称。","new","packag","package1:","packages/package1","packages仓库,类似于node中的npm仓库,android中的jcenter。我们可以在pub上面查找我们需要的包和插件,也可以向pub发布我们的包和插件。我们将在后面的章节中介绍如何向pub发布我们的包和插件。","package)。","padding(","padding:","path:","pkg1:","process","pub仓库","pub(https://pub.dartlang.org/","randomwordswidget","randomwordswidget(),","return","run","sdk:","statelesswidget","studio会自动提供有关库导入的建议选项。导入后该行代码将会显示为灰色,表示导入的库尚未使用。","studio的编辑器视图中查看pubspec.yaml时(图2","text(wordpair.tostring()),","true","url:","us","version:","version:应用或包的版本号。","widget","wordpair","wordpair.random();","yaml是一种直观、可读性高并且容易被人类阅读的文件格式,它和xml或json相比,它语法简单并非常容易解析,所以yaml常用于配置文件,flutter也是用yaml文件作为其配置文件。flutter项目默认的配置文件是pubspec.yaml,我们看一个简单的示例:","{","}","。","一个app在实际开发中往往会依赖很多包,而这些包通常都有交叉依赖关系、版本依赖等,如果由开发者手动来管理应用中的依赖包将会非常麻烦。因此,各种开发生态或编程语言官方通常都会提供一些包管理工具,比如在android提供了gradle来管理依赖,ios用cocoapods或carthage来管理依赖,node中通过npm等。而在flutter开发中也有自己的包管理工具。本节我们主要介绍一下flutter如何使用配置文件pubspec.yaml(位于项目根目录)来管理第三方依赖包。","上文所述的依赖方式是依赖pub仓库的。但我们还可以依赖本地包和git仓库。","上面介绍的这些依赖方式是flutter开发中常用的,但还有一些其它依赖方式,完整的内容读者可以自行查看:https://www.dartlang.org/tools/pub/depend","上面假定包位于git存储库的根目录中。如果不是这种情况,可以使用path参数指定相对位置,例如:","下载包。在android","下面,我们逐一解释一下各个字段的意义:","下,接下来我们通过一个例子来演示一下如何添加、下载并使用第三方包。","使用english_words包来生成随机字符串。","依赖git:你也可以依赖存储在git仓库中的包。如果软件包位于仓库的根目录中,请使用以下语法","依赖本地包","其它依赖方式","包管理","命令来下载依赖包。另外,需要注意dependencies和dev_dependencies的区别,前者的依赖包将作为app的源码的一部分参与编译,生成最终的安装包。而后者的依赖包只是作为开发阶段的一些工具包,主要是用于帮助我们提高开发、测试效率,比如flutter的自动化测试包等。","在软件开放,很多时候有一些公共的库或sdk可能会被很多项目用到,因此,将这些代码单独抽到一个独立模块,然后哪个项目需要使用时再直接集成这个模块,便可大大提高开发效率。很多编程语言或开发工具都支持这种“模块共享”机制,如java语言中这种独立模块会被打成一个jar包,android中的aar包,web开发中的npm包等。为了方便表述,我们将这种可共享的独立模块统一称为“包”(","在输入时,android","如果应用程序正在运行,请使用热重载按钮(⚡️图标)","如果我们正在本地开发一个包,包名为pkg1,我们可以通过下面方式依赖:","如果我们的flutter应用本身依赖某个包,我们需要将所依赖的包添加到depend","将“english_words”(3.1.3版本)添加到依赖项列表,如下:","应用或包的描述、简介。","引入english_words包。","总结","我们也可以在控制台,定位到当前工程目录,然后手动运行flutter","我们将randomwordswidget","我们看到“english_words”包最新的版本是3.1.3,并且支持flutter,接下来:","接下来,我们实现一个显示随机字符串的widget。有一个名为“english_words”的开源软件包,其中包含数千个常用的英文单词以及一些实用功能。我们首先在pub上找到english_words这个包(如图2","新添加的依赖","方法内部生成的。每次热更新时,build方法都会被执行,运行效果如图2","更新正在运行的应用程序。每次单击热重载或保存项目时,都会在正在运行的应用程序中随机选择不同的单词对。","本节介绍了flutter中包管理、引用、下载的整体流程,我们将在后面的章节中介绍如果开发并发布我们自己的包。","添加到","生成随机字符串","的column的子widget中。","示例","路径可以是相对的,也可以是绝对的。","这会将依赖包安装到您的项目。我们可以在控制台中看到以下内容:","这是因为单词对是在",")是google官方的dart"],"chapter2/flutter_assets_mgr.html":["'dart:async'","'my_icons')","'package:flutter/services.dart'","(如果使用一些更低级别的类,如","),",");","/","11所示。","2.4","2.4:资源管理","8)。","9),","android","app安装包中会包含代码和","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进行自定义,如图2","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”,见图2","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已经包含占位符图片(见图2","在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\";","\"timeafterframeworkinitmicros\":","\"timetofirstframemicros\":","\"timetoframeworkinitmicros\":","#","#省略剩余内容","$","'dart:developer';到相关文件顶部。","'package:flutter/material.dart';","(","()","(in","(physic","(语句级的单步调试和分析器)","),",");","...","//","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","1.0,","12","1657393","1794.0)","1:","2.5","2.5:调试flutter","2.625","2.625,","2.625x","200ms;","2171978,","24.0,","2:","3.5,0.0,0.0,0.0","30","30.0);","328026813]","36.0);","388965355]","411.4,","437.086m","48.0;","514585,","625702218]","6559):","683.4)","683.4))","683.4),","683.4);","683.4),它用于强制renderpositionedbox下的所有渲染框到屏幕的大小,","82.0,","900;","96025565262,",":",">","@overrid","[0]","[1]","[2]","[3]","[globalkey","[globalobjectkey","[root]","_animatedthemestate(543295893;","_focusscop","_materialappstate(1009803148))","_materialappstate(1009803148)]","_materialappstate(1009803148)];","_materialappstate(859106034)]","_modalscop","_overlayentri","_widgetsappstate(552902158))","analyze测试你的代码。这个工具是一个静态代码检查工具,它是dartanalyzer工具的一个包装,主要用于分析代码并帮助开发者发现可能的错误,比如,dart分析器大量使用了代码中的类型注释来帮助追踪问题,避免var、无类型的参数、无类型的列表文字等。","android","animatedthem","app","app\")","app'),","apphom","apphome(),","assert语句被启用,并且flutter框架使用它来执行许多运行时检查来验证是否违反一些不可变的规则。","banner","boxconstraints(w=411.4,","build(buildcontext","canbetapped)","canbetapped;","center(","check","checkedmodebann","child:","class","color(0xd0ff0000);","color(0xff2196f3)","color(0xff2196f3))","color(0xffffff00)","color:","configuration:","constraints:","context)","creator:","custompaint","dart","debug","debugdumpapp();","debugger()","debugger()语句采用一个可选when参数,您可以指定该参数仅在特定条件为真时中断,如下所示:","debugger(when:","debugpaintbaselinesenabled做了类似的事情,但对于具有基线的对象,文字基线以绿色显示,表意(ideographic)基线以橙色显示。","debugpaintpointersenabled标志打开一个特殊模式,任何正在点击的对象都会以深青色突出显示。","debugprintmarkneedspaintstacks标志。","debugprintscheduleframestacks还可以用来打印导致当前帧被调度的调用堆栈。","decoration:","design基线网格覆盖在应用程序上可能有助于验证对齐。","design的应用程序时,","design设计规范中flatbutton类的尺寸标准)。","devic","devicepixelratio:","doubl","edgeinsets(0.0,","enabl","etc...)","etc...))","extend","family:","flatbutton(","flutter","flutter框架中的许多类都有tostring实现。按照惯例,这些输出通常包括对象的runtimetype单行输出,通常在表单中classname(mor","flutter框架的每一层都提供了将其当前状态或事件转储(dump)到控制台(使用debugprint)的功能。","focu","frame","frame?","function');","grid","h=683.4)","h=683.4)。从renderpositionedbox的转储中看到是由cent","home:","i/flutt","ide中的调试器)时,可以使用该debugger()语句插入编程式断点。要使用这个,你必须添加import","import","inactive;","inform","instance…)。","iwonderhowlongthistakes();","log","logcat)。","logic","logs了查看它(基本上是一个包装adb","main()","main()的顶部设置。","materi","material(","materialapp","materialapp(","materialpageroute(560156430)]","mode","mode”,用","mode)下测试,因为在调试模式下,故意牺牲性能来换取有助于开发调试的功能,如assert声明,这些都是非常耗时的,因此结果将会产生误导。","more","navig","new","null)))","observatori","observatory(或另一个dart调试器,例如intellij","offset","offset(0.0,","offset)","offset:","offsetlay","onc","onpressed:","overlay","padding:","parentdata:","per","perform","performanceoverlay.allenabled()创建的stack上来获得相同的效果)。","physic","picturelay","pixel","pixel)","pixels)","print()功能将输出到系统控制台,您可以使用flutt","print:","print、debugprint、flutt","profil","profile替代","profile标志,以确保运行时性能特征与您的最终产品差异最小。","profile选项来运行flutt","ratio:","rect.fromltrb(0.0,","release即可。","release运行您的应用程序。","rendercustompaint","rendercustompaint)","renderobject:","renderobjecttowidgetadapter([globalobjectkey","renderview","renderview(497039273)];","renderview)","repaintboundari","return","run","runapp(","run启动应用程序,那么当它运行时,我们可以打开observatory工具的web页面,例如observatory默认监听http://127.0.0.1:8100/,可以在浏览器中直接打开该链接。直接使用语句级单步调试器连接到您的应用程序。如果您使用的是intellij,则还可以使用其内置的调试器来调试您的应用程序。","run命令来运行应用程序。","run时使用trac","run时带有","scrollconfigur","semant","semanticsnode(0;","size(1080.0,","size(411.4,","size:","somefunction(doubl","stack","startup","startup和profile选项。","state:","statelesswidget","streams”中选择’dart’复选框,并执行你想测量的功能。","text('dump","textdecoration.underline)","textscalefactor:","theme","themedatatween(themedata(brightness.light","ticker","timeline.finishsync();","timeline.startsync('interest","timeline页面,在”record","titl","trace","transform:","transformlay","true;","void","weight:","widget","widgetsapp","widgetsapp构造函数也有类似的参数(如果你没有使用materialapp或者widgetsapp,你可以通过将你的应用程序包装在一个stack中,","widgetsflutterbind","widget创建的(如creator字段所描述的),","widget在渲染树的层中创建了一个renderrepaintboundary。这用于减少需要重绘的需求量。","widget的一个实现细节","widget,则可以使用debugpaintlayerbordersen","window","work","{","}","},","…会输出这样的内容(精确的细节会根据框架的版本、设备的大小等等而变化):","←","→","⋯","│","└animatedtheme(duration:","└banner()","└checkedmodebanner()","└custompaint(renderobject:","└defaulttextstyle(inherit:","└localequery(null)","└materialapp(state:","└mediaquery(mediaquerydata(size:","└scrollconfiguration()","└semanticsnode(2;","└semanticsnode(3;","└semanticsnode(4;","└theme(themedata(brightness.light","└title(color:","└widgetsapp([globalobjectkey","└─child","└─child:","├semanticsnode(1;","├─child","▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀","▄▄▄▄▄▄▄▄","。","上面这个小例子的输出结果如下所示:","为此,materialapp","你会看到很多在你的应用源代码中没有出现的widget,因为它们是被框架中widget的build()函数插入的。例如,inkfeature是materi","使用dart:developer的timeline工具来包含你想测试的代码块,例如:","例如:","例如,在上面的转储中,您可以看到窗口大小,size(411.4,","分析器","分析器可以在代码运行前发现大多数问题。","分析器,因为在大多数时候,dart","初始化flutter框架时.","刷新页面将在chrome的跟踪工具中显示应用按时间顺序排列的timeline记录。","另一种需要注意的是每个盒子描述的”relayoutsubtreeroot”部分,它告诉你有多少祖先以某种方式依赖于这个元素的大小。","只要他们重绘时,这会使该层被一组旋转色所覆盖。","只要应用程序已经构建了至少一次(即在调用build()之后的任何时间),您可以在应用程序未处于构建阶段(即,不在build()方法内调用","可视化调试","同时支持分析、检查堆等。有关observatory的更多信息请参考observatori","否则,配置文件中将出现的主要问题将是调试断言,以验证框架的各种不变量(请参阅下面的“调试模式断言”)。","回调","因此,renderparagraph有一个relayoutsubtreeroot=up8,这意味着当它renderparagraph被标及为”dirty”时,它的八个祖先也必须被标记为”dirty”,因为它们可能受到新尺寸的影响。","图中的白线以16ms增量沿纵轴显示;","在flutter应用调试过程中,dart","在renderparagraph中基于它的内容来决定其大小。","在开发实现materi","在运行应用程序前,请运行flutter","在这种情况下,一个单一的gesturedetector被列出,并且监听“tap”手势(“tap”是tapgesturedetector的tostringshort函数输出的)","在这种情况下,每个逻辑像素代表3.5个设备像素。","声明","如","如,","如果你一次输出太多,那么android有时会丢弃一些日志行。为了避免这种情况,您可以使用flutter的foundation库中的debugprint()。","如果你使用intellij的flutter插件,那么分析器在打开ide时就已经自动启用了,如果读者使用的是其它ide,强烈建议读者启用dart","如果图中超过这三条线之一,那么您的运行频率低于60hz。横轴代表帧。","如果您使用observatory进行分析,请确保通过","如果您尝试调试合成图层,例如以确定是否以及在何处添加repaintboundari","如果您尝试调试合成问题,则可以使用debugdumplayertree()。对于上面的例子,它会输出:","如果您尝试调试布局问题,那么widgets层的树可能不够详细。在这种情况下,您可以通过调用debugdumprendertree()转储渲染树。","如果您现在按照size链继续往下查看,您会看到文本的大小是如何影响其按钮的框的宽度的,它们都是根据孩子的尺寸自行调整大小。","如果您编写自己的widget,则可以通过覆盖debugfillproperties()来添加信息。","如果您编写自己的渲染对象,则可以通过覆盖debugfillproperties()将信息添加到转储。","如果我们使用flutter","完成flutter框架初始化时.","对于上面的例子,它会输出:","对齐方式(来自widget如center和align)显示为黄色箭头.","将diagnosticsproperty对象作为方法参数,并调用父类方法。","将diagnosticsproperty对象作为方法的参数,并调用父类方法。","将materi","层","展示应用第一帧时.","并将一个widget放在通过new","开头的任何内容都只能在调试模式下工作。","当一个不可变的规则被违反时,它被报告给控制台,并带有一些上下文信息来帮助追踪问题的根源。","当使用dart","当在调试模式设置为true时,它将覆盖这样一个网格。","当它被启用时,所有的盒子都会得到一个明亮的深青色边框,padding(来自widget如padding)显示为浅蓝色,子widget周围有一个深蓝色框,","当按钮从被按下变为被释放时debugdumpapp()被调用,flatbutton对象同时调用setstate(),并将自己标记为\"dirty\"。","当调试布局问题时,关键要看的是size和constraints字段。约束沿着树向下传递,尺寸向上传递。","您也可以直接使用gridpaper组件将这种网格覆盖在非material应用程序上","您也可以通过设置debugpaintsizeenabled为true以可视方式调试布局问题。","您还可以调用debugdumpsemanticstree()获取语义树(呈现给系统可访问性api的树)的转储。","或事件处理器中调用它是最佳解决方案。","所有这些标志只能在调试模式下工作。通常,flutter框架中以“debug...”","文档.","最内部renderpositionedbox再次松开约束,这次是将按钮中的文本居中。","最好在应用程序启动时只设置一次。如果您在运行中更改它,尤其是在动画运行时将其值减小,则框架的观察时可能会倒退,这可能会导致断言并且通常会干扰您的工作。","有一个debugshowmaterialgrid参数,","有各种各样的工具和功能来帮助调试flutter应用程序。","构造函数","标志,","树中使用的一些类也具有tostringdeep,从该点返回整个子树的多行描述。已一些具有详细信息tostring的类会实现一个tostringshort,它只返回对象的类型或其他非常简短的(一个或两个单词)描述。","根部的变换是应用设备像素比的变换;","正如debugdumpapp(),除布局或绘制阶段外,您可以随时调用此函数。作为一般规则,从fram","每当渲染盒被要求重新布局和重新绘制时,这些都会将堆栈跟踪记录到控制台。如果这种方法对您有用,您可以使用services库中的debugprintstack()方法按需打印堆栈痕迹。","渲染层","然后打开你应用程序的observatori","省略","空白(如没有任何子节点的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应用","调试动画","调试动画最简单的方法是减慢它们的速度。为此,请将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输出的。","这是根renderobject对象的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)","2.6","2.6.1","2.6.2","2.6:dart线程模型及异常捕获","=","=>","@overrid","_debugreportexception(","body(),","build();","built","catch","collectlog(line);","collectlog(str","context,","context:","c(以下简称“oc”)中,如果程序发生异常且没有被捕获,那么程序将会终止,但是这在dart或javascript中则不会!究其原因,这和它们的运行机制有关系。java和oc都是多线程模型的编程语言,任意一个线程触发异常且该异常未被捕获时,就会导致整个进程退出。但dart和javascript不会,它们都是单线程模型,运行机制很相似(但有区别),下面我们通过dart官方提供的一张图来看看dart大致运行原理:","dart","dart中可以通过try/catch/finally来捕获代码块异常,这个和其它编程语言类似,如果读者不清楚,可以查看dart语言文档,不再赘述,下面我们看看flutter中的异常捕获。","dart中有一个runzoned(...)","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和object","在事件循环中,当某个任务发生异常并没有被捕获时,程序并不会退出,而直接导致的结果是当前任务的后续代码就不会被执行了,也就是说一个任务中的异常是不会影响其它任务执行的。","在介绍flutter异常捕获之前必须先了解一下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":["\"hello","$key';","&&","'$runtimetyp","'$runtimetype'","'package:flutter/cupertino.dart';","'package:flutter/material.dart';","'package:flutter/widgets.dart';","(","()","(译者语:和android中的framelayout相似),stack允许子","),",");",")布局模型设计的。","++_counter,","//return","//初始化状态","//导入cupertino","//点击后计数器自增","//移除计数器","//随便返回一个text()","0","1所示:","2所示:","3.1","3.1.1","3.1.2","3.1.3","3.1.4","3.1.5","3.1.6","3.1.7","3.1:widget简介","3)是在iphonex上页面效果截图:","5436):",":","=","==","=>","?","@immut","@overrid","@protect","@requir","_counter;","_counter=widget.initvalue;","_counterwidgetst","_counterwidgetstate();","abstract","backgroundcolor,","backgroundcolor;","background、一个边框、或者一个阴影。","body:","bool","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:","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();","cupertinobutton(","cupertinocolors.activeblue,","cupertinonavigationbar(","cupertinopagescaffold(","cupertinotestrout","cupertino组件","deactiv","deactivate()","deactivate():当state对象从树中被移除时,会调用此回调。在一些场景下,flutt","debugfillproperties(...)","debugfillproperties(diagnosticpropertiesbuild","demo\"),","design设计规范的应用程序。material应用程序以materialapp","diagnosticabletre","diagnosticstreestyle.dense;","didchangedepend","didchangedependencies()","didchangedependencies():当state对象的依赖发生变化时会被调用;例如:在之前build()","didupdatewidget","didupdatewidget():在widget重新构建时,flutt","didupdatewidget(counterwidget","dispos","dispose()","dispose():当state对象从树中被永久移除时调用;通常在此回调中释放资源。","echo","echo(text:","echo({","element","extend","final","flatbutton(","flutter","flutter也提供了一套丰富的cupertino风格的组件,尽管目前还没有materi","flutter提供了一套丰富、强大的基础组件,在基础组件库之上flutter又提供了一套material风格(android默认的视觉风格)和一套cupertino风格(ios视觉风格)的组件库。要使用基础组件库,需要先导入:","flutter提供了一套丰富的material组件,它可以帮助我们构建遵循materi","flutter提供了丰富的组件,在实际的开发中你可以根据需要随意使用它们,而不必担心引入过多组件库会让你的应用安装包变大,这不是web开发,dart在编译时只会编译你使用了的代码。由于material和cupertino都是在基础组件库之上的,所以如果我们的应用中引入了这两者之一,则不需要再引入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","i/flutt","import","initst","initstate()","initstate:当widget第一次插入到widget树时会被调用,对于每一个state对象,flutt","initvalue;","int","key","key);","key,","key:","key;","material组件","middle:","navigationbar:","new","newwidget)","newwidget.key;","newwidget.runtimetyp","null","oldwidget)","oldwidget,","oldwidget.key","oldwidget.runtimetyp","onpressed:","onpressed:()=>setstate(()=>","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、","scaffold(","sdk内置组件库介绍","stack:","state","statefulel","statefulelement(this);","statefulwidget","statefulwidget({","statefulwidget生命周期如图3","statelessel","statelesselement(this);","statelesswidget","statelesswidget用于不需要维护状态的场景,它通常在build方法中通过嵌套其它widget来构建ui,在构建过程中会递归的构建其嵌套的widget。我们看一个简单的例子:","state中有两个常用属性:","state生命周期","static","string","super(key:","super.deactivate();","super.debugfillproperties(properties);","super.didchangedependencies();","super.didupdatewidget(oldwidget);","super.dispose();","super.initstate();","super.reassemble();","text(\"cupertino","text(\"press\"),","text(\"xxx\");","text('$_counter'),","text(text),","text;","text:该组件可让您创建一个带格式的文本。","this.backgroundcolor:colors.grey,","this.initvalue:","this.key","this.text,","tostringshort()","void","widget","widget({","widget、用于app主题数据传递的theme等等,而原生开发中的控件通常只是指ui元素。在后面的内容中,我们在描述ui元素时可能会用到“控件”、“组件”这样的概念,读者心里需要知道他们就是widget,只是在不同场景的不同表述而已。由于flutter主要就是用于构建用户界面的,所以,在大多数时候,读者可以认为widget就是一个控件,不必纠结于概念。","widget。","widget与el","widget中,state对象也和statefulelement具有对应关系(一对一),所以在flutter的sdk文档中,可以经常看到“从树中移除state对象”或“插入state对象到树中”这样的描述。其实,无论哪种描述,其意思都是在描述“一棵构成用户界面的节点元素的树”,读者不必纠结于这些概念,还是那句话“得其神,忘其形”,因此,本书中出现的各种“树”,如果没有特别说明,读者都可抽象的认为它是“一棵构成用户界面的节点元素的树”。","widget主要接口","widget同时插入到widget树的多个位置时,flutt","widget实际上就是element的配置数据,widget树实际上是一个配置树,而真正的ui渲染树是由element构成;不过,由于element是通过widget生成的,所以它们之间有对应关系,在大多数场景,我们可以宽泛地认为widget树就是指ui控件树或ui渲染树。","widget库","widget的生命周期中可能会被多次调用。例如,当一个st","widget相关的状态,它在st","widget简介","widget类继承自diagnosticabletree,diagnosticabletree即“诊断树”,主要作用是提供调试信息。","widget,它表示与该state实例关联的widget实例,由flutt","world\");","{","{}","}","})","}):super(key:key);","});","一个statefulwidget类会对应一个state类,state表示与其对应的statefulwidget要维护的状态,state中的保存的状态信息可以:","一个widget对象可以对应多个element对象。这很好理解,根据同一份配置(widget),可以创建多个实例(element)。","上面的代码,实现了一个回显字符串的echo","下面我们介绍一下常用的组件。","下面我们来看看各个回调函数:","下面我们看看statefulwidget的类定义:","下面(图3","中inheritedwidget发生了变化,那么此时inheritedwidget的子widget的didchangedependencies()回调都会被调用。典型的场景是当系统语言locale或应用主题改变时,flutt","中包含了一个inheritedwidget,然后在之后的build()","也可以具有边距(margins)、填充(padding)和应用于其大小的约束(constraints)。另外,","你可以使用","关于示例","取代线性布局","另外widget类本身是一个抽象类,其中最核心的就是定义了createelement()接口,在flutter开发中,我们一般都不用直接继承widget类来实现一个新组件,相反,我们通常会通过继承statelesswidget或statefulwidget来间接继承widget类来实现。statelesswidget和statefulwidget都是直接继承自widget类,而这两个类也正是flutter中非常重要的两个抽象类,它们引入了两种widget模型,接下来我们将重点介绍一下这两个类。","可以看到此时initst","可以看到,在statefulwidget插入到widget树时首先initstate方法会被调用。","可以装饰一个boxdecoration,","可让您创建矩形视觉元素。contain","和didchangedependencies都没有被调用,而此时didupdatewidget被调用。","和statelesswidget一样,statefulwidget也是继承自widget类,并重写了createelement()方法,不同的是返回的el","在flutter中,widget的功能是“描述一个ui元素的配置数据”,它就是说,widget其实并不是表示最终绘制在设备屏幕上的显示元素,而它只是描述显示元素的一个配置数据。","在state对象从树中一个位置移除后(会调用deactivate)又重新插入到树的其它位置之后。","在widget","在widget生命周期中可以被改变,当state被改变时,可以手动调用其setstate()方法通知flutt","在之前的章节中,我们已经简单介绍过statelesswidget,statelesswidget相对比较简单,它继承自widget类,重写了createelement()方法:","在前面的介绍中,我们知道在flutter中几乎所有的对象都是一个widget。与原生开发中“控件”不同的是,flutter中的widget的概念更广泛,它不仅可以表示ui元素,也可以表示一些功能性的组件如:用于手势检测的","在本书中经常会出现“树“的概念,在不同的场景可能指不同的意思,在说“widget树”时它可以指widget结构树,但由于widget与element有对应关系(一可能对多),在有些场景(flutter的sdk文档中)也代指“ui树”的意思。而在st","在调用didchangedependencies()之后。","在调用didupdatewidget()之后。","在调用initstate()之后。","在调用setstate()之后。","基础组件","堆叠,","复写父类的方法,主要是设置诊断树的一些特性。","如","实际上,flutter中真正代表屏幕上显示元素的类是element,也就是说widget只是描述element的配置数据!有关element的详细介绍我们将在本书后面的高级部分深入介绍,现在,读者只需要知道:widget只是ui元素的一个配置数据,并且一个widget可以对应多个element。这是因为同一个widget对象可以被添加到ui树的不同部分,而真正渲染时,ui树的每一个element节点都会对应一个widget对象。总结一下:","对于buildcontext读者现在可以先作了解,随着本书后面内容的展开,也会用到context的一些方法,读者可以通过具体的场景对其有个直观的认识。关于buildcontext更多的内容,我们也将在后面高级部分再深入介绍。","对象并不相同;另外statefulwidget类中添加了一个新的接口createstate()。","总结","我们先来看一下widget类的声明:","我们可以看到,在counterwidget从widget树中移除时,deactive和dispose会依次被调用。","我们运行应用并打开该路由页面,在新路由页打开后,屏幕中央就会出现一个数字0,然后控制台日志输出:","按照惯例,widget的构造函数参数应使用命名参数,命名参数中的必要参数要添加@required标注,这样有利于静态代码分析器进行检查。另外,在继承widget时,第一个参数通常应该是key,另外,如果widget需要接收子widget,那么child或children参数通常应被放在参数列表的最后。同样是按照惯例,widget的属性应尽可能的被声明为final,防止被意外改变。","接下来,我们创建一个新路由,在新路由中,我们只显示一个counterwidget:","接下来,我们在widget树中移除counterwidget,将路由build方法改为:","是否使用materialapp完全是可选的,但是使用它是一个很好的做法。在之前的示例中,我们已经使用过多个materi","有关key和widget复用的细节将会在本书后面高级部分深入讨论,读者现在只需知道,为widget显式添加key的话可能(但不一定)会使ui在重新构建时变的高效,读者目前可以先忽略此参数。本书后面的示例中,只会在构建列表项ui时会显式指定key。","本章后面章节的示例中会使用一些布局类组件,如scaffold、row、column等,这些组件将在后面“布局类组件”一章中详细介绍,读者可以先不用关注。","来定位他们相对于stack的上下左右四条边的位置。stacks是基于web开发中的绝对定位(absolut","概念","注意:在继承statefulwidget重写其方法时,对于包含@mustcallsuper标注的父类方法,都要在子类方法中先调用父类方法。","然后我们可以通过如下方式使用它:","然后我们点击⚡️按钮热重载,控制台输出日志如下:","然后热重载,日志如下:","理解state的生命周期对flutter开发非常重要,为了加深读者印象,本节我们通过一个实例来演示一下state的生命周期。在接下来的示例中,我们实现一个计数器widget,点击它可以使计数器加1,由于要保存计数器的数值状态,所以我们应继承statefulwidget,代码如下:","用于创建和state","组件了,如:scaffold、appbar、flatbutton等。要使用materi","组件库中有一些组件可以根据实际运行平台来切换表现风格,比如materialpageroute,在路由切换时,如果是android系统,它将会使用android系统默认的页面切换动画(从底向上);如果是ios系统,它会使用ios系统默认的页面切换动画(从右向左)。由于在前面的示例中还没有cupertino组件的示例,下面我们实现一个简单的cupertino组件风格的页面:","组件开始,","组件那么丰富,但是它仍在不断的完善中。值得一提的是在materi","组件,需要先引入它:","该组件在应用程序的根部创建了一些必要的组件,比如theme组件,它用于配置应用的主题。","读者应该将这两点牢记在心中。","运行后效果如图3","这个key属性类似于react/vue中的key,主要的作用是决定是否在下一次build时复用旧的widget,决定的条件在canupdate()方法中。","这些具有弹性空间的布局类widget可让您在水平(row)和垂直(column)方向上创建灵活的布局。其设计是基于web开发中的flexbox布局模型。","间接继承自element类,与statefulwidget相对应(作为其配置数据)。statefulelement中可能会多次调用createstate()来创建状态(state)对象。","间接继承自element类,与statelesswidget相对应(作为其配置数据)。"],"chapter3/state_manage.html":["!_active;","'active'","'inactive',",")","),",");","//","10.0,","200.0,","3.2","3.2.1","3.2.2","3.2.3","3.2:状态管理","3.3.4","32.0,","4所示。",":","=","=>","?","@overrid","@requir","_activ","_active,","_active确定颜色:绿色为tru","_handletap()","_handletap,","_handletapboxchanged()","_handletapboxchanged(bool","_handletapboxchanged,","_handletapcancel()","_handletapcancel,","_handletapdown(tapdowndetail","_handletapdown,","_handletapup(tapupdetail","_handletapup,","_highlight","_parentwidgetcst","_parentwidgetcstate();","_parentwidgetst","_parentwidgetstate();","_parentwidgetstatec类:","_tapboxast","_tapboxastate();","_tapboxcst","_tapboxcstate();","activ","active:","active;","bool","border.all(","border:","boxdecoration(","build(buildcontext","center(","child:","class","color:","colors.grey[600],","colors.lightgreen[700]","colors.teal[700],","colors.white)),","colors.white),","container(","context)","createstate()","decoration:","details)","extend","false,","false;","final","gesturedetector(","gesturedetector监听所有tap事件。当用户点下时,它添加高亮(深绿色边框);当用户释放时,会移除高亮。","height:","key);","key,","key})","new","newvalue)","newvalue;","null,","onchanged(!active);","onchanged:","onchanged;","ontap:","ontapcancel:","ontapdown:","ontapup:","parentwidget","parentwidgetc","parentwidgetst","return","setstate(()","state","statefulwidget","statelesswidget","style:","super(key:","tapboxa","tapboxa({key","tapboxb","tapboxb(","tapboxb({key","tapboxc","tapboxc(","tapboxc({key","tapboxc将其_active状态导出到其父组件中,但在内部管理其_highlight状态。这个例子有两个状态对象_parentwidgetstate和_tapboxcstate。","text(","text(widget.act","textstyle(fontsize:","this.active:","this.onchanged})","true;","valuechang","void","widget","widget.act","widget.onchanged(!widget.active);","widget管理子widget状态。","widget管理自己的状态。","widget管理自身状态","width:","{","}","});","——创建一个盒子,当点击它时,盒子背景会在绿色与灰色之间切换。状态","下面的例子将使用gesturedetector来识别点击事件,关于该gesturedetector的详细内容我们将在后面“事件处理”一章中介绍。","为","为tapboxb","使用一些专门用于状态管理的包,如provider、redux,读者可以在pub上查看其详细信息。","例如,iconbutton是一个图标按钮,但它是一个无状态的widget,因为我们认为父widget需要知道该按钮是否被点击来采取相应的处理。","全局状态管理","另一种实现可能会将高亮状态导出到父组件,但同时保持_active状态为内部状态,但如果你要将该tapbox给其它人使用,可能没有什么意义。","响应式的编程框架中都会有一个永恒的主题——“状态(state)管理”,无论是在react/vue(两者都是支持响应式编程的web开发框架)还是flutter中,他们讨论的问题和解决的思想都是一致的。所以,如果你对react/vue的状态管理有了解,可以跳过本节。言归正传,我们想一个问题,statefulwidget的状态应该被谁管理?widget本身?父widget?都会?还是另一个对象?答案是取决于实际情况!以下是管理状态的最常见的方法:","在widget内部管理状态封装性会好一些,而在父widget中管理会比较灵活。有些时候,如果不确定到底该怎么管理状态,那么推荐的首选是在父widget中管理(灵活会显得更重要一些)。","在下面tapboxc示例中,手指按下时,盒子的周围会出现一个深绿色的边框,抬起时,边框消失。点击完成后,盒子的颜色改变。","在以下示例中,tapboxb通过回调将其状态导出到其父组件,状态由父组件管理,因此它的父组件为statefulwidget。但是由于tapboxb不管理任何状态,所以tapboxb为statelesswidget。","在按下时添加绿色边框,当抬起时,取消高亮","处理抬起事件","处理按下事件","如何决定使用哪种管理方法?下面是官方给出的一些原则可以帮助你做决定:","如果某一个状态是不同widget共享的则最好由它们共同的父widget管理。","如果状态是有关界面外观效果的,例如颜色、动画,那么状态最好由widget本身来管理。","如果状态是用户数据,如复选框的选中状态、滑块的位置,则该状态最好由父widget管理。","定义_active:确定盒子的当前颜色的布尔值。","定义_handletap()函数,该函数在点击该盒子时更新_active,并调用setstate()更新ui。","实现","实现_handletapboxchanged(),当盒子被点击时调用的方法。","实现widget的所有交互式行为。","实现一个全局的事件总线,将语言状态改变对应为一个事件,然后在app中依赖应用语言的组件的initst","对于一些组件来说,混合管理的方式会非常有用。在这种情况下,组件自身管理一些内部状态,而父组件管理一些其他外部状态。","对于父widget来说,管理状态并告诉其子widget何时更新通常是比较好的方式。","对象:","开发人员只会关心该框是否处于active状态,而不在乎高亮显示是如何管理的,所以应该让tapbox内部处理这些细节。","当应用中需要一些跨组件(包括跨路由)的状态需要同步时,上面介绍的方法便很难胜任了。比如,我们有一个设置页,里面可以设置应用的语言,我们为了让设置实时生效,我们期望在语言状态发生改变时,app中依赖应用语言的组件能够重新build一下,但这些依赖应用语言的组件和设置页并不在一起,所以这种情况用上面的方法很难管理。这时,正确的做法是通过一个全局状态管理器来处理这种相距较远的组件之间的通信。目前主要有两种办法:","当按下、抬起、或者取消点击时更新_highlight状态,调用setstate()更新ui。","当检测到点击时,它会通知父组件。","当点击时,将状态的改变传递给父组件。","当点击盒子并且_active状态改变时调用setstate()更新ui。","当状态改变时,调用setstate()更新ui。","接下来,我们将通过创建三个简单示例tapboxa、tapboxb和tapboxc来说明管理状态的不同方式。","方法中订阅语言改变的事件。当用户在设置页切换语言后,我们发布语言改变事件,而订阅了此事件的组件就会收到通知,收到通知后调用setstate(...)方法重新build一下自身即可。","本书将在\"功能型组件\"一章中介绍provider包的实现原理及用法,同时也将会在\"事件处理与通知\"一章中实现一个全局事件总线,读者有需要可以直接翻看。","混合状态管理","混合管理(父widget和子widget都管理状态)。","父widget管理子widget的状态","状态。","状态管理","管理_activ","管理_active状态。","管理_highlight","管理tapboxa的状态。","管理状态.","管理自身状态.","类:","继承statelesswidget类,因为所有状态都由其父组件处理。","这些例子功能是相似的",",当盒子被点击时调用。",",灰色为false,如图3"],"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,","3.3","3.3.1","3.3.2","3.3.3","3.3.4","3.3.5","3.3:文本、字体样式","500","5所示:","600","6所示:","7所示:","8),然后用textspan实现它。","9:","=","[","]","],","_taprecogn","_taprecognizer,它是点击链接后的一个处理器(代码已省略),关于手势识别的更多内容我们将在后面单独介绍。","abrilfatfac","asset:","assets/fonts/abrilfatface/abrilfatfac","assets/fonts/raleway","background:","buttontext","child:","children,","children:","children是一个textspan的数组,也就是说textspan可以包括其他textspan。而recognizer用于对该文本片段上用于手势进行识别处理。下面我们看一个效果(图3","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树中父级设置的默认样式),因此,如果在widget树的某一个节点处设置一个默认的文本样式,那么该节点的子树中所有文本都会默认使用这个样式,而defaulttextstyle正是用于设置默认文本样式的。下面我们看一个例子:","在上面的例子中,text的所有文本内容只能按同一种样式,如果我们需要对一个text内容的不同部分按照不同的样式显示,这时就可以使用textspan,它代表文本的一个“片段”。我们看看textspan的定义:","在这种情况下,由于应用程序本地定义了字体,所以在创建textstyle时可以不指定package参数:","声明文本样式","如果在package包内部使用它自己定义的字体,也应该在创建文本样式时指定package参数,如上例所示。","字体","字符串内容超过一行,text宽度等于屏幕宽度,第二行文本便会居中显示。","效果如图3","文本及样式","方法将textspan","此示例只展示了textstyle的部分属性,它还有一些其它属性,属性名基本都是自解释的,在此不再赘述,读者可以查阅sdk文档。值得注意的是:","添加到text中,之所以可以这样做,是因为text其实就是richtext的一个包装,而richtext是可以显示多种样式(富文本)的widget。","源码:","然后,应用程序可以声明一个字体,如下面的示例所示:","要使用package中定义的字体,必须提供package参数。例如,假设上面的字体声明位于my_package包中。然后创建textstyle的过程如下:","要将字体文件打包到应用中,和使用其它资源一样,要先在pubspec.yaml中声明它。然后将字体文件复制到在pubspec.yaml中指定的位置。如:","设置给了子树column节点处,这样一来column的所有子孙text默认都会继承该样式,除非text显示指定不继承样式,如代码中注释2。示例运行效果如图3","运行效果如图3","这些文件应该存放在包的lib/文件夹中。字体文件不会自动绑定到应用程序中,应用程序可以在声明字体时有选择地使用这些字体。假设一个名为my_package的包中有一个字体文件:",":由于不同平台默认支持的字体集不同,所以在手动指定字体时一定要先在不同平台测试一下。"],"chapter3/buttons.html":["()",")","),",");","...","//外形","//按钮按下时的背景颜色","//按钮文字颜色","//按钮点击回调","//按钮的内容","//按钮的填充","//按钮禁用时的文字颜色","//按钮背景颜色","//正常状态下的阴影","//点击时,水波动画中水波的颜色","0.0,//","10所示:","11所示:","12所示:","13所示:","14所示:","15所示:","16所示:","2.0,","3.4","3.4.1","3.4.2","3.4:按钮","8.0,//按下时的阴影","=","@requir","_onpressed,","borderradius.circular(20.0)),","brightness.dark,","child:","color","color(0x000000)。","color:","colorbrightness:","colors.blu","colors.blue,","colors.blue[700],","colors.grey,","const","flatbutton","flatbutton(","flatbutton({","flatbutton.icon(","flatbutton即扁平按钮,默认背景透明并不带阴影。按下后,会有背景色,如图3","flutter","highlightcolor:","icon(icons.add),","icon(icons.info),","icon(icons.send),","icon(icons.thumb_up),","icon:","iconbutton","iconbutton(","iconbutton是一个可点击的icon,不包括文字,默认没有背景,点击后会出现背景,如图3","label:","materi","material组件库中的按钮","onpressed:","outlinebutton","outlinebutton(","outlinebutton.icon(","outlinebutton默认有一个边框,不带阴影且背景透明。按下后,边框颜色会变亮、同时出现背景和阴影(较弱),如图3","raisedbutton","raisedbutton(","raisedbutton({","raisedbutton.icon(","raisedbutton、flatbutton、outlinebutton都有一个icon","shape:roundedrectangleborder(borderradius:","splashcolor:","text(\"normal\"),","text(\"submit\"),","text(\"发送\"),","text(\"添加\"),","text(\"详情\"),","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,","{},","}","})","中没有提供去除背景的设置,假若我们需要去除背景,则可以通过将背景颜色设置为全透明来实现。对应上面的代码,便是将","也不做更改),换了之后的效果如图3","代码如下:","使用flatbutton也很简单,代码如下:","使用outlinebutton也很简单,代码如下:","使用raisedbutton非常简单,如:","值得注意的是,在materi","其中大多数属性名都是自解释的,我们不赘述。下面我们通过一个示例来看看如何自定义按钮。","即\"漂浮\"按钮,它默认带有阴影和灰色背景。按下后,阴影会变大,如图3","如果我们想实现一个背景渐变的圆角按钮,按钮有没有相应的属性呢?答案是否定的,但是,我们可以通过其它方式来实现,我们将在后面\"自定义组件\"一章中实现。","定义一个背景蓝色,两边圆角的按钮。效果如图3","带图标的按钮","库中的按钮都有如下相同点:","很简单吧,在上面的代码中,我们主要通过shape来指定其外形为一个圆角矩形。因为按钮背景是蓝色(深色),我们需要指定按钮主题colorbrightness为brightness.dark,这是为了保证按钮文字颜色为浅色。","按下时都会有“水波动画”(又称“涟漪动画”,就是点击时按钮上会出现水波荡漾的动画)。","按钮","按钮外观可以通过其属性来定义,不同按钮属性大同小异,我们以flatbutton为例,介绍一下常见的按钮属性,详细的信息可以查看api文档。","是不是有质感了!之所以会这样,是因为raisedbutton默认有配置阴影:","替换为","有一个onpressed属性来设置点击回调,当按钮按下时会执行该回调,如果不提供该回调则按钮会处于禁用状态,禁用状态不响应用户点击。","构造函数,通过它可以轻松创建带图标的按钮,如图3","示例","禁用时的阴影","组件库中提供了多种按钮组件如raisedbutton、flatbutton、outlinebutton等,它们都是直接或间接对rawmaterialbutton组件的包装定制,所以他们大多数属性都和rawmaterialbutton一样。在介绍各个按钮时我们先介绍其默认外观,而按钮的外观大都可以通过属性来自定义,我们在后面统一介绍这些属性。另外,所有materi","组件库中,我们会在很多组件中见到elevation相关的属性,它们都是用来控制阴影的,这是因为阴影在material设计风格中是一种很重要的表现形式,以后在介绍其它组件时,便不再赘述。","细心的读者可能会发现这个按钮没有阴影(点击之后也没有),这样会显得没有质感。其实这也很容易,将上面的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',","'package:flutter/material.dart';",")","),",");","+=",",","...","//","//图片的宽","//图片的混合色值","//图片高度","//对齐方式","//混合模式","//重复方式","0xe000","0xe614,","0xe90d","0xe914","0xec7d,","100,","100.0","100.0,","17所示:","18所示:","19所示(彩色):","200.0,","20所示:","21所示:","22所示:","24.0,","3.5","3.5.1","3.5.2","3.5:图片和icon","50,","50.0,","=","@overrid","[","\\ue000\";","\\ue90d\";","],","].map((e){","accessible:","alignment.center,","asset:","assetimage(\"images/avatar.png\"),","assets:","blendmode.difference,","book","boxfit.contain,","boxfit.cover,","boxfit.fill,","boxfit.fitheight,","boxfit.fitwidth,","boxfit.none,","boxfit.scaledown,","build(buildcontext","child:","children:","class","color:","colorblendmode:","colorblendmode:在图片绘制时可以对每一个像素进行颜色混合处理,color指定混合色,而colorblendmode指定混合模式,下面是一个简单的示例:","colors.blue,","colors.green","colors.green,),","colors.purple,),","color和","column(","const","contain:这是图片的默认适应规则,图片会在保证图片本身长宽比不变的情况下缩放以适应当前显示空间,图片不会变形。","context)","cover:会按图片的长宽比放大后居中填满显示空间,图片不会变形,超出显示空间部分会被剪裁。","design:","design图标的icondata静态变量定义。","design字体图标","design所有图标可以在其官网查看:https://material.io/tools/icons/","design的字体图标,在pubspec.yaml文件中的配置如下","e,","e000","e90d","e914","edgeinsets.all(16.0),","error:","extend","family:","fill:会拉伸填充满显示空间,图片本身长宽比会发生变化,图片会变形。","fingerprint:","fit:","fitheight:图片的高度会缩放到显示空间的高度,宽度会按比例缩放,然后居中显示,图片不会变形,超出显示空间部分会被剪裁。","fitwidth:图片的宽度会缩放到显示空间的宽度,高度会按比例缩放,然后居中显示,图片不会变形,超出显示空间部分会被剪裁。","fit:该属性用于在图片的显示空间和图片本身大小不同时指定图片的适应模式。适应模式是在boxfit中定义,它是一个枚举类型,有如下值:","flutter:","flutter中,可以像web开发一样使用iconfont,iconfont即“字体图标”,它是将图标做成字体文件,然后通过指定不同的字符而显示不同的图片。","flutter中,我们可以通过image组件来加载并显示图片,image的数据源可以是asset、文件、内存以及网络。","flutter框架对加载过的图片是有缓存的(内存),默认最大缓存数量是1000,最大缓存空间为100m。关于image的详细内容及原理我们将会在后面进阶部分深入介绍。","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:","imageandiconrout","imageprovid","imagerepeat.norepeat,","imagerepeat.repeati","images/avatar.png","image也提供了一个快捷的构造函数image.asset用于从asset中加载、显示图片:","image也提供了一个快捷的构造函数image.network用于从网络加载、显示图片:","image在显示图片时定义了一系列参数,通过这些参数我们可以控制图片的显示外观、大小、混合效果等。我们看一下image的主要参数:","image缓存","img,","img=assetimage(\"imgs/avatar.png\");","import","mainaxisalignment.center,","mainaxisalignment:","matchtextdirection:","materi","myicon","myicons{","networkimage(","none:图片没有适应策略,会在显示空间内显示图片,如果图片比显示空间大,则显示空间只会显示图片中间部分。","padding(","padding:","repeat:","repeat:当图片本身大小小于显示空间时,指定图片的重复规则。简单示例如下:","return","row(","singlechildscrollview(","sizedbox(","statelesswidget","static","string","style:","text(e.fit.tostring())","text(icons,","textstyle(","this.align","this.color,","this.colorblendmode,","this.fit,//缩放模式","this.height,","this.repeat","this.width,","true","us","var","wechat","widget","widget有一个必选的image参数,它对应一个imageprovider。下面我们分别演示一下如何从asset和网络加载图片。","width:","width、height:用于设置图片的宽、高,当不指定宽高时,图片会根据当前父容器的限制,尽可能的显示其原始大小,如果只设置width、height的其中一个,那么另一个属性默认会按比例缩放,但可以通过下面介绍的fit属性来指定适应规则。","yaml","{","}","})","}).tolist()","一图胜万言!","为了使用方便,我们定义一个myicons类,功能和icons类一样:将字体文件中的所有图标都定义成静态变量:","从asset中加载图片","从网络加载图片","体积小:可以减小安装包大小。","使用","使用materi","使用自定义字体图标","假设我们项目中需要使用一个书籍图标和微信图标,我们打包下载后导入:","加载该图片","参数","可以应用文本样式:可以像文本一样改变字体图标的颜色、大小对齐等。","可以通过textspan和文本混用。","图标","图片","图片及icon","在flutter开发中,iconfont和图片相比有如下优势:","在pubspec.yaml中的flutter部分添加如下内容:","在字体文件中,每一个字符都对应一个位码,而每一个位码对应一个显示字形,不同的字体就是指字形不同,即字符对应的字形是不同的。而在iconfont中,只是将位码对应的字形做成了图标,所以不同的字符最终就会渲染成不同的图标。","在工程根目录下创建一个images目录,并将图片avatar.png拷贝到该目录。","完整的示例代码如下:","导入字体图标文件;这一步和导入字体文件相同,假设我们的字体图标文件保存在项目根目录下,路径为\"fonts/iconfont.ttf\":","微信图标","我们也可以使用自定义字体图标。iconfont.cn上有很多字体图标素材,我们可以选择自己需要的图标打包下载后,会生成一些不同格式的字体文件,在flutter中,我们使用ttf格式即可。","我们看一个简单的例子:","我们队一个宽高相同的头像图片应用不同的fit值,效果如图3","文件对缩进严格,所以必须严格按照每一层两个空格的方式进行缩进,此处assets前面应有两个空格。","是一个抽象类,主要定义了图片数据获取的接口load(),从不同的数据源获取图片需要实现不同的imageprovid","注意:","由于","矢量的:iconfont都是矢量图标,放大不会影响其清晰度。","运行上面两个示例,图片加载成功后如图3","运行后效果如图3","运行效果如图3","通过这个示例可以看到,使用图标就像使用文本一样,但是这种方式需要我们提供每个图标的码点,这并对开发者不友好,所以,flutter封装了icondata和icon来专门显示字体图标,上面的例子也可以用如下方式实现:",",如assetimage是实现了从asset中加载图片的imageprovider,而networkimage实现了从网络加载图片的imageprovider。"],"chapter3/radio_and_checkbox.html":[")","),",");",",","//维护单选开关状态","//选中时的颜色","//重新构建页面","3.6","3.6:单选框和复选框","=>","@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","framework重新构建ui。","materi","new","onchanged:(value){","return","setstate(()","state","statefulwidget","switch(","switchandcheckboxtestrout","switch和checkbox属性比较简单,读者可以查看api文档,它们都有一个activecolor属性,用于设置激活态的颜色。至于大小,到目前为止,checkbox的大小是固定的,无法自定义,而switch只能定义宽度,高度也是固定的。值得一提的是checkbox有一个属性trist","value:","widget","{","}","});","},","。在其build方法中分别构建了一个switch和checkbox,初始状态都为选中状态,当用户点击时,会将状态置反,然后回调用setstate()通知flutt","。如果tristate值为true时,value的值会增加一个状态null,读者可以自行了解。","上面代码中,由于需要维护switch和checkbox的选中状态,所以switchandcheckboxtestroute继承自statefulwidget","单选开关和复选框","属性及外观","总结","组件库中提供了material风格的单选开关switch和复选框checkbox,它们都是继承自statelesswidget,所以它们本身不会保存当前选择状态,因此它们的选中状态都是由父组件来管理的。当switch或checkbox被点击时,会触发它们的onchanged回调,我们可以在此回调中处理选中状态改变逻辑。下面看一个简单的例子:","通过switch和checkbox我们可以看到,虽然它们本身是与状态(是否选中)关联的,但它们却不是自己来维护状态,而是需要父组件来管理状态,然后当用户点击时,再通过事件通知给父组件,这样是合理的,因为switch和checkbox是否选中本就和用户数据关联,而这些用户数据也不可能是它们的私有状态。我们在自定义组件时也应该思考一下哪种状态的管理方式最为合理。",",表示是否为三态,其默认值为fals",",这时checkbox有两种状态即“选中”和“不选中”,对应的value值为true和fals"],"chapter3/input_and_form.html":["\"email\",","\"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),","24所示:","25所示:","26所示:","27所示:","28.0),","28所示:","29所示:","3.7","3.7.1","3.7.2","3.7:输入框和表单","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((){","appbar(","appbar:","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","material组件库中提供了输入框组件textfield和表单组件form。下面我们分别介绍一下。","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:","phone","prefixicon:","print(\"onchange:","print(_unamecontroller.text)","print(_unamecontroller.text);","print(focusnode.hasfocus);","raisedbutton(","return","row(","scaffold(","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系统下键盘样式如图3","textinputtyp","textinputtype.emailaddress,","textinputtype枚举值","textstyl","textstyle(color:","theme","theme(","theme.of(context).copywith(","this.cursorcolor,","this.cursorradius,","this.cursorwidth","title:text(\"form","true,","underlineinputborder(","url","v","validator,","validator:","valuechang","void","voidcallback","widget","width:","willpopcallback","world!\";","{","|","}","})","});","},","”","下滑线浅灰色,宽度1像素","两种方式相比,onchanged是专门用于监听文本变化,而controller的功能却多一些,除了能监听文本变化外,它还可以设置默认值、选择文本,下面我们看一个例子:","为了方便使用,flutter提供了一个textformfield组件,它继承自formfield类,也是textfield的一个包装类,所以除了formfield定义的属性之外,它还包括textfield的属性。","之所以如此,是由于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去嵌套定义样式,如:","我们要实现的效果如图3","控制焦点","数字;会弹出数字键盘","文本输入键盘","是否自动获取焦点。","来获取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()方法校验用户名密码是否合法,校验","输入框内编辑文本在水平方向的对齐方式。","输入框及表单","运行后效果如图3","运行后,效果如图3","运行效果如图3","运行效果:","这是一种写法","这是第二种写法","通过_formkey.currentst","通过builder来获取raisedbutton所在widget树的真正context(element)","通过controller监听,如:","通过controller直接获取。","通过controller获取输入框内容","通过后再提交数据。","通过这种组件组合的方式,也可以定义背景圆角等。一般来说,优先通过decoration来自定义样式,如果decoration实现不了,再用widget组合的方式。",":maxlength代表输入框文本的最大长度,设置后输入框右下角会显示输入的文本计数。maxlengthenforced决定当输入文本长度超过maxlength时是否阻止输入,为true时会阻止输入,为false时不会阻止输入但输入框会变红。"],"chapter3/progress.html":["'package:flutter/material.dart';",")","),",");","...",".5,",".7,",".animate(_animationcontroller),","//","//动画执行时间3秒","//进度条显示50%","//进度条显示50%,会显示一个半圆","100,","130,","3));","3,","3.8","3.8:进度指示器","30所示:","31所示:","32所示:","33所示:","4.0,","=","=>","@overrid","[","],","_animationcontrol","_animationcontroller.addlistener(()","_animationcontroller.dispose();","_animationcontroller.forward();","_animationcontroller.value,","_animationcontroller;","_progressroutest","_progressroutestate();","alwaysstoppedanimation(colors.blue),","anim","animationcontrol","animationcontroller(vsync:","backgroundcolor,","backgroundcolor:","backgroundcolor:指示器的背景色。","build(buildcontext","child:","children:","circularprogressind","circularprogressindicator(","circularprogressindicator({","circularprogressindicator是一个圆形进度条,定义如下:","class","color","colors.blue)","colors.grey,","colors.grey[200],","colortween(begin:","column(","context)","createstate()","dispose()","doubl","duration(seconds:","duration:","edgeinsets.all(16),","end:","extend","flutter_spinkit","height:","import","initstate()","linearprogressind","linearprogressindicator(","linearprogressindicator({","linearprogressindicator是一个线性、条状的进度条,定义如下:","materi","new","padding(","padding:","progressrout","return","setstate(()","singlechildscrollview(","singletickerproviderstatemixin","sizedbox(","state","statefulwidget","super.dispose();","super.initstate();","this,","this.strokewidth","value,","value:","valuecolor,","valuecolor:","value:value表示当前的进度,取值范围为[0,1];如果value为null时则指示器会执行一个循环动画(模糊进度);当value不为null时,指示器为一个具体进度的进度条。","void","widget","width:","{","{}));","}","})","从灰色变成蓝色","其实linearprogressindicator和circularprogressindicator都是取父容器的尺寸作为绘制的边界的。知道了这点,我们便可以通过尺寸限制类widget,如constrainedbox、sizedbox","前三个参数和linearprogressindicator相同,不再赘述。strokewidth","前面说过可以通过valuecolor对进度条颜色做动画,关于动画我们将在后面专门的章节详细介绍,这里先给出一个例子,读者在了解了flutter动画一章后再回过头来看。","包提供了多种风格的模糊进度指示器,读者若是感兴趣,可以参考。","圆形进度条直径指定为100","定制进度指示器风格样式,可以通过custompaint","宽高不等","我们可以发现linearprogressindicator和circularprogressindicator,并没有提供设置圆形进度条尺寸的参数;如果我们希望linearprogressindicator的现细一些,或者希望circularprogressindicator的圆大一些该怎么做?","我们实现一个进度条在3秒内从灰色变成蓝色的动画:","指示器的进度条颜色;值得注意的是,该值类型是animation,这允许我们对进度条的颜色也可以指定动画。如果我们不需要对进度条颜色执行动画,换言之,我们想对进度条应用一种固定的颜色,此时我们可以通过alwaysstoppedanimation来指定。","来自定义绘制逻辑,实际上linearprogressindicator和circularprogressindicator也正是通过custompainter来实现外观绘制的。关于custompainter,我们将在后面“自定义widget”一章中详细介绍。","模糊进度条(会执行一个动画)","模糊进度条(会执行一个旋转动画)","注意,如果circularprogressindicator显示空间的宽高不同,则会显示为椭圆。如:","示例","第一个进度条会执行旋转动画,而第二个进度条是静止的,它停在50%的位置。","第一个进度条在执行循环动画:蓝色条一直在移动,而第二个进度条是静止的,停在50%的位置。","线性进度条高度指定为3","组件库中提供了两种进度指示器:linearprogressindicator和circularprogressindicator,它们都可以同时用于精确的进度指示和模糊的进度指示。精确进度通常用于任务进度可以计算和预估的情况,比如文件下载;而模糊进度则用户任务进度无法准确获得的情况,如下拉刷新,数据提交等。","自定义尺寸","自定义进度指示器样式","表示圆形进度条的粗细。示例如下:","运行效果如图3","进度指示器","进度色动画","(我们将在后面容器类组件一章中介绍)来指定尺寸,如:"],"chapter4/":["层叠布局stack、posit","布局类widgets简介","弹性布局flex","本章目录","流式布局wrap、flow","第四章:布局类组件","线性布局row、column"],"chapter4/intro.html":["(leaf/singlechild/multichild)renderobjectwidget","4.1","4.1:布局类组件简介",">","leafrenderobjectel","leafrenderobjectwidget","multichildrenderobjectel","multichildrenderobjectwidget","renderobjectwidget","renderobjectwidget类中定义了创建、更新renderobject的方法,子类必须实现他们,关于renderobject我们现在只需要知道它是最终布局、渲染ui界面的对象即可,也就是说,对于布局类组件来说,其布局算法都是通过对应的renderobject对象来实现的,所以读者如果对接下来介绍的某个布局类组件的原理感兴趣,可以查看其对应的renderobject的实现,比如stack(层叠布局)对应的renderobject对象就是renderstack,而层叠布局的实现就在renderstack中。","singlechildrenderobjectel","singlechildrenderobjectwidget","widget","widget树的叶子节点,用于没有子节点的widget,通常基础组件都属于这一类,如text、image。","。","包含一个子widget,如:constrainedbox、decoratedbox等","包含多个子widget,一般都有一个children参数,接受一个widget数组。如row、column、stack等","在本章中,为了让读者对布局类widget有个快速的认识,所以我们并不会深入到renderobject的细节中去。在学习本章时,读者的重点是掌握不同布局组件的布局特点,具体原理和细节等我们对flutter整体入门后,感兴趣的话再去研究。","对应的element","布局类组件就是指直接或间接继承(包含)multichildrenderobjectwidget的widget,它们一般都会有一个children属性用于接收子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":["\"),","\",","'package:flutter/material.dart';",")","),",");","...","//垂直方向居中对齐","//有效,外层colum高度为整个屏幕","//测试row对齐方式,排除column默认居中对齐的干扰","1所示:","2所示:","30.0),),","3所示:","4.2","4.2:线性布局(row、column)","4所示:","=","@overrid","[","[],","],","boxconstraints(minwidth:","build(buildcontext","centercolumnrout","center三个值),不同的是crossaxisalignment的参考系是verticaldirection,即verticaldirection值为verticaldirection.down时crossaxisalignment.start指顶部对齐,verticaldirection值为verticaldirection.up时,crossaxisalignment.start指底部对齐;而crossaxisalignment.end和crossaxisalignment.start正好相反;","child:","children","children:","class","color:","colors.green,","colors.red,","column","column(","column可以在垂直方向排列其子组件。参数和row一样,不同的是布局方向为垂直,主轴纵轴正好相反,读者可类比row来理解,下面看一个例子:","const","constrainedbox(","constraints:","container(","context)","crossaxisalign","crossaxisalignment.center,","crossaxisalignment.start,","crossaxisalignment:","crossaxisalignment:表示子组件在纵轴方向的对齐方式,row的高度等于子组件中最高的子元素高度,它的取值和mainaxisalignment一样(包含start、end、","double.infinity),","edgeinsets.all(16.0),","expanded(","extend","hello","import","jack","list","mainaxisalign","mainaxisalignment.center,","mainaxisalignment.end,","mainaxisalignment.start,","mainaxisalignment:","mainaxisalignment:表示子组件在row所占用的水平空间内对齐方式,如果mainaxissize值为mainaxissize.min,则此属性无意义,因为子组件的宽度等于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表示尽可能少的占用水平空间,当子组件没有占满水平剩余空间,则row的实际宽度等于所有子组件占用的的水平空间;","padding(","padding:","return","row","row(","row({","row可以在水平方向排列其子widget。定义如下:","statelesswidget","style:","text(\"","text(\"hello","text(\"hi\"),","text(\"i","text(\"world\"),","textdirect","textdirection,","textdirection.rtl,","textdirection:","textdirection:表示水平方向子组件的布局顺序(是从左往右还是从右往左),默认为系统当前locale环境的文本方向(如中文、英语都是从左往右,而阿拉伯语是从右往左)。","textstyle(fontsize:","verticaldirect","verticaldirection.down,","verticaldirection.up,","verticaldirection:","verticaldirection:表示row纵轴(垂直)的对齐方向,默认是verticaldirection.down,表示从上到下。","widget","widget;我们将在后面章节中介绍。","world","{","}","})","主轴和纵轴","使用center","如果row里面嵌套row,或者column里面再嵌套column,那么只有对最外面的row或column会占用尽可能大的空间,里面row或column所占用的空间为实际大小,下面以column为例说明:","如果要让里面的column占满外部column,可以使用expand","实际上,row和column都只会在主轴方向占用尽可能大的空间,而纵轴的长度则取决于他们最大子元素的长度。如果我们想让本例中的两个文本控件在整个手机屏幕中间对齐,我们有两种方法:","实际运行结果如图4","对于线性布局,有主轴和纵轴之分,如果布局是沿水平方向,那么主轴就是指水平方向,而纵轴即垂直方向;如果布局沿垂直方向,那么主轴就是指垂直方向,而纵轴就是水平方向。在线性布局中,有两个定义对齐方式的枚举类mainaxisalignment和crossaxisalignment,分别代表主轴对齐和纵轴对齐。","将column的宽度指定为屏幕宽度;这很简单,我们可以通过constrainedbox或sizedbox(我们将在后面章节中专门介绍着两个widget)来强制更改宽度限制,例如:","将minwidth设为double.infinity,可以使宽度占用尽可能多的空间。","属性为crossaxisalignment.center,那么子项在column纵轴方向(此时为水平方向)会居中对齐。注意,在水平方向对齐是有边界的,总宽度为column占用空间的实际宽度,而实际的宽度取决于子项中宽度最大的widget。在本例中,column有两个子widget,而显示“world”的text宽度最大,所以column的实际宽度则为text(\"world\")","我们将在介绍弹性布局时详细介绍expanded。","所谓线性布局,即指沿水平或垂直方向排布子组件。flutter中通过row和column来实现线性布局,类似于android中的linearlayout控件。row和column都继承自flex,我们将在弹性布局一节中详细介绍flex。","特殊情况","由于我们指定了","由于我们没有指定column的mainaxissize,所以使用默认值mainaxissize.max,则column会在垂直方向占用尽可能多的空间,此例中为屏幕高度。","的宽度,所以居中对齐后text(\"hi\")会显示在text(\"world\")的中间部分。","示例","线性布局(row和column)","组件:","解释:","解释:第一个row很简单,默认为居中对齐;第二个row,由于mainaxissize值为mainaxissize.min,row的宽度等于两个text的宽度和,所以对齐是无意义的,所以会从左往右显示;第三个row设置textdirection值为textdirection.rtl,所以子组件会从右向左的顺序排列,而此时mainaxisalignment.end表示左对齐,所以最终显示结果就是图中第三行的样子;第四个row测试的是纵轴的对齐方式,由于两个子text字体不一样,所以其高度也不同,我们指定了verticaldirection值为verticaldirection.up,即从低向顶排列,而此时crossaxisalignment值为crossaxisalignment.start表示底对齐。","请阅读下面代码,先想象一下运行的结果:","运行效果如图4",":子组件数组。"],"chapter4/flex.html":["!=","),",");","...","//flex的三个子widget,在垂直方向按2:1:1来占用100像素的空间","//flex的两个子widget按1:2来占据水平空间","//弹性布局的方向,","0),","1,","100.0,","1})","2,","20.0),","30.0,","4.3","4.3:弹性布局(flex)","5所示:",":","=",">","@overrid","@requir","[","[],","],","assert(flex","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","final","flex","flex(","flex({","flex,","flex:","flex;","flexlayouttestrout","flex参数为弹性系数,如果为0或null,则child是没有弹性的,即不会被扩伸占用的空间。如果大于0,所有的expanded按照其flex的比例来分割主轴的全部空闲空间。下面我们看一个例子:","flex组件可以沿着水平或垂直方向排列子组件,如果你知道主轴方向,使用row或column会方便一些,因为row和column都继承自flex,参数基本相同,所以能使用flex的地方基本上都可以使用row或column。flex本身功能是很强大的,它也可以和expanded组件配合实现弹性布局。接下来我们只讨论flex和弹性布局相关的属性(其它属性已经在介绍row和column时介绍过了)。","flex继承自multichildrenderobjectwidget,对应的renderobject为renderflex,renderflex中实现了其布局算法。","height:","int","key);","key,","list","null),","padding(","padding:","return","row、column和flex子组件所占用的空间。","row默认为水平方向,column默认为垂直方向","sizedbox(","sizedbox.shrink(),","spacer","spacer(","spacer({key","statelesswidget","super(key:","this.direction,","this.flex","widget","{","}","})","可以按比例“扩伸”","小结","弹性布局允许子组件按照一定比例来分配父容器空间。弹性布局的概念在其它ui系统中也都存在,如h5中的弹性盒子布局,android中的flexboxlayout等。flutter中的弹性布局主要通过flex和expanded来配合实现。","弹性布局比较简单,唯一需要注意的就是row、column以及flex的关系。","弹性布局(flex)","示例中的spacer的功能是占用指定比例的空间,实际上它只是expanded的一个包装类,spacer的源码如下:","运行效果如图4"],"chapter4/wrap_and_flow.html":["(int",")","),",");","...","//","//沿主轴方向居中","//计算每一个子widget的位置","0.0,","0;","4.0,","4.4","4.4.1","4.4.2","4.4:流式布局(wrap、flow)","6所示:","7所示:","8.0,","80.0,","8:","=","@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;","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","{","})","下面是wrap的定义:","下面看一个示例子:","不能自适应子组件大小,必须通过指定父容器大小或实现testflowdelegate的getsize返回固定大小。","主轴(水平)方向间距","使用复杂。","可以看到我们主要的任务就是实现paintchildren,它的主要任务是确定每个子widget位置。由于flow不能自适应子widget的大小,我们通过在getsize返回一个固定大小来指定flow的大小。","可以看到,右边溢出部分报错。这是因为row默认只有一行,如果超出屏幕不会折行。我们把超出屏幕显示范围会自动折行的布局称为流式布局。flutter中通过wrap和flow来支持流式布局,将上例中的row换成wrap后溢出部分则会自动折行,下面我们分别介绍wrap和flow.","在介绍row和colum时,如果子widget超出屏幕范围,则会报溢出错误,如:","实现testflowdelegate:","性能好;flow是一个对子组件尺寸以及位置调整非常高效的控件,flow用转换矩阵在对子组件进行位置调整的时候进行了优化:在flow定位过后,如果子组件的尺寸或者位置发生了变化,在flowdelegate中的paintchildren()方法中调用context.paintchild","我们一般很少会使用flow,因为其过于复杂,需要自己实现子widget的位置转换,在很多场景下首先要考虑的是wrap是否满足需求。flow主要用于一些需要自定义布局策略或性能要求较高(如动画中)的场景。flow有如下优点:","我们可以看到wrap的很多属性在row(包括flex和column)中也有,如direction、crossaxisalignment、textdirection、verticaldirection等,这些参数意义是相同的,我们不再重复介绍,读者可以查阅前面介绍row的部分。读者可以认为wrap和flex(包括row和column)除了超出显示范围后wrap会折行外,其它行为基本相同。下面我们看一下wrap特有的几个属性:","我们对六个色块进行自定义流式布局:","流式布局","灵活;由于我们需要自己实现flowdelegate的paintchildren()方法,所以我们需要自己计算每一个组件的位置,因此,可以自定义布局策略。","示例:","纵轴(垂直)方向间距","缺点:","运行效果如图4","运行效果见图4","进行重绘,而context.paintchild在重绘时使用了转换矩阵,并没有实际调整组件位置。"],"chapter4/stack.html":[")","),",");",",","//指定未定位或部分定位widget的对齐方式","//未定位widget占满stack整个空间","//通过constrainedbox来确保stack占满屏幕","10所示:","18.0,","4.5","4.5:层叠布局(stack、positioned)","9:","=","@requir","[","[],","],","alignment:alignment.cent","alignmentdirectional.topstart,","alignment:此参数决定如何去对齐没有定位(没有使用positioned)或部分定位的子组件。所谓部分定位,在这里特指没有在某一个轴上定位:left、right为横轴,top、bottom为纵轴,只要包含某个轴上的一个定位属性就算在该轴上有定位。","bottom分别代表离stack左、上、右、底四边的距离。width和height用于指定需要定位元素的宽度和高度。注意,positioned的width、height","bottom来定位组件,举个例子,在水平方向时,你只能指定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:此参数用于确定没有定位的子组件如何去适应stack的大小。stackfit.loose表示使用子组件的大小,stackfit.expand表示扩伸到stack的大小。","friend\"),","friend\"),和第二个text原理一样,只不过是水平方向没有定位,则水平方向居中。","jack\"),","jack\")只指定了水平方向的定位(left),所以属于部分定位,即垂直方向上没有定位,那么它在垂直方向的对齐方式则会按照alignment指定的对齐方式对齐,即垂直方向居中。对于第三个子文本组件text(\"your","key","key,","left:","left、top","list","overflow.clip,","overflow:此属性决定如何显示超出stack显示空间的子组件;值为overflow.clip时,超出部分会被剪裁(隐藏),值为overflow.vis","posit","positioned(","positioned({","stack","stack(","stack({","stackfit.expand,","stackfit.loose,","stack、posit","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,所以它会居中显示。第二个子文本组件text(\"i","world\",style:","})","、right、","可以看到,由于第二个子文本组件没有定位,所以fit属性会对它起作用,就会占满stack。由于stack子元素是堆叠的,所以第一个子文本组件被第二个遮住了,而第三个在最上层,所以可以正常显示。","和其它地方的意义稍微有点区别,此处用于配合left、top","在下面的例子中,我们通过对几个text组件的定位来演示stack和positioned的特性:","层叠布局","层叠布局和web中的绝对定位、android中的frame布局是相似的,子组件可以根据距父容器四个角的位置来确定自身的位置。绝对定位允许子组件堆叠起来(按照代码中声明的顺序)。flutter中使用stack和positioned这两个组件来配合实现绝对定位。stack允许子组件堆叠,而positioned用于根据stack的四个角来确定子组件的位置。","我们给上例中的stack指定一个fit属性,然后将三个子文本组件的顺序调整一下:","时则不会。","显示效果如图4","由于第一个子文本组件text(\"hello","示例","运行效果见图4"],"chapter4/alignment.html":["(alignment.x*childwidth/2+childwidth/2,","(fractionaloffse.x",")","),","*","//右上角","0.0)","0.6),","0.6)带入坐标转换公式得flutterlogo实际偏移为(12,36),和实际运行效果吻合。","1.0)","1.0);","1.0)代表右侧底部终点,而alignment(1.0,","1.0)带入上面公式,可得flutterlogo的实际偏移坐标正是(60,0)。下面再看一个例子:","1.0,","11所示:","120.0,","12所示:","13所示下:","1到1分别代表矩形左边到右边的距离和顶部到底边的距离,因此2个水平(或垂直)单位则等于矩形的宽(或高),如alignment(","2,","4.6","4.6.1","4.6.2","4.6.3","4.6:对齐与相对定位(align)","60,",":","=","align","align(","align({","alignment(1.0,","alignment(2,0.0),","alignment(this.x,","alignment.center,","alignment.topright,","alignment.x*childheight+childheight/2)","alignment:","alignment可以通过其坐标转换公式将其坐标转为子元素的具体偏移坐标:","alignment唯一的区别就是坐标原点不同!fractionaloffset","alignment继承自alignmentgeometry,表示矩形内的一个点,他有两个属性x、y,分别表示在水平和垂直方向的偏移,alignment定义如下:","alignment,它和","align和stack对比","center","center({","center组件","child","child);","child,","child:","childheight)","childwidth,","class","color:","colors.blue[50],","const","container(","doubl","extend","flutterlogo","flutterlogo(","fractionaloffse.i","fractionaloffset","fractionaloffset(0.2,","fractionaloffset,我们将在下面的示例中详细介绍。","height:","heightfactor,","heightfactor:","key","key,","relative)非常像,是的!在大多数时候,我们可以直接使用align组件来实现web中相对定位的效果,读者可以类比记忆。","sdk提供的一个组件,内容就是flutter的商标。在上面的例子中,我们显式指定了container的宽、高都为120。如果我们不显式指定宽高,而通过同时指定widthfactor和heightfactor","size:","stack可以有多个子元素,并且子元素可以堆叠,而align只能有一个子元素,不存在堆叠。","static","super(key:","this.align","this.heightfactor,","this.widthfactor,","this.y)","topright","widget","widget会以矩形的中心点作为坐标原点,即alignment(0.0,","width:","widthfactor,","widthfactor:","widthfactor和heightfactor是用于确定align","{","}","})","。x、y的值从","下面看一个例子:","为2也是可以达到同样的效果:","代表矩形的左侧顶点,而alignment(1.0,","值为alignment.center,所以,我们可以认为center组件其实是对齐方式确定(alignment.center)了的align。","其中childwidth为子元素的宽度,childheight为子元素高度。","则正是右侧顶点,即alignment.topright。为了使用方便,矩形的原点、四个顶点,以及四条边的终点在alignment类中都已经定义为了静态常量。","参数来确定坐标原点,不同的alignment会对应不同原点,最终的偏移是需要通过alignment的转换公式来计算出。","参数;由于align的构造函数中align","另外,我们通过alignment.topright将flutterlogo定位在container的右上角。那alignment.topright是什么呢?通过源码我们可以看到其定义如下:","可以看到center继承自align,它比align只少了一个align","可以看到它只是alignment的一个实例,下面我们介绍一下alignment。","可以看到,align和stack/positioned都可以用于指定子元素相对于父元素的偏移,但它们还是有两个主要区别:","和fractionaloffset,读者需要理解这两种偏移类的区别及各自的坐标转化公式。另外,在此建议读者在需要制定一些精确的偏移时应优先使用fractionaloffset,因为它的坐标原点和布局系统相同,能更容易算出实际偏移。","因为flutterlogo的宽高为60,则align的最终宽高都为2*60=120。","在上一节中我们讲过通过stack和positioned,我们可以指定一个或多个子元素相对于父元素各个边的精确偏移,并且可以重叠。但如果我们只想简单的调整一个子元素在父元素中的位置的话,使用align组件会更简单一些。","在后面,我们又介绍了align组件和stack/positioned、center的关系,读者可以对比理解。","定位参考系统不同;stack/positioned定位的的参考系可以是父容器矩形的四个顶点;而align则需要先通过align","实际偏移","实际运行效果如图4","对齐与相对定位(align)","总结","我们先来看一个简单的例子:","我们可以先想象一下运行效果:将alignment(2,0.0)带入上述坐标转换公式,可以得到flutterlogo的实际偏移坐标为(90,30)。实际运行如图4","我们在前面章节的例子中已经使用过center组件来居中子元素了,现在我们正式来介绍一下它。通过查找sdk源码,我们看到center组件定义如下:","我们将fractionaloffset(0.2,","是flutter","是一个抽象类,它有两个常用的子类:alignment和","本节重点介绍了align组件及两种偏移类align","现在我们再看看上面的示例,我们将alignment(1.0,","的坐标原点为矩形的左侧顶点,这和布局系统的一致,所以理解起来会比较容易。fractionaloffset的坐标转换公式为:","示例","组件可以调整子组件的位置,并且可以根据子组件的宽高来确定自身的的宽高,定义如下:","组件本身宽高的属性;它们是两个缩放因子,会分别乘以子元素的宽、高,最终的结果就是align","组件的宽高。","继承自","运行效果如图4","还有,熟悉web开发的同学可能会发现align组件的特性和web开发中相对定位(position:","需要一个alignmentgeometry类型的值,表示子组件在父组件中的起始位置。alignmentgeometri"],"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像素补白","//显式指定对齐方式为左对齐,排除对齐干扰","1所示:","5.1","5.1:填充(padding)","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,","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的不同用法,比较简单,源码如下:","分别指定四个方向的补白","填充(padding)","我们看看edgeinsets提供的便捷方法:","所有方向均使用相同数值的填充。","示例","运行效果如图5"],"chapter5/constrainedbox_and_sizebox.html":[")","),",");","...,","//“去除”父级限制","//宽度尽可能大","//最大宽度","//最大高度","//最小宽度","//最小高度","//最小高度为50像素","//父","0.0,","100.0),","20,","20.0),","20.0),//子","2所示:","3,","3所示:","4所示:","5.0,","5.2","5.2.1","5.2.2","5.2.3","5.2.4","5.2:尺寸限制类容器(constrainedbox等)","50.0","5所示:","60.0),","60.0,","7所示:","80.0)","80.0),","80.0)作为子组件的约束。","80.0)等价于:","80.0,","80.0,height:","80.0,maxheight:","80.0,maxwidth:","80.0,minwidth:","8所示:","90.0,","=","@overrid","[","],","actions:","additionalconstraints:","alwaysstoppedanimation(colors.white70),","appbar(","boxconstraint","boxconstraints(","boxconstraints(minheight:","boxconstraints(minwidth:","boxconstraints({","boxconstraints.expand()可以生成一个尽可能大的用以填充另一个容器的boxconstraints。除此之外还有一些其它的便捷函数,读者可以查看api文档。","boxconstraints.tightfor(width:","boxconstraints用于设置限制条件,它的定义如下:","boxconstraints还定义了一些便捷的构造函数,用于快速生成特定限制规则的boxconstraints,如boxconstraints.tight(s","boxdecoration(color:","child:","circularprogressindicator(","colors.red),","const","constrainedbox","constrainedbox(","constrainedbox用于对子组件添加额外的约束。例如,如果你想让子组件的最小高度是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用于给子元素指定固定的宽高,如:","strokewidth:","text(title),","this.maxheight","this.maxwidth","this.minheight","this.minwidth","title:","unconstrainedbox","unconstrainedbox(","unconstrainedbox不会对子组件产生任何限制,它允许其子组件按照其本身大小绘制。一般情况下,我们会很少直接使用此组件,但在\"去除\"多重限制的时候也许会有帮助,我们看下下面的代码:","valuecolor:","widget","width:","{","}","})","“去除”了父constrainedbox的限制,则最终会按照子constrainedbox的限制来绘制redbox,即90×20:","上面代码中,如果没有中间的unconstrainedbox,那么根据上面所述的多重限制规则,那么最终将显示一个90×100的红色框。但是由于unconstrainedbox","上面代码运行后,效果如图5","上面我们有父子两个constrainedbox,他们的限制条件不同,运行后效果如图5","但是,读者请注意,unconstrainedbox对父组件限制的“去除”并非是真正的去除:上面例子中虽然红色区域大小是90×20,但上方仍然有80的空白空间。也就是说父限制的minheight(100.0)仍然是生效的,只不过它不影响最终子元素redbox的大小,但仍然还是占有相应的空间,可以认为此时的父constrainedbox是作用于子unconstrainedbox上,而redbox只受子constrainedbox限制,这一点请读者务必注意。","其它尺寸限制类容器","可以根据父容器宽高的百分比来设置子组件宽高等,由于这些容器使用起来都比较简单,我们便不再赘述,读者可以自行了解。","可以看到,我们虽然将container的高度设置为5像素,但是最终却是50像素,这正是constrainedbox的最小高度限制生效了。如果将container的高度设置为80像素,那么最终红色区域的高度也会是80像素,因为在此示例中,constrainedbox只限制了最小高度,并未限制最大高度。","在实际开发中,当我们发现已经使用sizedbox或constrainedbox给子元素指定了宽高,但是仍然没有效果时,几乎可以断定:已经有父元素已经设置了限制!举个例子,如material组件库中的appbar(导航栏)的右侧菜单中,我们使用sizedbox指定了loading按钮的大小,代码如下:","多重限制","如果某一个组件有多个父级constrainedbox限制,那么最终会是哪个生效?我们看一个例子:","实际上sizedbox只是constrainedbox的一个定制,上面代码等价于:","尺寸限制类容器","尺寸限制类容器用于限制容器大小,flutter中提供了多种这样的容器,如constrainedbox、sizedbox、unconstrainedbox、aspectratio等,本节将介绍一些常用的。","思考题:对于maxwidth和maxheight,多重限制的策略是什么样的呢?","我们会发现右侧loading按钮大小并没有发生变化!这正是因为appbar中已经指定了actions按钮的限制条件,所以我们要自定义loading按钮大小,就必须通过unconstrainedbox来“去除”父元素的限制,代码如下:","我们先定义一个redbox,它是一个背景颜色为红色的盒子,不指定它的宽度和高度:","我们实现一个最小高度为50,宽度尽可能大的红色容器。","最终显示效果是宽90,高60,也就是说是子constrainedbox的minwidth生效,而minheight是父constrainedbox生效。单凭这个例子,我们还总结不出什么规律,我们将上例中父子限制条件换一下:","最终的显示效果仍然是90,高60,效果相同,但意义不同,因为此时minwidth生效的是父constrainedbox,而minheight是子constrainedbox生效。","生效了!","用于指定最大宽高、fractionallysizedbox","示例","而boxconstraints.tightfor(width:","而实际上constrainedbox和sizedbox都是通过renderconstrainedbox来渲染的,我们可以看到constrainedbox和sizedbox的createrenderobject()方法都返回的是一个renderconstrainedbox对象:","运行后效果如图5","运行效果如图5","通过上面示例,我们发现有多重限制时,对于minwidth和minheight来说,是取父子中相应数值较大的。实际上,只有这样才能保证父限制与子限制不冲突。","那么有什么方法可以彻底去除父constrainedbox的限制吗?答案是否定的!所以在此提示读者,在定义一个通用的组件时,如果要对子组件指定限制,那么一定要注意,因为一旦指定限制条件,子组件如果要进行相关自定义大小时将可能非常困难,因为子组件在不更改父组件的代码的情况下无法彻底去除其限制条件。","除了上面介绍的这些常用的尺寸限制类容器外,还有一些其他的尺寸限制类容器,比如aspectratio,它可以指定子组件的长宽比、limitedbox"],"chapter5/decoratedbox.html":[")","),","//3像素圆角","//圆角","//形状","//渐变","//背景混合模式","//背景渐变","//边框","//阴影","//阴影,可以指定多个","//颜色","18.0),","4.0","5.3","5.3:装饰容器(decoratedbox)","80.0,","9所示:","=","[","]","backgroundblendmode,","background:在子组件之后绘制,即背景装饰。","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可以在其子组件绘制前(或后)绘制一些装饰(decoration),如背景、边框、渐变等。decoratedbox定义如下:","decoration,","decoration:","decorationimag","decorationposit","decorationposition.background,","decoration:代表将要绘制的装饰,它的类型为decoration。decoration是一个抽象类,它定义了一个接口","edgeinsets.symmetric(horizontal:","foreground:在子组件之上绘制,即前景。","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。另外,上面的例子中使用了lineargradient类,它用于定义线性渐变的类,flutter中还提供了其它渐变配置类,如radialgradient、sweepgradient,读者若有需要可以自行查看api文档。","我们通常会直接使用boxdecoration类,它是一个decoration的子类,实现了常用的装饰元素的绘制。","装饰容器decoratedbox","运行后效果如图5"],"chapter5/transform.html":["'dart:math'",")","),",");",");",",","//将transform.rotate换成rotatedbox","//放大到1.5倍","//旋转90度","//旋转90度(1/4圈)","//沿y轴倾斜0.3弧度","//相对于坐标系原点的对齐方式","//默认原点为左上角,左移20像素,向上平移5像素","1,","1.5,","10所示:","11所示:","12所示:","13所示:","14所示:","15所示:","18.0),)","20.0,","5.0),","5.4","5.4:变换(transform)","[","],","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(","offset:","padding:","quarterturns:","rent!'),","rotatedbox","rotatedbox(","rotatedbox和transform.rotate功能相似,它们都可以对子组件进行旋转变换,但是有一点不同:rotatedbox的变换是在layout阶段,会影响在子组件的位置和大小。我们将上面介绍transform.rotate时的示例改一下:","row(","scale:","style:","text(\"hello","text(\"你好\",","text('apart","textstyle(color:","transform(","transform.rotate(","transform.rotate可以对子组件进行旋转变换,如:","transform.scale(","transform.scale(scale:","transform.scale可以对子组件进行缩小或放大,如:","transform.translate(","transform.translate接收一个offset参数,可以在绘制时沿x、y轴对子组件平移指定的距离。","transform:","transform可以在其子组件绘制时对其应用一些矩阵变换来实现一些特效。matrix4是一个4d矩阵,通过它我们可以实现各种矩阵操作,下面是一个例子:","transform的变换是应用在绘制阶段,而并不是应用在布局(layout)阶段,所以无论对子组件应用何种变化,其占用空间的大小和在屏幕上的位置都是固定不变的,因为这些是在布局阶段就确定的。下面我们具体说明:","world\")","world\"),","关于矩阵变换的相关内容属于线性代数范畴,本书不做讨论,读者有兴趣可以自行了解。本书中,我们把焦点放在flutter中一些常见的变换效果上。另外,由于矩阵变化时发生在绘制时,而无需重新布局和构建等过程,所以性能很好。","变换(transform)","平移","思考题:使用transform对其子组件先进行平移然后再旋转和先旋转再平移,两者最终的效果一样吗?为什么?","效果如图5","旋转","注意","注意:要使用math.pi需先进行如下导包。","由于rotatedbox是作用于layout阶段,所以子组件会旋转90度(而不只是绘制的内容),decoration会作用到子组件所占用的实际空间上,所以最终就是上图的效果,读者可以和前面transform.rotate示例对比理解。","由于矩阵变化只会作用在绘制阶段,所以在某些场景下,在ui需要变化时,可以直接通过矩阵变化来达到视觉上的ui改变,而不需要去重新触发build流程,这样会节省layout的开销,所以性能会比较好。如之前介绍的flow组件,它内部就是用矩阵变换来更新ui,除此之外,flutter的动画组件中也大量使用了transform以提高性能。","由于第一个text应用变换(放大)后,其在绘制时会放大,但其占用的空间依然为红色部分,所以第二个text会紧挨着红色部分,最终就会出现文字重合。","缩放","运行效果如图5"],"chapter5/container.html":["\"5.20\",",")","),",");","...",".98","//","//前景装饰","//卡片倾斜变换","//卡片内文字居中","//卡片大小","//卡片文字","//卡片阴影","//变换","//容器内补白","//容器内补白,属于decoration的装饰范围","//容器外填充","//容器外补白","//容器大小的限制条件","//容器的高度","//背景径向渐变","120.0),","150.0),","16所示的卡片:","2.0),","200.0,","4.0","40.0),","5.5","5.5:container容器","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的大多数属性在介绍其它容器时都已经介绍过了,不再赘述,但有两点需要说明:","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:","width,//容器的宽度","world!\"),","})","可以发现,直观的感觉就是margin的留白是在容器外部,而padding的留白是在容器内部,读者需要记住这个差异。事实上,container内margin和padding都是通过pad","可以看到container具备多种组件的功能,通过查看container源码,我们会很容易发现它正是前面我们介绍过的多种组件组合而成。在flutter中,container组件也正是组合优先于继承的实例。","实例","实现代码如下:","容器的大小可以通过width、height属性来指定,也可以通过constraints来指定;如果它们同时存在时,width、height优先。实际上container内部会根据width、height来生成一个constraints。","我们在前面的章节示例中多次用到过container组件,本节我们就详细介绍一下container组件。container是一个组合类容器,它本身不对应具体的renderobject,它是decoratedbox、constrainedbox、transform、padding、align等组件组合的一个多功能容器,所以我们只需通过一个container组件可以实现同时需要装饰、变换、限制的场景。下面是container的定义:","我们通过container来实现如图5","接下来我们来研究一下container组件margin和padding属性的区别:","组件来实现的,上面的示例代码实际上等价于:","背景色","背景装饰"],"chapter5/material_scaffold.html":["\"imgs/avatar.png\",","\"wendux\",","\"历史\",","\"图片\"];","()","(context)",")","),",");",",","...","...;","//","//中间位置空出","//其它属性见源码注释","//创建3个tab页","//均分底部导航栏横向空间","//如果leading为null,是否自动实现默认的leading按钮","//定义一个globalkey,","//导航栏","//导航栏右侧菜单","//导航栏最左侧widget,常见为抽屉菜单按钮或返回按钮。","//悬浮按钮","//抽屉","//标题是否居中","//生成tab菜单","//省略无关代码","//移除抽屉菜单顶部默认留白","//自定义图标","//设置key","//需要定义一个control","16.0),","18、图5","19所示:","1:","1;","20所示:","21所示:","22所示:","23所示效果的底部导航栏应该怎么做呢?","2:","38.0),","4.0,","5),","5.6","5.6.1","5.6.2","5.6.3","5.6.4","5.6.5","5.6:scaffold、tabbar、底部导航","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(","bottomnavigationbar:","bottomnavigationbaritem(icon:","build(buildcontext","builder(builder:","case","child:","children:","circularnotchedrectangle(),","class","clipoval(","color:","colors.blue,","colors.white),","colors.white,","column(","const","container(","context)","context,","context:","controller:","createstate()","crossaxisalignment.start,","crossaxisalignment:","currentindex:","demo,源码位于flutter源码中的examples目录下,笔者强烈建议用户将flutt","drawer(","drawer:","e)).tolist()","e)).tolist()),","edgeinsets.only(top:","edgeinsets.symmetric(horizontal:","expanded(","extend","fixedcolor:","floatingactionbutton","floatingactionbutton(","floatingactionbutton:","floatingactionbuttonlocation.centerdocked,","floatingactionbuttonlocation:","floatingactionbutton是material设计规范中的一种特殊button,通常悬浮在页面的某一个位置作为某种常用动作的快捷入口,如本节示例中页面右下角的\"➕\"号按钮。我们可以通过scaffold的floatingactionbutton属性来设置一个floatingactionbutton,同时通过floatingactionbuttonlocation属性来指定其在页面中悬浮的位置,这个比较简单,不再赘述。","flutter","fontweight.bold),","gallery中material组件部分的示例。","gallery是flutter官方提供的flutt","gallery示例中就有一个”钻石“形状的示例,读者感兴趣可以自行查看。","gallery示例跑起来,它是一个很全面的flutter示例应用,是非常好的参考demo,也是笔者学习flutter的第一手资料。","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组件库中提供了一个bottomappbar","material组件库中提供了一个tabbar组件,它可以快速生成tab菜单,下面是上图对应的源码:","material组件库提供了一些现成的组件来减少我们的开发任务。scaffold是一个路由页的骨架,我们使用它可以很容易地拼装出一个完整的页面。","material组件库提供了丰富多样的组件,本节介绍一些常用的组件,其余的读者可以自行查看文档或flutt","mediaquery.removepadding(","mydraw","mydrawer(),","mydrawer({","name\"),","new","onpressed:","onpressed:_onadd","ontap:","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:","tab组件有三个可选参数,除了可以指定文字外,还可以指定tab菜单图标,或者直接自定义组件样式。tab组件定义如下:","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:","true,","void","vsync:","widget","width:","{","{}),","}","})","}),","}).tolist(),","});","},","一个完整的数路由页可能会包含导航栏、抽屉菜单(drawer)以及底部tab导航菜单等。如果每个路由页面都需要开发者自己手动去实现这些,这会是一件非常麻烦且无聊的事。幸运的是,flutt","一个导航栏","一个导航栏骨架","一章。flutter还有一种通用的获取state对象的方法——通过globalkey来获取!","上面代码中我们用到了如下组件:","上面代码首先创建了一个tabcontrol","下面我们来分别介绍一下它们。","下面我们通过“bottom”属性来添加一个导航栏底部tab按钮组,将要实现的效果如图5","代码中打开抽屉菜单的方法在scaffoldstate中,通过scaffold.of(context)可以获取父级最近的scaffold","代码运行效果如图5","创建control","另外,material组件库也提供了一个pageview","可以看到左侧菜单已经替换成功。","可以看到,上面代码中没有控制打洞位置的属性,实际上,打洞的位置取决于floatingactionbutton的位置,上面floatingactionbutton的位置为:","右下角有一个悬浮的动作按钮","如果我们tab页可以滑动切换的话,还需要在滑动过程中更新tabbar指示器的偏移!显然,要手动处理这些是很麻烦的,为此,material库提供了一个tabbarview组件,通过它不仅可以轻松的实现tab页,而且可以非常容易的配合tabbar来实现同步切换和滑动状态同步,示例如下:","如果给scaffold添加了抽屉菜单,默认情况下scaffold会自动将appbar的leading设置为菜单按钮(如上面截图所示),点击它便可打开抽屉菜单。如果我们想自定义菜单图标,可以手动来设置leading,如:","实现代码如下:","导航栏右侧菜单","导航栏右边有一个分享按钮","导航栏底部菜单,通常为tab按钮组","导航栏阴影","底部tab导航栏","底部导航","底部导航栏","底部导航栏打一个圆形的洞","开发者可以根据实际需求来定制。","我们可以通过scaffold的bottomnavigationbar属性来设置底部导航,如本节开始示例所示,我们通过material组件库提供的bottomnavigationbar和bottomnavigationbaritem两种组件来实现material风格的底部导航栏。可以看到上面的实现代码非常简单,所以不再赘述,但是如果我们想实现如图5","我们实现一个页面,它包含:","所以打洞位置在底部导航栏的正中间。","打开抽屉菜单","抽屉菜单","抽屉菜单drawer","抽屉菜单通常将drawer组件作为根节点,它实现了material风格的菜单面板,mediaquery.removepadding可以移除drawer默认的一些留白(比如drawer默认顶部会留和手机状态栏等高的留白),读者可以尝试传递不同的参数来看看实际效果。抽屉菜单页由顶部和底部组成,顶部由用户头像和昵称组成,底部是一个菜单列表,用listview实现,关于listview我们将在后面“可滚动组件”一节详细介绍。","最终效果如图5","有一个底部导航","有一个抽屉菜单","步骤分两步:","漂浮按钮","现在,无论是点击导航栏tab菜单还是在页面上左右滑动,tab页面都会切换,并且tab菜单的状态和tab页面始终保持同步!那它们是如何实现同步的呢?细心的读者可能已经发现,上例中tabbar和tabbarview的controller是同一个!正是如此,tabbar和tabbarview正是通过同一个controller来实现菜单切换和滑动状态同步的,有关tabcontroller的详细信息,我们不再本书做过多介绍,使用时读者直接查看sdk即可。","由于globalkey要保持全局唯一性,我们使用静态变量存储","省略无关代码","示例","组件名称","组件的state对象,原理可以参考本书后面“element与buildcontext”","组件,它可以和floatingactionbutton配合实现这种“打洞”效果,源码如下:","组件,它和tabbarview功能相似,读者可以自行了解一下。","组件,它是material组件库提供的material风格的tab菜单。","给目标statefulwidget添加globalkey。","自定义组件样式","菜单图标","菜单文本","解释","运行后效果如图5","通过globalkey来获取state对象","通过tabbar我们只能生成一个静态的菜单,真正的tab页还没有实现。由于tab菜单和tab页的切换需要同步,我们需要通过tabcontroller去监听tab菜单的切换去切换tab页,代码如:","页面标题",",它是用于控制/监听tab菜单切换的。接下来通过tabbar生成了一个底部菜单栏,tabbar的tabs属性接受一个widget数组,表示每一个tab子菜单,我们可以自定义,也可以像示例中一样直接使用tab"],"chapter5/clip.html":["'package:flutter/material.dart';",")","),",");",".5,//宽度设为原来宽度一半",".5,//宽度设为原来宽度一半,另一半会溢出","//","//不剪裁","//使用自定义的clipper","//剪裁为圆形","//剪裁为圆角矩形","15.0,","24所示:","25所示:","30.0);","30.0),及图片中部40×30像素的范围。","40.0,","5.7","5.7:剪裁(clip)","60.0);","=","=>","@overrid","[","],","align(","alignment.topleft,","alignment:","avatar","avatar),","avatar,","bool","borderradius.circular(5.0),","borderradius:","boxdecoration(","build(buildcontext","center(","child:","children:","class","clipov","clipoval(child:","clipper:","cliprect","cliprect(","cliprect(//将溢出部分剪裁","cliprrect","cliprrect(","cliptestrout","color:","colors.green))","colors.green),)","colors.r","column(","context)","customclipp","decoratedbox(","decoration:","extend","false;","flutter中提供了一些剪裁函数,用于对组件进行剪裁。","getclip()是用于获取剪裁区域的接口,由于图片大小是60×60,我们返回剪裁区域为rect.fromltwh(10.0,","getclip(s","image.asset(\"imgs/avatar.png\",","import","mainaxisalignment.center,","mainaxisalignment:","myclipp","myclipper(),","oldclipper)","rect","rect.fromltwh(10.0,","return","row(","shouldreclip()","shouldreclip(customclipp","size)","statelesswidget","style:","text(\"你好世界\",","text(\"你好世界\",style:","textstyle(color:","widget","width:","widthfactor:","{","}","上面示例代码注释比较详细,在此不再赘述。但值得一提的是最后的两个row!它们通过align设置widthfactor为0.5后,图片的实际宽度等于60×0.5,即原宽度一半,但此时图片溢出部分依然会显示,所以第一个“你好世界”会和图片的另一部分重合,为了剪裁掉溢出部分,我们在第二个row中通过cliprect将溢出部分剪裁掉了。","下面看一个例子:","作用","剪裁widget","剪裁子组件到实际占用的矩形大小(溢出部分剪裁)","剪裁(clip)","可以看到我们的剪裁成功了,但是图片所占用的空间大小仍然是60×60(红色区域),这是因为剪裁是在layout完成后的绘制阶段进行的,所以不会影响组件的大小,这和transform原理是相似的。","头像","如果我们想剪裁子组件的特定区域,比如,在上面示例的图片中,如果我们只想截取图片中部40×30像素的范围应该怎么做?这时我们可以使用customclipper来自定义剪裁区域,实现代码如下:","子组件为正方形时剪裁为内贴圆形,为矩形时,剪裁为内贴椭圆","将子组件剪裁为圆角矩形","接口决定是否重新剪裁。如果在应用中,剪裁区域始终不会发生变化时应该返回false,这样就不会触发重新剪裁,避免不必要的性能开销。如果剪裁区域会发生变化(比如在对剪裁区域执行一个动画),那么变化后应该返回true来重新执行剪裁。","然后,我们通过cliprect来执行剪裁,为了看清图片实际所占用的位置,我们设置一个红色背景:","运行效果如图5","首先,自定义一个customclipper:"],"chapter6/":["customscrollview","gridview","listview","singlechildscrollview","可滚动widgets简介","本章目录","滚动监听及控制scrollcontrol","第六章:可滚动组件"],"chapter6/intro.html":["),",");","...","//后面介绍","6.1","6.1:可滚动组件简介","=","@requir","axisdirection.down,","axisdirection滚动方向。","bouncingscrollphysics:ios下弹性效果。","child:","clampingscrollphysics:android下微光效果。","controller:此属性接受一个scrollcontroller对象。scrollcontroller的主要作用是控制滚动位置和监听滚动事件。默认情况下,widget树中会有一个默认的primaryscrollcontroller,如果子树中的可滚动组件没有显式的指定controller,并且primary属性值为true时(默认就为true),可滚动组件会使用这个默认的primaryscrollcontroller。这种机制带来的好处是父组件可以控制子树中可滚动组件的滚动行为,例如,scaffold正是使用这种机制在ios中实现了点击导航栏回到顶部的功能。我们将在本章后面“滚动控制”一节详细介绍scrollcontroller。","cupertinoscrollbar","cupertinoscrollbar是ios风格的滚动条,如果你使用的是scrollbar,那么在ios平台它会自动切换为cupertinoscrollbar。","physics:此属性接受一个scrollphysics类型的对象,它决定可滚动组件如何响应用户操作,比如用户滑动完抬起手指后,继续执行动画;或者滑动到边界时,如何显示。默认情况下,flutter会根据具体平台分别使用不同的scrollphysics对象,应用不同的显示效果,如当滑动到边界时,继续拖动的话,在ios上会出现弹性效果,而在android上会出现微光效果。如果你想在所有平台下使用同一种效果,可以显式指定一个固定的scrollphysics,flutt","scrollable({","scrollbar","scrollbar(","scrollbar和cupertinoscrollbar都是通过scrollcontroller来监听滚动事件来确定滚动条位置的。关于scrollcontroller的详细内容我们将在本章最后一节中专门介绍。","scrollbar是一个material风格的滚动指示器(滚动条),如果要给可滚动组件添加滚动条,只需将scrollbar作为可滚动组件的任意一个父级组件即可,如:","sdk中包含了两个scrollphysics的子类,他们可以直接使用:","singlechildscrollview(","this.axisdirect","this.controller,","this.physics,","this.viewportbuilder,","viewport视口","widget)用于显示列表和长布局。在本章中,我们先介绍一下常用的可滚动组件(如listview、gridview等),然后介绍一下scrollcontroller。可滚动组件都直接或间接包含一个scrollable组件,因此它们包括一些共同的属性,为了避免重复介绍,我们在此统一介绍一下:","})","主轴和纵轴","可滚动组件简介","在可滚动组件的坐标描述中,通常将滚动方向称为主轴,非滚动方向称为纵轴。由于可滚动组件的默认方向一般都是沿垂直方向,所以默认情况下主轴就是指垂直方向,水平方向同理。","在很多布局系统中都有viewport的概念,在flutter中,术语viewport(视口),如无特别说明,则是指一个widget的实际显示区域。例如,一个listview的显示区域高度是800像素,虽然其列表项总高度可能远远超过800像素,但是其viewport仍然是800像素。","基于sliver的延迟构建","当组件内容超过当前显示视口(viewport)时,如果没有特殊处理,flutter则会提示overflow错误。为此,flutter提供了多种可滚动组件(scrol","通常可滚动组件的子组件可能会非常多、占用的总高度也会非常大;如果要一次性将子组件全部构建出将会非常昂贵!为此,flutter中提出一个sliver(中文为”薄片“的意思)概念,如果一个可滚动组件支持sliver模型,那么该滚动可以将子组件分成好多个”薄片“(sliver),只有当sliver出现在视口中时才会去构建它,这种模型也称为”基于sliver的延迟构建模型“。可滚动组件中有很多都支持基于sliver的延迟构建模型,如listview、gridview,但是也有不支持该模型的,如singlechildscrollview。"],"chapter6/single_child_scrollview.html":["\"abcdefghijklmnopqrstuvwxyz\";","),",");",".map((c)",".tolist(),","//","//动态创建一个list","//每一个字母都用一个text显示,字体为原来的两倍","//滚动方向,默认是垂直方向","1所示:","2.0,))","6.2","6.2:singlechildscrollview","=","=>","@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时,那么滑动方向就是从右往左。其实此属性本质上是决定可滚动组件的初始滚动位置是在“头”还是“尾”,取false时,初始滚动位置在“头”,反之则在“尾”,读者可以自己试验。","scrollbar(","singlechildscrollview","singlechildscrollview(","singlechildscrollview({","singlechildscrollviewtestrout","singlechildscrollview类似于android中的scrollview,它只能接收一个子组件。定义如下:","statelesswidget","str","str.split(\"\")","string","text(c,","textscalefactor:","this.child,","this.controller,","this.padding,","this.physics,","this.revers","this.scrolldirect","widget","z沿垂直方向显示的例子,由于垂直方向空间会超过屏幕视口高度,所以我们使用singlechildscrollview:","{","}","})","下面是一个将大写字母a","显示进度条","示例","运行效果如图6","除了上一节我们介绍过的可滚动组件的通用属性外,我们重点看一下reverse和primary两个属性:","需要注意的是,通常singlechildscrollview只应在期望的内容不会超过屏幕太多时使用,这是因为singlechildscrollview不支持基于sliver的延迟实例化模型,所以如果预计视口可能包含超出屏幕尺寸太多的内容时,那么使用singlechildscrollview将会非常昂贵(性能差),此时应该使用一些支持sliver延迟加载的可滚动组件,如listview。"],"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","2所示:","400,","4、6","50.0,","56","56,","5所示:","6.3","6.3:listview","6所示:","7所示:","8所示:","=","==","=>","@overrid","@requir","[","[],","[loadingtag];","]);","],","_infinitelistviewst","_infinitelistviewstate();","_retrievedata()","_retrievedata();","_word","_words.insertall(_words.length","_words.length,","addautomatickeepal","addautomatickeepalives:该属性表示是否将列表项(子组件)包裹在automatickeepal","addrepaintboundari","addrepaintboundaries:该属性表示是否将列表项(子组件)包裹在repaintboundary组件中。当可滚动组件滚动时,将列表项包裹在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的值;这里的”长度“是指滚动方向上子组件的长度,也就是说如果滚动方向是垂直方向,则itemextent代表子组件的高度;如果滚动方向为水平方向,则itemextent就代表子组件的宽度。在listview中,指定itemextent比让子组件自己决定自身长度会更高效,这是因为指定itemextent后,滚动系统可以提前知道列表的长度,而无需每次构建子组件时都去再计算一下,尤其是在滚动位置频繁变化时(滚动系统需要频繁去计算列表高度)。","knock","library,","life","list","listtile(title:","listtile(title:text(\"商品列表\")),","listview","listview(","listview({","listview.build","listview.builder(","listview.builder(itembuilder:","listview.builder({","listview.builder适合列表项比较多(或者无限)的情况,因为只有当子组件真正显示的时候才会被创建,也就说通过该构造函数创建的listview是支持基于sliver的懒加载模型的。下面看一下listview.builder的核心参数列表:","listview.separ","listview.separated(","listview.separated可以在生成的列表项之间添加一个分割组件,它比listview.builder多了一个separatorbuilder参数,该参数是一个分割组件生成器。","listview3","listview公共参数已省略","listview是最常用的可滚动组件之一,它可以沿一个方向线性排布所有子组件,并且它也支持基于sliver的延迟构建模型。我们看看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:该属性表示是否根据子组件的总长度来设置listview的长度,默认值为fals","sizedbox(","smart'),","smile,","state","statefulwidget","statelesswidget","static","style'),","super.initstate();","text(\"$index\"));","text('and","text('domest","text('i\\'m","text('when","thought","thrown","true,","unbound","var","vertic","viewport","void","widget","you'),","{","}","})","}),","});","},","。默认情况下,listview的会在滚动方向尽可能多的占用空间。当listview在一个无边界(滚动方向上)的容器中时,shrinkwrap必须为true。","上面参数分为两组:第一组是可滚动组件的公共参数,本章第一节中已经介绍过,不再赘述;第二组是listview各个构造函数(listview有多个构造函数)的共同参数,我们重点来看看这些参数,:","下面我们看一个例子:奇数行添加一条蓝色下划线,偶数行添加一条绿色下划线。","下面看一个例子:","从异常信息中我们可以看到是因为listview高度边界无法确定引起,所以解决的办法也很明显,我们需要给listview指定边界,我们通过sizedbox指定一个列表高度看看是否生效:","代码比较简单,读者可以参照代码中的注释理解,故不再赘述。需要说明的是,_retrievedata()的功能是模拟从数据源异步获取数据,我们使用english_words包的generatewordpairs()方法每次生成20个单词。","假设我们要从数据源异步分批拉取一些数据,然后用listview展示,当我们滑动到列表末尾时,判断是否需要再去拉取数据,如果是,则去拉取,拉取过程中在表尾显示一个loading,拉取成功后将数据插入列表;如果不需要再去拉取,则在表尾提示\"没有更多\"。代码如下:","再次强调,可滚动组件通过一个list来作为其children属性时,只适用于子组件较少的情况,这是一个通用规律,并非listview自己的特性,像gridview也是如此。","可以看到,我们期望的效果实现了,但是这种方法并不优雅,如果页面布局发生变化,比如表头布局调整导致表头高度改变,那么剩余空间的高度就得重新计算。那么有什么方法可以自动拉伸listview以填充屏幕剩余空间的方法吗?当然有!答案就是flex。前面已经介绍过在弹性布局中,可以使用expanded自动拉伸组件大小,并且我们也说过column是继承自flex的,所以我们可以直接使用column+expanded来实现,代码如下:","可以看到,现在没有触发异常并且列表已经显示出来了,但是我们的手机屏幕高度要大于400,所以底部会有一些空白。那如果我们要实现列表铺满除表头以外的屏幕空间应该怎么做?直观的方法是我们去动态计算,用屏幕高度减去状态栏、导航栏、表头的高度即为剩余屏幕高度,代码如下:","可滚动组件的构造函数如果需要一个列表项builder,那么通过该构造函数构建的可滚动组件通常就是支持基于sliver的懒加载模型的,反之则不支持,这是个一般规律。我们在后面在介绍可滚动组件的构造函数时将不再专门说明其是否支持基于sliver的懒加载模型了。","实例:无限加载列表","很多时候我们需要给列表添加一个固定表头,比如我们想实现一个商品列表,需要在列表顶部添加一个“商品列表”标题,期望的效果如图6","总结","我们按照之前经验,写出如下代码:","本节主要介绍了listview的一些公共参数以及常用的构造函数。不同的构造函数对应了不同的列表项生成模型,如果需要自定义列表项生成模型,可以通过listview.custom来自定义,它需要实现一个sliverchilddelegate用来给listview生成列表项组件,更多详情请参考api文档。","注意:上面这些参数并非listview特有,在本章后面介绍的其它可滚动组件也可能会拥有这些参数,它们的含义是相同的。","添加固定列表头","然后运行,发现并没有出现我们期望的效果,相反触发了一个异常;","组件中;典型地,在一个懒加载列表中,如果将列表项包裹在automatickeepalive中,在该列表项滑出视口时它也不会被gc(垃圾回收),它会使用keepalivenotification来保存其状态。如果列表项自己维护其keepalive状态,那么此参数必须置为false。","运行后效果如图6","运行后,和上图一样,完美实现了!","运行效果如下图6","运行效果如图6","默认构造函数","默认构造函数有一个children参数,它接受一个widget列表(list)。这种方式适合只有少量的子组件的情况,因为这种方式需要将所有children都提前创建好(这需要做大量工作),而不是等到子widget真正显示的时候再创建,也就是说通过默认构造函数构建的listview没有应用基于sliver的懒加载模型。实际上通过此方式创建的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,","6.4","6.4:gridview","=","==","=>","@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)内的话,子元素最终实际长度都为112.5,而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({","slivergriddelegate是一个抽象类,定义了gridview","state","statefulwidget","true,","void","widget","{","}","})","上面我们介绍的gridview都需要一个widget数组作为其子元素,这些方式都会提前将所有子widget都构建好,所以只适用于子widget数量比较少时,当子widget比较多时,我们可以通过gridview.builder来动态创建子widget。gridview.build","下面我们看一个例子:","下面看一个例子:","假设我们需要从一个异步数据源(如网络)分批获取一些icon,然后用gridview来展示:","其中itembuilder为子widget构建器。","初始化数据","可以发现,子元素的大小是通过crossaxiscount和childaspectratio两个参数共同决定的。注意,这里的子元素指的是子组件的最大显示空间,注意确保子组件的实际大小不要超出子元素的空间。","在itembuilder中,如果显示到最后一个时,判断是否需要继续获取数据,然后返回一个icon。","必须指定的参数有两个:","我们可以看到,gridview和listview的大多数参数都是相同的,它们的含义也都相同的,如有疑惑读者可以翻阅listview一节,在此不再赘述。我们唯一需要关注的是griddelegate参数,类型是slivergriddelegate,它的作用是控制gridview子组件如何排列(layout)。","更多","示例","该子类实现了一个横轴为固定数量子元素的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,","6.5","6.5:customscrollview","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来自定义滚动模型(效果)的组件。它可以包含多种滚动模型,举个例子,假设有一个页面,顶部需要一个gridview,底部需要一个listview,而要求整个页面的滑动效果是统一的,即它们看起来是一个整体。如果使用gridview+listview来实现的话,就不能保证一致的滑动效果,因为它们的滚动效果是分离的,所以这时就需要一个\"胶水\",把这些彼此独立的可滚动组件\"粘\"起来,而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:","sliverappbar(","sliverchildbuilderdelegate(","sliverfixedextentlist(","slivergrid(","slivergriddelegatewithfixedcrossaxiscount(","sliverpadding(","slivers:","sliver在前面讲过,有细片、薄片之意,在flutter中,sliver通常指可滚动组件子元素(就像一个个薄片一样)。但是在customscrollview中,需要粘起来的可滚动组件就是customscrollview的sliver了,如果直接将listview、gridview作为customscrollview是不行的,因为它们本身是可滚动组件而并不是sliver!因此,为了能让可滚动组件能和customscrollview配合使用,flutter提供了一些可滚动组件的sliver版,如sliverlist、slivergrid等。实际上sliver版的可滚动组件和非sliver版的可滚动组件最大的区别就是前者不包含滚动模型(子身不能再滚动),而后者包含滚动模型","sliver系列widget比较多,我们不会一一介绍,读者只需记住它的特点,需要时再去查看文档即可。上面之所以说“大多数“sliver都和可滚动组件对应,是由于还有一些如sliverpadding、sliverappbar等是和可滚动组件无关的,它们主要是为了结合customscrollview一起使用,这是因为customscrollview的子组件必须都是sliver。","statelesswidget","text('demo'),","text('grid","text('list","title:","true,","widget","{","}","},","中间的slivergrid:它用sliverpadding包裹以给slivergrid添加补白。slivergrid是一个两列,宽高比为4的网格,它有20个子组件。","代码分为三部分:","可滚动组件的sliver版","头部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","16所示:","200),","30.0,","50.0,","6.6","6.6.1","6.6.2","6.6:滚动监听及控制(scrollcontroller)",":",";","=","==","=>","?","@overrid","[","],","_control","_controller,","_controller.addlistener(()","_controller.animateto(.0,","_controller.dispose();","_progress","_scrollnotificationtestroutest","_scrollnotificationtestroutestate();","alignment.center,","alignment:","appbar(title:","appbar:","atedge:是否滑到了可滚动组件的边界(此示例中相当于列表顶或底部)。","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()才可以被调用。","jumpto(),以实现所有和该scrollcontroller关联的可滚动组件都滚动到指定的位置。","jumpto(),它们是真正来控制跳转滚动位置的方法,scrollcontroller的这两个同名方法,内部最终都会调用scrollposition的。","jumpto(doubl","listtile(title:","listview(key:","listview.builder(","maxscrollextent:最大可滚动长度。","new","notification)","notification.metrics.maxscrollextent;","notification.metrics.pixel","notificationlistener(","null","offset","offset)、animateto(doubl","offset,...):这两个方法用于跳转到指定的位置,它们不同之处在于,后者在跳转时会执行一个动画,而前者不会。","offset:可滚动组件当前的滚动位置。","oldposition);","onnotification:","onpressed:","pagestoragekey(1),","pagestoragekey(2),","pagestorage是一个用于保存页面(路由)相关数据的组件,它并不会影响子树的ui外观,其实,pagestorage是一个功能型组件,它拥有一个存储桶(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还有一些属性和方法,我们将在后面原理部分解释。","scrollcontroller间接继承自listenable,我们可以根据scrollcontroller来监听滚动事件,如:","scrollmetrics还有一些其它属性,读者可以自行查阅api文档。","scrollnotificationtestrout","scrollphys","scrollposit","scrollposition是用来保存可滚动组件的滚动位置的。一个scrollcontroller对象可以同时被多个可滚动组件使用,scrollcontroller会为每一个可滚动组件创建一个scrollposition对象,这些scrollposition保存在scrollcontroller的positions属性中(list)。scrollposition是真正保存滑动位置信息的对象,offset只是一个便捷属性:","scrollposition有两个常用方法:animateto()","scrollposition的方法","setstate(()","showtotopbtn","stack(","state","statefulwidget","string","super.dispose();","text(\"$index\"));","text(\"$index\"),);","text(\"滚动控制\")),","text(_progress),","this.keepscrolloffset","true,//是否保存滚动位置","true;","void","widget","widget树中子widget可以通过发送通知(notification)与父(包括祖先)widget通信。父级组件可以通过notificationlistener组件来监听自己关注的通知,这种通信方式类似于web开发中浏览器的事件冒泡,我们在flutter中沿用“冒泡”这个术语,关于通知冒泡我们将在后面”事件处理与通知“一章中详细介绍。","{","}","})","});","},","一个scrollcontroller虽然可以对应多个可滚动组件,但是有一些操作,如读取滚动位置offset,则需要一对一!但是我们仍然可以在一对多的情况下,通过其它方法读取滚动位置,举个例子,假设一个scrollcontroller同时被两个可滚动组件使用,那么我们可以通过如下方式分别读取他们的滚动位置:","下面,我们监听listview的滚动通知,然后显示当前滚动进度百分比:","不同的pagestoragekey,需要不同的值,这样才可以为不同可滚动组件保存其滚动位置。","代码说明已经包含在注释里,下面我们看看运行效果:","可滚动组件在滚动时会发送scrollnotification类型的通知,scrollbar正是通过监听滚动通知来实现的。通过notificationlistener监听滚动事件和通过scrollcontroller有两个主要的不同:","和","在前几节中,我们介绍了flutter中常用的可滚动组件,也说过可以用scrollcontroller来控制可滚动组件的滚动位置,本节先介绍一下scrollcontroller,然后以listview为例,展示一下scrollcontroller的具体用法。最后,再介绍一下路由切换时如何来保存滚动位置。","在接收到滚动事件时,参数类型为scrollnotification,它包括一个metrics属性,它的类型是scrollmetrics,该属性包含当前viewport及滚动位置等信息:","将不能再被调用。","当scrollcontroller和可滚动组件关联时,可滚动组件首先会调用scrollcontroller的createscrollposition()方法来创建一个scrollposition来存储滚动位置信息,接着,可滚动组件会调用attach()方法,将创建的scrollposition添加到scrollcontroller的positions属性中,这一步称为“注册位置”,只有注册后animateto()","当一个路由中包含多个可滚动组件时,如果你发现在进行一些跳转或切换操作后,滚动位置不能正确恢复,这时你可以通过显式指定pagestoragekey来分别跟踪不同的可滚动组件的位置,如:","当可滚动组件销毁时,会调用scrollcontroller的detach()方法,将其scrollposition对象从scrollcontroller的positions属性中移除,这一步称为“注销位置”,注销后animateto()","我们介绍一下scrollcontroller常用的属性和方法:","我们创建一个listview,当滚动位置发生变化时,我们先打印出当前滚动位置,然后判断当前位置是否超过1000像素,如果超过则在屏幕右下角显示一个“返回顶部”的按钮,该按钮点击后可以使listview恢复到初始位置;如果没有超过1000像素,则隐藏“返回顶部”按钮。代码如下:","我们可以通过controller.positions.length来确定controller被几个可滚动组件使用。","我们来介绍一下scrollcontroller的另外三个方法:","收到滚动事件后获得的信息不同;notificationlistener在收到滚动事件时,通知中会携带当前滚动位置和viewport的一些信息,而scrollcontroller只能获取当前滚动位置。","每次滚动结束,可滚动组件都会将滚动位置offset存储到pagestorage中,当可滚动组件重新创建时再恢复。如果scrollcontroller.keepscrolloffset为false,则滚动位置将不会被存储,可滚动组件重新创建时会使用scrollcontroller.initialscrolloffset;scrollcontroller.keepscrolloffset为true时,可滚动组件在第一次创建时,会滚动到initialscrolloffset处,因为这时还没有存储过滚动位置。在接下来的滚动中就会存储、恢复滚动位置,而initialscrolloffset会被忽略。","注意:一个路由中包含多个可滚动组件时,如果要分别跟踪它们的滚动位置,并非一定就得给他们分别提供pagestoragekey。这是因为scrollable本身是一个statefulwidget,它的状态中也会保存当前滚动位置,所以,只要可滚动组件本身没有被从树上detach掉,那么其state就不会销毁(dispose),滚动位置就不会丢失。只有当widget发生结构变化,导致可滚动组件的state销毁或重新构建时才会丢失状态,这种情况就需要显式指定pagestoragekey,通过pagestorage来存储滚动位置,一个典型的场景是在使用tabbarview时,在tab发生切换时,tab页中的可滚动组件的state就会销毁,这时如果想恢复滚动位置就需要指定pagestoragekey。","滚动位置恢复","滚动监听","滚动监听及控制","由于列表项高度为50像素,当滑动到第20个列表项后,右下角“返回顶部”按钮会显示,点击该按钮,listview会在返回顶部的过程中执行一个滚动动画,动画时间是200毫秒,动画曲线是curves.ease,关于动画的详细内容我们将在后面“动画”一章中详细介绍。","监听滚动通知","示例","运行结果如图6","通过notificationlistener可以在从可滚动组件到widget树根之间任意位置都能监听。而scrollcontroller只能和具体的可滚动组件关联后才可以。","需要注意的是,scrollcontroller的animateto()"],"chapter7/":["inheritedwidget","theme","willpopscop","主题","功能型widget指的是不会影响ui布局及外观的widget,它们通常具有一定的功能,如事件监听、数据存储等,我们之前介绍过的focusscope(焦点控制)、pagestorage(数据存储)、notificationlistener(事件监听)都属于功能型widget。由于widget是flutter的一等公民,功能型widget非常多,我们不会去一一介绍,本章中主要介绍几种常用的功能型widget。","功能型widget简介","导航返回拦截","数据共享","本章目录","第七章:功能型组件"],"chapter7/willpopscope.html":["'package:flutter/material.dart';","()","(_lastpressedat",")",");","...","//上次点击时间","//两次点击间隔超过1秒则重新计时","1))","7.1","7.1:导航返回拦截(willpopscope)","=","==",">","@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","willpopscope(","willpopscope({","willpopscopetestrout","willpopscopetestroutest","willpopscopetestroutestate();","{","||","}","})","},","为了避免用户误触返回按钮而导致app退出,在很多app中都拦截了用户点击返回键的按钮,然后进行一些防误触判断,比如当用户在某一个时间段内点击两次时,才会认为用户是要退出(而非误触)。flutter中可以通过willpopscope来实现返回按钮拦截,我们看看willpopscope的默认构造函数:","为了防止用户误触返回键退出,我们拦截返回事件。当用户在1秒内点击两次返回按钮时,则退出;如果间隔超过1秒则不退出,并重新记时。代码如下:","导航返回拦截(willpopscope)","示例","读者可以运行示例看看效果。"],"chapter7/inherited_widget.html":["!=","(","()","(ancestor","(当前语言环境)信息的。",")","),",");","++count),",".data",".of(context)",".tostring());","//","//return","//使用inheritedwidget中的共享数据","//使用sharedatawidget","//多出的部分","//如果build中没有依赖inheritedwidget,则此回调不会被调用。","//如果返回true,则子树中依赖(build函数中有调用)本widget","//定义一个便捷方法,方便子树中的widget获取共享数据","//每点击一次,将count自增,然后重新build,sharedatawidget的data将被更新","//注册依赖关系","//父或祖先widget中的inheritedwidget改变(updateshouldnotify返回true)时会被调用。","//的子widget的`state.didchangedependencies`会被调用","//该回调决定当data发生变化时,是否通知子树中依赖data的widget","//需要在子树中共享的数据,保存点击次数","0;","1所示:","20.0),","7.2","7.2:数据共享(inheritedwidget)","8513):",":",":super(child:","=","==","=>","?","??=","@overrid","@requir","[","],","__testwidgetst","__testwidgetstate();","_depend","_dependencies.add(ancestor);","_hadunsatisfieddepend","_inheritedwidget","_inheritedwidgets[targettype];","_inheritedwidgettestroutest","_inheritedwidgettestroutestate();","_testwidget","_testwidget(),//子widget中依赖sharedatawidget","ancestor","ancestor,","ancestor.updatedependencies(this,","ancestor.widget;","ancestor;","ancestorinheritedelementforwidgetofexacttype()多调了inheritfromelement方法,inheritfromelement源码如下:","ancestorinheritedelementforwidgetofexacttype()时,由于没有注册依赖关系,所以之后当inheritedwidget发生变化时,就不会更新相应的子孙widget。","ancestorinheritedelementforwidgetofexacttype()的却别就是前者会注册依赖关系,而后者不会,所以在调用inheritfromwidgetofexacttype()时,inheritedwidget和依赖它的子孙组件关系变完成了注册,之后当inheritedwidget发生变化时,就会更新依赖它的孙组件,也就是会调用依赖它的孙组件的didchangedependencies()方法和build()方法。而当调用的是","ancestorinheritedelementforwidgetofexacttype(typ","aspect","aspect);","aspect:","assert(ancestor","bool","build(buildcontext","build方法中没有依赖inheritedwidget,此回调不会被调用。","center(","chang","change\");","child","child);","child:","children:","class","column(","const","context)","context.ancestorinheritedelementforwidgetofexacttype(sharedatawidget).widget;","context.inheritfromwidgetofexacttype(sharedatawidget);","count","count,","createstate()","data:","data;","depend","didchangedepend","didchangedependencies()","edgeinsets.only(bottom:","extend","final","framework是怎么知道子widget有没有依赖inheritedwidget的?","framework调用。而这个“依赖”指的就是子widget是否使用了父widget中inheritedwidget的数据!如果使用了,则代表子widget依赖有依赖inheritedwidget;如果没有使用则代表没有依赖。这种机制可以使子组件在所依赖的inheritedwidget变化时来更新自身!比如当主题、locale(语言)等发生变化时,依赖其的子widget的didchangedependencies方法将会被调用。","hashset();","i/flutt","inheritedel","inheritedelement);","inheritedwidget","inheritedwidgettestrout","inheritedwidget和react中的context功能类似,和逐级传递数据相比,它们能实现组件跨级传递数据。inheritedwidget的在widget树中数据传递方向是从上到下的,这和通知notification(将在下一章中介绍)的传递方向正好相反。","inheritedwidget是flutter中非常重要的一个功能型组件,它提供了一种数据在widget树种从上到下的传递、共享方式,比如我们在应用的根widget中通过inheritedwidget共享了一个数据,那么我们便可以在任意子widget中来获取该共享的数据!这个特性在一些需要在widget树中共享数据的场景中非常方便!如flutt","inheritfromelement(ancestor,","inheritfromelement(inheritedel","inheritfromwidgetofexacttype(typ","int","mainaxisalignment.center,","mainaxisalignment:","new","null","null)","null;","object","of(buildcontext","old)","old.data","onpressed:","padding(","padding:","print(\"depend","raisedbutton(","return","sdk中正是通过inheritedwidget来共享应用主题(theme)和local","setstate(()","sharedatawidget","sharedatawidget(","sharedatawidget({","state","statefulwidget","static","super.didchangedependencies();","targettype)","targettype,","text(\"increment\"),","text(\"text\");","text(sharedatawidget","this.data,","true;","updateshouldnotify(sharedatawidget","void","widget","{","}","})","一般来说,子widget很少会重写此方法,因为在依赖改变后framework也都会调用build()方法。但是,如果你需要在依赖改变后执行一些昂贵的操作,比如网络请求,这时最好的方式就是在此方法中执行,这样可以避免每次build()都执行这些昂贵操作。","上面的代码中,我们将build()方法中依赖sharedatawidget的代码注释掉了,然后返回一个固定text,这样一来,当点击increment按钮后,sharedatawidget的data虽然发生变化,但由于__testwidgetstate并未依赖sharedatawidget,所以__testwidgetstate的didchangedependencies方法不会被调用。其实,这个机制很好理解,因为在数据发生变化时只对使用该数据的widget更新是合理并且性能友好的。","下面我们看一下之前“计数器”示例应用程序的inheritedwidget版本。需要说明的是,本示例主要是为了演示inheritedwidget的功能特性,并不是计数器的推荐实现方式。","使用inheritedwidget中的共享数据","可以看到inheritfromelement方法中主要是注册了依赖关系!看到这里也就清晰了,调用inheritfromwidgetofexacttype()","可见依赖发生变化后,其didchangedependencies()会被调用。但是读者要注意,如果_testwidget的build方法中没有使用sharedatawidget的数据,那么它的didchangedependencies()将不会被调用,因为它并没有依赖sharedatawidget。例如,我们将__testwidgetstate代码该为下面这样,didchangedependencies()将不会被调用:","和","唯一的改动就是获取sharedatawidget对象的方式,把inheritfromwidgetofexacttype()方法换成了context.ancestorinheritedelementforwidgetofexacttype(sharedatawidget).widget,那么他们到底有什么区别呢,我们看一下这两个方法的源码(实现代码在element类中,context和element的关系我们将在后面专门介绍):","回调中打印日志:","在之前介绍statefulwidget时,我们提到state对象有一个didchangedependencies回调,它会在“依赖”发生变化时被flutt","并没有任何缓存,所以它也都会被重新构建,所以也会调用build()方法。","应该在didchangedependencies()中做什么?","思考题:flutter","我们可以看到,inheritfromwidgetofexacttype()","数据共享(inheritedwidget)","最后,我们创建一个按钮,每点击一次,就将sharedatawidget的值自增:","来实现flutter全局状态共享。","来演示如何缓存,以及如何利用inheritedwidget","每点击一次按钮,计数器就会自增,控制台就会打印一句日志:","比","注意,如果将上面示例中sharedatawidget.of()方法实现改成调用ancestorinheritedelementforwidgetofexacttype(),运行示例后,点击\"increment\"按钮,会发现__testwidgetstate的didchangedependencies()方法确实不会再被调用,但是其build()仍然会被调用!造成这个的原因其实是,点击\"increment\"按钮后,会调用_inheritedwidgettestroutestate的setstate()方法,此时会重新构建整个页面,由于示例中,__testwidget","深入了解inheritedwidget","然后我们实现一个子组件_testwidget,在其build方法中引用sharedatawidget中的数据。同时,在其didchangedependencies()","现在来思考一下,如果我们只想在__testwidgetstate中引用sharedatawidget数据,但却不希望在sharedatawidget发生变化时调用__testwidgetstate的didchangedependencies()方法应该怎么办?其实答案很简单,我们只需要将sharedatawidget.of()的实现改一下即可:","运行后界面如图7","那么,现在就带来了一个问题:实际上,我们只想更新子树中依赖了sharedatawidget的组件,而现在只要调用_inheritedwidgettestroutestate的setstate()方法,所有子节点都会被重新build,这很没必要,那么有什么办法可以避免呢?答案是缓存!一个简单的作法就是通过封装一个statefulwidget,将子widget树缓存起来,具体作法下一节我们将通过实现一个provid","首先,我们通过继承inheritedwidget,将当前计数器点击次数保存在sharedatawidget的data属性中:"],"chapter7/provider.html":["!=","${cart.totalprice}\"),","${cart.totalprice}\");","&","()","(buildcontext","(context)","(context){","(context,","(value,","(widget.data",")","),",");","*","+","...",".add(item(20.0,","//","//...","//共享状态使用泛型","//取消订阅","//商品单价","//在后面优化部分会用到","//在此简单返回true,则每次更新都会调用依赖其的子孙节点的`didchangedependencies`。","//如果数据发生变化(model类调用了notifylisteners),重新构建inheritedprovid","//定义一个便捷方法,方便子树中的widget获取共享数据","//当provider更新时,如果新旧数据不\"==\",则解绑旧数据监听,同时添加新数据监听","//添加一个listen参数,表示是否建立依赖关系","//添加监听器","//登录状态变化处理逻辑","//省略其它事件","//省略无关代码","//移除监听器","//给购物车中添加商品,添加后总价会更新","//自动获取model","//订阅登录状态改变事件","//通知所有监听器,触发监听器回调","1));","2所示:","3是provider的原理图:","7.3","7.3:",":","=","=>","=>text(\"总价:","?","@overrid","@requir","[","[];","[item]","],","_changenotifierproviderst","_changenotifierproviderstate();","_item","_items.add(item);","_items.fold(0,","_providerroutest","_providerroutestate();","_typeof()","_typeof>();","add(item","addlistener(voidcallback","ancestorinheritedelementforwidgetofexacttype()的却别就是前者会注册依赖关系,而后者不会。所以我们只需要将changenotifierprovider.of的实现改为下面这样既可:","assert(build","bloc","bool","build\");","build\"了,即按钮不会被重新构建了。而总价仍然会更新,这是因为consumer中调用changenotifierprovider.of时listen值为默认值true,所以还是会建立依赖关系。","build\"日志,也就是说”添加商品“按钮在每次点击时其自身都会重新build!这是为什么呢?如果你已经理解了inheritedwidget的更新机制,那么答案一眼就能看出:这是因为构建raisedbutton的builder中调用了changenotifierprovider.of,也就是说依赖了widget树上面的inheritedwidget(即inheritedprovid","build(buildcontext","builder(","builder(builder:","builder:","builder;","bus.emit(event.login);","bus.off(event.login,onlogin);","bus.on(event.login,onlogin);","cart)","cart)=>","cart=changenotifierprovider.of(context);","cartmodel","cartmodel(),","cartmodel即要跨组件共享的model类。最后我们构建示例页面:","center(","changenotifi","changenotifierprovid","changenotifierprovider(","changenotifierprovider({","changenotifierprovider.of(context),","changenotifierprovider.of(context).add(item(20.0,","changenotifierprovider.of(context,","child);","child:","child;","children:","child})","class","column(","consum","consumer(","consumer({","consumer实现非常简单,它通过指定模板参数,然后再内部自动调用changenotifierprovider.of获取相应的model,并且consumer这个名字本身也是具有确切语义(消费者)。现在上面的代码块可以优化为如下这样:","context)","context,","context.ancestorinheritedelementforwidgetofexacttype(type)?.widget","context.inheritfromwidgetofexacttype(type)","count;","createstate()","data:","data;","didupdatewidget(changenotifierprovid","dispose()","doubl","enum","event{","extend","false)","final","function(buildcontext","implement","inheritedprovid","inheritedprovider(","inheritedprovider({@requir","inheritedprovider;","inheritedprovider;","inheritedwidget","inheritedwidget是flutter中非常重要的一个widget,像国际化、主题等都是通过它来实现,所以我们也不惜篇幅,通过好几节来介绍它的,在下一节中,我们将介绍另一个基于inheritedwidget的组件theme(主题)。","initstate()","int","item","item(this.price,","item)","item.count","item.price);","key","key);","key,","list","listen","listen:","listener)","login,","mobx","model","model变化后会自动通知changenotifierprovider(订阅者),changenotifierprovider内部会重新构建inheritedwidget,而依赖该inheritedwidget的子孙widget就会更新。","notifylisteners()","notifylisteners();","null),","of(buildcontext","old)","oldwidget)","oldwidget.data)","oldwidget.data.removelistener(update);","onloginchanged(e){","onpressed:","package中的核心功能;但是我们的迷你版功能并不全面,如只实现了一个可监听的changenotifierprovider,并没有实现只用于数据共享的provider;还有就是我们的实现还有些边界没有考虑的到,比如如何保证在widget树重新build时model始终是单例等。所以建议读者在实战中还是使用provid","package底层的原理。","package,而本节实现这个迷你provider的主要目的主要是为了帮助读者了解provid","price;","print(\"raisedbutton","provid","provider.data;","providerrout","raisedbutton(","redux","removelistener(voidcallback","return","scope","setstate(()","state","state>","statefulwidget","statelesswidget","static","super(child:","super(key:","super.didupdatewidget(oldwidget);","super.dispose();","super.initstate();","t","t;","text(\"总价:","text(\"添加商品\"),","this.builder,","this.child,","this.count);","this.data,","totalpric","true;","true})","type","unmodifiablelistview","unmodifiablelistview(_items);","update()","updateshouldnotify(inheritedprovid","valu","value)","var","void","widget","widget.child,","widget.data,","widget.data.addlistener(update);","widget.data.removelistener(update);","widget来构建,语义话就不是很明确;如果我们能使用一个具有明确语义的widget,比如就叫consumer,这样最终的代码语义将会很明确,只要看到consumer,我们就知道它是依赖某个跨组件或全局的状态。","widget,实现如下:","{","{bool","{});","}","})","}),","});","},","一个通用的inheritedwidget,保存任需要跨组件共享的状态","上面的代码还有一个性能问题,就在构建”添加按钮“的代码处:","为了优化这两个问题,我们可以封装一个consum","为了加强读者的理解,我们不直接去看provider包的源代码,相反,我会带着你根据上面描述的通过inheritedwidget实现的思路来一步一步地实现一个最小功能的provider。","介绍","代码组织问题","优化","依赖登录状态的页面:","修改后在此运行上面的示例,我们会发现点击”添加商品“按钮后,控制台不会再输出\"raisedbutton","其它状态管理包","包名","可以看到_changenotifierproviderstate类的主要作用就是监听到共享状态(model)改变时重新构建widget树。注意,在_changenotifierproviderstate类中调用setstate()方法,widget.child始终是同一个,所以执行build时,inheritedprovider的child引用的始终是同一个子widget,所以widget.child并不会重新build,这也就相当于对child进行了缓存!当然如果changenotifierprovider父级widget重新build时,则其传入的child便有可能会发生变化。","可以触发所有监听器回调。","向购物车中添加新商品时总价更新","和","商品份数","在flutter开发中,状态管理是一个永恒的话题。一般的原则是:如果状态是组件私有的,则应该由组件自己管理;如果状态要跨组件共享,则该状态应该由各个组件共同的父元素来管理。对于组件私有的状态管理很好理解,但对于跨组件共享的状态,管理的方式就比较多了,如使用全局事件总线eventbus(将在下一章中介绍),它是一个观察者模式的实现,通过它就可以实现跨组件状态同步:状态持有方(发布者)负责更新、发布状态,状态使用方(观察者)监听状态改变事件来执行一些操作。下面我们看一个登陆状态同步的简单示例:","在flutter当中有没有更好的跨组件状态管理方式了呢?答案是肯定的,那怎么做的?我们想想前面介绍的inheritedwidget,它的天生特性就是能绑定inheritedwidget与依赖它的子孙组件的依赖关系,并且当inheritedwidget数据发生变化时,可以自动更新依赖的子孙组件!利用这个特性,我们可以将需要跨组件共享的状态保存在inheritedwidget中,然后在子组件中引用inheritedwidget即可,flutter社区著名的provider包正是基于这个思想实现的一套跨组件状态共享解决方案,接下来我们便详细介绍一下provider的用法及原理。","在大型复杂应用中,尤其是需要全局共享的状态非常多时,使用provider将会大大简化我们的代码逻辑,降低出错的概率,提高开发效率。","在此笔者不对这些包做推荐,读者有兴趣都可以研究一下,了解它们各自的思想。","定义一个item类,用于表示商品信息:","定义一个保存购物车内商品数据的cartmodel类:","定义事件:","将","必须显式定义各种事件,不好管理","性能问题","总结","我们上面实现的changenotifierprovider是有两个明显缺点:代码组织为题和性能问题,下面我们一一讨论。","我们先看一下构建显示总价text的代码:","我们可以发现使用provider,将会带来如下收益:","我们可以发现,通过观察者模式来实现跨组件状态共享有一些明显的缺点:","我们可以通过调用addlistener()和removelistener()来添加、移除监听器(订阅者);通过调用notifylisteners()","我们点击”添加商品“按钮后,由于购物车商品总价会变化,所以显示总价的text更新是符合预期的,但是”添加商品“按钮本身没有变化,是不应该被重新build的。但是我们运行示例,每次点击”添加商品“按钮,控制台都会输出\"raisedbutton","我们的业务代码更关注数据了,只要更新model,则ui会自动更新,而不用在状态改变后再去手动调用setstate()来显式更新页面。","我们需要实现一个显示购物车中所有商品总价的功能:","数据保存的地方有了,那么接下来我们需要做的就是在数据发生变化的时候来重新构建inheritedprovider,那么现在就面临两个问题:","数据发生变化怎么通知?","数据改变的消息传递被屏蔽了,我们无需手动去处理状态改变事件的发布和订阅了,这一切都被封装在provider中了。这真的很棒,帮我们省掉了大量的工作!","是bloc模式的flutter实现","是web开发中react生态链中mobx包的flutter实现","是web开发中react生态链中redux包的flutter实现","是不是很优雅!","更新状态。","本节通过介绍事件总线在跨组件共享中的一些缺点引出了通过inheritedwidget来实现状态的共享的思想,然后基于该思想实现了一个简单的provider,在实现的过程中也更深入的探索了inheritedwidget与其依赖项的注册机制和更新机制。通过本节的学习,读者应该达到两个目标,首先是对inheritedwidget彻底吃透,其次是provider的设计思想。","来通知订阅者,然后由订阅者来重新构建inheritedprovider,这也是第二个问题的答案!接下来我们便实现这个订阅者类:","构建时输出日志","每次点击”添加商品“按钮,总价就会增加20,我们期望的功能实现了!可能有些读者会疑惑,我们饶了一大圈实现这么简单的功能有意义么?其实,就这个例子来看,只是更新同一个路由页中的一个状态,我们使用changenotifierprovider的优势并不明显,但是如果我们是做一个购物app呢?由于购物车数据是通常回事整个app共享的数据,会跨路由共享,如果我们将changenotifierprovider放在整个应用的widget树的根上,那么整个app就可以共享购物车的数据了,这时changenotifierprovider的优势将会非常明显。","添加到购物车。这是唯一一种能从外部改变购物车的方法。","然后我们将调用部分代码改为:","现在flutter社区已经有很多专门用于状态管理的包了,在此我们列出几个相对评分比较高的:","现在我们所需要的各个工具类都已完成,下面我们通过一个购物车的例子来看看怎么使用上面的这些类。","现在,我们将要共享的状态放到一个model类中,然后让它继承自changenotifier,这样当共享的状态改变时,我们只需要调用notifylisteners()","用于保存购物车中商品列表","登录状态改变后发布状态改变事件","登录页代码大致如下:","省略其它属性","禁止改变购物车里的商品信息","移除model的监听器","第一个问题其实很好解决,我们当然可以使用之前介绍的eventbus来进行事件通知,但是为了更贴近flutter开发,我们使用flutter中sdk中提供的changenotifier类","给model添加监听器","而changenotifierprovider则会重新构建子树,所以inheritedprovider将会更新,此时依赖它的子孙widget就会被重新构建。","至此我们便实现了一个迷你的provider,它具备pub上provid","虽然上面的例子比较简单,但它却将provider的原理和流程体现的很清楚,图7","订阅者必须需显式注册状态改变回调,也必须在组件销毁时手动去解绑回调以避免内存泄露。","订阅者模式,changenotifier定义大致如下:","设为false,不建立依赖关系","该方法用于在dart中获取模板类型","该类继承statefulwidget,然后定义了一个of()静态方法供子类方便获取widget树中的inheritedprovider中保存的共享状态(model),下面我们实现该类对应的_changenotifierproviderstate类:","语义化不明确;由于changenotifierprovider是订阅者,那么依赖cartmodel的widget自然就是订阅者,其实也就是状态的消费者,如果我们用build","谁来重新构建inheritedprovider?","购物车中商品的总价","购物车示例","跨组件状态共享(provider)","运行示例后效果如图7","这两个包都是基于inheritedwidget的,原理相似","这是一个便捷类,会获得当前context和指定数据类型的provid","这段代码有两点可以优化:","通知监听器(订阅者),重新构建inheritedprovider,","问题的原因搞清楚了,那么我们如何避免这不必要重构呢?既然按钮重新被build是因为按钮和inheritedwidget建立了依赖关系,那么我们只要打破或解除这种依赖关系就可以了。那么如何解除按钮和inheritedwidget的依赖关系呢?我们上一节介绍inheritedwidget时已经讲过了:调用inheritfromwidgetofexacttype()","需要显式调用changenotifierprovider.of,当app内部依赖cartmodel很多时,这样的代码将很冗余。","首先,我们需要一个保存需要共享的数据inheritedwidget,由于具体业务数据类型不可预期,为了通用性,我们使用泛型,定义一个通用的inheritedprovider类,它继承自inheritedwidget:",")widget,所以当添加完商品后,cartmodel发生变化,会通知changenotifierprovider,",",它继承自listenable,也实现了一个flutter风格的发布者"],"chapter7/theme.html":["\"dc380d\";","\"标题\"),","()","(不透明度)",")","),",");","...","//","//为第二行icon自定义颜色(固定为黑色)","//主色,决定导航栏颜色","//主题颜色样本,见下面介绍","//分割线颜色","//切换主题","//卡片颜色","//如果颜色固定可以直接使用整数值","//当前路由主题色","//指定平台,应用特定平台控件风格","//按钮主题","//文字字体","//根据背景色亮度来确定title颜色","//次级色,决定大多数widget的颜色,如进度条、开关等。","//深色还是浅色","//用于icon颜色","//用于导航栏、floatingactionbutton的背景色等","//第一行icon使用主题中的iconthem","//背景为白色,则title自动为黑色","//背景为蓝色,则title自动为白色","//背景颜色","//输入框光标颜色","//通过位运算符将alpha设置为ff","//通过方法将alpha设置为ff","//阴影","//颜色是一个字符串变量","0","0xff2196f3;","100:","15","16","1]的一个值,数字越大颜色就越浅,我们可以根据它来动态确定title的颜色,下面是导航栏navbar的简单实现:","200:","23","24","3),","3,","300:","31","400:","4所示:","500:","50:","52,","5所示:","600:","6、7","7","7.4","7.4.1","7.4.2","7.4:颜色和主题(theme)","700:","7所示:","8","800:","900:",":","=","==","=>","?","@overrid","[","]","],","_blueprimaryvalu","_blueprimaryvalue,","_themecolor","_themecolor)","_themecolor,","_themetestroutest","_themetestroutestate();","accentcolor,","alpha","appbar(title:","appbar:","app定义主题数据(themedata)。material组件库里很多组件都使用了主题数据,如导航栏颜色、标题字体、icon样式等。theme内会使用inheritedwidget来为其子树共享样式数据。","bit(位)","blue","blurradius:","body:","bool","boxconstraints(","boxdecoration(","boxshadow(","boxshadow:","bright","brightness,","build(buildcontext","buttontheme,","buttonthemedata","c","cardcolor,","child:","children:","class","color","color(0xff0d47a1),","color(0xff1565c0),","color(0xff1976d2),","color(0xff1e88e5),","color(0xff42a5f5),","color(0xff64b5f6),","color(0xff90caf9),","color(0xffbbdefb),","color(0xffdc380d);","color(0xffe3f2fd),","color(_blueprimaryvalue),","color(int.parse(c,radix:16)).withalpha(255)","color(int.parse(c,radix:16)|0xff000000)","color,","color.computeluminance()","color:","color;","colors.black","colors.black26,","colors.blu","colors.blue,","colors.blue[50]到colors.blue[100]的色值从浅蓝到深蓝渐变,效果如图7","colors.t","colors.teal;","colors.white,","column(","const","constraints:","container(","context)","context)来获取的,我们看看其简化后的代码:","context,","context.inheritfromwidgetofexacttyp","context.inheritfromwidgetofexacttype(_inheritedtheme)","createstate()","cursorcolor,","data:","decoration:","design","design中的颜色的类,它包含一种颜色的10个级别的渐变色。materialcolor通过\"[]\"运算符的索引值来代表颜色的深度,有效的索引有:50,100,200,…,900,数字越大,颜色越深。materialcolor的默认值为索引等于500的颜色。举个例子,colors.blue是预定义的一个materialcolor类对象,定义如下:","dialogbackgroundcolor,//对话框背景颜色","dividercolor,","double.infinity,","extend","fals","final","floatingactionbutton(","floatingactionbutton:","fontfamily,","fontweight.bold,","fontweight:","icon(icons.airport_shuttle),","icon(icons.favorite),","icon(icons.palette)","icontheme,","icontheme:","iconthemedata","iconthemedata(color:","icon的默认样式","int","key","key,","mainaxisalignment.center,","mainaxisalignment:","materialcolor","materialcolor(","materialcolor是实现materi","minheight:","minwidth:","navbar","navbar(color:","navbar({","new","of(buildcontext","offset(0,","offset:","onpressed:","platform,","primarycolor,","primaryswatch,","primaryswatch:","return","row(","scaffold(","setstate(()","shadowthemeonli","state","statefulwidget","statelesswidget","static","string","style:","targetplatform","text(","text(\"","text(\"主题测试\")),","textstyle(","textthem","texttheme,//","theme","theme(","theme.of(context);","themedata","themedata(","themedata({","themedata.copywith(","themedata.icontheme.copywith(","themedata用于保存是materi","themetestrout","theme组件可以为materi","this.color,","this.title,","title,","title:","title;","var","widget","{","}","})","});","},","、indicatorcolor等也会受primaryswatch影响。","上面只是themedata的一小部分属性,完整的数据定义读者可以查看sdk。上面属性中需要说明的是primaryswatch,它是主题颜色的一个\"样本色\",通过这个样本色可以在一些条件下生成一些其它的属性,例如,如果没有指定primarycolor,并且当前主题不是深色主题,那么primarycolor就会默认为primaryswatch指定的颜色,还有一些相似的属性如accentcolor","上面表格中的的字段在color类中都有对应的属性,而color中的众多方法也就是操作这些属性的,由于大多比较简单,读者可以查看类定义了解。在此我们主要讨论两点:色值转换和亮度。","会在widget树中从当前位置向上查找第一个类型为_inheritedtheme的widget。所以当局部使用theme后,其子树中theme.of()找到的第一个_inheritedtheme便是该theme的。","假如我们需要要实现一个背景颜色和title可以自定义导航栏,并且背景色为深色时我们应该让title显示浅色;背景色为浅色时,title显示深色。要实现这个功能,我们就需要来计算背景色的亮度。color类中提供了一个computeluminance()方法,他可以返回一个[0","可以通过局部主题覆盖全局主题,正如代码中通过theme为第二行图标指定固定颜色(黑色)一样,这是一种常用的技巧,flutter中会经常使用这种方法来自定义子树主题。那么为什么局部主题可以覆盖全局主题?这主要是因为widget中使用主题样式时是通过theme.of(buildcontext","在介绍主题前我们先了解一些flutter中的color类。color类中颜色以一个int值保存,我们知道显示器颜色是由红、绿、蓝三基色组成,每种颜色站8比特,存储结构如下:","如web开发中的色值通常是一个字符串如\"#dc380d\",它是一个rgb值,我们可以通过下面这些方法将其转为color类:","如何将颜色字符串转成color对象","字体主题,包括标题、body等文字样式","我们实现一个路由换肤功能:","我们看看themedata部分数据定义:","本示例是对单个路由换肤,如果相对整个应用换肤,可以去修改materialapp的theme属性。","注意:materi","测试代码如下:","示例","简化代码,并非源码","红色","组件库的主题数据,material组件需要遵守相应的设计规范,而这些规范可自定义部分都定义在themedata中了,所以我们可以通过themedata来自定义应用主题。在子组件中,我们可以通过theme.of方法来获取当前的themedata。","绿色","蓝色","设计规范中有些是不能自定义的,如导航栏高度,themedata只包含了可自定义部分。","运行后点击右下角悬浮按钮则可以切换主题,如图7","运行效果如图7","需要注意的有三点:","颜色","颜色亮度","颜色和主题","颜色固定黑色\")","颜色跟随主题\")"],"chapter7/futurebuilder_and_streambuilder.html":["\"我是从互联网上获取的数据\");","${snapshot.data}\");","${snapshot.data}');","${snapshot.error}\");","${snapshot.error}');","()","(buildcontext","(i)","(snapshot.connectionst","(snapshot.connectionstate)","(snapshot.haserror)","),",");",",//","...","//","///","//initialdata:","1),","2),","7.5","7.5.1","7.5.2","7.5:异步ui更新(futurebuilder、streambuilder)","8、7","9所示:","==","=>","@requir","active,","async","asyncsnapshot","build(buildcontext","builder:","builder:widget构建器;该构建器会在future执行的不同阶段被多次调用,构建器签名如下:","case","center(","child:","circularprogressindicator();","connectionst","connectionstate.active:","connectionstate.done)","connectionstate.done:","connectionstate.none:","connectionstate.waiting:","context)","context,","counter()","counter(),","done,","enum","function","futur","future.delayed(duration(seconds:","future:","futurebuild","futurebuilder(","futurebuilder({","futurebuilder会依赖一个future,它会根据所依赖的future的状态来动态构建自身。我们看一下futurebuilder构造函数:","futurebuilder使用代码如下:","future:futurebuilder依赖的future,通常是一个异步耗时任务。","i;","initialdata:初始数据,用户设置默认数据。","key","key,","mocknetworkdata()","mocknetworkdata(),","none,","null","null;","return","snapshot)","snapshot会包含当前异步任务的状态信息及结果信息","stream","stream,","stream.periodic(duration(seconds:","stream:","streambuild","streambuilder(","streambuilder({","streambuilder使用代码如下:","stream处于激活状态(流上已经有数据传递了),对于futurebuilder没有该状态。","switch","text(\"contents:","text(\"error:","text('active:","text('error:","text('stream已关闭');","text('没有stream');","text('等待数据...');","this.builder,","this.future,","this.initialdata,","unreach","waiting,","widget","{","}","})","});","},","上面代码中我们在builder中根据当前异步任务状态connectionstate来返回不同的widget。connectionstate是一个枚举类,定义如下:","不同的是,它可以接收多个异步操作的结果,它常用于会多次读取数据的异步任务场景,如网络内容下载、文件读写等。streambuilder正是用于配合stream来展示流上事件(数据)变化的ui组件。下面看一下streambuilder的默认构造函数:","也是用于接收异步事件数据,和futur","另外,futurebuilder的builder函数签名和streambuilder的builder是相同的。","可以看到和futurebuilder的构造函数只有一点不同:前者需要一个future,而后者需要一个stream。","异步ui更新(futurebuilder、streambuilder)","异步任务处于等待状态","异步任务已经终止.","当前没有异步任务,比如[futurebuilder]的[future]为null时","很多时候我们会依赖一些异步数据来动态更新ui,比如在打开一个页面时我们需要先从互联网上获取数据,在获取数据的过程中我们显式一个加载框,等获取到数据时我们再渲染页面;又比如我们想展示stream(比如文件流、互联网数据接收流)的进度。当然,通过statefulwidget我们完全可以实现上述这些功能。但由于在实际开发中依赖异步数据更新ui的这种场景非常常见,因此flutter专门提供了futurebuilder和streambuilder两个组件来快速实现这种功能。","我们创建一个计时器的示例:每隔1秒,计数加1。这里,我们使用stream来实现每隔一秒生成一个数字:","我们实现一个路由,当该路由打开时我们从网上获取数据,获取数据时弹一个加载框;获取结束时,如果成功则显示获取到的数据,如果失败则显示错误。由于我们还没有介绍在flutter中如何发起网络请求,所以在这里我们不真正去网络请求数据,而是模拟一下这个过程,隔3秒后返回一个字符串:","我们知道,在dart中stream","注意,connectionstate.active只在streambuilder中才会出现。","示例","请求失败,显示错误","请求已结束","请求成功,显示数据","请求未结束,显示load","读者可以自己运行本示例查看运行结果。注意,本示例只是为了演示streambuilder的使用,在实战中,凡是ui会依赖多个异步数据而发生变化的场景都可以使用streambuilder。","运行结果如图7",",比如我们可以通过snapshot.connectionstate获取异步任务的状态信息、通过snapshot.haserror判断异步任务是否有错误等等,完整的定义读者可以查看asyncsnapshot类定义。"],"chapter7/dailog.html":["!=","!_withtree;","!withtree;","\"中文简体\"","\"美国英语\"}\");","$delete\");","$deletetree\");","()","(){","(bool","(buildcontext","(context","(context)","(delet","(deletetre","(i","(index","(v)",")",")),","));","),",");","...","...//省略",".8,),","//","//...","//return","//使用alertdialog会报错","//关闭对话框","//关闭对话框并返回true","//内容的填充","//复选框选中状态发生变化时重新构建ui","//对话框标题组件","//对话框语义化标签(用于读屏软件)","//将选中状态通过事件的形式抛出","//弹出删除确认对话框,等待用户确认","//弹出对话框并等待其关闭","//执行删除操作","//更新复选框状态","//更新自身选中状态","//更新选中状态","//构建对话框内部ui","//标题文本样式","//点击对话框barrier(遮罩)时是否关闭它","//点击该按钮后弹出对话框","//点击遮罩不关闭对话框","//点击遮罩是否关闭对话框","//省略无关代码","//记录复选框是否选中","//默认不选中","1","1);","10所示:","11。","12所示:","13所示:","14所示:","150),","15所示:","16所示:","17所示:","18所示:","19所示:","2);","20.0,","24.0),","24.0,","26.0),","280),","280,","30,","6),","7.6","7.6.1","7.6.2","7.6.3","7.6.4","7.6.5","7.6:对话框详解",":","=","==","=>","?","@overrid","@requir","[","],","_buildmaterialdialogtransitions(","_buildmaterialdialogtransitions,","_dialogcheckboxst","_dialogcheckboxstate();","_dialogroutest","_element.markneedsbuild();","_showbottomsheet()","_showmodalbottomsheet()","_showmodalbottomsheet();","_withtre","_withtree,","actions:","alertdialog","alertdialog(","alertdialog(content:","alertdialog({","anim","animation,","async","await","axis.vertical,","barriercolor,","barriercolor:","barrierdismiss","barrierdismissible,","barrierdismissible:","barrierlabel,","barrierlabel:","bool","boxconstraints(maxwidth:","build(buildcontext","buildcontext","buildcontext,","builder(","builder(builder:","builder);","builder,","builder:","changelanguage()","checkbox(","child","child)","child);","child,","child:","children:","circularprogressindicator(),","circularprogressindicator(value:","class","color","colors.black87,","column(","const","constrainedaxis:","constrainedbox(","constraints:","content:","context)","context,","context:","createstate()","crossaxisalignment.start,","crossaxisalignment:","curve:","curvedanimation(","curves.easeout,","customscrollview等),如下面的代码运行后会报错。","delet","deletetre","dialog","dialog(","dialog(child:","dialogcheckbox","dialogcheckbox(","dialogcheckbox({","durat","duration(milliseconds:","edgeinsets.fromltrb(24.0,","edgeinsets.only(top:","edgeinsets.symmetric(vertical:","element).markneedsbuild();","expanded(","extend","false,","false;","final","flatbutton(","flutter","fn)","futur","index","index)","initstate()","int","itembuilder:","itemcount:","key","key,","listtile(","listtile(title:","listview(","listview.builder(","loading框","mainaxissize.min,","mainaxissize:","material(","materiallocalizations.of(context).modalbarrierdismisslabel,","materialtype.card,","navigator.of(context).pop(),","navigator.of(context).pop();","navigator.of(context).pop(_withtree);","navigator.of(context).pop(index),","navigator.of(context).pop(true);","navigator.of(context).pop(withtree);","navigator.of(context,","navigator.pop(context,","null","null)","onchanged:","onchanged;","onpressed:","ontap:","padding(","padding:","pagebuilder,","pagebuilder:","pagechild","pagechild)","pagechild;","parent:","persistentbottomsheetcontrol","persistentbottomsheetcontroller中包含了一下控制对话框的方法比如close方法可以关闭该对话框,功能比较简单,读者可以自行查看源码。唯一需要注意的是,showbottomsheet和我们上面介绍的弹出对话框的方法原理不同:showbottomsheet是调用widget树顶部的scaffold组件的scaffoldstate的showbottomsheet同名方法实现,也就是说要调用showbottomsheet方法就必须得保证父级组件中有scaffold。","print(\"$index\");","print(\"取消删除\");","print(\"同时删除子目录:","print(\"已确认删除\");","print(\"点击了:$index\");","print(\"选择了:${i","print(type);","raisedbutton(","return","rootnavigator:","routepagebuild","routetransitionsbuild","row(","safearea(","scale:","scaletransition(","secondaryanimation)","secondaryanimation,","setstate(()","setstate(voidcallback","shadowthemeonly:","showbottomsheet(","showcustomdialog(","showcustomdialog({","showdeleteconfirmdialog1()","showdeleteconfirmdialog1();","showdeleteconfirmdialog2()","showdeleteconfirmdialog2();","showdeleteconfirmdialog3()","showdeleteconfirmdialog3();","showdeleteconfirmdialog4()","showdialog(","showdialog()是material组件库提供的一个用于弹出material风格对话框的方法,签名如下:","showdialog({","showgeneraldialog(","showgeneraldialog({","showlistdialog()","showloadingdialog()","showmodalbottomsheet(","showmodalbottomsheet方法可以弹出一个material风格的底部菜单列表模态对话框,示例如下:","showmodalbottomsheet的实现原理和showgeneraldialog实现原理相同,都是通过路由的方式来实现的,读者可以查看源码对比。但值得一提的是还有一个showbottomsheet方法,该方法会从设备底部向上弹出一个全屏的菜单列表,示例如下:","simpledialog","simpledialog(","simpledialogoption(","simpledialog也是material组件库提供的对话框,它会展示一个列表,用于列表选择的场景。下面是一个选择app语言的示例,运行结果如图7","sizedbox(","someth","state","statefulwidget","string","super.initstate();","text(\"$index\"),","text(\"删除\"),","text(\"取消\"),","text(\"同时删除子目录?\"),","text(\"对话框1\"),","text(\"对话框2\"),","text(\"您确定要删除当前文件吗?\"),","text(\"提示\"),","text(\"显示底部菜单列表\"),","text(\"正在加载,请稍后...\"),","text(\"话框3(复选框可点击)\"),","text(\"请选择\")),","text('中文简体'),","text('美国英语'),","text('请选择语言'),","theme","theme(data:","theme,","theme.of(context,","themedata","this.actions,","this.backgroundcolor,","this.content,","this.contentpad","this.contenttextstyle,//","this.elevation,//","this.onchanged,","this.semanticlabel,","this.shape,","this.title,","this.titlepadding,","this.titletextstyle,","this.value,","title:","transitionbuilder,","transitionbuilder:","transitionduration,","transitionduration:","true).push(_dialogroute(","true);","true,","type","type:","unconstrainedbox(","v;","valu","value)","value,","value:","value;","valuechang","var","void","widget","widget.onchanged(v);","widget.value;","widgetbuild","width:","withtre","withtree,","{","}","})","}),","});","},","、","上面代码运行后可以实现一样的效果。现在我们总结一下:alertdialog、simpledialog以及dialog是material组件库提供的三种对话框,旨在帮助开发者快速构建出符合material设计规范的对话框,但读者完全可以自定义对话框样式,因此,我们仍然可以实现各种样式的对话框,这样即带来了易用性,又有很强的扩展性。","上面的代码运行后复选框也可以正常选中。可以看到,我们只用了一行代码便解决了这个问题!当然上面的代码并不是最优,因为我们只需要更新复选框的状态,而此时的context我们用的是对话框的根context,所以会导致整个对话框ui组件全部rebuild,因此最好的作法是将context的“范围”缩小,也就是说只将checkbox的element标记为dirty,优化后的代码为:","上面的方法虽然能解决对话框状态更新的问题,但是有一个明显的缺点——对话框上所有需要会改变状态的组件都得单独封装在一个在内部管理状态statefulwidget中,这样不仅麻烦,而且复用性不大。因此,我们来想想能不能找到一种更简单的方法?要确认这个问题,我们就得先想想ui是怎么更新的,我们知道在调用setstate方法后statefulwidget就会重新build,那setstate方法做了什么呢?我们能不能从中找到方法?顺着这个思路,我们就得看一下setstate的核心源码:","下面我们主要介绍一下material库中的alertdialog组件,它的构造函数定义如下:","下面我们看一个弹出一个有30个列表项的对话框示例,运行效果如图7","下面是弹出对话框的代码:","代码运行后,效果如图7","使用对话框","使用缩放动画","依然使用checkbox组件","关于动画相关内容我们将在本书后面章节介绍,下面内容读者可以先了解一下(不必深究),读者可以在学习完动画相关内容后再回头来看。","关闭对话框","其它类型的对话框","其实loading框可以直接通过showdialog+alertdialog来自定义:","内容文本样式","列表项组件我们使用了simpledialogoption组件来包装了一下,它相当于一个flatbutton,只不过按钮文案是左对齐的,并且padding较小。上面示例运行后,用户选择一种语言后,控制台就会打印出它。","删除文件","单独封装一个内部管理选中状态的复选框组件","参数都比较简单,不在赘述。下面我们看一个例子,假如我们要在删除文件事弹出一个确认对话框,该对话框如图7","可以发现,setstate中调用了element的markneedsbuild()方法,我们前面说过,flutter是一个响应式框架,要更新ui只需改变状态后通知框架页面需要重构即可,而element的markneedsbuild()方法正是来实现这个功能的!markneedsbuild()方法会将当前的element对象标记为“dirty”(脏的),在每一个frame,flutter都会重新构建被标记为“dirty”element对象。既然如此,我们有没有办法获取到对话框内部ui的element对象,然后将其表姐为为“dirty”呢?答案是肯定的!我们可以通过context来得到element对象,至于element与context的关系我们将会在后面“flutter核心原理”一章中再深入介绍,现在只需要简单的认为:在组件树种,context实际上就是element对象的引用。知道这个后,那么解决的方案就呼之欲出了,我们可以通过如下方式来让复选框可以更新:","可以发现,遮罩颜色比通过showdialog方法打开的对话框更深。另外对话框打开/关闭的动画已变为缩放动画了,读者可以亲自运行示例查看效果。","可见复选框能选中了,点击“取消”或“删除”后,控制台就会打印出最终的确认状态。","复选框选中状态","如果我们嫌loading框太宽,想自定义对话框宽度,这时只使用sizedbox或constrainedbox是不行的,原因是showdialog中已经给对话框设置了宽度限制,根据我们在第五章“尺寸限制类容器”一节中所述,我们可以使用unconstrainedbox先抵消showdialog对宽度的限制,然后再使用sizedbox指定宽度,代码如下:","如果我们就是需要嵌套一个listview应该怎么做?这时,我们可以直接使用dialog类,如:","实现代码如下:","实现代码很简单,不在赘述。唯一需要注意的是我们是通过navigator.of(context).pop(…)方法来关闭对话框的,这和路由返回的方式是一致的,并且都可以返回一个结果数据。现在,对话框我们已经构建好了,那么如何将它弹出来呢?还有对话框返回的数据如何应如何被接收呢?这些问题的答案都在showdialog()方法中。","实现很简单,直接调用navigator的push方法打开了一个新的对话框路由_dialogroute,然后返回了push的返回值。可以对话框实际上正是通过路由的形式实现的,这也是为什么我们可以使用navigator的pop","实际上alertdialog和simpledialog都使用了dialog类。由于alertdialog和simpledialog中使用了intrinsicwidth来尝试通过子组件的实际尺寸来调整自身尺寸,这就导致他们的子组件不能是延迟加载模型的组件(如listview、gridview","实际上,showdialog方法正是showgeneraldialog的一个封装,定制了material风格对话框的遮罩颜色和动画。material风格对话框打开/关闭动画是一个fade(渐隐渐显)动画,如果我们想使用一个缩放动画就可以通过transitionbuilder来自定义。下面我们自己封装一个showcustomdialog方法,它定制的对话框动画为缩放动画,并同时制定遮罩颜色为colors.black87:","对话框ui的build","对话框内容组件","对话框外形","对话框实现原理","对话框打开/关闭的动画","对话框打开/关闭的动画时长","对话框打开动画及遮罩","对话框操作按钮组","对话框本质上也是ui布局,通常一个对话框会包含标题、内容,以及一些操作按钮,为此,material库中提提供了一些现成的对话框组件来用于快速的构建出一个完整的对话框。","对话框状态管理","对话框的阴影","对话框背景色","对话框详解","将选中状态返回","常规方法","底部菜单列表","弹出对话框","弹出底部菜单列表模态对话框","我们可以把对话框分为内部样式和外部样式两部分。内部样式指对话框中显示的具体内容,这部分内容我们已经在上面介绍过了;外部样式包含对话框遮罩样式、打开动画等,本节主要介绍如何自定义这些外部样式。","我们在用户选择删除一个文件时,会询问是否产出此文件;在用户选择一个文件夹是,应该再让用户确认是否删除子文件夹。为了在用户选择了文件夹时避免二次弹窗确认是否删除子目录,我们在确认对话框底部添加一个“同时删除子目录?”的复选框,如图7","我们已经介绍过了showdialog方法,它是material组件库中提供的一个打开material风格对话框的方法。那如何打开一个普通风格的对话框呢(非material风格)?","我们已经知道对话框最终都是由showgeneraldialog方法打开的,我们来看看它的具体实现:","执行删除操作","提供了一个showgeneraldialog方法,签名如下:","方法中构建的,而是通过showdialog单独构建的,所以调用在_dialogroutestate的context中调用setstate是无法影响通过showdialog构建的ui的。另外,我们可以从另外一个角度来理解这个现象,前面说过动画框也是通过路由的方式来实现的,那么上面的代码实际上就等同于企图在父路由中调用setstate来让子路由更新,这显然是不行的!简尔言之,根本原因就是context不对。那如何让复选框可点击呢?有常规方法和一个精妙的方法,下面我们分别介绍:","方法来退出对话框的原因。关于对话框的样式定制在_dialogroute中,没有什么新的东西,读者可以自行查看。","既然是context不对,那么直接的思路就是将复选框的选中逻辑单独封装成一个statefulwidget,然后其再内部管理复选状态。我们先来看看这种方法,下面是实现代码:","显示效果如图7","最后,就是使用:","本节将详细介绍一下flutter中话框对话框的使用方式、实现原理、样式定制及状态管理。","标题填充","此时context为对话框ui的根element,我们","注意:如果alertdialog的内容过长,内容将会溢出,这在很多时候可能不是我们期望的,所以如果对话框内容过长时,可以用singlechildscrollview将内容包裹起来。","点击按钮,弹出该对话框:","然后,当我们运行上面的代码时我们会发现复选框根本选不中!为什么会这样呢?其实原因很简单,我们知道setstate方法只会针对当前context的子树重新build,但是我们的对话框并不是在_dialogroutestate的build","现在就有一个问题:如何管理复选框的选中状态?习惯上,我们会在路由页的state中来管理选中状态,我们可能会写出如下这样的代码:","现在,我们使用showcustomdialog打开文件删除确认对话框,代码如下:","现在,我们己经介绍完了alertdialog、simpledialog以及dialog。上面的示例中,我们在调用showdialog时,在builder中都是构建了这三个对话框组件的一种,可能有些读者会惯性的以为在builder中只能返回这三者之一,其实这不是必须的!就拿dialog的示例来距离,我们完全可以用下面的代码来替代dialog:","直接将对话框ui对应的element标记为dirti","示例运行后,我们点击对话框“取消”按钮或遮罩,控制台就会输出\"取消删除\",如果点击“删除”按钮,控制台就会输出\"已确认删除\"。","精妙的解法","自定义遮罩颜色","该对话框样式代码如下:","该方法只有两个参数,含义见注释。该方法返回一个future,它正是用于接收对话框的返回值:如果我们是通过点击对话框遮罩关闭的,则future的值为null,否则为我们通过navigator.of(context).pop(result)返回的result值,下面我们看一下整个示例:","语义化标签(用于读屏软件)","运行后效果如图7","运行效果如图7","返回1","返回2","返回的是一个control","这是一种常用的缩小`context`范围的方式","通过builder来获得构建checkbox的`context`,","遮罩颜色","默认复选框不选中"],"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,","1所示:","200.0)),","200.0,","300.0,","3039):","8.1","8.1:原始指针事件处理","=","=>","[","],","_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","defertochild:子组件会一个接一个的进行命中测试,如果子组件中有测试通过的,则当前组件通过,这就意味着,如果指针事件作用于子组件上时,其父级组件也肯定可以收到该事件。","delta:两次指针移动事件(pointermoveevent)的距离。","down0","down1","event)","event,在移动设备上通常为触摸事件),下一节再介绍手势处理。","flutter中可以使用listener来监听原始触摸事件,按照本书对组件的分类,则listener也是一个功能性组件。下面是listener的构造函数定义:","height:","hittestbehavior.defertochild,","hittestbehavior.opaque,","hittestbehavior.translucent,","i/flutt","key","key,","listener(","listener({","onpointerdown:","onpointermove:","onpointerup:","opaque:在命中测试时,将当前组件当成不透明处理(即使本身是透明的),最终的效果相当于当前widget的整个区域都是点击区域。举个例子:","orientation:指针移动方向,是一个角度值。","pointerev","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","width:","})","。","上例中,只有点击文本内容区域才会触发点击事件,因为","上例中,当注释掉最后一行代码后,在左上角200*100范围内非文本区域点击时(顶部组件透明区域),控制台只会打印“down0”,也就是说顶部组件没有接收到事件,而只有底部接收到了。当放开注释后,再点击时顶部和底部都会接收到事件,此时会打印:","上面只是pointerevent一些常用属性,除了这些它还有很多属性,读者可以查看api文档。","会去子组件判断是否命中测试,而该例中子组件就是","但是flutter中没有机制取消或停止”冒泡“过程,而浏览器的冒泡是可以停止的。注意,只有通过命中测试的组件才能触发事件。","假如我们不想让某个子树响应pointerevent的话,我们可以使用ignorepointer和absorbpointer,这两个组件都能阻止子树接收指针事件,不同之处在于absorbpointer本身会参与命中测试,而ignorepointer本身不会参与,这就意味着absorbpointer本身是可以接收指针事件的(但其子树不行),而ignorepointer不可以。一个简单的例子如下:","原始指针事件处理","在移动端,各个平台或ui系统的原始指针事件模型基本都是一致,即:一次完整的事件分为三个阶段:手指按下、手指移动、和手指抬起,而更高级别的手势(如点击、双击、拖动等)都是基于这些原始事件的。","如果behavior值改为hittestbehavior.opaque,则只会打印\"down1\"。","如果我们想让整个300×150的矩形区域都能点击我们可以将behavior设为hittestbehavior.opaque。注意,该属性并不能用于在组件树中拦截(忽略)事件,它只是决定命中测试时的组件大小。","当指针按下时,flutter会对应用程序执行命中测试(hit","忽略pointerev","我们先看一个示例,后面再单独讨论一下behavior属性。","手指在蓝色矩形区域内移动即可看到当前指针偏移,当触发指针事件时,参数pointerdownevent、pointermoveevent、pointerupevent都是pointerevent的一个子类,pointerevent类中包括当前指针的一些信息,如:","指针按下事件(以及该指针的后续事件)然后被分发到由命中测试发现的最内部的组件,然后从那里开始,事件会在组件树中向上冒泡,这些事件会从最内部的组件被分发到组件树根的路径上的所有组件,这和web开发中浏览器的事件冒泡机制相似,","本节先来介绍一下原始指针事件(pointer","点击container时,由于它在absorbpointer的子树上,所以不会响应指针事件,所以日志不会输出\"in\",但absorbpointer本身是可以接收指针事件的,所以会输出\"up\"。如果将absorbpointer换成ignorepointer,那么两个都不会输出。","现在,我们重点来介绍一下behavior属性,它决定子组件如何响应命中测试,它的值类型为hittestbehavior,这是一个枚举类,有三个枚举值:","运行后效果如图8"],"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;","2所示:","30.0,","3所示:","4所示:","8.2","8.2.1","8.2.2","8.2.3","8.2:手势识别","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:当用户按下时,此属性为用户按下的位置相对于屏幕(而非父组件)原点(左上角)的偏移。","dragenddetails.velocity:该属性代表用户抬起手指时的滑动速度(包含x、y两个轴的),示例中并没有处理手指抬起时的速度,常见的效果是根据用户抬起手指时的速度做一个减速动画。","dragupdatedetails.delta:当用户在屏幕上滑动时,会触发多次update事件,delta指一次update事件的滑动的偏移量。","e)","e){","e.delta.dx;","e.delta.dy;","extend","false;","fontsize:","gestur","gestureconflicttestroutest","gesturedetector","gesturedetector(","gesturedetectortestrout","gesturedetector内部是使用一个或多个gesturerecognizer来识别各种手势的,而gesturerecognizer的作用就是通过listener来将原始指针事件转换为语义手势,gesturedetector直接可以接收一个子widget。gesturerecognizer是一个抽象类,一种手势的识别器对应一个gesturerecognizer的子类,flutter实现了丰富的手势识别器,我们可以直接使用。","gesturedetector可以监听缩放事件,下面示例演示了一个简单的图片缩放效果:","gesturedetector是一个用于手势识别的功能性组件,我们通过它可以来识别各种手势。gesturedetector实际上是指针事件的语义化封装,接下来我们详细介绍一下各种手势识别。","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会将要监听的组件的原点(左上角)作为本次手势的原点,当用户在监听的组件上按下手指时,手势识别就会开始。下面我们看一个拖动圆形字母a的示例:","代码解释:","假设我们要给一段富文本(richtext)的不同部分分别添加点击事件处理器,但是textspan并不是一个widget,这时我们不能用gesturedetector,但textspan有一个recognizer属性,它可以接收一个gesturerecognizer。","假设我们需要在点击时给文本变色:","单一方向拖动","和","在本示例中,是可以朝任意方向拖动的,但是在很多场景,我们只需要沿一个方向来拖动,如一个垂直方向的列表,gesturedetector可以只识别特定方向的手势事件,我们将上面的例子改为只能沿垂直方向拖动:","如果在上例中我们同时监听水平和垂直方向的拖动事件,那么我们斜着拖动时哪个方向会生效?实际上取决于第一次移动时两个轴上的位移分量,哪个轴的大,哪个轴在本次滑动事件竞争中就胜出。实际上flutter中的手势识别引入了一个arena的概念,arena直译为“竞技场”的意思,每一个手势识别器(gesturerecognizer)都是一个“竞争者”(gesturearenamember),当发生滑动事件时,他们都要在“竞技场”去竞争本次事件的处理权,而最终只有一个“竞争者”会胜出(win)。例如,假设有一个listview,它的第一个子组件也是listview,如果现在滑动这个子listview,父listview会动吗?答案是否定的,这时只有子listview会动,因为这时子listview会胜出而获得滑动事件的处理权。","当同时监听ontap和ondoubletap事件时,当用户触发tap事件时,会有200毫秒左右的延时,这是因为当用户点击完之后很可能会再次点击以触发双击事件,所以gesturedetector会等一段时间来确定是否为双击事件。如果用户只监听了ontap(没有监听ondoubletap)事件时,则没有延时。","总结","我们以拖动手势为例,同时识别水平和垂直方向的拖动手势,当用户按下手指时就会触发竞争(水平方向和垂直方向),一旦某个方向“获胜”,则直到当次拖动手势结束都会沿着该方向移动。代码如下:","我们发现没有打印\"up\",这是因为在拖动时,刚开始按下手指时在没有移动时,拖动手势还没有完整的语义,此时tapdown手势胜出(win),此时打印\"down\",而拖动时,拖动手势会胜出,当手指抬起时,onhorizontaldragend","我们通过gesturedetector对container进行手势识别,触发相应事件后,在container上显示事件名,为了增大点击区域,将container设置为200×100,代码如下:","手势冲突","手势冲突只是手势级别的,而手势是对原始指针的语义化的识别,所以在遇到复杂的冲突场景时,都可以通过listener直接识别原始指针事件来解决冲突。","手势竞争与冲突","手势识别","拖动、滑动","日志:","本节先介绍一些flutter中用于处理手势的gesturedetector和gesturerecognizer,然后再仔细讨论一下手势竞争与冲突问题。","此示例运行后,每次拖动只会沿一个方向移动(水平或垂直),而竞争发生在手指按下后首次移动(move)时,此例中具体的“获胜”条件是:首次移动时的位移在水平和垂直方向上的分量大的一个获胜。","注意:","注意:使用gesturerecognizer后一定要调用其dispose()方法来释放资源(主要是取消内部的计时器)。","点击、双击、长按","现在在图片上双指张开、收缩就可以放大、缩小图片。本示例比较简单,实际中我们通常还需要一些其它功能,如双击放大或缩小一定倍数、双指张开离开屏幕时执行一个减速放大动画等,读者可以在学习完后面”动画“一章中的内容后自己来尝试实现一下。","现在我们按住圆形“a”拖动然后抬起手指,控制台日志如下:","用户手指按下:offset(26.3,","由于手势竞争最终只有一个胜出者,所以,当有多个手势识别器时,可能会产生冲突。假设有一个widget,它可以左右拖动,现在我们也想检测在它上面手指按下和抬起的事件,代码如下:","示例","竞争","缩放","运行后,就可以在任意方向拖动了,运行效果如图8","运行效果如图8","运行效果:","这样就只能在垂直方向拖动了,如果只想在水平方向滑动同理。"],"chapter8/eventbus.html":["(arg)","(eventnam","(f","(list","(var","...","//","//保存事件订阅者队列,key:事件名(id),value:","//保存单例","//反向遍历,防止在订阅者在回调中移除自身带来的下标错位","//定义一个top","//工厂构造函数","//添加订阅者","//登录成功后触发登录事件,页面a中订阅者会被调用","//登录页b中","//监听登录事件","//私有构造函数","//移除订阅者","//触发事件,事件触发后该事件所有订阅者会被调用","//订阅者回调签名","//页面a中","1;","8.3","8.3:全局事件总线","=","==",">","??=","[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","{","||","}","});","事件总线","事件总线通常用于组件之间状态共享,但关于组件之间状态共享也有一些专门的包如redux、以及前面介绍过的provider。对于一些简单的应用,事件总线是足以满足业务需求的,如果你决定使用状态管理包的话,一定要想清楚您的app是否真的有必要使用它,防止“化简为繁”、过度设计。","使用","在app中,我们经常会需要一个广播机制,用以跨页面事件通知,比如一个需要登录的app中,页面会关注用户登录或注销事件,来进行一些状态更新。这时候,一个事件总线便会非常有用,事件总线通常实现了订阅者模式,订阅者模式包含发布者和订阅者两种角色,可以通过事件总线来触发事件和监听事件,本节我们实现一个简单的全局事件总线,我们使用单例模式,代码如下:","对应事件的订阅者队列","注意:dart中实现单例模式的标准做法就是使用static变量+工厂构造函数的方式,这样就可以保证new"],"chapter8/notification.html":["!=","\";","&&","()","(context)","(context,","(element","(notification)","(notification){","(notification.runtimetype){","(onnotif","(widget","(widget._dispatch(this,","),",");","...//省略无关代码","...//省略重复代码","//","//判断当前element对应的widget是否是notificationlistener。","//只会在滚动结束时才会触发此回调","//打印通知","//指定监听通知的类型为滚动结束通知(scrollendnotification)","//按钮点击时分发通知","//故先判断是否是statelessel","//是notificationlistener,则调用该notificationlistener的_dispatch方法","//是statelesselement,则获取element对应的widget,判断","//是否是notificationlisten","//由于notificationlistener是继承自statelesswidget,","//监听通知","//遍历回调,会对每一个父级element执行此回调","100,","6所示:","8.4","8.4:通知(notification)",":","=","==","=>","@overrid","@requir","[","],","_dispatch(notif","_msg+=notification.msg+\"","_msg=\"\";","bool","break;","bubbling)。通知冒泡和用户触摸事件冒泡是相似的,但有一点不同:通知冒泡可以中止,但用户触摸事件不行。","build(buildcontext","builder(","builder:","case","center(","child:","children:","class","column(","const","context)","context上也提供了遍历element树的方法。","createstate()","dispatch(buildcontext","dispatch(context)中调用了当前context的visitancestorelements方法,该方法会从当前element开始向上遍历父级元素;visitancestorelements有一个遍历回调参数,在遍历过程中对遍历到的父级元素都会执行该回调。遍历的终止条件是:已经遍历到根element或某个遍历回调返回false。源码中传给visitancestorelements方法的遍历回调为visitancestor方法,我们看看visitancestor方法的实现:","element","element)","element))","element.widget;","extend","false;","final","flutter中很多地方使用了通知,如可滚动组件(scrol","flutter中通过通知冒泡实现了一套自低向上的消息传递机制,这个和web开发中浏览器的事件冒泡原理类似,web开发者可以类比学习。另外我们通过源码了解了flutt","flutter的ui框架实现中,除了在可滚动组件在滚动过程中会发出scrollnotification之外,还有一些其它的通知,如sizechangedlayoutnotification、keepalivenotif","function(t","index)","itembuilder:","itemcount:","key","key);","key,","listtile(title:","listview.builder(","mainaxissize.min,","mainaxissize:","msg;","mynotif","mynotification(\"hi\").dispatch(context),","mynotification(this.msg);","new","notif","notification\"),","notification);","notification,","notificationlisten","notificationlistener(","notificationlistener({","notificationlistener)","notificationlistenercallback","notificationrout","notificationroutest","notificationroutestate();","notification有一个dispatch(context)方法,它是用于分发通知的,我们说过context实际上就是操作element的一个接口,它与element树上的节点是对应的,通知会从context对应的element节点向上冒泡。","null","onnotification(notification);","onnotification:","onnotification回调为通知处理回调,其函数签名如下:","onpressed:","overscrollnotification:","print(\"开始滚动\");","print(\"正在滚动\");","print(\"滚动停止\");","print(\"滚动到边界\");","print(notification);","print(notification.msg);","raisedbutton(","result","return","scrollendnotification:","scrollstartnotification:","scrollupdatenotification:","setstate(()","state","statefulwidget","statelesselement)","statelesswidget","string","super(key:","switch","t)","target)","target?.visitancestorelements(visitancestor);","text(\"$index\"),);","text(\"send","text(_msg)","this.child,","this.onnotification,","true;","typedef","visitancestor(el","visitancestor会判断每一个遍历到的父级widget是否是notificationlistener,如果不是,则返回true继续向上遍历,如果是,则调用notificationlistener的_dispatch方法,我们看看_dispatch方法的源码:","void","widget","widget)滑动时就会分发滚动通知(scrollnotification),而scrollbar正是通过监听scrollnotification来确定滚动条位置的。","{","}","})","});","},","、layoutchangednotification等,flutter正是通过这种通知机制来使父元素可以在一些特定时机来做一些事情。","。","上例中的滚动通知如scrollstartnotification、scrollupdatenotification等都是继承自scrollnotification类,不同类型的通知子类会包含不同的信息,比如scrollupdatenotification有一个scrolldelta属性,它记录了移动的位移,其它通知属性读者可以自己查看sdk文档。","上例中,我们通过notificationlistener来监听子listview的滚动通知的,notificationlistener定义如下:","上列中两个notificationlistener进行了嵌套,子notificationlistener的onnotification回调返回了false,表示不阻止冒泡,所以父notificationlistener仍然会受到通知,所以控制台会打印出通知信息;如果将子notificationlistener的onnotification回调的返回值改为true,则父notificationlistener便不会再打印通知了,因为子notificationlistener已经终止通知冒泡了。","上面代码中,我们每点一次按钮就会分发一个mynotification类型的通知,我们在widget根上监听通知,收到通知后我们将通知通过text显示在屏幕上。","上面代码运行后便只会在滚动结束时在控制台打印出通知的信息。","下面我们看一个完整的例子:","下面是一个监听可滚动组件滚动通知的例子:","便只会接收该参数类型的通知。举个例子,如果我们将上例子代码给为:","分发通知。","可以指定一个模板参数,该模板参数类型必须是继承自notification;当显式指定模板参数时,notificationlisten","如果通知监听器不为空,并且当前通知类型是该notificationlisten","它的返回值类型为布尔值,当返回值为true时,阻止冒泡,其父级widget将再也收不到该通知;当返回值为fals","定义一个通知类,要继承自notification类;","总结","我们可以看到notificationlistener的onnotification回调最终是在_dispatch方法中执行的,然后会根据返回值来确定是否继续向上冒泡。上面的源码实现其实并不复杂,通过阅读这些源码,一些额外的点读者可以注意一下:","我们可以看到:","我们可以通过element.widget得到element节点对应的widget;我们已经反复讲过widget和element的对应关系,读者通过这些源码来加深理解。","我们在上面介绍了通知冒泡的现象及使用,现在我们更深入一些,介绍一下flutter框架中是如何实现通知冒泡的。为了搞清楚这个问题,就必须看一下源码,我们从通知分发的的源头出发,然后再顺腾摸瓜。由于通知是通过notification的dispatch(context)方法发出的,那我们先看看dispatch(context)方法中做了什么,下面是相关源码:","我们将上面的例子改为:","时继续向上冒泡通知。","注意:代码中注释的部分是不能正常工作的,因为这个context是根context,而notificationlistener是监听的子树,所以我们通过builder来构建raisedbutton,来获得按钮位置的context。","监听的通知类型,则调用当前notificationlistener的onnotif","继承自statelesswidget类,所以它可以直接嵌套到widget树中。","自定义通知","运行效果如图8","返回值决定是否继续向上遍历","通知冒泡原理","通知冒泡和web开发中浏览器事件冒泡原理是相似的,都是事件从出发源逐层向上传递,我们可以在上层节点任意位置来监听通知/事件,也可以终止冒泡过程,终止冒泡后,通知将不会再向上传递。","通知冒泡的流程和原理,便于读者加深理解和学习flutter的框架设计思想,在此,再次建议读者在平时学习中能多看看源码,定会受益匪浅。","通知(notification)是flutter中一个重要的机制,在widget树中,每一个节点都可以分发通知,通知会沿着当前节点向上传递,所有父节点都可以通过notificationlistener来监听通知。flutter中将这种由子向父的传递通知的机制称为通知冒泡(notif","阻止冒泡","除了flutter内部通知,我们也可以自定义通知,下面我们看看如何实现自定义通知:"],"chapter9/":["design","flutter动画简介","flutter可以轻松实现各种动画类型,对于许多widget,特别是materi","hero动画","widgets,都带有在其设计规范中定义的标准动画效果(但也可以自定义这些效果)。本章将详细介绍flutter的动画系统,并会通过几个小实例来演示,以帮助开发者迅速理解并掌握动画的开发流程与原理。","交错动画","动画结构","本章目录","第九章:动画","简介","精心设计的动画会让用户界面感觉更直观、流畅,能改善用户体验。","自定义路由过渡动画"],"chapter9/intro.html":[");","*","//通过一个回调创建一个ticker","0,","0.0);","10.0,","2);","20.0,","200.0,","200.0,0.0]的值:","2000),","255).animate(controller);","255).animate(curve);","500),","9.1","9.1:flutter动画简介","=","@overrid","abstract","addlistener();它可以用于给animation添加帧监听器,在每一帧都会被调用。帧监听器中最常见的行为是改变状态后调用setstate()来触发ui重建。","addstatuslistener();它可以给animation添加“动画状态改变”监听器;动画开始、结束、正向或反向(见animationstatus定义)时会调用状态改变的监听器。","alpha","anim","animation)方法,它可以获取动画当前映射值。","animationcontrol","animationcontroller(","animationcontroller派生自animation,因此可以在需要animation对象的任何地方使用。","animationcontroller生成数字的区间可以通过lowerbound和upperbound来指定,如:","animationcontroller用于控制动画,它包含动画的启动forward()、停止stop()","animation对象的当前值可以通过value()方法取到。evaluate函数还执行一些其它处理,例如分别确保在动画值为0.0和1.0时返回开始和结束状态。","animation是一个抽象类,它本身和ui渲染没有任何关系,而它主要的功能是保存动画的插值和状态;其中一个比较常用的animation类是animation。animation对象是一个在一段时间内依次生成一个区间(tween)之间值的类。animation对象在整个动画执行过程中输出的值可以是线性的、曲线的、一个步进函数或者任何其他曲线函数等等,这由curve来决定。","class","colors.black54);","colors.transparent,","colortween","colortween(begin:","const","control","controller,","createticker(tickercallback","curv","curve:","curvedanim","curvedanimation(parent:","curvedanimation和animationcontroller(下面介绍)都是animation类型。curvedanimation可以通过包装animationcontroller和curve生成一个新的动画对象","curves.easein);","curves.easeout);","curves曲线","deceler","doubl","doubletween","duration(milliseconds:","duration:","duration表示动画执行的时长,通过它我们可以控制动画的速度。","eas","easein","easeinout","easeout","end:","extend","final","flutter中动画抽象","flutter动画简介","flutter应用在启动时都会绑定一个schedulerbinding,通过schedulerbinding可以给每一次屏幕刷新添加回调,而ticker就是通过schedulerbinding来添加屏幕刷新回调,这样一来,每次屏幕刷新都会调用tickercallback。使用ticker(而不是timer)来驱动动画会防止屏幕外动画(动画的ui不在当前屏幕时,如锁屏时)消耗不必要的资源,因为flutter中屏幕刷新时会通知到绑定的schedulerbinding,而ticker是受schedulerbinding驱动的,由于锁屏后屏幕会停止刷新,所以ticker就不会再触发。","inttween(begin:","linear","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中主要定义动画值的映射规则。","upperbound:","vsync:","{","}","、反向播放","。也就是说,根据选择的曲线,curvedanimation的输出可以具有比输入更大的范围。例如,curves.elasticin等弹性曲线会生成大于或小于默认范围的值。","下面我们看一个colortween将动画输入范围映射为两种颜色值之间过渡输出的例子:","为了方便开发者创建动画,不同的ui系统对动画都进行了一些抽象,比如在android中可以通过xml来描述一个动画然后设置给view。flutter中也对动画进行了抽象,主要涉及animation、curve、controller、tween这四个角色,它们一起配合来完成一个完整动画,下面我们一一来介绍它们。","以下示例构建了一个控制器、一条曲线和一个tween:","但是,animationcontroller具有控制动画的其他方法,例如forward()方法可以启动正向动画,reverse()可以启动反向动画。在动画开始执行后开始生成动画帧,屏幕没刷新一次就是一个动画帧,在动画的每一帧,会随着根据动画的曲线来生成当前的动画值(animation.value),然后根据当前的动画值去构建ui,当所有动画帧依次触发时,动画值会依次改变,所以构建的ui也会依次变化,所以最终我们可以看到一个完成的动画。","例如,下面代码创建一个animation对象(但不会启动动画):","动画过程","动画过程可以是匀速的、匀加速的或者先加速后减速等。flutter中通过curve(曲线)来描述动画过程,我们把匀速动画称为线性的(curves.linear),而非匀速动画称为非线性的。","动画通知","匀减速","匀速的","另外在动画的每一帧,animation对象会调用其帧监听器,等动画状态发生改变时(如动画结束)会调用状态改变监听器。","在任何系统的ui框架中,动画实现的原理都是相同的,即:在一段时间内,快速地多次改变ui外观;由于人眼会产生视觉暂留,所以最终看到的就是一个“连续”的动画,这和电影的原理是一样的。我们将ui的一次改变称为一个动画帧,对应一次屏幕刷新,而决定动画流畅度的一个重要指标就是帧率fps(fram","在某些情况下,动画值可能会超出animationcontroller的[0.0,1.0]的范围,这取决于具体的曲线。例如,fling()函数可以根据我们手指滑动(甩出)的速度(velocity)、力量(force)等来模拟一个手指甩出动画,因此它的动画值可以在[0.0,1.0]范围之外","开始加速,后面减速","开始快,后面慢","开始慢,后面快","开始慢,然后加速,最后再减速","当创建一个animationcontroller时,需要传递一个vsync参数,它接收一个tickerprovider类型的对象,它的主要职责是创建ticker,定义如下:","当然我们也可以创建自己curve,例如我们定义一个正弦曲线:","我们可以通过animation来监听动画每一帧以及执行状态的变化,animation有如下两个方法:","我们可以通过curvedanimation来指定动画的曲线,如:","或animation。在动画的每一帧中,我们可以通过animation对象的value属性获取动画的当前状态值。","根据animation对象的控制方式,动画可以正向运行(从起始状态开始,到终止状态结束),也可以反向运行,甚至可以在中间切换方向。animation还可以生成除double之外的其他类型值,如:anim","注意animate()返回的是一个animation,而不是一个animatable。","注意:","类中还定义了许多其它的曲线,在此便不一一介绍,读者可以自行查看curves类定义。","类是一个预置的枚举类,定义了许多常用的曲线,下面列几种常用的:","要使用tween对象,需要调用其animate()方法,然后传入一个控制器对象。例如,以下代码在500毫秒内生成从0到255的整数值。","读者在此只需要知道帧监听器和状态监听器的区别,在后面的章节中我们将会举例说明。","通常我们会将singletickerproviderstatemixin添加到state的定义中,然后将state对象作为vsync的值,这在后面的例子中可以见到。","除了上面列举的,","默认情况下,animationcontroller对象值的范围是[0.0,1.0]。如果我们需要构建ui的动画值在不同的范围或不同的数据类型,则可以使用tween来添加映射以生成不同的范围或数据类型的值。例如,像下面示例,tween生成[",",我们正是通过这种方式来将动画和动画执行的曲线关联起来的。我们指定动画的曲线为curves.easein,它表示动画开始时比较慢,结束时比较快。"],"chapter9/animation_structure.html":["(buildcontext","(statu","),",");","...","..addlistener(()","//return","//使用弹性曲线","//动画恢复到初始状态时执行动画(正向)","//动画执行结束时反向执行动画","//启动动画","//启动动画(正向执行)","//启动动画(正向)","//图片宽高从0变到300","//路由销毁时需要释放动画资源","//需要继承tickerprovider,如果有多个animationcontroller,则应该使用tickerproviderstatemixin。","0.0,","1),","1、9","2所示:","3),","300.0).animate(animation)","300.0).animate(controller)","300.0).animate(controller);","9.2","9.2.1","9.2.2","9.2:动画结构",":","=","==","=>","@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(\"imgs/avatar.png\",","initstate()","key,","listenable:","listenable;","new","return","revers","scaleanimationrout","scaleanimationroute1","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","上面代码执行后截取了其中的两帧,效果如图9","上面的build方法中的代码可以改为:","上面的代码中有一个迷惑的问题是,child看起来像被指定了两次。但实际发生的事情是:将外部引用child传递给animatedbuilder后animatedbuilder再将其传递给匿名构造器,","上面的例子中并没有指定curve,所以放大的过程是线性的(匀速),下面我们指定一个curve,来实现一个类似于弹簧效果的动画过程,我们只需要将initstate中的代码改为下面这样即可:","上面说过,我们可以通过animation的addstatuslistener()方法来添加动画状态改变监听器。flutter中,有四种动画状态,在animationstatus枚举类中定义,下面我们逐个说明:","下面我们演示一下最基础的动画实现方式:","不用显式的去添加帧监听器,然后再调用setstate()","也许你会说这和我们刚开始的示例差不了多少,其实它会带来三个好处:","了,这个好处和animatedwidget是一样的。","使用animatedwidget简化","动画在终点停止","动画在起始点停止","动画基本结构","动画基本结构及状态监听","动画构建的范围缩小了,如果没有builder,setstate()将会在父组件上下文中调用,这将会导致父组件的build方法重新调用;而有了builder之后,只会导致动画widget自身的build重新调用,避免不必要的rebuild。","动画正在反向执行","动画正在正向执行","动画状态监听","含义","在flutter中我们可以通过多种方式来实现动画,下面通过一个图片逐渐放大示例的不同实现来演示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)=>pageb(),","));","),",");","//使用渐隐渐入过渡,","//动画时间为500毫秒","//当前路由被激活,是打开新路由","//是返回,则不应用过渡动画","//路由b","300),","500),","9.3","9.3:自定义路由过渡动画","=","=>","@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(","cupertinopageroute是cupertino组件库提供的ios风格的路由切换组件,它实现的就是左右滑动切换。那么我们如何来自定义路由切换动画呢?答案就是pageroutebuilder。下面我们来看看如何使用pageroutebuilder来自定义路由切换动画。例如我们想以渐隐渐入动画来实现路由过渡,实现代码如下:","durat","duration(milliseconds:","edgeinsets.zero);","extend","faderout","faderoute(builder:","faderoute({","fadetransition(","false,","final","if(isactive)","maintainstate;","navigator.push(","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文档,比较简单,不再赘述。","定义一个路由类faderout","我们可以看到pagebuild","我们在第二章”路由管理“一节中讲过:material组件库中提供了一个materialpageroute组件,它可以使用和平台风格一致的路由切换动画,如在ios上会左右滑动切换,而在android上会上下滑动切换。现在,我们如果在android上也想使用左右切换风格,该怎么做?一个简单的作法是可以直接使用cupertinopageroute,如:","无论是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,","9.4","9.4:hero动画","@overrid","alignment.topcenter,","alignment:","anim","animation,","appbar(","appbar:","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(","return","scaffold(","secondaryanimation)","statelesswidget","tag:","text(\"原图\"),","title:","widget","width:","{","}","})","},","为什么要将这种可飞行的共享组件称为hero(英雄),有一种说法是说美国文化中的超人是可以飞的,那是美国人心中的大英雄,还有漫威中的超级英雄基本上都是会飞的,所以flutter开发人员就对这种”会飞的widget\"就起了一个富有浪漫主义的名字hero。当然这种说法并非官方解释,但却很有意思。","你可能多次看到过","假设有两个路由a和b,他们的内容交互如下:","共享元素转换。下面我们通过一个示例来体验一下hero","前后路由页的共享hero的tag必须是相同的,flutt","动画。","动画。例如,一个路由中显示待售商品的缩略图列表,选择一个条目会将其跳转到一个新路由,新路由中包含该商品的详细信息和“购买”按钮。","在ab两个路由之间跳转的时候,用户头像会逐渐过渡到目标路由页的头像上,接下来我们先看看代码,然后再解析:","在flutter中将图片从一个路由“飞”到另一个路由称为hero动画,尽管相同的动作有时也称为","我们可以看到,实现hero动画只需要用hero组件将要共享的widget包装起来,并提供一个相同的tag即可,中间的过渡帧都是flutt","示例","路由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,","3灰色矩形,就可以看到整个动画效果,图9","4是动画执行过程中的一帧。","50.0,","9.5","9.5:交织动画","=","=>","@overrid","_buildanimation(buildcontext","_buildanimation,","_control","_controller.forward().orcancel;","_controller.reverse().orcancel;","_controller;","_playanimation()","_playanimation();","_staggerroutest","_staggerroutestate();","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来为每个动画指定在整个动画过程中的起始点和终点。下面我们来实现启动动画的路由:","staggerrout","state","statefulwidget","statelesswidget","super(key:","super.initstate();","this.control","tickercancel","tickerproviderstatemixin","tri","tween(","void","vsync:","widget","width:","{","}","}):","},","一个animationcontroller控制所有的动画对象。","下面我们看一个例子,实现一个柱状图增长的动画:","交织动画","开始时高度从0增长到300像素,同时颜色由绿色渐变为红色;这个过程占据整个动画时间的60%。","我们将执行动画的widget分离出来:","所有动画都由同一个animationcontroller驱动,无论动画需要持续多长时间,控制器的值必须在0.0到1.0之间,而每个动画的间隔(interval)也必须介于0.0和1.0之间。对于在间隔中设置动画的每个属性,需要分别创建一个tween","执行效果如图,点击图9","有些时候我们可能会需要一些复杂的动画,这些动画可能由一个动画序列或重叠的动画组成,比如:有一个柱状图,需要在高度增长的同时改变颜色,等到增长到最大高度后,我们需要在x轴上平移一段距离。可以发现上述场景在不同阶段包含了多种动画,要实现这种效果,使用交织动画(stagger","用于指定该属性的开始值和结束值。也就是说0.0到1.0代表整个动画过程,我们可以给不同动画指定不同的起始点和终止点来决定它们的开始时间和终止时间。","示例","给每一个动画对象指定时间间隔(interval)","要创建交织动画,需要使用多个动画对象(animation)。","高度增长到300后,开始沿x轴向右平移100像素;这个过程占用整个动画时间的40%。"],"chapter9/animated_switcher.html":["!=","'$_count',","'package:flutter/material.dart';","()","(direction)","(position.statu","(widget",")","),",");","+=","...//省略","...//省略其余代码","//","//上入下出","//动画反向执行时,调整x偏移,实现”从左边滑出隐藏“","//布局构建器","//执行缩放动画","//显示指定key,不同的key会被认为是不同的text,这样才能执行动画","//退场(出)方向","0))","0));","0),","0;","1),","1,","1;","200),","500),","5所示:","6所示:","7所示:","9.6","9.6.1","9.6.2","9.6:通用\"切换动画\"组件(animatedswitcher)",":",";","=","==","=>","@overrid","@requir","[","],","_animatedswitchercounterroutest","_animatedswitchercounterroutestate();","_count","_tween","_tween.evaluate(position);","_tween;","anim","animatedswitch","animatedswitcher(","animatedswitcher({","animatedswitcher.defaultlayoutbuilder,","animatedswitcher.defaulttransitionbuilder,","animatedswitchercounterrout","animatedswitchercounterroute({key","animatedswitchertransitionbuild","animatedswitcher高级用法","animatedwidget","animation)","animation);","animation,","animationstatus.reverse)","assert(posit","axisdirect","axisdirection.down,","axisdirection.down:","axisdirection.left:","axisdirection.right:","axisdirection.up:","bool","break;","build(buildcontext","case","center(","child,","child:","child;","children:","class","column(","const","context)","createstate()","curves.linear,","curves.linear,//","defaulttransitionbuilder(widget","direction:","direction;","duration(milliseconds:","duration:","end:","extend","fadetransition(","final","fractionaltranslation(","function(widget","import","int","key","key);","key,","key:","key})","listenable:","listenable;","mainaxisalignment.center,","mainaxisalignment:","myslidetransit","myslidetransition(","myslidetransition({","null),","offset","offset(","offset(0,","offset(1,","offset(offset.dx,","offset,","offset.dx,","offset.dy);","offset=position.value;","onpressed:","opacity:","posit","position)","position,","position:","raisedbutton(","return","scale:","scaletransition(child:","sdk中提供了一个animatedswitcher组件,它定义了一种通用的ui切换抽象。","sdk组件库中已经提供了一些常用的切换组件,如pageview、tabview等,但是,这些组件并不能覆盖全部的需求场景,为此,flutt","setstate(()","slidetransition(","slidetransitionx","slidetransitionx(","slidetransitionx({","state","statefulwidget","style:","super(key:","switch","text(","text('+1',),","theme.of(context).texttheme.display1,","this.child,","this.direct","this.duration,","this.layoutbuild","this.reverseduration,//","this.switchincurv","this.switchoutcurv","this.transformhittest","this.transitionbuild","transformhittests,","transformhittests:","transformhittests;","transitionbuilder:","translation:","true,","tween","tween(begin:","tween.animate(animation),","tween=tween(begin:","typedef","valuekey(_count),","var","widget","{","}","})","});","},","”下入上出“怎么办?当然,我们可以分别修改上面的代码,但是这样每种动画都得单独定义一个”transition“,这很麻烦。本节将分装一个通用的slidetransitionx","上图中“0”从左侧滑出,而\"1\"从右侧滑入。可以看到,我们通过这种巧妙的方式实现了类似路由进场切换的动画,实际上flutter路由切换也正是通过animatedswitcher来实现的。","上图中“1”从底部滑出,而\"2\"从顶部滑入。读者可以尝试给slidetransitionx的direction取不同的值来查看运行效果。","上图是第一次点击“+1”按钮后切换动画的一帧,此时“0”正在逐渐缩小,而“1”正在“0”的中间,正在逐渐放大。","上面的代码有什么问题呢?我们前面说过在animatedswitcher的child切换时会分别对新child执行正向动画(forward),而对旧child执行反向动画(reverse),所以真正的效果便是:新child确实从屏幕右侧平移进入了,但旧child却会从屏幕右侧(而不是左侧)退出。其实也很容易理解,因为在没有特殊处理的情况下同一个动画的正向和逆向正好是相反(对称)的。","上面的示例我们实现了”左出右入“的动画,那如果要实现”右入左出“、”上入下出“或者","下面我们看一个列子:实现一个计数器,然后再每一次自增的过程中,旧数字执行缩小动画隐藏,新数字执行放大动画显示,代码如下:","例子","假设现在我们想实现一个类似路由平移切换的动画:旧页面屏幕中向左侧平移退出,新页面重屏幕右侧平移进入。如果要用animatedswitcher的话,我们很快就会发现一个问题:做不到!我们可能会写出下面的代码:","偏移在内部处理","动画构建器","可以同时对其新、旧子元素添加显示、隐藏动画。也就是说在animatedswitcher的子元素发生变化时,会对其旧元素和新元素,我们先看看animatedswitch","可以看到,返回了fadetransition对象,也就是说默认情况,animatedswitcher会对新旧child执行“渐隐”和“渐显”动画。","实际开发中,我们经常会遇到切换ui元素的场景,比如tab切换、路由切换。为了增强用户体验,通常在切换时都会指定一个动画,以使切换过程显得平滑。flutt","对新child,绑定的动画会正向指向(forward)","对旧child,绑定的动画会反向执行(reverse)","当animatedswitcher的child发生变化时(类型或key不同),旧child会执行隐藏动画,新child会执行执行显示动画。究竟执行何种动画效果则由transitionbuilder参数决定,该参数接受一个animatedswitchertransitionbuilder类型的builder,定义如下:","总结","新child显示动画时长","新child显示的动画曲线","旧child隐藏的动画时长","旧child隐藏的动画曲线","本节我们学习了animatedswitcher的详细用法,同时也介绍了打破animatedswitcher动画对称性的方法。我们可以发现:在需要切换新旧ui元素的场景,animatedswitcher将十分实用。","来实现这种”出入滑动动画“,代码如下:","注意:animatedswitcher的新旧child,如果类型相同,则key必须不相等。","现在如果我们想实现各种”滑动出入动画\"\"便非常容易,只需给direction传递不同的方向值即可,比如要实现”上入下出“,则:","的定义:","该builder在animatedswitcher的child切换时会分别对新、旧child绑定动画:","调用时,将slidetransition替换成myslidetransition即可:","运行后,我截取动画执行过程中的一帧,如图9","运行示例代码,当点击“+1”按钮时,原先的数字会逐渐缩小直至隐藏,而新数字会逐渐放大,我截取了动画执行过程的一帧,如图9","这样一下,便实现了对新、旧child的动画绑定。animatedswitcher的默认值是animatedswitcher.defaulttransitionbuild","通用\"切换动画\"组件(animatedswitcher)","那么问题来了,难道就不能用animatedswitcher了?答案当时是否定的!仔细想想这个问题,究其原因,就是因为同一个animation正向(forward)和反向(reverse)是对称的。所以如果我们可以打破这种对称性,那么便可以实现这个功能,下面我们来封装一个myslidetransition,它和slidetransition唯一的不同就是对动画的反向执行进行了(从左边滑出隐藏):",":"],"chapter10/":["custompaint与canva","实例:turnbox","实例:圆形渐变进度条","本章目录","第十章:自定义组件","自定义widget方法简介","通过组合现有widget实现"],"chapter10/intro.html":["10.1","10.1:自定义组件方法简介","api手动去绘制ui,优点是强大灵活,理论上可以实现任何外观的ui,而缺点是必须了解canva","api来实现。子类需要重写此方法以实现自身的绘制逻辑,如renderparagraph需要实现文本绘制逻辑,而renderimage需要实现图片绘制逻辑。","api来绘制的,那么通过实现renderobject的方式和上面介绍的通过custompaint和canvas自绘的方式有什么区别?其实答案很简单,custompaint只是为了方便开发者封装的一个代理类,它直接继承自singlechildrenderobjectwidget,通过rendercustompaint的paint方法将canvas和画笔painter(需要开发者实现,后面章节介绍)连接起来实现了最终的绘制(绘制逻辑在painter中)。","api细节,并且得自己去实现绘制逻辑。","context,","flutter提供的自身具有ui外观的组件,如文本text、image都是通过相应的renderobject(我们将在“flutter核心原理”一章中详细介绍renderobject)渲染出来的,如text是由renderparagraph渲染;而image是由renderimage渲染。renderobject是一个抽象类,它定义了一个抽象方法paint(...):","offset","offset)","paint(paintingcontext","paintingcontext代表组件的绘制上下文,通过paintingcontext.canvas可以获得canvas,而绘制逻辑主要是通过canva","void","“组合”是自定义组件最简单的方法,在任何需要自定义组件的场景下,我们都应该优先考虑是否能够通过组合来实现。而自绘和通过实现renderobject的方法本质上是一样的,都需要开发者调用canva","可以发现,renderobject中最终也是通过canva","在flutter中,组合的思想非常重要,flutter提供了非常多的基础组件,而我们的界面开发其实就是按照需要组合这些组件来实现各种不同的布局而已。","在本章接下来的小节中,我们将通过一些实例来详细介绍自定义ui的过程,由于后两种方法本质是相同的,并且flutter中很多基础组件都是通过renderobject的形式来实现的,所以后续我们只介绍custompaint和canvas的方式,读者如果对自定义renderobject的方法好奇,可以查看flutter中相关基础组件对应的renderobject的实现源码,如renderparagraph或renderimage。","如果遇到无法通过现有的组件来实现需要的ui时,我们可以通过自绘组件的方式来实现,例如我们需要一个颜色渐变的圆形进度条,而flutter提供的circularprogressindicator并不支持在显示精确进度时对进度条应用渐变色(其valuecolor","实现renderobject","属性只支持执行旋转动画时变化indicator的颜色),这时最好的方法就是通过自定义组件来绘制出我们期望的外观。我们可以通过flutter中提供的custompaint和canvas来实现ui自绘。","当flutter提供的现有组件无法满足我们的需求,或者我们为了共享代码需要封装一些通用组件,这时我们就需要自定义组件。在flutter中自定义组件有三种方式:通过组合其它组件、自绘和实现renderobject。本节我们先分别介绍一下这三种方式的特点,后面章节中则详细介绍它们的细节。","总结","组合其它widget","自定义组件方法简介","自绘","这种方式是通过拼装其它组件来组合成一个新的组件。例如我们之前介绍的container就是一个组合组件,它是由decoratedbox、constrainedbox、transform、padding、align等组件组成。"],"chapter10/combine.html":["'../widgets/index.dart';","'package:flutter/material.dart';","),",");","//","//点击回调","//确保colors数组不空","10.2","10.2:组合现有组件","1):","50.0,","=","=>","??","@overrid","@requir","[","[colors.lightblue[300],","[colors.lightgreen,","[colors.orange,","[theme.primarycolor,","],","_color","_colors),","_colors.last,","_gradientbuttonroutest","_gradientbuttonroutestate();","borderradiu","borderradius,","borderradius:","borderradius;","boxconstraints.tightfor(height:","boxdecoration(","build(buildcontext","center(","child,","child:","child;","children:","class","click\");","color","colors.blueaccent],","colors.green[700]],","colors.red],","colors.transparent,","colors:","colors;","column(","const","constrainedbox(","constraints:","container(","context)","createstate()","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,","material组件库中的按钮默认不支持渐变背景,为了实现渐变背景按钮,我们自定义一个gradientbutton组件,它需要支持一下功能:","onpressed,","onpressed:","onpressed;","ontap()","ontap,","ontap:","padding(","padding:","print(\"button","return","splashcolor:","state","statefulwidget","statelesswidget","style:","text(\"submit\"),","textstyle(fontweight:","theme","theme.of(context);","theme.primarycolor];","theme.primarycolordark","themedata","this.borderradius,","this.child,","this.colors,","this.height,","this.onpressed,","this.width,","type:","widget","width),","width:","width;","{","}","});","使用gradientbutton","可以支持圆角","可以看到gradientbutton是由decoratedbox、padding、center、inkwell等组件组合而成。当然上面的代码只是一个示例,作为一个按钮它还并不完整,比如没有禁用状态,读者可以根据实际需要来完善。","在flutter中页面ui通常都是由一些低阶别的组件组合而成,当我们需要封装一些通用组件时,应该首先考虑是否可以通过组合其它组件来实现,如果可以,则应优先使用组合,因为直接通过现有组件拼装会非常简单、灵活、高效。","总结","我们decoratedbox可以支持背景色渐变和圆角,inkwell在手指按下有涟漪效果,所以我们可以通过组合decoratedbox和inkwell来实现gradientbutton,代码如下:","我们先来看看最终要实现的效果(图10","手指按下时有涟漪效果","按钮宽高","标注,对于可选参数在特定场景需要判空或设置默认值等。这是由于使用者大多时候可能不了解组件的内部细节,所以为了保证代码健壮性,我们需要在用户错误地使用组件时能够兼容或报错提示(使用assert断言函数)。","渐变色数组","示例:自定义渐变按钮","组合现有组件","背景支持渐变色","通过组合的方式定义组件和我们之前写界面并无差异,不过在抽离出单独的组件时我们要考虑代码规范性,如必要参数要用@requir"],"chapter10/turn_box.html":["!=","'../widgets/index.dart';","'package:flutter/material.dart';","'package:flutter/widgets.dart';","()","(oldwidget.turn","(widget.text",")","),",");","+=",".0,",".0;",".2;","//","//旋转的“圈”数,一圈为360度,如0.25圈即90度","//旋转角度发生变化时执行过渡动画","//过渡动画执行的总时长","10.3","10.3:组合实例:turnbox","1000,","150.0,),","200,","2所示:","50,),","500,",":",":super(key:","=","=>","@overrid","[","],","_control","_controller,","_controller.animateto(","_controller.dispose();","_controller.valu","_controller;","_myrichtextst","_myrichtextstate();","_textspan","_textspan,","_textspan;","_turn","_turnboxroutest","_turnboxroutestate();","_turnboxst","_turnboxstate();","_turns,","animationcontrol","animationcontroller(","build(buildcontext","center(","child:","child;","children:","class","column(","const","context)","createstate()","curve:","curves.easeout,","didupdatewidget(myrichtext","didupdatewidget(turnbox","dispose()","doubl","double.infin","double.infinity,","duration(milliseconds:","duration:","extend","final","icon(icons.refresh,","import","initstate()","int","key","key);","key,","linkstyle;","lowerbound:","myrichtext","myrichtext({","new","oldwidget)","oldwidget.text)","onpressed:","parsetext(str","parsetext(widget.text)","parsetext(widget.text);","raisedbutton(","return","richtext(","rotationtransition(","setstate(()","singletickerproviderstatemixin","size:","speed:","speed;","state","statefulwidget","string","super(key:","super.didupdatewidget(oldwidget);","super.dispose();","super.initstate();","text(\"逆时针旋转1/5圈\"),","text(\"顺时针旋转1/5圈\"),","text)","text:","text;","textspan","textstyl","this,","this.child","this.linkstyle,","this.spe","this.text,","this.turn","turnbox","turnbox(","turnbox({","turnboxrout","turnbox的完整代码如下:","turns:","turns;","upperbound:","url链接样式","void","vsync:","widget","widget.child,","widget.speed??200),","widget.turns)","widget.turns,","widget.turns;","{","}","})","});","},","上面代码中:","下面我们测试一下turnbox的功能,测试代码如下:","在build中返回最终的富文本样式;","在didupdatewidget中,我们判断要旋转的角度是否发生了变化,如果变了,则执行一个过渡动画。","实现的代码大致如下:","实际上本示例只组合了rotationtransition一个组件,它是一个最简的组合类组件示例。另外,如果我们封装的是statefulwidget,那么一定要注意在组件更新时是否需要同步状态。比如我们要封装一个富文本展示组件myrichtext","当我们点击旋转按钮时,两个图标的旋转都会旋转1/5圈,但旋转的速度是不同的,读者可以自己运行一下示例看看效果。","我们之前已经介绍过rotatedbox,它可以旋转子组件,但是它有两个缺点:一是只能将其子节点以90度的倍数旋转;二是当旋转的角度发生变化时,旋转角度更新过程没有动画。","我们是通过组合rotationtransition和child来实现的旋转效果。","接下来我们在_myrichtextstate中要实现的功能有两个:","文本字符串","有些读者可能会觉得这个点也很简单,是的,的确很简单,之所以要在这里反复强调是因为这个点在实际开发中很容易被忽略,它虽然简单,但却很重要。总之,当我们在state中会缓存某些依赖widget参数的数据时,一定要注意在组件更新时是否需要同步状态。","本节我们将实现一个turnbox组件,它不仅可以以任意角度来旋转其子节点,而且可以在角度发生变化时执行一个动画以过渡到新状态,同时,我们可以手动指定动画速度。","测试代码运行后效果如图10","由于解析文本字符串,构建出textspan是一个耗时操作,为了不在每次build的时候都解析一次,所以我们在initstate中对解析的结果进行了缓存,然后再build中直接使用解析的结果_textspan。这看起来很不错,但是上面的代码有一个严重的问题,就是父组件传入的text发生变化时(组件树结构不变),那么myrichtext显示的内容不会更新,原因就是initstate只会在state创建时被调用,所以在text发生变化时,parsetext没有重新执行,导致_textspan任然是旧的解析值。要解决这个问题也很简单,我们只需添加一个didupdatewidget回调,然后再里面重新调用parsetext即可:","省略具体实现。","组合实例:turnbox","耗时操作:解析文本字符串,构建出textspan。","解析文本字符串“text”,生成textspan缓存起来;",",它可以自动处理url链接,定义如下:"],"chapter10/custom_paint.html":["&","'dart:math';","'package:flutter/material.dart';","(int",")","),",");","..color","..color=color(0x77cdb175);//画笔颜色","..isantialia","..strokewidth","..style","/","//创建一个画笔并配置其属性","//填充","//子节点,可以为空","//指定画布大小","//是否抗锯齿","//画棋盘网格","//画棋盘背景","//画笔样式:填充","//线","//背景为纸黄色","0;","1.0;","10.4","10.4:自绘组件(custompaint与canvas)","15;","300),","3所示:","=","@overrid","build(buildcontext","canvas,","canvas.drawrect(offset.zero","canvas:一个画布,包括各种绘制方法,我们列出一下常用的方法:","center(","child,","child:","class","color(0x77cdb175);","colors.black87","context)","custompaint","custompaint(","custompaint({","custompainter中提定义了一个虚函数paint:","custompaintrout","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","willchange:和iscomplex配合使用,当启用缓存时,该属性代表在下一帧中绘制是否会改变。","{","|","|api名称","}","})","下面我们通过一个五子棋游戏中棋盘和棋子的绘制来演示自绘ui的过程,首先我们看一下我们的目标效果,如图10","代码:","几乎所有的ui系统都会提供一个自绘ui的接口,这个接口通常会提供一块2d画布canvas,canvas内部封装了一些基本绘制的api,开发者可以通过canvas绘制各种自定义图形。在flutter中,提供了一个custompaint","前景画笔,会显示在子节点前面","功能","可以看到,绘制时我们需要提供前景或背景画笔,两者也可以同时提供。我们的画笔需要继承custompainter类,我们在画笔类中实现真正的绘制逻辑。","如果custompaint有子节点,为了避免子节点不必要的重绘并提高性能,通常情况下都会将子节点包裹在repaintboundary组件中,这样会在绘制时就会创建一个新的绘制层(layer),其子组件将在新的layer上绘制,而父组件将在原来layer上绘制,也就是说repaintboundari","子组件的绘制将独立于父组件的绘制,repaintboundary会隔离其子节点和custompaint本身的绘制边界。示例如下:","对于一些复杂或不规则的ui,我们可能无法通过组合其它组件的方式来实现,比如我们需要一个正六边形、一个渐变的圆形进度条、一个棋盘等。当然,有时候我们可以使用图片来实现,但在一些需要动态交互的场景静态图片也是实现不了的,比如要实现一个手写输入面板,这时,我们就需要来自己绘制ui外观。","尽可能的利用好shouldrepaint返回值;在ui树重新build时,控件在绘制前都会先调用该方法以确定是否有必要重绘;假如我们绘制的ui不依赖外部状态,那么就应该始终返回false,因为外部状态改变导致重新build时不会影响我们的ui外观;如果绘制依赖外部状态,那么我们就应该在shouldrepaint中判断依赖的状态是否改变,如果已改变则应返回true来重绘,反之则应返回false不需要重绘。","性能","总结","我们看看custompaint构造函数:","更多的配置属性读者可以参考paint类定义。","注意","现在画布有了,我们最后还缺一个画笔,flutter提供了paint类来实现画笔。在paint中,我们可以配置画笔的各种属性如粗细、颜色、样式等。如:","画图像","画圆","画圆弧","画椭圆","画点","画矩形","画笔paint","画线","画路径","示例:五子棋/盘","组件,它可以结合画笔custompainter来实现自定义图形绘制。","绘制尽可能多的分层;在上面五子棋的示例中,我们将棋盘和棋子的绘制放在了一起,这样会有一个问题:由于棋盘始终是不变的,用户每次落子时变的只是棋子,但是如果按照上面的代码来实现,每次绘制棋子时都要重新绘制一次棋盘,这是没必要的。优化的方法就是将棋盘单独抽为一个组件,并设置其shouldrepaint回调值为false,然后将棋盘组件作为背景。然后将棋子的绘制放到另一个组件中,这样每次落子时只需要绘制棋子。","绘制是比较昂贵的操作,所以我们在实现自绘控件时应该考虑到性能开销,下面是两条关于性能优化的建议:","背景画笔,会显示在子节点后面;","自绘控件非常强大,理论上可以实现任何2d图形外观,实际上flutter提供的所有组件最终都是通过调用canvas绘制出来的,只不过绘制的逻辑被封装起来了,读者有兴趣可以查看具有外观样式的组件源码,找到其对应的renderobject对象,如text对应的renderparagraph对象最终会通过canvas实现文本绘制逻辑。下一节我们会再通过一个自绘的圆形背景渐变进度条的实例来帮助读者加深印象。","自绘组件","(custompaint与canvas)"],"chapter10/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,","10.5","10.5:自绘实例:圆形渐变进度条(自绘)","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(strokewidth","asin(strokewidth/","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","stops,","stops:","stops;","strokecap.butt","strokecap.round","strokecapround","strokecapround,","strokecapround:","strokecapround;","strokewidth","strokewidth));","strokewidth,","strokewidth:","strokewidth;","style:","super.dispose();","super.initstate();","sweepgradient(","text(","textstyle(","theme","this,","this.backgroundcolor","this.colors,","this.radius,","this.stops,","this.strokecapround","this.strokecapround:","this.strokewidth","this.strokewidth:","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的不同外观和用途,这个示例代码会比较长,并且添加了动画,建议读者将此示例运行起来观看实际效果,我们先看看其中的一帧动画的截图:","下面调整的角度的计算公式是通过数学几何知识得出,读者有兴趣可以研究一下为什么是这样","任意弧度;进度条可以不是整圆。","先画背景","再画前景,应用渐变","可以发现要实现这样的一个进度条是无法通过现有组件组合而成的,所以我们通过自绘方式实现,代码如下:","可以自定义粗细、两端是否圆角等样式。","圆的半径","如果两端为圆角,则需要对起始位置进行调整,否则圆角部分会偏离起始位置","当前进度,取值范围","怎么样,很炫酷吧!gradientcircularprogressindicator已经被添加进了笔者维护的flukit组件库中了,读者如果有需要,可以直接依赖flukit包。","支持多种背景渐变色。","本节我们实现一个圆形背景渐变进度条,它支持:","渐变色数组","渐变色的终止点,对应colors属性","示例代码:","自绘实例:圆形背景渐变进度条","进度条的总弧度,2*pi为整圆,小于2*pi则不是整圆","进度条背景色"],"chapter11/":["api","dio","httpclient","http请求","json转model","packag","websocket","使用socket","实例:http分块下载","文件操作","本章目录","第十一章:文件操作与网络请求"],"chapter11/file_operation.html":["$_counter","'dart:async';","'dart:io';","'increment',","'package:flutter/material.dart';","'package:path_provider/path_provider.dart';","(await","),",");","//","//从文件读取点击次数","0;","11.1","11.1:文件操作",":","=","=>","@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())返回的值。","这里,我们使用文件来保存数据:"],"chapter11/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","11.2","11.2:http请求","192.168.1.2:8888\";","1所示:","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请求认证","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的例子,示例效果如图11","我们通过读取响应流来获取服务器返回的数据,在读取时我们可以设置编码格式,这里是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请求"],"chapter11/dio.html":["\"age\":","\"file1\":","\"file2\":","\"files\":","\"name\":","\"proxi","\"upload.txt\")","\"upload.txt\"),","\"upload1.txt\"),","\"upload2.txt\"),","\"wendux\",","#请使用pub上的最新版本","'package:dio/dio.dart';","(buildcontext","(client)","(dio.httpclientadapt","(snapshot.connectionst","(snapshot.haserror)","(uri)","),",").tolist(),",");","//","//发生错误","//校验证书","//设置代理","//证书一致,则允许发送数据","//请求完成","//请求成功,通过项目信息构建用于显示项目名称的listview","//请求未完成时弹出load","11.3","11.3:http请求","192.168.1.2:8888\";","25,",":","=","==","=>","@overrid","[","]","^x.x.x","_dio","_dio.get(\"https://api.github.com/orgs/flutterchina/repos\"),","_futurebuilderroutest","alignment.center,","alignment:","api、formdata、拦截器、请求取消、cookie管理、文件上传/下载、超时等。dio的使用方式随着其版本升级可能会发生变化,如果本节所述内容和dio官方有差异,请以dio官方文档为准。","asyncsnapshot","await","build(buildcontext","builder:","cert,","child:","children:","circularprogressindicator();","class","client.findproxi","connectionstate.done)","container(","context)","context,","data:","data”。","defaulthttpclientadapter).onhttpclientcr","dependencies:","dio","dio();","dio.download(\"https://www.google.com/\",_savepath);","dio.get(\"/test\",queryparameters:{\"id\":12,\"name\":\"wendu\"})","dio.get(\"/test?id=12&name=wendu\")","dio.post(\"/info\",","dio.post(\"/test\",data:{\"id\":12,\"name\":\"wendu\"})","dio:","dio实例来发起网络请求了,注意,一个dio实例可以发起多个http请求,一般来说,app只有一个http数据源时,dio应该使用单例模式。","dio是一个强大的dart","extend","false;","file(\"./example/upload.txt\"),","file(\"./upload.txt\"),","formdata","formdata)","formdata.from({","formdata:","future.wait([dio.post(\"/info\"),dio.get(\"/token\")]);","future:","futurebuilder(","host,","httpclient.badcertificatecallback=(x509certif","http库","http请求","http请求库,支持rest","if(cert.pem==pem){","import","int","listtile(title:","listview(","new","packag","port){","post","print(response);","print(response.data.tostring());","respons","response.data.map((e)","response;","response=","response=await","return","snapshot)","snapshot.data;","state","string","text(e[\"full_name\"]))","text(snapshot.error.tostring());","true;","uploadfileinfo(new","widget","{","}","});","};","。","下一节我们将使用dio实现一个分块下载器。","下载文件:","代码如下:","值得一提的是,dio内部仍然使用httpclient发起的请求,所以代理、请求认证、证书校验等和httpclient是相同的,我们可以在onhttpclientcreate回调中设置,例如:","发起","发起一个","发起多个并发请求:","发送","在请求阶段弹出load","如果发送的数据是formdata,则dio会将请求header的contenttype设为“multipart/form","实例","对于get请求我们可以将query参数通过对象来传递,上面的代码等同于:","导入并创建dio实例:","引入","引入dio:","怎么样,是不是很简单,除了这些基本的用法,dio还支持请求配置、拦截器等,官方资料比较详细,故本书不再赘述,详情可以参考dio主页:https://github.com/flutterchina/dio","我们通过github开放的api来请求flutterchina组织下的所有公开的开源项目,实现:","接下来就可以通过","支持文件数组上传","注意,onhttpclientcreate会在当前dio实例内部需要创建httpclient时调用,所以通过此回调配置httpclient会对整个dio实例生效,如果你想针对某个应用请求单独的代理或证书校验策略,可以创建一个新的dio实例即可。","示例","请求","请求:","请求结束后,如果请求失败,则展示错误信息;如果成功,则将项目名称列表展示出来。","通过formdata上传多个文件:","通过上一节介绍,我们可以发现直接使用httpclient发起网络请求是比较麻烦的,很多事情得我们手动处理,如果再涉及到文件上传/下载、cookie管理等就会非常繁琐。幸运的是,dart社区有一些第三方http请求库,用它们来发起http请求将会简单的多,本节我们介绍一下目前人气较高的dio库。"],"chapter11/download_with_chunks.html":["!=","\"./example/hbuilder.9.0.2.macosx_64.dmg\";","\"bytes=$start","\"http://download.dcloud.net.cn/hbuilder.9.0.2.macosx_64.dmg\";","\"range:","\"temp$no\",","\"temp0\");","#","$end\"},","&&","(chunk","(int","(onreceiveprogress","(received,","(reserv","(response.statuscod","(total","),",");","*","*/*","+","/","//","///","//no","//progress记录每一块已接收数据的长度","//start","//临时文件按照块的序号命名,方便最后合并","//合并临时文件","//如果支持","//指定请求的内容区间","//文件的总块数(包括第一块)","//解析文件总长度,进而算出剩余长度","/hbuilder.9.0.2.macosx_64.dmg","0","0)","0);","0,","0;","1)","10","10\"","10\"的作用是,告诉服务器本次请求我们只想获取文件0","10(包括10,共11字节)这块内容。如果服务器支持分块传输,则响应状态码为206,表示“部分内容”,并且同时响应头中包含”content","10/233295878","100).floor()}%\");","102;","10表示本次返回的区块,233295878代表文件的总长度,单位都是byte,","11.4","11.4:实例:http分块下载","1;","206)","3;","=","==","=>",">","[];","_)","accept:","agent:","api","async","await","b)","b),","bogon:~","byte","bytes=0","chunk","chunksiz","const","content","createcallback(no)","createcallback(no),","curl","curl/7.54.0","dio","dio();","dio.download(","download","download.dcloud.net.cn","downloadchunk(url,","downloadwithchunks(","downloadwithchunks(url,","duwen$","end,","end;","f","f.openwrite(mode:","file","file(savepath","filemode.writeonlyappend);","firstchunks","firstchunksize).ceil()","firstchunksize,","firstchunksize;","futur","h","headers:","host:","http/1.1","http://download.dcloud.net.cn/hbuilder.9.0.2.macosx_64.dmg","http协议定义了分块传输的响应header字段,但具体是否支持取决于server的实现,我们可以指定请求头的\"range\"字段来验证服务器是否支持分块传输。例如,我们可以利用curl命令来验证:","int","int.parse(","int.parse(response.headers.value(httpheaders.contentlengthheader));","iosink","iosink=","main()","maxchunk","maxchunk).ceil();","mergetempfiles(chunk)","no)","null","onreceiveprogress(progress.reduce((a,","onreceiveprogress,","onreceiveprogress:","options(","options:","print(\"${(receiv","progress","progress.add(0);","progress[no]","progresscallback","range\"的内容:","range:","range“字段,如果不支持则不会包含。我们看看上面\"cont","received,","received;","reserv","respons","response.headers.value(httpheaders.contentrangeheader).split(\"/\").last);","return","savepath","savepath,","spite","start,","total","total)","total);","url","url,","user","v","var","{","{\"range\":","}","})","});","};","下面我们使用dio的download","下面我们看一下完整实现:","下面是整体的流程:","也就是该文件大概233m多一点。","代表当前块的起始位置,end代表结束位置","代表当前是第几块","先检测是否支持分块传输,如果不支持,则直接下载;若支持,则将剩余内容分块下载。","其实下载速度的主要瓶颈是取决于网络速度和服务器的出口速度,如果是同一个数据源,分块下载的意义并不大,因为服务器是同一个,出口速度确定的,主要取决于网速,而上面的例子正式同源分块下载,读者可以自己对比一下分块和不分块的的下载速度。如果有多个下载源,并且每个下载源的出口带宽都是有限制的,这时分块下载可能会更快一下,之所以说“可能”,是由于这并不是一定的,比如有三个源,三个源的出口带宽都为1g/s,而我们设备所连网络的峰值假设只有800m/s,那么瓶颈就在我们的网络。即使我们设备的带宽大于任意一个源,下载速度依然不一定就比单源单线下载快,试想一下,假设有两个源a和b,速度a源是b源的3倍,如果采用分块下载,两个源各下载一半的话,读者可以算一下所需的下载时间,然后再算一下只从a源下载所需的时间,看看哪个更快。","分块下载有什么实际的用处吗?","分块下载的最终速度受设备所在网络带宽、源出口速度、每个块大小、以及分块的数量等诸多因素影响,实际过程中很难保证速度最优。在实际开发中,读者可可以先测试对比后再决定是否使用。","分块下载真的能提高下载速度吗?","分块下载还有一个比较使用的场景是断点续传,可以将文件分为若干个块,然后维护一个下载状态文件用以记录每一个块的状态,这样即使在网络中断后,也可以恢复中断前的状态,具体实现读者可以自己尝试一下,还是有一些细节需要特别注意的,比如分块大小多少合适?下载到一半的块如何处理?要不要维护一个任务队列?","创建进度回调,后面实现","删除临时文件。","原理","各个分块下载时保存到各自临时文件,等到所有分块下载完后合并临时文件。","响应头","基于此,我们可以设计一个简单的多线程的文件分块下载器,实现的思路是:","实例:http分块下载","实现","实现downloadchunk:","思考","我们在请求头中添加\"range:","接下来实现mergetempfiles:","本节将通过一个“http分块下载”的示例演示一下dio的具体用法。","现在可以进行分块下载了:","请求头","通过第一个分块请求检测服务器是否支持分块传输"],"chapter11/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.","11.5:websocket","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","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,","{","}","},","。该stream类是dart:async包中的一个基础类。它提供了一种方法来监听来自数据源的异步事件。与future返回单个异步响应不同,stream类可以随着时间推移传递很多事件。该streambuild","上面的例子比较简单,不再赘述。我们现在思考一个问题,假如我们想通过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服务器的工具。该package提供了一个websocketchannel允许我们既可以监听来自服务器的消息,又可以将消息发送到服务器的方法。","来监听新消息,","步骤","注意:http协议中虽然可以通过keep","现在我们建立了连接,我们可以监听来自服务器的消息,在我们发送消息给测试服务器之后,它会返回相同的消息。","监听来自服务器的消息","监听来自服务器的消息。","组件将连接到一个stream,","连接到websocket服务器","连接到websocket服务器。"],"chapter11/socket.html":["/","//发送","//建立连接","//根据http协议,发送请求头","//读取返回内容","11.6","11.6:使用socket","2所示:","80);","=await","_request()","_respons","agent)来看看输出的变化。","api","api在dart:io包中,下面我们看一个使用socket实现简单http请求的示例,以请求百度首页为例:","api来实现的。其实,操作系统中提供的原生网络请求api是标准的,在c语言的socket库中,它主要提供了端到端建立链接和发送数据的基础api,而高级编程语言中的socket库其实都是对操作系统的socket","api的一个封装。所以,如果我们需要自定义协议或者想直接来控制管理网络链接、又或者我们觉得自带的httpclient不好用想重新实现一个,这时我们就需要使用socket。flutter的socket","async{","await","http/1.1\");","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,运行后效果如图11","我们之前介绍的http协议和websocket协议都属于应用层协议,除了它们,应用层协议还有很多如:smtp、ftp等,这些应用层协议的实现都是通过socket"],"chapter11/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;","11.7","11.7:json转dart","4类似的错误。",":",";","=","=>","@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_model","json_model可以手动指定某个字段引用的其它model类,可以避免生成重复的类;而ide插件一般会为每一个json文件中所有嵌套对象都单独生成一个model类,即使这些嵌套对象可能在其它model类中已经生成过。","json_model需要单独维护一个存放json文件的文件夹,如果有改动,只需修改json文件便可重新生成model类;而ide插件一般需要用户手动将json内容拷贝复制到一个输入框中,这样生成之后json文件没有存档的化,之后要改动就需要手动。","json_serializable:","json_serializable第一次创建类时,您会看到与图11","jsonstr='[{\"name\":\"jack\"},{\"name\":\"rose\"}]';","json转dart","link","list","list){","list.foreach((f)","m)","map","map).foreach((key,","map){","matchindex","mo.dart","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类,但插件质量参差不齐,甚至还有一些沾染上了抄袭风波,故笔者在此不做优先推荐,读者有兴趣可以自行了解。但是,我们还是要了解一下ide插件和json_model的优劣:","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文件。","如果每个项目都要构建一个上面这样的脚本显然很麻烦,为此,我们将上面脚本和生成模板封装了一个包,已经发布到了pub上,包名为json_model,开发者把该包加入开发依赖后,便可以用一条命令,根据json文件生成dart类。另外json_model","如果需要,自定义命名策略也很容易。例如,如果我们正在使用的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内容修改为:","持续生成","提供了命令行转化方式,可以方便集成到ci等非ui环境的场景。","方法,","有了上面的设置,源码生成器将生成用于序列化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字符串作为参数:"],"chapter12/":["包与插件","开发packag","插件开发:实现android端api","插件开发:实现ios端api","插件开发:平台通道简介","第十二章:包与插件"],"chapter12/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,在","12.1","12.1:开发packag","1所示:","2)都可.","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为例,它的目录结构如图12","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上发布它","下面我将带领读者一步步来开发一个dart","下面的代码使url_launcher插件的api在hello包中是可用的:","不是很好,只有0.1.1版本.","任何0.4.x(x","但是,如果hello碰巧是一个插件包,其平台特定的代码需要访问url_launcher公开的特定于平台的api,那么我们还需要为特定于平台的构建文件添加合适的依赖声明,如下所示。","你可以通过向hello包的pubspec.yaml文件中添加依赖性覆盖声明来处理冲突,从而强制使用特定版本:","假设我们想在我们的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文档(一个静态网站)。文档注释是使用三斜线\"///\"开始,如:","开发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文件","来创建一个package工程,如图12","来执行","注意,虽然flutter的dart运行时和dart","然后访问","然后调用","现在可以在hello中import","生成文档","第一步:创建dart包","第二章中已经讲过如何使用package(包),我们知道通过package可以创建共享的模块化代码,本节将重点讲一下如何开发并发布我们自己的package。一个最小的package包括:","而package中主要的功能的源码都在src目录下。shelf","解决依赖冲突","详细的文档语法请参考dartdoc","这与在flutter应用程序或任何其他dart项目中引用软件包没有什么不同。","这将在hello/文件夹下创建一个具有以下专用内容的package工程:","这样会较好,","那我们就有潜在的冲突。避免这种情况的最好方法是在指定依赖关系时,程序包作者使用版本范围而不是特定版本。","验证无误后,我们就可以运行发布命令了:",",这样其他开发者就可以轻松使用它。"],"chapter12/platform-channel.html":["(nsnull","12.2","12.2:平台通道简介","android","api","api可以接收方法调用并返回结果。这些类可以帮助我们用很少的代码就能开发平台插件。","app中调用这些能力就必须和原生平台进行通信。为此,flutter中提供了一个平台通道(platform","bool","byte[]","channel)将消息发送到其应用程序的所在的宿主(ios或android)应用(原生应用)。","channel),用于flutter和原生平台的通信。平台通道正是flutter和原生之间通信的桥梁,它也是flutter插件的底层基础设施。","dart","doubl","double[]","float64list","fluttermethodchannel","flutterstandardbiginteg","flutterstandardtypeddata","flutter与原生之间的通信依赖灵活的消息传递方式:","flutter使用了一个灵活的系统,允许您调用特定平台的api,无论在android上的java或kotlin代码中,还是ios上的objectivec或swift代码中均可用。","int","int,","int32list","int64list","int[]","io","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类,或创建自己的编解码器。","list","long[]","map","nested)","nil","nsarray","nsdictionari","nsnumber","nsstring","null","numberwithbool:","numberwithdouble:","numberwithint:","numberwithlong:","quick_actions插件就是一个具体的例子。","string","typeddatawithbytes:","typeddatawithfloat64:","typeddatawithint32:","typeddatawithint64:","uint8list","“平台特定”或“特定平台”中的平台指的就是flutter应用程序运行的平台,如android或ios。我们知道一个完整的flutter应用程序实际上包括原生代码和flutter代码两部分。由于flutter本身只是一个ui系统,它本身是无法提供一些系统能力,比如使用蓝牙、相机、gps等,因此要在flutt","使用平台通道在flutter(client)和原生(host)之间传递消息,如下图所示:","可以发送与方法调用相对应的消息。","和","在android","在客户端,methodchannel","在宿主平台上,methodchannel","如果不足32位","如果不足64位","如果需要,方法调用(消息传递)可以是反向的,即宿主作为客户端调用dart中实现的api。","宿主监听平台通道,并接收该消息。然后它会调用该平台的api,并将响应发送回客户端,即应用程序的flutter部分。","平台通道","平台通道使用标准消息编/解码器对消息进行编解码,它可以高效的对消息进行二进制序列化与反序列化。由于dart与原生平台之间数据类型有所差异,下面我们列出数据类型之间的映射关系。","平台通道数据类型支持","应用的flutter部分通过平台通道(platform","当在flutter中调用原生方法时,调用信息通过平台通道传递到原生,原生收到调用信息后方可执行指定的操作,如需返回数据,则原生会将数据再通过平台通道传递给flutter。值得注意的是消息传递是异步的,这确保了用户界面在消息传递时不会被挂起。","当在发送和接收值时,这些值在消息中的序列化和反序列化会自动进行。","插件开发:平台通道简介","此外,可以使用专门的binarycodec、stringcodec和","注意:","自定义编解码器","除了上面提到的methodchannel,还可以使用basicmessagechannel,它支持使用自定义消息编解码器进行基本的异步消息传递。"],"chapter12/develop_plugin.html":["\"fail","$result","%","'${e.message}'.\";","'batteri","'dart:async';","'package:flutter/material.dart';","'package:flutter/services.dart';","'unknown","(e)","),",");",".';","...","//","12.3","12.3:开发flutter插件","=","@overrid","[","],","_batterylevel","_getbatterylevel()","_getbatterylevel,","_myhomepagest","api。","api和io","async","await","a标志:","batteri","batterylevel","batterylevel;","batterymanag","build(buildcontext","catch","catch语句中。","center(","child:","children:","class","column(","const","context)","creat","c编写ios代码。要使用kotlin或swift,请使用","device.batterylevel","extend","final","flutter","futur","import","int","i和/或","kotlin","level","level'),","level.","level.';","level:","mainaxisalignment.spaceevenly,","mainaxisalignment:","material(","methodchannel('samples.flutter.io/battery');","new","onpressed:","platform","platform.invokemethod('getbatterylevel');","platformexcept","raisedbutton(","result","return","setstate(()","state","static","string","swift","text('get","text(_batterylevel),","tri","widget","{","}","});","下面我们通过一个获取电池电量的插件来介绍一下flutter插件的开发流程。该插件中我们在dart中通过getbatterylevel","创建flutter平台客户端","创建一个新的应用程序项目","在终端中运行:","在终端中运行:flutter","开发flutter插件","我们使用返回的结果,在setstate中来更新用户界面状态batterylevel。","我们建议在通道名称前加一个唯一的“域名前缀”,例如samples.flutter.io/battery。","接下来,我们调用通道上的方法,指定通过字符串标识符调用方法getbatterylevel。","最后,我们在build创建包含一个小字体显示电池状态和一个用于刷新值的按钮的用户界面。","至此flutter部分的测试代码写好了,接下来我们需要实现android和ios平台下的api,由于平台api实现部分篇幅较大,我们将在接下来的两节中,分别介绍android和ios端api的实现。","该应用的state类拥有当前的应用状态。我们需要延长这一点以保持当前的电量","该调用可能失败(平台不支持平台api,例如在模拟器中运行时),所以我们将invokemethod调用包装在tri","调用android","通道的客户端和宿主通过通道构造函数中传递的通道名称进行连接。单个应用中使用的所有通道名称必须是唯一的;","首先创建一个新的应用程序:","首先,我们构建通道。我们使用methodchannel调用一个方法来返回电池电量。","默认情况下,模板支持使用java编写android代码,或使用object"],"chapter12/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)","12.4","12.4:插件开发:实现android端api","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实现","方法下方:","最后,我们完成之前添加的onmethodcall方法。我们需要处理平台方法名为getbatterylevel的调用消息,所以我们需要先在call参数判断调用的方法是否为getbatterylevel。","本节我们接着上一节\"获取电池电量\"插件的示例,来完成android端api的实现。以下步骤是使用java的示例,如果您更喜欢kotlin,可以直接跳到后面kotlin部分。","然后选择里面的","然后,将下面的新方法添加到activity类中的,位于oncr","现在就可以在android上运行该应用程序了,如果使用的是android模拟器,则可以通过工具栏中的\"...\"按钮访问extend","这个平台方法的实现只需调用我们在前一步中编写的android代码,并通过result参数返回成功或错误情况的响应信息。如果调用了未定义的api,我们也会通知返回:","选择","首先在android","首先,添加需要导入的依赖。"],"chapter12/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);","12.5","12.5:插件开发:实现ios端api","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实现","最后,我们完成之前添加的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"],"chapter13/":["使用intl包","实现local","本章目录","第十三章:国际化","让app支持多语言"],"chapter13/multi_languages_support.html":["'cn')","'cn'),","'package:flutter_localizations/flutter_localizations.dart';","'us'),",")","...","//","//其它local","//手动指定local","13.1","13.1:让app支持多语言","1是android系统中设置语言列表的截图:","=","[","],","app最终使用的locale。通常在不支持的语言区域时返回一个默认的locale。","const","context)","dependencies:","flutter","flutter:","flutter_localizations:","function(list","function(local","globalmateriallocalizations.delegate,","globalwidgetslocalizations.delegate,","globalwidgetslocalizations.delegate定义组件默认的文本方向,从左到右或从右到左,这是因为有些语言的阅读习惯并不是从左到右,比如如阿拉伯语就是从右向左的。","import","iter","local","locale('en',","locale('zh',","locale,","locale:","localelistresolutioncallback和localeresolutioncallback唯一的不同就在第一个参数类型,前者接收的是一个locale列表,而后者接收的是单个locale。","locales,","locale类是用来标识用户的语言环境的,它包括语言和国家两个标志如:","localizations.localeof(context);","localizations.of(context,","localizationsdeleg","localizationsdelegates:","localizationsdelegates列表中的元素是生成本地化值集合的工厂。globalmateriallocalizations.deleg","localizations组件用于加载和查找应用当前语言下的本地化值或资源。应用程序通过localizations.of(context,type)来引用这些对象。","materialapp(","materialloc","materiallocalizations);","materiallocalizations.of(context).backbuttontooltip,","mylocal","new","of(buildcontext","return","sdk:","sdk中的组件仅提供美国英语本地化资源(主要是文本)。要添加对其他语言的支持,应用程序须添加一个名为“flutter_localizations”的包依赖,然后还需要在materialapp中进行一些配置。","sdk已经提供了一些组件和类来帮助我们实现国际化,下面我们来介绍一下flutter中实现国际化的步骤。","static","supportedlocal","supportedlocales)","supportedlocales:","supportedlocales也接收一个locale数组,表示我们的应用支持的语言列表,在本例中我们的应用只支持美国英语和中文简体两种语言。","tooltip:","{","}","。","上述的globalmateriallocalizations和globalwidgetslocalizations只是material组件库的本地化实现,如果我们要让自己的布局支持多语言,那么就需要实现在即的localizations,我们将在下一节介绍其具体的实现方式。","上面的例子中手动指定了应用locale为美国英语,指定后即使设备当前语言是中文简体,应用中的locale也依然是美国英语。如果locale为null,则表示flutter未能获取到设备的locale信息,所以我们在使用locale之前一定要先判空。","中文简体","为materi","为了尽可能小而且简单,flutter软件包中仅提供美国英语值的materiallocalizations和widgetslocalizations接口的实现。","为当前应用支持的locale列表,是开发者在materialapp中通过supportedlocales属性注册的。","使用打包好的localizationsdeleg","列表加载","包包含globalmateriallocalizations和globalwidgetslocalizations的本地化接口的多语言实现,","参数locale的值为当前的当前的系统语言设置,当应用启动时或用户动态改变系统语言设置时此locale即为系统的当前locale。当开发者手动指定app的locale时,那么此locale参数代表开发者指定的locale,此时将忽略系统locale如:","可以直接调用便捷方法","国际化的应用程序必须按照本节开头说明的那样为这些类指定本地化delegate。","在flutter中,应该优先使用localelistresolutioncallback,当然你不必担心android系统的差异性,如果在低版本的android系统中,flutter会自动处理这种情况,这时locale列表只会包含一项。","在大型应用程序中,不同模块或package可能会与自己的本地化值捆绑在一起。","在较新的android系统中,用户可以设置一个语言列表,这样一来,支持多语言的应用就会得到这个列表,应用通常的处理方式就是按照列表的顺序依次尝试加载相应的locale,如果某一种语言加载成功则会停止。图13","基于widgetsapp的应用程序类似,只是不需要globalmateriallocalizations.delegate。","大多数应用程序都是通过materialapp为入口,但根据低级别的widgetsapp类为入口编写的应用程序也可以使用相同的类和逻辑进行国际化。materialapp实际上也是widgetsapp的一个包装。","如果我们的应用要支持多种语言,那么我们需要“国际化”它。这意味着我们在开发时需要为应用程序支持的每种语言环境设置“本地化”的一些值,如文本和布局。flutter","如果系统的语言环境发生变化,widgetsapp将创建一个新的loc","如果设备的locale区域设置发生更改,则loc","它们可以如下方式获取到:","当我们更改系统语言设置时,app中的localizations组件会重新构建,localizations.localeof(context)","我们可以通过localeresolutioncallback或localelistresolutioncallback回调来监听locale改变的事件,我们先看看localeresolutioncallback的回调函数签名:","我们始终可以通过以下方式来获取应用的当前区域locale:","接下来我们以materialapp类为入口的应用来说明如何支持国际化。","接下来,下载flutter_localizations库,然后指定materialapp的localizationsdelegates和supportedlocales:","支持国际化","方法,以生成封装了一系列本地化值的对象。通常这些对象为每个本地化值定义一个方法。","本地化值由localizations的","本地化的代理类","每个委托必须定义一个异步load()","注意,”本地化的值和资源“是指我们针对不同语言准备的不同资源,这些资源一般是指文案(字符串),当然也会有一些其他的资源会根据不同语言地区而不同,比如我们需要显示一个app上架地的国旗图片,那么不同locale区域我们就需要提供不同的的国旗图片。","监听系统语言切换","管理对象表的原因。","组件","组件一般位于widget树中其它业务组件的顶部,它的作用是定义区域locale以及设置子树依赖的本地化资源。","组件会自动加载新区域的locale值,然后重新build使用(依赖)了它们的组件,之所以会这样,是因为localizations内部使用了inheritedwidget","组件并重建它,这样子树中通过localizations.localeof(context)","组件库提供的本地化的字符串和其他值,它可以使materi","组件库的本地化字符串由materiallocalizations类定义,此类的实例由materialapp类提供的localizationdelegate创建,","组件支持多语言。","美国英语","获取当前区域local","获取的locale就会更新。","获取的locale就会更新,最终界面会重新build达到切换语言的效果。但是这个过程是隐式完成的,我们并没有主动去监听系统语言切换,但是有时我们需要在系统语言发生改变时做一些事,比如系统语言切换为一种我们app不支持的语言时,我们需要设置一个默认的语言,这时我们就需要监听locale改变事件。","要使用flutter_localizations包,首先需要添加依赖到pubspec.yaml文件中:","要使用由localizationsdelegate的load方法之一产生的对象,可以指定一个buildcontext和对象的类型来找到它。例如,materi","让app支持多语言","返回值是一个locale,此locale为flutt","这个特殊的localizations.of()表达式会经常使用,所以materiallocalizations类提供了一个便捷方法:","这些实现类分别称为defaultmateriallocalizations和defaultwidgetslocalizations。flutter_loc","这就是为什么要用local","默认情况下,flutter",",我们在介绍该组件时讲过:当子组件的build函数引用了inheritedwidget时,会创建对inheritedwidget的隐式依赖关系。因此,当inheritedwidget发生更改时,即localizations的locale设置发生更改时,将重建所有依赖它的子组件。"],"chapter13/locallization_implement.html":["\"flutter","\"flutter应用\"","\"zh\")","'zh'].contains(locale.languagecode);","),",");","...","//","//...","//locale代理类","//locale相关值,title为应用标题","//locale资源类","//为了使用方便,我们定义一个静态方法","//使用local","//是否为中文","//是否支持某个local","//省略无关代码","13.2","13.2:实现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的返回值决定当localizations组件重新build时,是否调用load方法重新加载locale资源。一般情况下,locale资源只应该在locale切换时加载一次,不需要每次在localizations重新build时都加载,所以返回false即可。可能有些人会担心返回false的话在app启动后用户再改变系统语言时load方法将不会被调用,所以locale资源将不会被加载。事实上,每当locale改变时flutter都会再调用load方法加载新的locale,无论shouldreload返回true还是false。","static","string","synchronousfuture(","text(demolocalizations.of(context).title),","titl","title:","{","}","其它的值","前面讲了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",")"],"chapter13/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","13.3:使用intl包","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"],"chapter13/faq.html":["'us')","(context){","(list",");","...","//","//不能正常工作!","13.4","13.4:国际化常见问题","[","],","demolocalizations.of(context).title,","demolocalizations.of(context).title;","demolocalizationsdelegate()","demolocalizationsdelegate(),","globalmateriallocalizations.delegate,","globalwidgetslocalizations.delegate,","iter","localelistresolutioncallback:","locales,","localizationsdelegates:","materialapp(","materialapp有一个title属性,用于指定app的标题。在android系统中,app的标题会出现在任务管理器中。所以也需要对title进行国际化。但是问题是很多国际化的配置都是在materialapp上设置的,我们无法在构建materialapp时通过localizations.of来获取本地化资源,如:","ongeneratetitle:","return","supportedlocales)","title:","{","}","},","上面代码运行后,demolocalizations.of(context).titl","判断当前locale是否为英语系国家,如果是直接返回locale('en',","国际化常见问题","在一些非大陆行货渠道买的一些android和ios设备,会出现默认的locale不是中文简体的情况。这属于正常现象,但是为了防止设备获取的locale与实际的地区不一致,所有的支持多语言的app都必须提供一个手动选择语言的入口。","如何为英语系的国家指定同一个local","如何对应用标题进行国际化","是会报错的,原因是localizations.of会从当前的context沿着widget树向顶部查找demolocalizations,但是我们在materialapp中设置完demolocalizationsdelegate后,实际上demolocalizations是在当前context的子树中的,所以demolocalizations.of(context)会返回null,报错。那么我们该如何处理这种情况呢?其实很简单,我们只需要设置一个ongeneratetitle回调即可:","本地化的代理类","本节主要解答一下在国际化中常见的问题。","此时context在localizations的子树中","英语系的国家非常多,如美国、英国、澳大利亚等,这些英语系国家虽然说的都是英语,但也会有一些区别。如果我们的app只想提供一种英语(如美国英语)供所有英语系国家使用,我们可以在前面介绍的localelistresolutioncallback中来做兼容:","设置deleg","默认语言区域不对"],"chapter14/":["element和buildcontext","flutter","flutter从启动到显示","renderobject和renderbox","ui系统","本章目录","第十四章:flutter核心原理"],"chapter14/flutter_ui_system.html":["14.1","14.1:flutter","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系统和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","//获取上下文大小","//获取主题","14.2","14.2.1","14.2.2","14.2:element和buildcontext","1和14","2(点击后)所示:",":","=","=>","?","@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就是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就是statelesselement。同样,我们同样发现statefulwidget的context是statefulelement。但statelesselement和statefulelement本身并没有实现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","总结","我们也知道,在很多时候我们都需要使用这个context","我们可以看到element是flutt","我们已经知道,statelesswidget和statefulwidget的build方法都会传一个buildcontext对象:","我们通过纯粹的element来模拟一个statefulwidget的功能,假设有一个页面,该页面有一个按钮,按钮的文本是一个9位数,点击一次按钮,则对9个数随机排一次序,代码如下:","方法来移除它,移除后element.renderobject也会被从渲染树中移除,然后framework会调用element.deactiv","方法,这时element状态变为“inactive”状态。","时(如widget树结构发生了变化,导致element对应的widget被移除),这时该祖先element就会调用deactivatechild","本节详细的介绍了element的生命周期,以及它widget、buildcontext的关系,也介绍了element在flutt","点击按钮则按钮文本会随机排序。","现在就可以将customhome添加到widget树了,我们在一个新路由页创建它,最终效果如下如图14","看完element的生命周期,可能有些读者会有疑问,开发者会直接操作element树吗?其实对于开发者来说,大多数情况下只需要关注widget树就行,flutter框架已经将对widget树的操作映射到了element树上,这可以极大的降低复杂度,提高开发效率。但是了解element对理解整个flutt","至此真相大白,buildcontext就是widget对应的element,所以我们可以通过context在statelesswidget和statefulwidget的build方法中直接访问element对象。我们获取主题数据的代码theme.of(context)内部正是调用了element的inheritfromwidgetofexacttype()方法。","调用","调用widget.createel","进阶","那么buildcontext到底是什么呢,查看其定义,发现其是一个抽象接口类:","那这个context对象对应的实现类到底是谁呢?我们顺藤摸瓜,发现build调用是发生在statelesswidget和statefulwidget对应的statelesselement和statefulelement的build方法中,以statelesselement为例:",",mount方法中首先调用element所对应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进行命中测试","14.3","14.3.1","14.3.2","14.3.3","14.3.4","14.3.5","14.3:renderobject与renderbox","300),","3所示:",":","=","==","=>",">","@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,该参数表示子节点布局变化是否影响父节点,如果为true,当子节点布局发生变化时父节点都会标记为需要重新布局,如果为false,则子节点布局发生变化后不会影响父节点。","relayoutboundary?在前面介绍element时,我们讲过当一个element标记为","renderbox","renderbox子类要定制布局算法不应该重写layout()方法,因为对于任何renderbox的子类来说,它的layout流程基本是相同的,不同之处只在具体的布局算法,而具体的布局算法子类应该通过重写performresize()","renderbox实际的测量和布局逻辑是在performresize()","renderobject","renderobject)","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,此时其大小在","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来指定isrepaintboundari","{","||","}","})","。","一个isrepaintboundari","一个对象是否可以响应事件,取决于其对命中测试的返回,当发生用户事件时,会从根节点(renderview)开始进行命中测试,下面是renderview的hittest()源码:","一定要注意,renderobject的parentdata","上面layout()源码中定义了一个relayoutboundary变量,什么是","下面我们看看repaintboundary的原理,renderobject有一个isrepaintboundary属性,该属性决定这个renderobject重绘时是否独立于其父元素,如果该属性值为tru","中就确定了,在后面的","中,有个size属性用来保存控件的宽和高。renderbox的layout是通过在组件树中从上往下传递boxconstraints对象的实现的。boxconstraints对象可以限制子节点的最大和最小宽高,子节点必须遵守父节点给定的限制条件。","为","为true,则该renderobject拥有layer,直接绘制","为事件触发的坐标(如果有的话),返回","也就不用重新布局了。","也需要被重新布局,那么到什么时候是个头呢?答案就是","代码大致逻辑是先判断自身是不是relayoutboundary,如果不是就继续向par","代码很简单,首先判断有无溢出,如果没有则调用defaultpaint(context,","会和一个祖先节点共用一个layer","会被renderbox和它的子类使用.","传给它的","列表中,参数","则表示有renderbox","只能通过父元素设置.","只负责布局子节点。","可以看出,当调用","可以看到layout方法需要传入两个参数,第一个为constraints,即","向父级递归查找","命中测试","和","唯一不同的是","在","在renderbox","在上一节我们说过每个element都对应一个renderobject,我们可以通过element.renderobject","在布局阶段,父节点会调用子节点的layout()方法,下面我们看看renderobject中layout()方法的大致实现(删掉了一些无关代码和异常捕获):","如何设置isrepaintboundary属性呢?其实,如果使用了repaintboundary,其对应的renderrepaintboundary会自动将isrepaintboundary设为true的:","如果子元素未超出当前边界,则绘制子元素","如果直到根节点也没找到一个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()","方法时,会从当前","方法用来判断该renderobject","时便会重新build,这时renderobject便会重新布局,我们是通过调用","时,performresize()","时,才会触发重绘,这样便可以实现局部重绘。当","是","是否在被点击的范围内,同时负责将被点击的","是每次布局都会被调用的。sizedbypar","有renderobject","本节我们介绍了renderobject主要的功能和方法,理解这些内容可以帮助我们更好的理解flutt","来保存子节的keepalive状态。","来标记element为dirty的。在renderobject中有一个类似的markneedslayout()方法,它会将renderobject的布局状态标记为","来绘制溢出部分提示,这个就是我们经常看到的溢出提示,如图14","来获取。并且我们也说过renderobject的主要职责是layout和绘制,所有的renderobject会组成一棵渲染树rend","来赋值的,parent通常会通过子renderobject的parentdata存储一些和子元素相关的数据,如在stack布局中,renderstack就会将子元素的偏移数据存储在子元素的parentdata中(具体可以查看positioned实现)。","查找,一直向上查找到是","没有自己的layer,","添加到","源码可以看出只有","父节点对子节点大小的限制,该值根据父节点的布局逻辑确定。另外一个参数是","的","的。这样来看它的作用就比较明显了,意思就是当一个控件的大小被改变时可能会影响到它的","的大小了,于是","的大小,那么","相似,repaintboundary是用于在确定重绘边界的,与relayoutboundary不同的是,这个绘制边界需要由开发者通过repaintboundari","答案就在paintchild()源码中:","组件自己指定,如:","组件,它使用keepaliveparentdatamixin(继承自parentdata)","绘制的很频繁或很复杂时,可以通过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","//调用rendererbinding的drawframe()方法","//重绘之前的预处理操作,检查renderobject是否需要重绘","14.4","14.4:flutter从启动到显示","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])","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的入口在\"lib/main.dart\"的main()函数中,它是dart应用程序的起点。在flutter应用中,main()函数最简单的实现如下:","flutter运行机制","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","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()","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","widgetsbind","widgetsbinding.instance;","widgetsbinding:提供了window.onlocalechanged、onbuildschedul","widgetsflutterbind","widgetsflutterbinding();","widgetsflutterbinding.ensureinitialized()","widgetsflutterbinding.ensureinitialized()负责初始化一个widgetsbinding的全局单例,紧接着会调用widgetsbinding的attachrootwidget方法,该方法负责将根widget添加到renderview上,代码如下:","widget层与engine的桥梁。","widget树对应的element树。如果el","window","{","}","});","、window.ontextscalefactorchang","。","一次绘制过程,我们称其为一帧。flutter","两个方法的源码,可以发现前者主要是执行了transientcallbacks队列,而后者执行了","两个方法,在看这两个方法之前我们首先了解一下frame","中关联的widget","中,它被调用后会立即进行一次绘制(而不是等待\"vsync\"","从启动到显示","信号),在此次绘制结束前,该方法会锁定事件分发,也就是说在本次绘制结束完成之前flutter将不会响应各种事件,这可以保证在绘制过程中不会再触发新的重绘。下面是schedulewarmupframe()","参数app是一个widget,它是flutter应用启动后要展示的第一个widget。而widgetsflutterbinding正是绑定widget","反向遍历需要重绘的renderobject","发送平台消息","只会创建一次,后面会进行复用。那么buildowner是什么呢?其实他就是widget","可以看main()函数只调用了一个runapp()方法,我们看看runapp()方法中都做了什么:","可以看到widgetsflutterbinding继承自bindingbas","可以看到window类包含了当前设备和系统的一些信息以及flutt","可以看到该方法中主要调用了handlebeginframe()","向persistentcallbacks队列添加了一个回调","启动","和","回到runapp的实现中,当调用完attachrootwidget后,最后一行会调用","回调,","回调,绑定framework手势子系统,是framework事件模型与底层事件的绑定入口。","在一次绘制过程中,这三个回调队列会放在不同时机被执行:","实例的","将需要绘制的比特数据发给gpu","已经创建过了,则将根element","平台通道消息处理回调","并混入了很多binding,在介绍这些binding之前我们先介绍一下window,下面是window的官方解释:","当前系统字体缩放比例。","当前系统默认的语言local","当前设备的dpi,即一个逻辑像素显示多少物理像素,数字越大,显示效果就越精细保真。","当绘制区域大小改变回调","很明显,window正是flutt","总结","我们发现在调用rendererbinding.drawframe()方法前会调用","我们看最后一行,通过addpersistentframecallback","我们看看这些方法分别做了什么:","提供了window.onmetricschang","方法的部分实现(省略了无关代码):","方法,该方法的实现在schedulerbind","更新应用在gpu上的渲染,此方法会直接调用flutt","最后","本节介绍了flutter","本节我们主要介绍一下flutter从启动到显示的过程。","框架和flutter","检查renderobject是否需要重绘,然后更新renderobject.needscompositing属性,如果该属性值被标记为true则需要重绘。","此方法会直接调用flutter","注册,注意,不要在此类回调中再触发新的frame,这可以会导致循环刷新。","注意,代码中的有renderview和renderviewelement两个变量,renderview是一个renderobject,它是渲染树的根,而renderviewelement是renderview对应的element对象,可见该方法主要完成了根widget到根","添加回调。","渲染","渲染和绘制逻辑在rendererbinding中实现,查看其源发,发现在其initinstances()方法中有如下代码:","源码很简单,该方法主要任务是更新了所有被标记为“dirty”的renderobject的布局信息。主要的动作发生在node._layoutwithoutresize()方法中,该方法中会调用performlayout()进行重新布局。","点击或指针事件回调","现在请读者自行查看handlebeginframe()","用于绑定平台消息通道(messag","的","的概念:","真正的绘制逻辑","等回调。它是flutter","等回调。它是渲染树与flutter","类中有三个framecallback回调队列,","系统字体缩放变化回调","绘制","绘制前回调,一般会受显示器的垂直同步信号vsync驱动,当屏幕刷新时就会被调用","绘制回调","设为新的,由此可以看出element","该方法直接调用了rendererbinding的drawframe()方法:","该方法负责创建根element,即renderobjecttowidgetelement,并且将element与widget","该方法进行了最终的绘制,可以看出它不是重绘了所有","调度frame,该方法执行后,onbeginframe和ondrawframe将紧接着会在合适时机被调用,","这个方法中有一个scene对象,scene对象是一个数据结构,保存最终渲染后的像素信息。这个方法将canvas画好的scene传给window.render()方法,该方法会直接将scene信息发送给flutt","进行","进行关联,即创建出","重绘","锁定事件","队列。","需要注意的是:由于rendererbinding只是一个mixin,而with它的是widgetsbinding,所以我们需要看看widgetsbinding中是否重写该方法,查看widgetsbinding的drawframe()方法源码:","(非首次绘制),该方法会将被标记为“dirty”"],"chapter14/image_and_cache.html":["!=","\"https://avatars2.githubusercontent.com/u/20411648?s=460&v=4\",","$resolved');","&&","'codec_framecount';","'codec_getnextframe';","'codec_repetitioncount';","'instantiateimagecodec';","()","(100","(_currentsizebyt","(_imagestream.key","(bytes.lengthinbyt","(complet","(error,","(imag","(int","(maximums","(maximumsizebyt","(onerror","(pendingimag","(response.statuscod","(result","(widget.imageprovid",")","));","),",");","*","+","+=","...","...省略具体实现代码",".imagecache.putifabsent(key,","//","///","//下载图片","//判断新旧imagestream是否相同,如果不同,则需要调整流的监听器","//定义错误处理函数","//最多2000张","//省略无关代码","//调用","0","0)","1","1.0,","100","1000;","14.5","14.5.1","14.5.2","14.5:flutter图片加载与缓存","200","4;","4所示:",":","=","==","==(dynam","=>",">","?","??","@overrid","@pragma('vm:entri","@protect","@requir","[","[_pendingimage.removelistener].","],","_cach","_cache.keys.first;","_cache.length","_cache.remove(key);","_cache[key]","_cache[key];","_cachedimag","_cachedimage(result,","_callback","_checkcachesize()","_checkcachesize();","_currentsizebyt","_futurize(_getnextframe);","_getimage()","_getimage();","_getnextframe(_callback","_httpclient.geturl(resolved);","_imageinfo","_imageinfo;","_imageinfo?.image,","_imageinfo?.scal","_imagestream","_imagestream.addlistener(listener);","_imagestream.removelistener(imagestreamlistener(_updateimage));","_imagestream;","_instantiateimagecodec(uint8list","_kdefaults","_kdefaultsize;","_kdefaultsizebyt","_kdefaultsizebytes;","_loadasync(","_loadasync(key,","_maximums","_maximumsize)","_maximumsizebyt","_myimagest","_myimagestate();","_pendingimag","_pendingimage(result,","_pendingimages.remove(key);","_pendingimages[key]","_pendingimages[key]?.completer;","_updateimage(imageinfo","abstract","api","api的包装,实际上会调用flutt","assert(imageprovid","assert(key","assert(load","async","await","bool","build","build(buildcontext","bundle:","byte","cache,","callback)","callback,","catch","changes.","children:","chunkev","chunkevents),","chunkevents,","chunkevents.add(imagechunkevent(","chunkevents.close();","chunkevents.stream,","chunkevents:","class","clear()","codec","codec._();","codec:","codec参数值为_loadasync方法的返回值,我们继续看_loadasync方法的实现:","column(","complet","configur","configuration)","configuration);","consolidatehttpclientresponsebytes(","const","context)","context,","createlocalimageconfiguration(buildcontext","createstate()","cumulative,","cumulativebytesloaded:","dangerzon","dangerzone.runguarded(()","dart:ui","defaultassetbundle.of(context),","defaulttargetplatform,","devicepixelratio:","didchangedependencies()","didupdatewidget(myimag","directionality.of(context),","dispose()","empti","engin","engine中实现的。codec类部分定义如下:","engine创建,不应该手动实例化此类或直接继承此类。","engine的instantiateimagecodec方法,源码如下:","evict(object","evict({","exception('networkimag","exception(...);","exception,","expectedtotalbytes:","extend","file:","final","framecount","futur","getnextframe()","handleerror(dynam","handleerror(error,","handleerror);","headers?.foreach((str","httpclientrequest","httpclientrespons","httpstatus.ok)","imag","image.completer;","image.sizebytes;","image:","image;","imagecach","imagecache的一个实例,它是paintingbinding的一个属性,而flutter框架中的paintingbinding.instance是一个单例,imagecache事实上也是一个单例,也就是说图片缓存是全局的,统一由paintingbinding.instance.imagecach","imagecompleter.seterror(...);","imageconfigur","imageconfiguration(","imageconfiguration.empti","imageerrorlisten","imageinfo","imageinfo,","imageinfo;","imageinternaltestrout","imageprovid","imageprovider:","imageprovider;","images","imagesize);","imagesize;","imagestream","imagestream();","imagestreamcomplet","imagestreamcompleter的一个子类,是flutt","imagestreamlisten","imagestreamlistener(_updateimage);","imagestreamlistener(listener);","image组件原理","info,","info.image.height","info.image.width","info?.imag","int","key","key)","key);","key)方法","key)方法从数据源加载图片数据,加载成功后先缓存,然后返回imagestream。","key,","key.scale,","key.then((t","key;","list,","listen","listener(imageinfo","load(image_provider.networkimag","load(key),","load(t","loader(),","loader();","locale:","localizations.localeof(context,","map","maximumsize(int","maximumsizebyt","maximumsizebytes(int","maximumsizebytes)","mb)","mediaquery.of(context,","multiframeimagestreamcomplet","multiframeimagestreamcompleter(","myimag","myimage(","myimage({","myimage,代码大致如下:","name,","nativ","nativefieldwrapperclass2","networkimag","networkimage(","null","null)","null),","null);","null;","nullok:","object","obtainedkey","obtainedkey;","obtainkey(configuration);","obtainkey(image_provider.imageconfigur","obtainkey(imageconfigur","obtainkey(imageconfiguration)方法","oldimagestream","oldimagestream?.key)","oldimagestream?.removelistener(listener);","oldwidget)","oldwidget.imageprovider)","onbytesreceived:","onerror","onerror(error,","onerror:","oper","other)","other;","paintingbinding.inst","paintingbinding.instance.imagecache.maximumsize=2000;","paintingbinding.instance.imagecache.maximumsizebyt","paintingbinding.instance.instantiateimagecodec(bytes);","pendingimag","pendingimage.removelistener();","platform:","point')","putifabsent(object","rawimage(","remov","repetitioncount","request","request.close();","request.headers.add(name,","resolv","resolve(imageconfigur","resolve(imageconfiguration)","resolve方法是imageprovider的暴露的给image的主入口方法,它接受一个imageconfiguration参数,返回imagestream,即图片数据流。我们重点看一下resolve执行流程:","respons","response,","result","result.addlistener(streamlistener);","result;","rethrow;","return","return;","scale","scale:","sdk提供了一个便捷函数createlocalimageconfiguration来创建imageconfigur","sdk预置的类,通过该类,我们以方便、轻松地创建出一个imagestreamcompleter实例来做为load方法的返回值。","set","setstate(()","size","size,","size:","stack)","stacktrac","stacktrace)","stacktrace);","state","statefulwidget","statelesswidget","stream","stream.setcompleter(completer);","stream.setcompleter(imagecompleter);","stream;","streamcontrol","streamcontroller();","streamlisten","streamlistener);","string","super(key:","super.didchangedependencies();","super.didupdatewidget(oldwidget);","super.dispose();","synccall)","synchronouscall)","synchronousfuture(this);","t","targetheight)","targetwidth,","textdirection:","this.imageprovider,","throw","total)","total,","tri","trigger","true),","true)?.devicepixelratio","typedoth","typedother.scale;","typedother.url","uint8list","uri","uri.base.resolve(key.url);","url","value)","value);","void","whenev","widget","widget.imageprovider.resolve(createlocalimageconfiguration(context));","widget。rawimage最终会通过renderimage来将图片绘制在屏幕上。如果继续跟进renderimage类,我们会发现renderimage的paint","widget中正是通过它来监听图片加载状态的(我们将在下面介绍imag","widget的源码已经没必要在花费篇章去介绍了,读者有兴趣可以自行去阅读。","zone","zone.current.fork(...);","{","{...}","{};","||","}","})","}).catcherror(handleerror);","});","},","上面主要结合源码,探索了imageprovider的主要功能和原理,如果要用一句话来总结imageprovider功能,那么应该是:加载图片数据并进行缓存、解码。在此再次提醒读者,flutter的源码是非常好的第一手资料,建议读者多多探索,另外,在阅读源码学西的同时一定要有总结,这样才不至于在源码中迷失。","上面代码a处就是处理缓存的主要代码,这里的paintingbinding.instance.imagecach","上面代码流程如下:","下载图片。","下载逻辑比较简单:通过httpclient从网上下载图片,另外下载请求会设置一些自定义的header,开发者可以通过networkimage的headers命名参数来传递。","下面我们看看imagecache类定义:","下面是缓存处理的逻辑","下面测试一下myimage:","代码很简单,创建了一个同步的future,然后直接将自身做为key返回。因为map中在判断key(此时是networkimage对象)是否相等时会使用“==”运算符,那么定义key的逻辑就是networkimage的“==”运算符:","代码部分实现,而是在flutter","依赖改变时,图片的配置信息可能会发生改变","先判断图片数据有缓存,如果有,则直接返回imagestream。","先移除缓存,后再添加,可以让最新使用过的缓存在_map中的位置更近一些,清理时会lru来清除","先验证是否已经有缓存","创建一个新zone,主要是为了当发生错误时不会干扰mainzon","前面章节中我们介绍过image的基础用法,现在我们更深入一些,研究一下image是如何和imageprovider配合来获取最终解码后的数据,然后又如何将图片绘制到屏幕上的。","加载图片数据源的接口,不同的数据源的加载方法不同,每个imageprovider的子类必须实现它。比如networkimage类和assetimage类,它们都是imageprovider的子类,但它们需要从不同的数据源来加载图片数据:networkimage是从网络来加载图片数据,而assetimage则是从最终的应用包里来加载(加载打到应用安装包里的资源图片)。","动画重复的次数","包含图片和设备的相关信息,如图片的大小、所在的assetbundle(只有打到安装包的图片存在)以及当前的设备平台、devicepixelratio(设备像素比等)。flutt","原理时详细介绍)。","参数是一个必选参数,它是imageprovider类型。下面我们便详细介绍一下imageprovider,imageprovider是一个抽象类,定义了图片数据获取和加载的相关接口。它的主要职责有两个:","另外,我们可以看到imagecache类中有设置缓存上限的setter,所以,如果我们可以自定义缓存上限:","另外,我们需要注意的是,图片缓存是在内存中,并没有进行本地文件持久化存储,这也是为什么网络图片在应用重启后需要重新联网下载的原因。","可以看到_loadasync方法主要做了两件事:","同时也意味着在应用生命周期内,如果缓存没有超过上限,相同u的图片只会被下载一次。","图片中的帧数(动态图会有多帧)","图片加载原理与缓存","图片的加载、缓存和绘制流程。其中imageprovider主要负责图片数据的加载和缓存,而绘制部分逻辑主要是由rawimage来完成。","图片还未加载成功,直接返回","在图片下载完成后调用了paintingbinding.instance.instantiateimagecodec(bytes)对图片进行解码,值得注意的是instantiateimagecodec(...)也是一个n","在本书前面章节已经介绍过imag","如果没有缓存,则调用load(t","实现代码省略","对下载的图片数据进行解码。","对图片数据进行解码","对象:","当缓存数量超过最大值或缓存的大小超过最大缓存容量,会调用此方法清理到缓存上限以内","很清晰,对于网络图片来说,会将其“url+缩放比例”作为缓存的key。也就是说如果两张图片的url或scale只要有一个不同,便会重新下载并分别缓存。","总结","成功了!","我们以networkimage为例,看看其load方法的实现:","我们可以发现这些信息基本都是通过context来获取。","我们可以看到codec最终的结果是一个或多个(动图)帧,而这些帧最终会绘制到屏幕上。","我们可以看到,multiframeimagestreamcomplet","我们已经知道imag","我们看到,load方法的返回值类型是imagestreamcomplet","我们看看imageprovider抽象类的详细定义:","接收图片数据","提供图片数据源","方法","方法中调用了paintimage方法,而paintimage方法中通过canvas的drawimagerect(…)、drawimagenine(...)等方法来完成最终的绘制。","是","是处理图片编解码的类的一个handler,实际上,它只是一个flutt","更新后会rebuild,此时会创建一个rawimag","最终的绘制由rawimage来完成。","有缓存则使用缓存,没有缓存则调用load方法加载图片,加载成功后:","有缓存,继续往下走","本节主要介绍了flutter","本节换一个思路,我们先不去直接看image的源码,而根据已经掌握的知识来实现一个简版的“image组件”","来管理。","此类由flutter","清除所有缓存","清除指定key对应的图片缓存","现在我们看一下缓存的key,因为map中相同key的值会被覆盖,也就是说key是图片缓存的一个唯一标识,只要是不同key,那么图片数据就会分别缓存(即使事实上是同一张图片)。那么图片的唯一标识是什么呢?跟踪源码,很容易发现key正是imageprovider.obtainkey()方法的返回值,而此方法需要imageprovider子类去重写,这也就意味着不通的imageprovider对key的定义逻辑会不同。其实也很好理解,比如对于networkimage,将图片的url作为key会很合适,而对于assetimage,则应该将“包名+路径”作为唯一的key。下面我们以networkimage为例,看一下它的obtainkey()实现:","现在,想必imag","生成缓存key,后面会根据此key来检测是否有缓存","的","的包装类,也就是说图片的编解码逻辑不是在dart","的桥梁。","省略部分定义","类。","组件的imag","组件,并提到flutter框架对加载过的图片是有缓存的(内存),默认最大缓存数量是1000,最大缓存空间为100m。本节便详细介绍image的原理及图片缓存机制,下面我们先看看imageprovid","缓存上限设置的setter","缓存图片","缓存容量上限","缓存数量上限(1000)","缓存的处理逻辑在这里,记为a,下面详细介绍","缓存队列","而image正是连接起imageprovider和rawimag","获取下一个动画帧","表示只执行一次","表示循环执行","该接口主要是为了配合实现图片缓存,imageprovider从数据源加载完数据后,会在全局的imagecache中缓存图片数据,而图片数据缓存是一个map,而map的key便是调用此方法的返回值,不同的key代表不同的图片数据缓存。","调用imageprovider.resolve方法,获得imagestream。","运行效果如图14","通过imageprovider.resolve方法可以得到一个imagestream(图片数据流),然后监听imagestream的变化。当图片数据源发生变化时,imagestream会触发相应的事件,而本例中我们只设置了图片成功的监听器_updateimage,而_updateimage中只更新了_imageinfo。值得注意的是,如果是静态图,imagestream只会触发一次时间,如果是动态图,则会触发多次事件,每一次都会有一个解码后的图片帧。","需子类实现","需要一个codec参数,该参数类型为future。codec",",它是一个抽象类,定义了管理图片加载过程的一些接口,imag"],"chapter15/intro.html":["15.1","api。","github客户端示例","json转dart","model类;","全局状态管理;语言、主题、登录态等都需要全局共享。","实现github账号登录、退出登录功能","对前面章节所学内容的一个应用及总结。","带领读者了解如何使用flutter来开发一个完整app,了解flutter应用开发流程及工程结构等。","持久化存储;保存登录信息,用户信息等。","支持国际化、intl包的使用","支持多语言","支持换肤","本章新建一个flutter工程,实现一个简单的github客户端。这个实例的主要目标有两个:","现在,目前已经确定,在接下来章节中,我们将分模块一步一步实现上述功能。","登录后可以查看自己的项目主页","登录状态可以持久化;","第十五章:一个完整的flutter应用","网络请求;需要请求github","要实现上面这些功能会涉及到如下技术点:","需要注意的是,由于github本身功能非常多,我们的焦点并不是去实现github的所有业务功能。因此,我们只需要实现一个app的骨架,能达到上面这两点即可。下面对我们要实现的功能如下:"],"chapter15/code_structure.html":["15.2","15.2:app代码结构","android","app代码结构","app内封装的一些widget组件都在该目录下","arb","common","flutter","font","github_client_app","i10n","img","io","json","json文件对应的dart","lib","model","model类会在此目录下","model类,现在我们使用在第十一章中”json转model“小节中介绍的方案,所以,我们需要在根目录下再创建一个用于保存json文件的”jsons“文件夹。","rout","state","test","widget","└──","├──","一些工具类,如通用方法类、网络接口类、保存全局变量的静态类等","作用","保存app中需要跨组件共享的状态类","国际化相关的类都在此目录下","多语言支持我们使用第十三章”国际化“中介绍的方案,所以还需要在根目录下创建一个\"i10n\"文件夹,用于保存各国语言对应的arb文件。","存放所有路由页面类","我们先来创建一个全新的flutter工程,命名为\"github_client_app\";创建新工程的步骤视读者使用的编辑器而定,都比较简单,在此不再赘述。创建完成后,工程结构如下:","文件夹","注意,使用不同的框架或技术选型会对代码有不同的组织方式,因此,本节介绍的代码组织结构并不是固定或者“最佳”的,在实战中,读者可以自己根据情况调整源码结构。但是无论采取何种源码组织结构,但清晰和解耦是一个通用原则,我们应该让自己的代码结构清晰,以便交流和维护。","现在工程目录变为:","由于在网络数据传输和持久化时,我们需要通过json来传输、保存数据;但是在应用开发时我们又需要将json转成dart","由于我们的dart代码都在“lib”文件夹下,笔者根据技术选型和经验在lib文件下创建了如下目录:","由于我们需要使用外部图片和icon资源,所以我们在项目根目录下分别创建”imgs“和”fonts“文件件,前者用于保存图片,后者用于保存icon文件。关于图片和icon,读者可以参考第三章中相应的内容。"],"chapter15/models.html":["\"$user\",","\"2008","\"2011","\"avatar_url\":","\"bio\":","\"blog\":","\"cache\":\"$cacheconfig\",","\"company\":","\"created_at\":","\"default_branch\":","\"description\":","\"email\":","\"enable\":true,","\"followers\":","\"following\":","\"fork\":","\"forks_count\":","\"full_name\":","\"github\",","\"hello","\"hireable\":","\"https://api.github.com/licenses/mit\",","\"https://github.com/blog\",","\"https://github.com/images/error/octocat_happy.gif\",","\"id\":","\"javascript\",//该项目的主要编程语言","\"key\":","\"language\":","\"lastlogin\":\"\",","\"license\":","\"locale\":\"\"","\"location\":","\"login\":","\"master\",","\"maxage\":1000,","\"maxcount\":100","\"mdc6tgljzw5zzw1pda==\"","\"mit","\"mit\",","\"monalisa","\"name\":","\"node_id\":","\"octocat\",","\"octocat/hello","\"octocat@github.com\",","\"open_issues_count\":","\"owned_private_repos\":","\"owner\":","\"parent\":\"$repo\",","\"private\":","\"public_repos\":","\"pushed_at\":","\"san","\"size\":","\"spdx_id\":","\"stargazers_count\":","\"subscribers_count\":","\"theme\":5678,","\"there","\"thi","\"token\":\"\",","\"total_private_repos\":","\"type\":","\"updated_at\":","\"url\":","\"user\",","\"user\":\"$user\",","...","...//省略其它字段","//","//github账号信息,结构见\"user.json\"","//主题色值","//公司","//关注该用户的人数","//博客地址","//最近一次的注销登录的用户名","//用户名字","//用户头像地址","//用户登录名","//用户类型,可能是组织","//省略其它字段","//订阅(关注)该项目的人数","//该用户总的私有项目数(包括参与的其它组织的私有项目)","//该用户自己的私有项目数","//该项目当前打开的issue数量","//该项目的star数量","//项目名称","//项目完成名称","//项目描述","//项目的默认分支","0,","01","100","100,","108,","1296269,","14t04:33:35z\",","15.3","15.3:model类定义","2,","20,","26t19:01:12z\",","26t19:06:43z\",","26t19:14:43z\",","42,","80,","9,","api应用一些简单的缓存策略。我们在“jsons”目录下创建一个“cacheconfig.json”文件缓存策略信息,定义如下:","api接口返回json结构如下:","api缓存策略信息","app语言信息","cacheconfig.dart","cacheconfig.g.dart","false,","first","flutter","fork了该项目的数量","francisco\",","github账号信息","github账号信息;由于我们的app可以切换账号登录,且登录后再次打开则不需要登录,所以我们需要对用户账号信息和登录状态进行持久化。","index.dart","json_model","license\",","model","model的方案采用前面介绍过的","model类","model类。json文件转dart","model类定义","model类:","octocat\",","onc","packag","package提供的命令来通过json文件生成相应的dart类:","profile.dart","profile.g.dart","pub","repo!\",","repo.dart","repo.g.dart","run","user.dart","user.g.dart","was...\",","world\",","{","}","│","└──","├──","公开项目数","包方案","命令执行成功后,可以看到lib/models文件夹下会生成相应的dart","如果是fork的项目,则此字段表示fork的父项目信息","应用使用配置信息;没一个用户都应有自己的app配置信息,如主题、语言、以及数据缓存策略等。","我们使用shared_preferences包来对登录用户的profile信息进行持久化。shared_preferences是一个flutter插件,它通过android和ios平台提供的机制来实现数据持久化。由于shared_preferences的使用非常简单,读者可以自行查看其文档,在此不再赘述。","我们在“jsons”目录下创建一个“profile.json”文件,结构如下:","我们在“jsons”目录下创建一个“user.json”文件保存上述信息。","数据持久化","是否启用缓存","是否私有项目","最大缓存数","本节我们先梳理一下app中将用到的数据,然后生成相应的dart","注意:在这里需要提醒读者,在登录场景中,保护用户账号安全是一个非常重要且永恒的话题,在实际开发中应严格杜绝直接明文存储用户账密的行为。","现在,我们需要的json数据已经定义完毕,现在只需要运行json_model","生成dart","用户信息","用户信息(profile)应包括如下信息:","用户所处地理位置","用户注销登录后,为了便于用户在退出app前再次登录,我们需要记住上次登录的用户名。","用户简介","由于app主页要显示其所有项目信息,我们在“jsons”目录下创建一个“repo.json”文件保存项目信息。通过参考github","由于github服务器在国内访问速度较慢,我们对github","登录github后,我们需要获取当前登录者的github账号信息,github","登录用户的token(oauth)或密码","缓存的最长时间,单位(秒)","缓存策略信息,结构见\"cacheconfig.json\"","获取项目信息的api文档,定义出最终的“repo.json”文件结构,如下:","该用户关注的人数","该项目是否为fork的项目","该项目的开源许可证","账号信息更新时间","账号创建时间","邮箱","需要注意的是,目前github有三种登录方式,分别是账号密码登录、oauth授权登录、二次认证登录;这三种登录方式的安全性依次加强,但是在本示例中,为了简单起见,我们使用账号密码登录,因此我们需要保存用户的密码。","项目信息","项目占用的存储大小","项目拥有者,结构见\"user.json\""],"chapter15/globals.html":["!=","()","(_profil","(_profile.local","(color","(e)","(local","(user?.login","..enabl","..maxag","..maxcount",".firstwhere((e)","//","//保存profile变更","//初始化全局信息,会在app启动时执行","//初始化网络请求相关配置","//用户信息发生变化,更新用户信息并通知依赖它的子孙widgets更新","//通知依赖的widget更新","100;","15.4","15.4.1","15.4.2","15.4:全局变量及共享状态","3600","=","==","=>","??","@overrid","[","];","_pref","_prefs.getstring(\"profile\");","_prefs.setstring(\"profile\",","_prefs;","_profil","_profile.lastlogin","_profile.local","_profile.locale)","_profile.locale.split(\"_\");","_profile.locale;","_profile.them","_profile.theme,","_profile.us","_profile.user;","_profile.user?.login)","_profile.user?.login;","_theme","_themes;","app主题状态","app是否登录(如果有用户信息,则证明登录过)","app语言状态","async","await","bool","bool.fromenvironment(\"dart.vm.product\");","cacheconfig()","catch","changenotifi","class","color)","color[500].value;","colors.blue);","colors.blue,","colors.cyan,","colors.green,","colors.red,","colors.teal,","colorswatch","const","e.valu","extend","futur","getlocale()","git.init();","global","global.init().then((e)","global.profile;","global.saveprofile();","global.them","global类","global类的各个字段的意义都有注释,在此不再赘述,需要注意的是init()需要在app启动时就要执行,所以应用的main方法如下:","init()","islogin","isreleas","jsonencode(profile.tojson()));","list","local","locale(str","locale(t[0],","locale)","locale;","localemodel","main()","netcach","netcache();","notifylisteners()","notifylisteners();","null)","null;","orelse:","print(e);","profil","profile();","profile.cach","profile.fromjson(jsondecode(_profile));","profilechangenotifi","return","runapp(myapp()));","runapp(myapp())根本执行不到。","saveprofile()","set","sharedprefer","sharedpreferences.getinstance();","static","string","super.notifylisteners();","t","t[1]);","theme","theme(colorswatch","theme)","thememodel","tri","true","user","user(us","user)","user;","usermodel","var","void","{","}","主题改变后,通知其依赖项,新主题会立即生效","主题状态在用户更换app主题时更新、通知其依赖项,定义如下:","全局变量","全局变量及共享状态","共享状态","可选的主题列表","在此,一定要确保global.init()方法不能抛出异常,否则","如果没有缓存策略,设置默认缓存策略","应用程序中通常会包含一些贯穿app生命周期的变量信息,这些信息在app大多数地方可能都会被用到,比如当前用户信息、local信息等。在flutter中我们把需要全局共享的信息氛围两类:全局变量和共享状态。全局变量就是单纯指会贯穿整个app生命周期的变量,用于单纯的保存一些信息,或者封装一些全局工具和方法的对象。而共享状态则是指哪些需要跨组件或跨路由共享的信息,这些信息通常也是全局变量,而共享状态和全局变量的不同在于前者者发生改变时需要通知所有使用该状态的组件,而后者不需要。为此,我们将全局变量和共享状态分开单独管理。","当app语言选为跟随系统(auto)时,在系通语言改变时,app语言会更新;当用户在app中选定了具体语言时(美国英语或中文简体),则app便会一直使用用户选定的语言,不会再随系统语言而变。语言状态类定义如下:","我们在“lib/common”目录下创建一个global类,它主要管理app的全局变量,定义如下:","持久化profile信息","提供四套可选主题色","是否为release版","有了全局变量,我们还需要考虑如何跨组件共享状态。当然,如果我们将要共享的状态全部用全局变量替代也是可以的,但是这在flutter开发中并不是一个好主意,因为组件的状态是和ui相关,而在状态改变时我们会期望依赖该状态的ui组件会自动更新,如果使用全局变量,那么我们必须得去手动处理状态变动通知、接收机制以及变量和组件依赖关系。因此,本实例中,我们使用前面介绍过的provider包来实现跨组件状态共享,因此我们需要定义相关的provider。在本实例中,需要共享的状态有登录用户信息、app主题信息、app语言信息。由于这些信息改变后都要立即通知其它依赖的该信息的widget更新,所以我们应该使用changenotifierprovider,另外,这些信息改变后都是需要更新profile信息并进行持久化的。综上所述,我们可以定义一个profilechangenotifier基类,然后让需要共享的model继承自该类即可,profilechangenotifier定义如下:","用户改变app语言后,通知依赖项更新,新语言会立即生效","用户状态","用户状态在登录状态发生变化时更新、通知其依赖项,我们定义如下:","网络缓存对象","获取当前locale的字符串表示","获取当前主题,如果为设置主题,则默认使用蓝色主题","获取当前用户的app语言配置locale类,如果为null,则语言跟随系统语言"],"chapter15/network.html":["!=","\"/users/$login\",","\"application/vnd.github.squirrel","\"application/vnd.github.symmetra","\"list\":","\"nocache\":","\"proxi","\"user/repos\",","&&","'","'../index.dart';","'basic","'dart:async';","'dart:collection';","'dart:convert';","'dart:io';","'get')","'https://api.github.com/',","'package:dio/dio.dart';","'package:flutter/material.dart';","(!global.isrelease)","(!global.profile.cache.enable)","((datetime.now().millisecondssinceepoch","(client)","(dio.httpclientadapt","(ob","(options.extra[\"list\"]","(options.extra[\"nocache\"]","(refresh)","(uri)","(x509certif","));",");","+","/","//","//query参数,用于接收分页信息","//代理工具会提供一个抓包的自签名证书,会通不过证书校验,所以我们禁用证书校验","//如果是下拉刷新,先删除相关缓存","//将请求uri作为缓存的key","//更新profile中的token信息","//本接口禁用缓存","//清空所有缓存","//登录成功后更新公共头(authorization),此后的所有请求都会带上用户身份信息","//若是列表,则只要url中包含当前path的缓存全部删除(简单实现,并不精准)","//若缓存未过期,则返回缓存内容","//获取用户项目列表","10.1.10.250:8888\";","1000","15.5","15.5.1","15.5.2","15.5:网络请求封装",":","=","==","==(other)","=>","??","@overrid","_option","_options,","_options.extra.addall({\"refresh\":","_options.merge(headers:","_options;","api接口调用。另外,在调试过程中,我们通常需要一些工具来查看网络请求、响应报文,使用网络代理工具来调试网络数据问题是主流方式。配置代理需要在应用中指定代理服务器的地址和端口,另外github","api是https协议,所以在配置完代理后还应该禁用证书校验,这些配置我们在git类初始化时执行(init()方法)。下面是git类的源码:","api的基地址和api支持的header进行了全局配置,这样所有通过该dio实例发出的请求都会默认使用者些配置。","async","await","base64.encode(utf8.encode('$login:$pwd'));","baseurl:","basic","basic;","bool","buildcontext","cach","cache.removewhere((key,","cache[key];","cacheobject","cacheobject(this.response)","cert,","class","client.badcertificatecallback","client.findproxi","context;","context});","datetime.now().millisecondssinceepoch;","defaulthttpclientadapter).onhttpclientcr","delete(options.uri.tostring());","dio","dio(baseoptions(","dio.get(","dio.interceptors.add(global.netcache);","dio.options.headers[httpheaders.authorizationheader]","extend","extra:","false})","futur","future>","getrepos(","girl","git","git([this.context])","global.netcache.cache.clear();","global.profile.token","global.profile.token;","hashcod","headers:","host,","httpheaders.acceptheader:","httpheaders.authorizationheader:","import","init()","int","interceptor","key","key.contains(options.path));","linkedhashmap();","login(str","login,","netcach","new","nocach","null)","ob","ob.timestamp)","onrequest(requestopt","oper","option","options(extra:","options)","options.extra[\"cachekey\"]","options.extra[\"refresh\"]","options.method.tolowercase()","options.uri.tostring();","options:","options;","other.hashcode;","package,所以我们可以直接通过拦截器来实现缓存策略:","port)","preview+json\",","preview,\"","pwd)","queryparameters,","queryparameters:","r","r.data.map((e)","refresh","refresh标记是否是\"下拉刷新\"","repo.fromjson(e)).tolist();","respons","response.hashcod","response.realuri.hashcode;","response;","return","static","string","timestamp","timestamp;","true","true)","true,","true;","true});","user.fromjson(r.data);","v)","var","void","{","{\"context\":","{map","}","}),","},","};","一个完整的app,可能会涉及很多网络请求,为了便于管理、收敛请求入口,工程上最好的作法就是将所有网络请求放到同一个源码文件中。由于我们的接口都是请求的github","为确保迭代器顺序和对象插入时间一致顺序一致,我们使用linkedhashmap","关于代码的解释都在注释中了,在此需要说明的是dio包的option.extra是专门用于扩展请求参数的,我们通过定义了“refresh”和“nocache”两个参数实现了”针对特定接口或请求决定是否启用缓存的机制“,这两个参数含义如下:","列表下拉刷新,需要删除缓存(拦截器中会读取这些信息)","参数名","另外需要注意,我们所有的网络请求是通过同一个dio实例(静态变量)发出的,在创建该dio实例时我们将github","可以看到我们在init()方法中,我们判断了是否是调试环境,然后做了一些针对调试环境的网络配置(设置代理和禁用证书校验)。而git.init()方法是应用启动时被调用的(global.init()方法中会调用git.init())。","在本实例中,我们只用到了登录接口和获取用户项目的接口,所以在git类中只定义了login(…)和getrepos(…)方法,如果读者要在本实例的基础上扩充功能,读者可以将其它的接口请求方法添加到git类中,这样便实现了网络请求接口在代码层面的集中管理和维护。","在网络请求过程中可能会需要使用当前的context信息,比如在请求失败时","在调试模式下需要抓包调试,所以我们使用代理,并禁用https证书校验","如果不是列表,则只删除uri相同的缓存","如果为true,则本次请求不使用缓存,但新的请求结果依然会被缓存","封装网络请求","开发平台提供的api,所以我们定义一个git类,专门用于github","打开一个新路由,而打开新路由需要context信息。","接下来我们需要实现具体的缓存策略,由于我们使用的是dio","本次请求禁用缓存,请求结果也不会被缓存。","本节我们会基于前面介绍过的dio网络库封装app中用到的网络请求接口,并同时应用一个简单的缓存策略。下面我们先介绍一下网络接口缓存原来,然后再封装app的业务请求接口。","添加缓存插件","由于在国内访问github服务器速度较慢,所以我们应用一些简单的缓存策略:将请求的url作为key,对请求的返回值在一个指定时间段类进行缓存,另外设置一个最大缓存数,当超过最大缓存数后移除最早的一条缓存。但是也得提供一种针对特定接口或请求决定是否启用缓存的机制,这种机制可以指定哪些接口或那次请求不应用缓存,这种机制是很有必要的,比如登录接口就不应该缓存,又比如用户在下拉刷新时就不应该再应用缓存。在实现缓存之前我们先定义保存缓存信息的cacheobject类:","登录接口,登录成功后返回用户信息","类型","缓存创建时间","网络接口缓存","网络请求封装","解释","设置用户token(可能为null,代表未登录)"],"chapter15/entry.html":["!=","\"","\"\"),","\"imgs/avatar","\"language\"),","\"language\":","\"login\":","\"themes\"),","\"themes\":","'../index.dart';","'cn'),","'page':","'page_size':","'us'),","'us');","(!usermodel.islogin)","(!value.islogin)","()","(buildcontext","(context)","(context){","(context,","(ctx)","(int","(list","(local","(localemodel.getlocale()","(supportedlocales.contains(_locale))","(widget.repo.fork)","(widget.repo.priv",")","),",");","+","...//",".5,",".9,",".padright(paddingwidth)),",".tostring()","//","//app语言跟随系统语言,如果系统语言不是中文简体或美国英语,","//其它local","//则默认使用美国英语","//头像占位图,加载过程中显示","//如果已经选定语言,则不跟随系统","//已登录,则展示项目列表","//应用主页","//我们只支持美国英语和中文简体","//我们的自定义图标","//把请求到的新数据添加到items中","//抽屉菜单","//构建功能菜单","//构建抽屉菜单头部","//用户未登录,显示登录按钮","//移除顶部pad","//该赋值语句会触发materialapp","//退出账号前先弹二次确认窗","//项目owner头像","0.0,","1.15,","10;","12),","13,","15,","15.6","15.6.1","15.6.2","15.6.3","15.6:app入口及首页","16),","16.0),","1、15","20),","20,","24.0,","2所示:","3,","30,","3、15","40,","4所示:","8,","8.0),","80)","80,",":","=","==","=>","=>placeholder,","?","??","@overrid","[","]);","],","];","_buildbody()","_buildbody(),","_buildbody()方法来构建主页内容,_buildbody()方法实现代码如下:","_buildbottom()","_buildheader()","_buildheader(),","_buildmenus()","_buildmenus()),","_homeroutest","_homeroutestate();","_locale,","_locale;","_repoitemst","_repoitemstate();","actions:","alertdialog(","appbar(","appbar:","application.","app入口","app入口及主页","async","await","body:","bool","borderdirectional(","borderradiu","borderradius,","borderradius.circular(12),","borderradius.circular(2),","borderradius:","borderside(","bottom:","boxfit","build(buildcontext","buildcontext","builder(builder:","builder:","cachednetworkimage(","center(","changenotifierprovider.value(value:","child)","child:","children","children);","children.add(text(\"forked\".padright(paddingwidth)));","children.addall([","children:","class","clipoval(","cliprrect(","color:","colors.bluegrey[700],","colors.grey,","colors.grey[700]),","colors.white,","column(","const","consumer(","consumer2(","container(","content:","context)","context,","context:","createstate()","crossaxisalignment.start,","crossaxisalignment:","ctx)","data","data.length==20;","data:","default.png\",","defaulttextstyle(","dense:","doubl","drawer(","drawer:","edgeinsets.only(top:","edgeinsets.symmetric(horizontal:","error)","errorwidget:","expanded(child:","extend","final","fit,","fit:","flatbutton(","fontsize:","fontstyle.ital","fontstyle.italic,","fontstyle.normal,","fontstyle:","fontweight.bold,","fontweight:","gesturedetector(","git(context).getrepos(","global.init().then((e)","globalmateriallocalizations.delegate,","globalwidgetslocalizations.delegate,","gm","gmavatar(","gmavatar(str","gmavatar(value.user.avatar_url,","gmlocalizations.of(context).login,","gmlocalizations.of(context).nodescription,","gmlocalizations.of(context).title;","gmlocalizations.of(context);","gmlocalizationsdelegate()","height","height,","height:","home:","homerout","homeroute(),","homeroute是应用的主页。","icon(icons.color_lens),","icon(icons.info_outline),","icon(icons.language),","icon(icons.lock),","icon(icons.power_settings_new),","icon(icons.star),","icon(myicons.fork),","icontheme(","iconthemedata(","if(usermodel.islogin)","image.asset(","imageurl:","import","index,","infinitelistview(","int","item","itembuilder:","itembuilder为列表项的builder,我们需要在该回调中构建每一个列表项widget。由于列表项构建逻辑较负责,我们单独封装一个repoitem","items,","items.addall(data);","iter","key","key);","key,","languageroute(),","leading:","list","list,","listtile(","listview(","local","locale('en',","locale('zh',","locale:","locale;","locale=","localemodel()),","localemodel,","localemodel.getlocale(),","localemodel.getlocale();","localeresolutioncallback:","localizationsdelegates:","loginroute(),","main()","main函数为app入口函数,实现如下:","material(","materialapp(","maxlines:","mediaquery.removepadding(","multiprovider(","myapp","mydraw","mydrawer(),","mydrawer({","navigator.of(context).pushnamed(\"login\"),","navigator.of(context).pushnamed(\"login\");","navigator.pop(context),","navigator.pop(context);","navigator.pushnamed(context,","null","null)","null;","ongeneratetitle:","onpressed:","onretrievedata:","ontap:","package中提供的。infinitelistview同时支持了下拉刷新和上拉加载更多两种功能。onretrievedata","padding(","padding:","paddingwidth","page","page,","placehold","placeholder:","primaryswatch:","private\".padright(paddingwidth))","provider.of(context);","providers:","queryparameters:","raisedbutton(","rebuild","refresh","refresh)","refresh,","refresh:","removetop:","repo","repo;","repoitem","repoitem(list[index]);","repoitem(this.repo)","return","root","routes:","row(","row(children:","runapp(myapp()));","scaffold(","shape:","showdialog(","size:","state","statefulwidget","statelesswidget","style:","subtitle,","subtitle:","subtitle;","super(key:","supportedlocales)","supportedlocales:","text(","text(\"","text(gm.cancel),","text(gm.language),","text(gm.logout),","text(gm.logouttip),","text(gm.theme),","text(gm.yes),","text(gmlocalizations.of(context).home),","text(gmlocalizations.of(context).login),","text(widget.repo.forks_count.tostring().padright(paddingwidth)),","text(widget.repo.languag","textscalefactor:","textstyle(","textstyle(color:","theme.of(context).dividercolor,","theme.of(context).primarycolor,","theme:","themechangeroute(),","themedata(","thememodel()),","thememodel,","thememodel.theme,","title:","trailing:","true)","true,","url)","url,","usermodel","usermodel()),","usermodel,","usermodel.us","value,","value.islogin","value.user.login","valuekey(repo.id));","var","void","widget","widget.repo.descript","widget.repo.description,","widget.repo.fork","widget.repo.full_nam","widget.repo.name,","widget.repo.open_issues_count","widget.repo.owner.avatar_url,","widget.repo.owner.login,","widget.repo.stargazers_count","widget,它是flukit","width","width,","width:","{","}","})","}),","},","上面代码中,主页的标题(title)我们是通过gmlocalizations.of(context).home来获得,gmlocalizations是我们提供的一个localizations类,用于支持多语言,因此当app语言改变时,凡是使用gmlocalizations动态获取的文案都会是相应语言的文案,这在前面”国际化“一章中已经介绍过,读者可以前翻查阅。","上面代码有两点需要注意:","上面代码注释很清楚:如果用户未登录,显示登录按钮;如果用户已登录,则展示项目列表。这里项目列表使用了infinitelistview","专门用于构建列表项ui。repoitem","中文简体","为了支持多语言(本app中我们支持美国英语和中文简体两种语言)我们实现了一个gmlocalizationsdelegate,子widget中都可以通过gmlocalizations来动态获取app当前语言对应的文案。关于gmlocalizationsdelegate和gmlocalizations的实现方式读者可以参考”国际化“一章中的介绍,此处不再赘述。","为了简单起见,当app启动后,如果之前已登录了app,则显示该用户项目列表;如果之前未登录,则显示一个登录按钮,点击后跳转到登录页。另外,我们实现一个抽屉菜单,里面包含当前用户头像及app的菜单。下面我们先看看要实现的效果,如图15","为数据获取回调,该回调函数接收三个参数:","主页","代码中调用了cachednetworkimag","会被置空,此时所有依赖usermodel的组件都会被rebuild,如主页会恢复成未登录的状态。","保存当前列表数据的list","初始化完成后才会加载ui(myapp),myapp","参数名","回调中我们调用git(context).getrepos(...)来获取用户项目列表,同时指定每次请求获取20条。当获取成功时,首先要将新获取的项目数据添加到items中,然后根据本次请求的项目条数是否等于期望的20条来判断还有没有更多的数据。在此需要注意,git(context).getrepos(…)方法中需要refresh参数来判断是否使用缓存。","图标库中没有fork图标,所以我们在iconfont.cn上找了一个fork图标,然后根据”图片和icon“一节中介绍的使用自定义字体图标的方法集成到了我们的项目中。","在上面的代码中:","在构建materialapp时,我们配置了app支持的语言列表,以及监听了系统语言改变事件;另外materialapp消费(依赖)了thememodel和localemodel,所以当app主题或语言改变时materialapp会重新构建","在构建项目拥有者头像时调用了gmavatar(…)方法,该方法是是一个全局工具函数,专门用于获取头像图片,实现如下:","如果已登录,则显示用户头像;若未登录,则显示默认头像","如果接口返回的数量等于'page_size',则认为还有数据,反之则认为最后一页","实现代码如下:","实现如下:","将`repo.id`作为repoitem的默认key","当前页号","我们在”lib/routes“下创建一个”home_page.dart“文件,实现如下:","我们注册了命名路由表,以便在app中可以直接通过路由名跳转。","我们的根widget是multiprovider,它将主题、用户、语言三种状态绑定到了应用的根上,如此一来,任何路由中都可以通过provider.of()来获取这些状态,也就是说这三种状态是全局共享的!","我们通过","抽屉菜单","抽屉菜单分为两部分:顶部头像和底部功能菜单项。当用户未登录,则抽屉菜单顶部会显示一个默认的灰色占位图,若用户已登录,则会显示用户的头像。抽屉菜单底部有”换肤“和”语言“两个固定菜单,若用户已登录,则会多一个”注销“菜单。用户点击”换肤“和”语言“两个菜单项,会进入相应的设置页面。我们的抽屉菜单效果如图15","是cached_network_image包中提供的一个widget,它不仅可以在图片加载过程中指定一个占位图,而且还可以对网络请求的图片进行缓存,更多详情读者可以自行查阅其文档。","是否是下拉刷新触发","是应用的入口widget,实现如下:","本地化的代理类","本小节我们介绍了app入口materialapp的一些配置,然后实现了app的首页。后面我们将展示登录页、换肤页、语言切换页。","本节来介绍一下app入口及首页。","构建主页面","构建卡片底部信息","构建菜单项","构建项目标题和简介","注册命名路由表","用户点击”注销“,usermodel.us","由于flutter","的materi","省略","类型","美国英语","解释","返回值类型为bool,为true时表示还有数据,为false时则表示后续没有数据了。onretrievedata","项目信息列表项"],"chapter15/login_page.html":["!=","!_nameautofocus,","!pwdshow,","!pwdshow;","'../index.dart';","((_formkey.currentst","()","(_unamecontroller.text","(e)","(e.response?.statuscod","(user","(v)",")),","),",");","//","//密码是否显示明文","//校验密码(不能为空)","//登录失败则提示","15.7","15.7:登录页","25),","401)","55.0),","5所示。",":","=","==","=>","?","@overrid","[","],","_formkey","_formkey,","_loginroutest","_loginroutestate();","_nameautofocu","_nameautofocus,","_onlogin()","_onlogin,","_pwdcontrol","_pwdcontroller,","_pwdcontroller.text);","_unamecontrol","_unamecontroller,","_unamecontroller.text","appbar(title:","appbar:","async","autofocus:","autovalidate:","await","body:","bool","boxconstraints.expand(height:","build(buildcontext","catch","child:","children:","class","color:","colors.white,","column(","const","constrainedbox(","constraints:","context)","controller:","createstate()","decoration:","edgeinsets.all(16.0),","edgeinsets.only(top:","extend","false).us","false;","final","form(","formstate).validate())","git(context).login(_unamecontroller.text,","global.profile.lastlogin;","globalkey","globalkey();","gm","gm.password,","gm.passwordrequired;","gm.username,","gm.usernameoremail,","gm.usernamerequired;","gmlocalizations.of(context);","hinttext:","icon(","icon(icons.lock),","icon(icons.person),","icon:","iconbutton(","icons.visibility),","icons.visibility_off","import","initstate()","inputdecoration(","key:","labeltext:","listen:","loginrout","navigator.of(context).pop();","new","null","null)","obscuretext:","onpressed:","padding(","padding:","prefixicon:","provider.of(context,","pwdshow","raisedbutton(","return","scaffold(","setstate(()","showloading(context);","showtoast(e.tostring());","showtoast(gmlocalizations.of(context).usernameorpasswordwrong);","state","statefulwidget","suffixicon:","super.initstate();","text(gm.login)),","text(gm.login),","textcolor:","texteditingcontrol","texteditingcontroller();","textformfield(","theme.of(context).primarycolor,","tri","true,","true;","user","user;","v.trim().isnotempti","validator:","var","void","widget","{","}","}),","});","},","为了防止密码输入错误,密码框应该有开关可以看明文。","代码很简单,关键地方都有注释,不再赘述,下面我们看一下运行效果,如图15","可以自动填充上次登录的用户名(如果有)。","因为登录页返回后,首页会build,所以我们传false,更新user后不触发更新","实现代码如下:","我们说过github有多种登录方式,为了简单起见,我们只实现通过用户名和密码登录。在实现登录页时有四点需要注意:","提交前,先验证各个表单字段是否合法","校验用户名(不能为空)","用户名或密码字段在调用登录接口前有本地合法性校验(比如不能为空)。","登录成功后需更新用户信息。","登录页","自动填充上次登录的用户名,填充后将焦点定位到密码输入框","返回","隐藏loading框"],"chapter15/language_and_theme_setting.html":["\"en_us\"),","\"zh_cn\"),","()","),",");","//","//主题更新后,materialapp会重新build","//显示主题色块","//构建语言选择项","15.8","15.8.1","15.8.2","15.8:多语言和多主题","16),","40,","5,","6、15","7所示:","8所示:",":","=","==","?","@overrid","[","],","_buildlanguageitem(\"english\",","_buildlanguageitem(\"中文简体\",","_buildlanguageitem(gm.auto,","_buildlanguageitem(str","appbar(","appbar:","app语言选择页提供三个选项:中文简体、美国英语、跟随系统。我们将当前app使用的语言高亮显示,并且在后面添加一个”对号“图标,实现如下:","body:","build(buildcontext","child:","children:","class","color","color)","color:","const","container(","context)","e,","e;","edgeinsets.symmetric(vertical:","extend","gesturedetector(","global.themes.map((e)","gm","gmlocalizations.of(context);","height:","horizontal:","icon(icons.done,","lan,","languagerout","listtile(","listview(","localemodel","localemodel.local","null),","null,","ontap:","padding(","padding:","provider.of(context).them","provider.of(context);","return","scaffold(","statelesswidget","statelesswidget{","style:","text(","text(gm.language),","text(gmlocalizations.of(context).theme),","textstyle(color:","theme.of(context).primarycolor;","themechangerout","title:","trailing:","valu","value)","value;","var","widget","{","}","}).tolist(),","},","一个完整的主题theme包括很多选项,这些选项在themedata中定义。本实例为了简单起见,我们只配置主题颜色。我们提供几种默认预定义的主题色供用户选择,用户点击一种色块后则更新主题。主题选择页的实现代码如下:","上面代码逻辑很简单,唯一需要注意的是我们在build(…)方法里面定义了_buildlanguageitem(…)方法,它和在languageroute类中定义该方法的区别就在于:在build(…)内定义的方法可以共享build(...)方法上下文中的变量,本例中是共享了localemodel。当然,如果_buildlanguageitem(…)的实现复杂一些的话不建议这样做,此时最好是将其作为languageroute类的方法。该页面运行效果如图15","主题选择页","切换语言后立即生效。","多语言和多主题","对app当前语言进行高亮显示","更新locale后materialapp会重新build","本实例app中语言和主题都是可以设置的,而两者都是通过changenotifierprovider来实现的:我们在main函数中使用了consumer2,依赖了thememodel和localemodel,因此,当我们在语言和主题设置页更该当前的配置后,consumer2的builder都会重新执行,构建一个新的materialapp,所以修改会立即生效。下面看一下语言和主题设置页的实现。","点击其它主题色块后,app主题色立马切换生效。","语言选择页","运行效果如图15"]},"length":102},"tokenStore":{"root":{"0":{"0":{"5":{"2":{"2":{"9":{"8":{"3":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}},"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}},"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":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.020242914979757085}}},"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.005698005698005698},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.004694835680751174}},";":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.008547008547008548},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}},".":{"0":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.00303951367781155},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}},")":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}},";":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}},",":{"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.001519756838905775}}},"docs":{}}},"docs":{}}},"docs":{}}},"1":{"docs":{},".":{"0":{"docs":{},",":{"0":{"docs":{},".":{"0":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}},"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.001519756838905775}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.00911854103343465},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.009900990099009901},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00851063829787234},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.016194331983805668},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010309278350515464},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.008403361344537815},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},"/":{"docs":{},"/":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}}},";":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.008726003490401396}},"/":{"docs":{},"/":{"docs":{},"距":{"docs":{},"左":{"docs":{},"边":{"docs":{},"的":{"docs":{},"偏":{"docs":{},"移":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}}}}}}},"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}},"docs":{}}},"6":{"docs":{},")":{"docs":{},",":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}},"带":{"docs":{},"入":{"docs":{},"坐":{"docs":{},"标":{"docs":{},"转":{"docs":{},"换":{"docs":{},"公":{"docs":{},"式":{"docs":{},"得":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"o":{"docs":{},"实":{"docs":{},"际":{"docs":{},"偏":{"docs":{},"移":{"docs":{},"为":{"docs":{},"(":{"1":{"2":{"docs":{},",":{"3":{"6":{"docs":{},")":{"docs":{},",":{"docs":{},"和":{"docs":{},"实":{"docs":{},"际":{"docs":{},"运":{"docs":{},"行":{"docs":{},"效":{"docs":{},"果":{"docs":{},"吻":{"docs":{},"合":{"docs":{},"。":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.008403361344537815}},"/":{"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.004201680672268907}}}}}}}}},"docs":{}},"docs":{}}}}}}}}},"docs":{}},"x":{"docs":{},"e":{"0":{"0":{"0":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}},"docs":{}},"docs":{}},"6":{"1":{"4":{"docs":{},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}},"docs":{}},"docs":{}},"9":{"0":{"docs":{},"d":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}},"1":{"4":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}},"docs":{}},"docs":{}},"docs":{},"c":{"7":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}},"docs":{}}},"f":{"docs":{},"f":{"2":{"1":{"9":{"6":{"docs":{},"f":{"3":{"docs":{},";":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}},")":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}},",":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.0102880658436214}}},")":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.006172839506172839}},";":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00823045267489712}}}},";":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}},"}":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}}}},",":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.009900990099009901},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849},"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}},"1":{"0":{"0":{"0":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0056179775280898875},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}}},",":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}},"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935},"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.013215859030837005},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.005376344086021506},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.006134969325153374},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0058309037900874635},"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}},".":{"0":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.03316326530612245},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.006802721088435374}}},")":{"docs":{},",":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}},")":{"docs":{},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}}}}}},"docs":{}},")":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}},".":{"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.003067484662576687}}},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},"}":{"docs":{},"%":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}}}}}}},")":{"docs":{},";":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}},";":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}},":":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}},";":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}},"1":{"docs":{},".":{"8":{"docs":{},")":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}},"docs":{}}},"2":{"docs":{},";":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}},"4":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}},"docs":{}}},"8":{"docs":{},",":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}},"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}},".":{"0":{"docs":{},",":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}}},")":{"docs":{},";":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}},"1":{"docs":{"chapter10/intro.html":{"ref":"chapter10/intro.html","tf":0.04}},":":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"组":{"docs":{},"件":{"docs":{},"方":{"docs":{},"法":{"docs":{},"简":{"docs":{},"介":{"docs":{"chapter10/intro.html":{"ref":"chapter10/intro.html","tf":10}}}}}}}}}}}},".":{"1":{"0":{"docs":{},".":{"2":{"5":{"0":{"docs":{},":":{"8":{"8":{"8":{"8":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"2":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}},":":{"docs":{},"组":{"docs":{},"合":{"docs":{},"现":{"docs":{},"有":{"docs":{},"组":{"docs":{},"件":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":10}}}}}}}}}},"3":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}},":":{"docs":{},"组":{"docs":{},"合":{"docs":{},"实":{"docs":{},"例":{"docs":{},":":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":10}}}}}}}}}}}}}}}},"4":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}},":":{"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":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":10}}}}}}}}}}}}}}}}}}}}}}}}}}}},"5":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}},":":{"docs":{},"自":{"docs":{},"绘":{"docs":{},"实":{"docs":{},"例":{"docs":{},":":{"docs":{},"圆":{"docs":{},"形":{"docs":{},"渐":{"docs":{},"变":{"docs":{},"进":{"docs":{},"度":{"docs":{},"条":{"docs":{},"(":{"docs":{},"自":{"docs":{},"绘":{"docs":{},")":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":10}}}}}}}}}}}}}}}}}}}},"docs":{}},":":{"0":{"0":{"docs":{},":":{"5":{"2":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"_":{"3":{"docs":{},"_":{"1":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}},"docs":{}}},"docs":{}},"\"":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}},"的":{"docs":{},"作":{"docs":{},"用":{"docs":{},"是":{"docs":{},",":{"docs":{},"告":{"docs":{},"诉":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"本":{"docs":{},"次":{"docs":{},"请":{"docs":{},"求":{"docs":{},"我":{"docs":{},"们":{"docs":{},"只":{"docs":{},"想":{"docs":{},"获":{"docs":{},"取":{"docs":{},"文":{"docs":{},"件":{"0":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"包":{"docs":{},"括":{"1":{"0":{"docs":{},",":{"docs":{},"共":{"1":{"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":{},"码":{"docs":{},"为":{"2":{"0":{"6":{"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":{},"n":{"docs":{},"t":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}},"docs":{}},"docs":{}}}},"/":{"2":{"3":{"3":{"2":{"9":{"5":{"8":{"7":{"8":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"表":{"docs":{},"示":{"docs":{},"本":{"docs":{},"次":{"docs":{},"返":{"docs":{},"回":{"docs":{},"的":{"docs":{},"区":{"docs":{},"块":{"docs":{},",":{"2":{"3":{"3":{"2":{"9":{"5":{"8":{"7":{"8":{"docs":{},"代":{"docs":{},"表":{"docs":{},"文":{"docs":{},"件":{"docs":{},"的":{"docs":{},"总":{"docs":{},"长":{"docs":{},"度":{"docs":{},",":{"docs":{},"单":{"docs":{},"位":{"docs":{},"都":{"docs":{},"是":{"docs":{},"b":{"docs":{},"y":{"docs":{},"t":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}},"t":{"1":{"5":{"docs":{},":":{"4":{"6":{"docs":{},":":{"2":{"0":{"docs":{},".":{"8":{"9":{"7":{"2":{"2":{"8":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter13/intl.html":{"ref":"chapter13/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":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},";":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}},"1":{"docs":{},"所":{"docs":{},"示":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}}},":":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064}}}}},"。":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}},".":{"1":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}},":":{"docs":{},"文":{"docs":{},"件":{"docs":{},"操":{"docs":{},"作":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":10}}}}}}}},"2":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}},":":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"请":{"docs":{},"求":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":5}}}}}}}}}},"3":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}},":":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"请":{"docs":{},"求":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":3.333333333333333}}}}}}}}}},"4":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}},":":{"docs":{},"实":{"docs":{},"例":{"docs":{},":":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"分":{"docs":{},"块":{"docs":{},"下":{"docs":{},"载":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":10}}}}}}}}}}}}}}},"5":{"docs":{},":":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":10}}}}}}}}}}}}},"6":{"docs":{"chapter11/socket.html":{"ref":"chapter11/socket.html","tf":0.02857142857142857}},":":{"docs":{},"使":{"docs":{},"用":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter11/socket.html":{"ref":"chapter11/socket.html","tf":5}}}}}}}}}}}},"7":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}},":":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"转":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":5}}}}}}}}}}}}},"docs":{}}},"2":{"0":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.020618556701030927},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.008097165991902834}}},")":{"docs":{},",":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}}}}},"docs":{}}},"5":{"docs":{},".":{"8":{"docs":{},")":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}},"docs":{}}},"9":{"6":{"2":{"6":{"9":{"docs":{},",":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.008403361344537815}},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}},".":{"1":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}},":":{"docs":{},"开":{"docs":{},"发":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":10}}}}}}}}}}}},"2":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.011494252873563218}},":":{"docs":{},"平":{"docs":{},"台":{"docs":{},"通":{"docs":{},"道":{"docs":{},"简":{"docs":{},"介":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":10}}}}}}}}}},"3":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}},":":{"docs":{},"开":{"docs":{},"发":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"插":{"docs":{},"件":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":10}}}}}}}}}}}}}}},"4":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}},":":{"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":10}}}}}}}}}}}}}}}}}}}}}},"5":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}},":":{"docs":{},"插":{"docs":{},"件":{"docs":{},"开":{"docs":{},"发":{"docs":{},":":{"docs":{},"实":{"docs":{},"现":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"端":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":10}}}}}}}}}}}}}}}}}},"docs":{}},")":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}}}}},"3":{"0":{"docs":{},",":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}},"docs":{},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}},"下":{"docs":{},":":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}},".":{"0":{"docs":{},")":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}},"1":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}},":":{"docs":{},"让":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"支":{"docs":{},"持":{"docs":{},"多":{"docs":{},"语":{"docs":{},"言":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":10}}}}}}}}}}}}},"2":{"docs":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894}},":":{"docs":{},"实":{"docs":{},"现":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":10}}}}}}}}}}},"3":{"docs":{},":":{"docs":{},"使":{"docs":{},"用":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"包":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":10}}}}}}}}}}},"4":{"docs":{"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02}},":":{"docs":{},"国":{"docs":{},"际":{"docs":{},"化":{"docs":{},"常":{"docs":{},"见":{"docs":{},"问":{"docs":{},"题":{"docs":{"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":10}}}}}}}}}}},"docs":{}},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}},"4":{"docs":{},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}},".":{"0":{"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.0013477088948787063}}}}}}}}}}}}}},"1":{"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":{},"e":{"docs":{},"r":{"docs":{"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":5}}}}}}}}}}},"2":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}},".":{"1":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}}},"2":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}}},"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":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":10}}}}}}}}}}}}}}}}}}}}}}}},"3":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}},".":{"1":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}},"2":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}},"3":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}},"4":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}},"5":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}},"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":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":10}}}}}}}}}}}}}}}}}}}}}}}}}},"4":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}},":":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"从":{"docs":{},"启":{"docs":{},"动":{"docs":{},"到":{"docs":{},"显":{"docs":{},"示":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":10}}}}}}}}}}}}}}}}},"5":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},".":{"1":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}},"2":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}},"docs":{}},":":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"图":{"docs":{},"片":{"docs":{},"加":{"docs":{},"载":{"docs":{},"与":{"docs":{},"缓":{"docs":{},"存":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":10}}}}}}}}}}}}}}}}}},"docs":{}},"t":{"0":{"4":{"docs":{},":":{"3":{"3":{"docs":{},":":{"3":{"5":{"docs":{},"z":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.008097165991902834}}}}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"5":{"0":{"docs":{},".":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}}},")":{"docs":{},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}}}}},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}},")":{"docs":{},",":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}},"docs":{}},")":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}},"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}},".":{"0":{"docs":{},",":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.013605442176870748}}}},"1":{"docs":{"chapter15/intro.html":{"ref":"chapter15/intro.html","tf":0.05}}},"2":{"docs":{"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.015151515151515152}},":":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"代":{"docs":{},"码":{"docs":{},"结":{"docs":{},"构":{"docs":{"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":10}}}}}}}}}}},"3":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}},":":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"类":{"docs":{},"定":{"docs":{},"义":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":10}}}}}}}}}}}},"4":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}},".":{"1":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}},"2":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}},"docs":{}},":":{"docs":{},"全":{"docs":{},"局":{"docs":{},"变":{"docs":{},"量":{"docs":{},"及":{"docs":{},"共":{"docs":{},"享":{"docs":{},"状":{"docs":{},"态":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":10}}}}}}}}}}}}},"5":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}},".":{"1":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}},"2":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}},"docs":{}},":":{"docs":{},"网":{"docs":{},"络":{"docs":{},"请":{"docs":{},"求":{"docs":{},"封":{"docs":{},"装":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":10}}}}}}}}}},"6":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},".":{"1":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},"2":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},"3":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},"docs":{}},":":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"入":{"docs":{},"口":{"docs":{},"及":{"docs":{},"首":{"docs":{},"页":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":10}}}}}}}}}}}},"7":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}},":":{"docs":{},"登":{"docs":{},"录":{"docs":{},"页":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":10}}}}}}},"8":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}},".":{"1":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}},"2":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}},"docs":{}},":":{"docs":{},"多":{"docs":{},"语":{"docs":{},"言":{"docs":{},"和":{"docs":{},"多":{"docs":{},"主":{"docs":{},"题":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":10}}}}}}}}}}},"docs":{}},";":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.00909090909090909}}},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}}}},"6":{"5":{"7":{"3":{"9":{"3":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}},")":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}},"的":{"docs":{},"卡":{"docs":{},"片":{"docs":{},":":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}}}}}}}},".":{"0":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}},")":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}}}}},"docs":{}},")":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}}},"7":{"9":{"4":{"docs":{},".":{"0":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}},"docs":{}}},"docs":{}},"docs":{},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}},"8":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.03125}}},")":{"docs":{},",":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186}},")":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.012903225806451613}}}}}},"docs":{}},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}},"、":{"docs":{},"图":{"5":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}},"docs":{}}}},"9":{"2":{"docs":{},".":{"1":{"6":{"8":{"docs":{},".":{"1":{"docs":{},".":{"2":{"docs":{},":":{"8":{"8":{"8":{"8":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}},"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.002551020408163265}}}}}}},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}},"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0056022408963585435},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},".":{"0":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.008097165991902834}},".":{"0":{"docs":{},"+":{"1":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}}},"docs":{}}},"docs":{}},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.012145748987854251},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}}},")":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.010309278350515464},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}},")":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}},";":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}},"代":{"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":{},"(":{"1":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}},"带":{"docs":{},"入":{"docs":{},"上":{"docs":{},"面":{"docs":{},"公":{"docs":{},"式":{"docs":{},",":{"docs":{},"可":{"docs":{},"得":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"o":{"docs":{},"的":{"docs":{},"实":{"docs":{},"际":{"docs":{},"偏":{"docs":{},"移":{"docs":{},"坐":{"docs":{},"标":{"docs":{},"正":{"docs":{},"是":{"docs":{},"(":{"6":{"0":{"docs":{},",":{"0":{"docs":{},")":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"再":{"docs":{},"看":{"docs":{},"一":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},":":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}},"]":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}},"1":{"5":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}},"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}},".":{"1":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}},"2":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}},"3":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}},"4":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}},"5":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}},"6":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}},"docs":{}},":":{"docs":{},"移":{"docs":{},"动":{"docs":{},"开":{"docs":{},"发":{"docs":{},"技":{"docs":{},"术":{"docs":{},"简":{"docs":{},"介":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":10}}}}}}}}}}}},"2":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01}},".":{"1":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01}}},"2":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01}}},"3":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01}}},"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":10}}}}}}}}}}}},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}}},"3":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},".":{"1":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},"2":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},"3":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},"4":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},"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":10}}}}}}}}}}}}}}}}},"4":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}},".":{"1":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}},"2":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}},"3":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}},"4":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}},"5":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}},"docs":{}},":":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"语":{"docs":{},"言":{"docs":{},"简":{"docs":{},"介":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":10}}}}}}}}}}}},"5":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.012903225806451613}}}},"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}},"\"":{"docs":{},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}},")":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.014245014245014245},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.01567398119122257},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}},",":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856}}},")":{"docs":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513}},".":{"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.003278688524590164}}}}}}}}}}},";":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.005454545454545455}}}},";":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}},"秒":{"docs":{},"后":{"docs":{},"返":{"docs":{},"回":{"docs":{},"结":{"docs":{},"果":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.00303951367781155},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.023668639053254437},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}},"}":{"docs":{},")":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609}}}},"到":{"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":{},"此":{"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":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},";":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.014814814814814815},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.014245014245014245},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}},"]":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"值":{"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":{},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"的":{"docs":{},"简":{"docs":{},"单":{"docs":{},"实":{"docs":{},"现":{"docs":{},":":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"、":{"1":{"5":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},"docs":{}},"9":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866}}},"docs":{}},")":{"docs":{},":":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}},"是":{"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}},"和":{"1":{"4":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}}},"docs":{}},"docs":{}}},"2":{"0":{"0":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.009900990099009901},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}}}},"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},"m":{"docs":{},"s":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}},".":{"0":{"docs":{},",":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.012170385395537525},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.00510204081632653},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}}},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}}}}},";":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}},",":{"0":{"docs":{},".":{"0":{"docs":{},"]":{"docs":{},"的":{"docs":{},"值":{"docs":{},":":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}}},"docs":{}}},"docs":{}}},"docs":{}},")":{"docs":{},",":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.006172839506172839}}}},":":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}},",":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}},"1":{"7":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}},"8":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}},"年":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}},"6":{"docs":{},")":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}},"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}}},")":{"docs":{},",":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}},"/":{"docs":{},"/":{"docs":{},"子":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00851063829787234}}}}}}}},"docs":{}},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}},",":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.01702127659574468},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},")":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}},"1":{"7":{"1":{"9":{"7":{"8":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}},"2":{"docs":{},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}},"3":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}},"所":{"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.00202020202020202}}}}}}}}}}}}}}}}}}}},"4":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}},".":{"0":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},")":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}},"docs":{}},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}}}}},"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.0049504950495049506}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}}}}}}}}}}}}}}}},"docs":{},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}}}},".":{"0":{"docs":{},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}},"docs":{}},",":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.009433962264150943}}},")":{"docs":{},",":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}},"6":{"docs":{},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}},".":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001669449081803005}}}}},"docs":{}},"t":{"1":{"9":{"docs":{},":":{"0":{"1":{"docs":{},":":{"1":{"2":{"docs":{},"z":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}},"docs":{}},"docs":{}}},"6":{"docs":{},":":{"4":{"3":{"docs":{},"z":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}},"docs":{}},"docs":{}}},"docs":{}},"1":{"4":{"docs":{},":":{"4":{"3":{"docs":{},"z":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"7":{"docs":{},"k":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}},"8":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}},"docs":{},".":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}},"docs":{}},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}},"9":{"docs":{},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}},"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.004081632653061225}},".":{"0":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}},"已":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}},"语":{"docs":{},"法":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}},")":{"docs":{},")":{"docs":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406}}}}},")":{"docs":{},",":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}}}},";":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}},"1":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}},".":{"1":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}},"2":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}},"docs":{}},":":{"docs":{},"计":{"docs":{},"数":{"docs":{},"器":{"docs":{},"示":{"docs":{},"例":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":10}}}}}}}}},"2":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}},".":{"1":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}},"2":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}},"3":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}},"4":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}},"5":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}},"6":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}},"7":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}},"docs":{}},":":{"docs":{},"路":{"docs":{},"由":{"docs":{},"管":{"docs":{},"理":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":10}}}}}}}},"3":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}},":":{"docs":{},"包":{"docs":{},"管":{"docs":{},"理":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":10}}}}}}},"4":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}},":":{"docs":{},"资":{"docs":{},"源":{"docs":{},"管":{"docs":{},"理":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":10}}}}}}}},"5":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}},":":{"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":5}}}}}}}}}}}}},"6":{"2":{"5":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}},"x":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}},"docs":{}},"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}},".":{"1":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}},"2":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}},"docs":{}},":":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"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":10}}}}}}}}}}}}}}}}},"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247},"chapter11/socket.html":{"ref":"chapter11/socket.html","tf":0.02857142857142857},"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}},")":{"docs":{},",":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.003745318352059925},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}},"(":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.00749063670411985}}}}}},")":{"docs":{},".":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"(":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}}}}}}}},";":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}},"都":{"docs":{},"可":{"docs":{},".":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}},"秒":{"docs":{},"后":{"docs":{},"返":{"docs":{},"回":{"docs":{},"结":{"docs":{},"果":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}},"和":{"2":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}},"docs":{}},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.011834319526627219},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.020618556701030927},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.008097165991902834}}},"(":{"docs":{},"点":{"docs":{},"击":{"docs":{},"后":{"docs":{},")":{"docs":{},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}}}}}}}}}}},"3":{"0":{"0":{"docs":{},":":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}},".":{"0":{"docs":{},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.012605042016806723}}},")":{"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.002577319587628866}}}}}}}}}}}},"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.002577319587628866}},";":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},")":{"docs":{},",":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.00909090909090909},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}},"3":{"9":{"docs":{},")":{"docs":{},":":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.011299435028248588}}}}},"docs":{}},"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}},".":{"0":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}},",":{"docs":{},")":{"docs":{},",":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856}}}}},",":{"docs":{},"及":{"docs":{},"图":{"docs":{},"片":{"docs":{},"中":{"docs":{},"部":{"4":{"0":{"docs":{},"×":{"3":{"0":{"docs":{},"像":{"docs":{},"素":{"docs":{},"的":{"docs":{},"范":{"docs":{},"围":{"docs":{},"。":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}}}}}}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}}}}}}},",":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.023668639053254437},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}},"docs":{}},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0025041736227045075},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}},"1":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}}},"2":{"8":{"0":{"2":{"6":{"8":{"1":{"3":{"docs":{},"]":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.006085192697768763}}}},"docs":{}},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}}},"3":{"docs":{},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}}},"6":{"0":{"0":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}},"docs":{}},"docs":{},".":{"0":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}},"docs":{}}},"8":{"8":{"9":{"6":{"5":{"3":{"5":{"5":{"docs":{},"]":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{},".":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}},"docs":{}}},"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713},"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}},".":{"0":{"docs":{},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.004081632653061225}}}},"1":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}},".":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"1":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}},"2":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}},"3":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}},"4":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}},"5":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}},"6":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}},"7":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}},"docs":{}},":":{"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":10}}}}}}}}}}}},"2":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}},".":{"0":{"docs":{},".":{"docs":{},"p":{"docs":{},"o":{"docs":{},"m":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}},"1":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}},"2":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}},"3":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}},"docs":{}},":":{"docs":{},"状":{"docs":{},"态":{"docs":{},"管":{"docs":{},"理":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":10}}}}}}}},"3":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}},".":{"1":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}},"2":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}},"3":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}},"4":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}},"5":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}},"docs":{}},":":{"docs":{},"文":{"docs":{},"本":{"docs":{},"、":{"docs":{},"字":{"docs":{},"体":{"docs":{},"样":{"docs":{},"式":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":10}}}}}}}}}}},"4":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}},".":{"1":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}},"2":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}},"docs":{}},":":{"docs":{},"按":{"docs":{},"钮":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":10}}}}}},"5":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}},",":{"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.001519756838905775}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},".":{"1":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}},"2":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}},"docs":{}},":":{"docs":{},"图":{"docs":{},"片":{"docs":{},"和":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":10}}}}}}}}}}},"6":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514}},":":{"docs":{},"单":{"docs":{},"选":{"docs":{},"框":{"docs":{},"和":{"docs":{},"复":{"docs":{},"选":{"docs":{},"框":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":10}}}}}}}}}}},"7":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}},".":{"1":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}},"2":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}},"docs":{}},":":{"docs":{},"输":{"docs":{},"入":{"docs":{},"框":{"docs":{},"和":{"docs":{},"表":{"docs":{},"单":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":10}}}}}}}}}},"8":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}},":":{"docs":{},"进":{"docs":{},"度":{"docs":{},"指":{"docs":{},"示":{"docs":{},"器":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":10}}}}}}}}},"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}},"。":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}},"\"":{"docs":{},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}},")":{"docs":{},",":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.007731958762886598}}},")":{"docs":{},";":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}},"秒":{"docs":{},"后":{"docs":{},"返":{"docs":{},"回":{"docs":{},"结":{"docs":{},"果":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}},")":{"docs":{},"是":{"docs":{},"在":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00851063829787234},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.012145748987854251},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},"是":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"原":{"docs":{},"理":{"docs":{},"图":{"docs":{},":":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}},"灰":{"docs":{},"色":{"docs":{},"矩":{"docs":{},"形":{"docs":{},",":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},"整":{"docs":{},"个":{"docs":{},"动":{"docs":{},"画":{"docs":{},"效":{"docs":{},"果":{"docs":{},",":{"docs":{},"图":{"9":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}},"docs":{}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}},"、":{"1":{"5":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},"docs":{}},"docs":{}}},"4":{"0":{"0":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}},":":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}},"1":{"docs":{},")":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}},"docs":{},".":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}}}},",":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.013605442176870748}}}},"docs":{}},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}},"1":{"1":{"docs":{},".":{"4":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0060790273556231}}}},"docs":{}}},"docs":{}},"2":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0056022408963585435}},",":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717},"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}},"3":{"7":{"docs":{},".":{"0":{"8":{"6":{"docs":{},"m":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"8":{"docs":{},".":{"0":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}},"docs":{}}},"docs":{},".":{"0":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}},",":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}},"1":{"docs":{"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":0.04}},"(":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}},":":{"docs":{},"布":{"docs":{},"局":{"docs":{},"类":{"docs":{},"组":{"docs":{},"件":{"docs":{},"简":{"docs":{},"介":{"docs":{"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":10}}}}}}}}}}},"2":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856}},":":{"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":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":10}}}}}}}}}}}}}}}}}}}},"3":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609}},":":{"docs":{},"弹":{"docs":{},"性":{"docs":{},"布":{"docs":{},"局":{"docs":{},"(":{"docs":{},"f":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{},")":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":10}}}}}}}}}}}}}},"4":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}},".":{"1":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}}},"2":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}}},"docs":{}},":":{"docs":{},"流":{"docs":{},"式":{"docs":{},"布":{"docs":{},"局":{"docs":{},"(":{"docs":{},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"、":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},")":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":10}}}}}}}}}}}}}}}}}}},"5":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125}},":":{"docs":{},"层":{"docs":{},"叠":{"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":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":10}}}}}}}}}}}}}}}}}}}}}}}}}},"6":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}},".":{"1":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}},"2":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}},"3":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}},"docs":{}},":":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"与":{"docs":{},"相":{"docs":{},"对":{"docs":{},"定":{"docs":{},"位":{"docs":{},"(":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},")":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":10}}}}}}}}}}}}}}}}}},"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}},")":{"docs":{},",":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}},"秒":{"docs":{},"后":{"docs":{},"返":{"docs":{},"回":{"docs":{},"结":{"docs":{},"果":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}},"所":{"docs":{},"示":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}},"。":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}},":":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}},"、":{"6":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}},"docs":{}},"是":{"docs":{},"动":{"docs":{},"画":{"docs":{},"执":{"docs":{},"行":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"的":{"docs":{},"一":{"docs":{},"帧":{"docs":{},"。":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}}}}}}}}}}}}},"类":{"docs":{},"似":{"docs":{},"的":{"docs":{},"错":{"docs":{},"误":{"docs":{},"。":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}},"5":{"0":{"0":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.0078125}},":":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}},")":{"docs":{},",":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.009900990099009901},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}},",":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}},"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}},")":{"docs":{},",":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}},".":{"0":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.017857142857142856},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.006134969325153374},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.014778325123152709},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.009523809523809525},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}},"docs":{}},":":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}},"1":{"4":{"5":{"8":{"5":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"2":{"docs":{},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}},"4":{"3":{"6":{"docs":{},")":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.018867924528301886}}}}},"docs":{}},"docs":{}},"5":{"docs":{},".":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}},"docs":{}}},"6":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}},"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}},".":{"0":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}},",":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.005442176870748299}}},")":{"docs":{},",":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064}}}}},"1":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684}},":":{"docs":{},"填":{"docs":{},"充":{"docs":{},"(":{"docs":{},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},")":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":10}}}}}}}}}}}}}}},"2":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}},".":{"1":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}}},"2":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}}},"3":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}}},"4":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00851063829787234}}},"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":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":10}}}}}}}}}}}}}}}}}}}}}}}}}}}},"3":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186}},":":{"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":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":10}}}}}}}}}}}}}}}}}}}}}},"4":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064}},":":{"docs":{},"变":{"docs":{},"换":{"docs":{},"(":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},")":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":10}}}}}}}}}}}}}}}}},"5":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}},":":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"容":{"docs":{},"器":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":10}}}}}}}}}}}}}}},"6":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}},".":{"1":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}},"2":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}},"3":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}},"4":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}},"5":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}},"docs":{}},":":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"f":{"docs":{},"f":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"、":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"、":{"docs":{},"底":{"docs":{},"部":{"docs":{},"导":{"docs":{},"航":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":10}}}}}}}}}}}}}}}}}}}}}}}},"7":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}},":":{"docs":{},"剪":{"docs":{},"裁":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"p":{"docs":{},")":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":10}}}}}}}}}}}},"docs":{}},"s":{"docs":{},"或":{"docs":{},"更":{"docs":{},"高":{"docs":{},"版":{"docs":{},"本":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},"所":{"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.00625}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}},"。":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}},")":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}},",":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}},"6":{"0":{"0":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}},":":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}},"docs":{},",":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.020618556701030927}}},".":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00851063829787234}}},";":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}}},",":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.01276595744680851}}}},"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}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"2":{"5":{"7":{"0":{"2":{"2":{"1":{"8":{"docs":{},"]":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"5":{"5":{"9":{"docs":{},")":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0425531914893617}}}}},"docs":{}},"docs":{}},"8":{"3":{"docs":{},".":{"4":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.00303951367781155}},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.004559270516717325}}},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}},",":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}},"docs":{},")":{"docs":{},",":{"docs":{},"单":{"docs":{},"击":{"docs":{},"右":{"docs":{},"上":{"docs":{},"角":{"docs":{},"的":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}}}}}}}}}},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}},".":{"1":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.02631578947368421}},":":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"组":{"docs":{},"件":{"docs":{},"简":{"docs":{},"介":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":10}}}}}}}}}}},"2":{"docs":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406}},":":{"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":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":10}}}}}}}}}}}}}}}}}}}}}}}}},"3":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}},":":{"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":10}}}}}}}}}}}},"4":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}},":":{"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":10}}}}}}}}}}}},"5":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}},":":{"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":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":10}}}}}}}}}}}}}}}}}}}},"6":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}},".":{"1":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}},"2":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}},"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/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":10}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"、":{"1":{"5":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}},"docs":{}},"7":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}},"docs":{}},")":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001669449081803005}}}},"的":{"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.0018587360594795538}}},"docs":{}}},"docs":{}}}}}}}}},"7":{"0":{"0":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},":":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}},"docs":{}},"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}},"。":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}}}}},".":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"1":{"docs":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513}},":":{"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":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":10}}}}}}}}}}}}}}}}}}}}}}}},"2":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}},":":{"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":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":10}}}}}}}}}}}}}}}}}}}}}}}}},"3":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}},":":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":5}}}},"4":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}},".":{"1":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}},"2":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}},"docs":{}},":":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"和":{"docs":{},"主":{"docs":{},"题":{"docs":{},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":10}}}}}}}}}}}}}}}},"5":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}},".":{"1":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}},"2":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}},"docs":{}},":":{"docs":{},"异":{"docs":{},"步":{"docs":{},"u":{"docs":{},"i":{"docs":{},"更":{"docs":{},"新":{"docs":{},"(":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"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":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":10}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"6":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}},".":{"1":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}},"2":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}},"3":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}},"4":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}},"5":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}},"docs":{}},":":{"docs":{},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{},"详":{"docs":{},"解":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":10}}}}}}}}},"docs":{}}},"8":{"0":{"0":{"docs":{},":":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}},"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0297029702970297},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00851063829787234},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186}},"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.00851063829787234}}}}}}}}},"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.00425531914893617}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}}}}}}}}}},"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.00425531914893617}}}}}}}}}}}},")":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}},",":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}}},"作":{"docs":{},"为":{"docs":{},"子":{"docs":{},"组":{"docs":{},"件":{"docs":{},"的":{"docs":{},"约":{"docs":{},"束":{"docs":{},"。":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}}}}}}}}}}},"等":{"docs":{},"价":{"docs":{},"于":{"docs":{},":":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}}}}}}}},"docs":{}},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},")":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},";":{"docs":{"chapter11/socket.html":{"ref":"chapter11/socket.html","tf":0.02857142857142857}}}}},"2":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}},"docs":{}}},"5":{"1":{"3":{"docs":{},")":{"docs":{},":":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0034904013961605585}}}}},"docs":{}},"docs":{}},"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}},"所":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}}},")":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}}},",":{"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.00390625}}}}}}}}}}}}}}}}}}},".":{"0":{"docs":{},",":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}},"/":{"docs":{},"/":{"docs":{},"按":{"docs":{},"下":{"docs":{},"时":{"docs":{},"的":{"docs":{},"阴":{"docs":{},"影":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}}}}}}}}},")":{"docs":{},",":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.021052631578947368},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}},"1":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}},":":{"docs":{},"原":{"docs":{},"始":{"docs":{},"指":{"docs":{},"针":{"docs":{},"事":{"docs":{},"件":{"docs":{},"处":{"docs":{},"理":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":10}}}}}}}}}}}},"2":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}},".":{"1":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}},"2":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}},"3":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}},"docs":{}},":":{"docs":{},"手":{"docs":{},"势":{"docs":{},"识":{"docs":{},"别":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":10}}}}}}}},"3":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}},":":{"docs":{},"全":{"docs":{},"局":{"docs":{},"事":{"docs":{},"件":{"docs":{},"总":{"docs":{},"线":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":10}}}}}}}}}},"4":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}},":":{"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":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":10}}}}}}}}}}}}}}}}}}}},"docs":{}},":":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}}},"、":{"7":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}},"docs":{}},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}},"9":{"0":{"0":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}},":":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}},"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.01276595744680851}}}},"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.001519756838905775}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{},".":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}},"高":{"docs":{},"版":{"docs":{},"本":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}},"1":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}},":":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"动":{"docs":{},"画":{"docs":{},"简":{"docs":{},"介":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":10}}}}}}}}}}}}}}},"2":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866}},".":{"1":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866}}},"2":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866}}},"docs":{}},":":{"docs":{},"动":{"docs":{},"画":{"docs":{},"结":{"docs":{},"构":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":10}}}}}}}},"3":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602}},":":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"路":{"docs":{},"由":{"docs":{},"过":{"docs":{},"渡":{"docs":{},"动":{"docs":{},"画":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":10}}}}}}}}}}}}},"4":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403}},":":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"动":{"docs":{},"画":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":10}}}}}}}}}},"5":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}},":":{"docs":{},"交":{"docs":{},"织":{"docs":{},"动":{"docs":{},"画":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":10}}}}}}}},"6":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}},".":{"1":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}},"2":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}},"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":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":10}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125}}},")":{"docs":{},",":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}}}},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}},")":{"docs":{},"]":{"docs":{},",":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308}}}}},",":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}},"docs":{},"d":{"docs":{},"u":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.02702702702702703}}},",":{"docs":{},"期":{"docs":{},"待":{"docs":{},"和":{"docs":{},"你":{"docs":{},"做":{"docs":{},"同":{"docs":{},"事":{"docs":{},"!":{"docs":{"./":{"ref":"./","tf":0.02702702702702703}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001669449081803005},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602}},"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.016853932584269662},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010309278350515464},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}},"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.003067484662576687},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.019801980198019802},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.012422360248447204},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00823045267489712},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}}}}}}}},":":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.019801980198019802},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010309278350515464},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00823045267489712},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}},"表":{"docs":{},"示":{"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.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}},"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.003278688524590164}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"n":{"docs":{},"$":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.003745318352059925},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.004559270516717325},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101},"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.011494252873563218}},"语":{"docs":{},"言":{"docs":{},"简":{"docs":{},"介":{"docs":{"chapter1/":{"ref":"chapter1/","tf":0.2},"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}},"开":{"docs":{},"发":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01}}}}}},":":{"docs":{},"u":{"docs":{},"i":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},"库":{"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"团":{"docs":{},"队":{"docs":{},"就":{"docs":{},"在":{"docs":{},"你":{"docs":{},"身":{"docs":{},"边":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01}}}}}}}}},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01}}}}},"支":{"docs":{},"持":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01}}}},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01}}}}},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"和":{"docs":{},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},"支":{"docs":{},"持":{"docs":{},"f":{"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"插":{"docs":{},"件":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}},"中":{"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.0018726591760299626}}}}}}}}}}}}}},"可":{"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":{},"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.003278688524590164}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"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.003278688524590164}}}}}}}}}}}}}}}}}}},"函":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"和":{"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":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"一":{"docs":{},"种":{"docs":{},"真":{"docs":{},"正":{"docs":{},"的":{"docs":{},"面":{"docs":{},"向":{"docs":{},"对":{"docs":{},"象":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"线":{"docs":{},"程":{"docs":{},"模":{"docs":{},"型":{"docs":{},"及":{"docs":{},"异":{"docs":{},"常":{"docs":{},"捕":{"docs":{},"获":{"docs":{"chapter2/":{"ref":"chapter2/","tf":0.1}}}}}}}}}}},"单":{"docs":{},"线":{"docs":{},"程":{"docs":{},"模":{"docs":{},"型":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}}}}}},"的":{"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":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}},"包":{"docs":{},":":{"docs":{},"其":{"docs":{},"中":{"docs":{},"一":{"docs":{},"些":{"docs":{},"可":{"docs":{},"能":{"docs":{},"包":{"docs":{},"含":{"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005649717514124294},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.009433962264150943},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},";":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0064516129032258064},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364}}},"”":{"docs":{},"。":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}},",":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{},"=":{"docs":{},"=":{"2":{"0":{"docs":{},";":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}},"docs":{}},"docs":{}}}}}}}}}}},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513}},"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.012195121951219513}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"c":{"docs":{},"h":{"docs":{},";":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.005813953488372093}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513}}}}}}}}}}}}},":":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}},"y":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},"e":{"docs":{},".":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"g":{"docs":{},"u":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"m":{"docs":{},"树":{"docs":{},"与":{"docs":{},"控":{"docs":{},"件":{"docs":{},"树":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}}}},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},"’":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},"命":{"docs":{},"令":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616}},"来":{"docs":{},"验":{"docs":{},"证":{"docs":{},"是":{"docs":{},"否":{"docs":{},"安":{"docs":{},"装":{"docs":{},"成":{"docs":{},"功":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}}}}},"并":{"docs":{},"按":{"docs":{},"照":{"docs":{},"说":{"docs":{},"明":{"docs":{},"解":{"docs":{},"决":{"docs":{},"问":{"docs":{},"题":{"docs":{},".":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}}},")":{"docs":{},"时":{"docs":{},",":{"docs":{},"它":{"docs":{},"会":{"docs":{},"下":{"docs":{},"载":{"docs":{},"它":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"项":{"docs":{},"并":{"docs":{},"自":{"docs":{},"行":{"docs":{},"编":{"docs":{},"译":{"docs":{},"。":{"docs":{},"以":{"docs":{},"后":{"docs":{},"再":{"docs":{},"运":{"docs":{},"行":{"docs":{},"就":{"docs":{},"会":{"docs":{},"快":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"n":{"0":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}}},"1":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}}},"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}},".":{"docs":{},"d":{"docs":{},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"u":{"docs":{},"d":{"docs":{},".":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"n":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"u":{"docs":{},"n":{"docs":{},"k":{"docs":{},"(":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},",":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.008547008547008548}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"c":{"docs":{},"h":{"docs":{},"u":{"docs":{},"n":{"docs":{},"k":{"docs":{},"s":{"docs":{},"(":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},",":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.00881057268722467},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.010309278350515464},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.031578947368421054},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.013245033112582781},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.005376344086021506},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.03643724696356275},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.009202453987730062},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.012216404886561954},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.009852216748768473},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.006644518272425249},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.00909090909090909},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0163265306122449},"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.011494252873563218},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0037174721189591076},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}},"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.00425531914893617},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},")":{"docs":{},",":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856}}}},",":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00851063829787234},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}}}},"t":{"docs":{},"w":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}}},"[":{"docs":{},"]":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.011494252873563218}}}}}}}},"n":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}},"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.0035714285714285713}},"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}},"项":{"docs":{},"目":{"docs":{},"主":{"docs":{},"页":{"docs":{},"查":{"docs":{},"看":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}}}}}}}}}}},"l":{"docs":{},"(":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}}}}}}},"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.007142857142857143}},".":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"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.0013422818791946308}}}}}}}}}}}}}}},"e":{"docs":{},"p":{"docs":{},"l":{"docs":{},"o":{"docs":{},"y":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"/":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101},"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}},"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.03125},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101},"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.015625},"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444},"chapter13/intl.html":{"ref":"chapter13/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.00625}}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"_":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006557377049180328}},"s":{"docs":{},")":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.009836065573770493},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.004056795131845842},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.010471204188481676}},"{":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}}},";":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}},"=":{"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.003278688524590164}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"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.005235602094240838}}}},"y":{"docs":{},";":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0034904013961605585}}}}}}}}}}}},":":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},"]":{"docs":{},")":{"docs":{},";":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}},"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.003067484662576687}}}}}}}}}}}}}}}}},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"!":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}}}}}},"v":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"p":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}},"i":{"docs":{},"c":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.005369127516778523},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.008264462809917356}},"e":{"docs":{},".":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}}}},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}},"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}},"]":{"docs":{},")":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}},"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.0018587360594795538}},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}},"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.00625},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101},"chapter13/intl.html":{"ref":"chapter13/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.00625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}},"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.009615384615384616}},"e":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}},"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.00390625}},"e":{"docs":{},"(":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},",":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"d":{"docs":{},"a":{"docs":{},"p":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"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":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0056022408963585435}},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}},":":{"docs":{},"子":{"docs":{},"组":{"docs":{},"件":{"docs":{},"会":{"docs":{},"一":{"docs":{},"个":{"docs":{},"接":{"docs":{},"一":{"docs":{},"个":{"docs":{},"的":{"docs":{},"进":{"docs":{},"行":{"docs":{},"命":{"docs":{},"中":{"docs":{},"测":{"docs":{},"试":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"子":{"docs":{},"组":{"docs":{},"件":{"docs":{},"中":{"docs":{},"有":{"docs":{},"测":{"docs":{},"试":{"docs":{},"通":{"docs":{},"过":{"docs":{},"的":{"docs":{},",":{"docs":{},"则":{"docs":{},"当":{"docs":{},"前":{"docs":{},"组":{"docs":{},"件":{"docs":{},"通":{"docs":{},"过":{"docs":{},",":{"docs":{},"这":{"docs":{},"就":{"docs":{},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"指":{"docs":{},"针":{"docs":{},"事":{"docs":{},"件":{"docs":{},"作":{"docs":{},"用":{"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.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004651162790697674},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.011204481792717087}},"'":{"docs":{},",":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004651162790697674}}}},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}}},",":{"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":{},"x":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"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.00202020202020202}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.017699115044247787},"chapter13/intl.html":{"ref":"chapter13/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":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},".":{"docs":{},"i":{"docs":{},"s":{"docs":{},"z":{"docs":{},"h":{"docs":{},")":{"docs":{},";":{"docs":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894}}}}}}}}}}}}},")":{"docs":{},";":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}},")":{"docs":{},";":{"docs":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02}},";":{"docs":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}},",":{"docs":{"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02}}}}}}}}}}}}},"中":{"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":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"(":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}},"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":{"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02}}},";":{"docs":{"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0125}}}}}}}},"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter13/intl.html":{"ref":"chapter13/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.002824858757062147},"chapter9/":{"ref":"chapter9/","tf":0.09090909090909091}},":":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}},"基":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"时":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}}}}},"字":{"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.002551020408163265}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"设":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}},"的":{"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":{},"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"图":{"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.002551020408163265}}}}}}}}}}}}}}}}}}}},"字":{"docs":{},"体":{"docs":{},"图":{"docs":{},"标":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}}},"所":{"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.002551020408163265}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"docs":{},"头":{"docs":{},"部":{"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}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"的":{"docs":{},"类":{"docs":{},",":{"docs":{},"它":{"docs":{},"包":{"docs":{},"含":{"docs":{},"一":{"docs":{},"种":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"的":{"1":{"0":{"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":{},"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":{},"有":{"docs":{},":":{"5":{"0":{"docs":{},",":{"1":{"0":{"0":{"docs":{},",":{"2":{"0":{"0":{"docs":{},",":{"docs":{},"…":{"docs":{},",":{"9":{"0":{"0":{"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":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"的":{"docs":{},"默":{"docs":{},"认":{"docs":{},"值":{"docs":{},"为":{"docs":{},"索":{"docs":{},"引":{"docs":{},"等":{"docs":{},"于":{"5":{"0":{"0":{"docs":{},"的":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"。":{"docs":{},"举":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},",":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},".":{"docs":{},"b":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"是":{"docs":{},"预":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"定":{"docs":{},"义":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.013245033112582781}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"(":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.03225806451612903},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.013245033112582781},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}},"{":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186}}}},"可":{"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":{},"渐":{"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.011627906976744186}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.006085192697768763},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.014824797843665768},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.019867549668874173},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.007692307692307693}},"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.00390625}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.025806451612903226}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186}},"e":{"docs":{},"(":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}}}}}}}},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}}}}}}},",":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}}},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186}},"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.011627906976744186}}}}}}}}}}}}}}}}}}}}}},":":{"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":{},"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.011627906976744186}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}}},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.004559270516717325}},"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.001519756838905775}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}},"语":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}}}}}}}},"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}},"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0020964360587002098}}}}}},"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0018832391713747645}}}}}}}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}},":":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0049504950495049506},"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":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001669449081803005},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}},"(":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{},".":{"docs":{},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.003745318352059925},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}},"i":{"docs":{},"c":{"docs":{},"与":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"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":{},",":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}},"和":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}}},"的":{"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.0018726591760299626}}}}}}}}}},"点":{"docs":{},"使":{"docs":{},"得":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"使":{"docs":{},"用":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}}}}}}}}},"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}},"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.002824858757062147}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001669449081803005}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}},"(":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}},"{":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}}}}},"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.0020964360587002098},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}},"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.0020964360587002098},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0064516129032258064},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},":":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0020964360587002098}},"(":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}},"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.0020964360587002098}}}}}}}}}}}}}},"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":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"y":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"h":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}},"(":{"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}},"方":{"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005154639175257732},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},":":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"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":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}},"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":{},"v":{"docs":{},"i":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"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":{},"v":{"docs":{},"i":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"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":{},"终":{"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":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},"。":{"docs":{},"源":{"docs":{},"码":{"docs":{},"中":{"docs":{},"传":{"docs":{},"给":{"docs":{},"v":{"docs":{},"i":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"回":{"docs":{},"调":{"docs":{},"为":{"docs":{},"v":{"docs":{},"i":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"看":{"docs":{},"v":{"docs":{},"i":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},":":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.011834319526627219},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}},";":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"(":{"docs":{},"s":{"docs":{},"r":{"docs":{},"c":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}},"=":{"docs":{},"i":{"1":{"0":{"docs":{},"n":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0056022408963585435}}}},"docs":{}},"docs":{}},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"/":{"docs":{},"i":{"1":{"0":{"docs":{},"n":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0056022408963585435}}}},"docs":{}},"docs":{}}}}}}},"t":{"docs":{},"i":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.003766478342749529}}},"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0037174721189591076}},"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.0037174721189591076}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.002688172043010753}}}}}}}}}}}}}}}}}},"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.002688172043010753}}}}}}}}}}}}}}}}}},"docs":{},"(":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}}}}},"o":{"docs":{"chapter11/":{"ref":"chapter11/","tf":0.08333333333333333},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":3.352201257861635},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.005813953488372093}},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.009433962264150943},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"(":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}},".":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"(":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.005698005698005698}},"\"":{"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":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.005813953488372093}},"\"":{"docs":{},"/":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"\"":{"docs":{},",":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"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":{},"{":{"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":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}}}}}}}}}},"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":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.009433962264150943}}}}}}}},"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":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"(":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},".":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"[":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"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":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"]":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.005813953488372093}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}},"实":{"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":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"强":{"docs":{},"大":{"docs":{},"的":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00404040404040404},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}},"c":{"docs":{},"i":{"docs":{},"r":{"docs":{},"c":{"docs":{},"l":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}},"o":{"docs":{},"v":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}},"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.0037174721189591076}},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}}}}},"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":{},"组":{"docs":{},"件":{"docs":{},")":{"docs":{},"原":{"docs":{},"点":{"docs":{},"(":{"docs":{},"左":{"docs":{},"上":{"docs":{},"角":{"docs":{},")":{"docs":{},"的":{"docs":{},"偏":{"docs":{},"移":{"docs":{},"。":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0017452006980802793}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0017452006980802793}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.010416666666666666}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.004026845637583893}},"d":{"docs":{},"k":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.010738255033557046}},"文":{"docs":{},"档":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"翻":{"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":{},"两":{"docs":{},"个":{"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":{},"f":{"docs":{},"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":{},"f":{"docs":{},"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":{},"划":{"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":{},"。":{"2":{"0":{"1":{"8":{"docs":{},"年":{"1":{"2":{"docs":{},"月":{"docs":{},",":{"docs":{},"《":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"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":{},"同":{"docs":{},"时":{"docs":{},"上":{"docs":{},"线":{"docs":{},"了":{"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.02702702702702703}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{"chapter3/":{"ref":"chapter3/","tf":0.1}}}}},"开":{"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.0035714285714285713}}}}}}}}}}}}}}},";":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"源":{"docs":{},"码":{"docs":{},"是":{"docs":{},"开":{"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"安":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}},"目":{"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.0013422818791946308}}}}}}},"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"包":{"docs":{},"括":{"docs":{},"了":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01}}}}}}},"它":{"docs":{},"实":{"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}},"但":{"docs":{},"在":{"docs":{},"国":{"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":{},"v":{"docs":{},"p":{"docs":{},"n":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"则":{"docs":{},"必":{"docs":{},"须":{"docs":{},"将":{"docs":{},"该":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}},"只":{"docs":{},"需":{"docs":{},"一":{"docs":{},"句":{"docs":{},"命":{"docs":{},"令":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}},"在":{"docs":{},"安":{"docs":{},"装":{"docs":{},"f":{"docs":{},"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},"、":{"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.0013422818791946308}}}}}}}}}},"分":{"docs":{},"支":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}},"和":{"docs":{},"i":{"docs":{},"o":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}},"你":{"docs":{},"的":{"docs":{},"f":{"docs":{},"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"依":{"docs":{},"赖":{"docs":{},"包":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}},"已":{"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.0013422818791946308}}}}}}}}}}}}},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"一":{"docs":{},"些":{"docs":{},"组":{"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"平":{"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.0013422818791946308}}}}}}}}}}}}}},"有":{"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":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"s":{"docs":{},"t":{"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":{},"如":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"构":{"docs":{},"建":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"版":{"docs":{},"本":{"docs":{},"是":{"docs":{},"基":{"docs":{},"于":{"docs":{},"你":{"docs":{},"的":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}},"里":{"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.0013422818791946308}}}}}}}}}}}}}}}}}},")":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"如":{"docs":{},"下":{"docs":{},"命":{"docs":{},"令":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}}}},":":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.01875},"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.013888888888888888}}},"内":{"docs":{},"置":{"docs":{},"组":{"docs":{},"件":{"docs":{},"库":{"docs":{},"介":{"docs":{},"绍":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}}}}}}},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"组":{"docs":{},"件":{"docs":{},",":{"docs":{},"内":{"docs":{},"容":{"docs":{},"就":{"docs":{},"是":{"docs":{},"f":{"docs":{},"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":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"宽":{"docs":{},"、":{"docs":{},"高":{"docs":{},"都":{"docs":{},"为":{"1":{"2":{"0":{"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":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"和":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"便":{"docs":{},"捷":{"docs":{},"函":{"docs":{},"数":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"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":{},"建":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"u":{"docs":{},"r":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"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":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.02631578947368421}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"正":{"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":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"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":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"组":{"docs":{},"件":{"docs":{},"仅":{"docs":{},"提":{"docs":{},"供":{"docs":{},"美":{"docs":{},"国":{"docs":{},"英":{"docs":{},"语":{"docs":{},"本":{"docs":{},"地":{"docs":{},"化":{"docs":{},"资":{"docs":{},"源":{"docs":{},"(":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"文":{"docs":{},"本":{"docs":{},")":{"docs":{},"。":{"docs":{},"要":{"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":{},"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":{},"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"组":{"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":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"、":{"docs":{},"t":{"docs":{},"a":{"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":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"正":{"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}}}}}}}}}}}}},"预":{"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":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"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":{},"。":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},"i":{"docs":{},"f":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}},"e":{"docs":{},"d":{"docs":{},":":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.006644518272425249}}},";":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}},"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.0013422818791946308}}}}}}}}},"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.006024096385542169},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609}},"(":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609}},"{":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}},":":{"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.0049504950495049506}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}},"。":{"docs":{},"而":{"docs":{},"今":{"docs":{},"天":{"docs":{},"(":{"2":{"0":{"1":{"9":{"docs":{},"年":{"5":{"docs":{},"月":{"2":{"9":{"docs":{},"日":{"docs":{},")":{"docs":{},",":{"docs":{},"已":{"docs":{},"经":{"docs":{},"有":{"6":{"5":{"docs":{},"k":{"docs":{},"的":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"。":{"docs":{},"经":{"docs":{},"历":{"docs":{},"了":{"docs":{},"短":{"docs":{},"短":{"2":{"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.0035714285714285713}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}},"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.001519756838905775}},"和":{"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.001519756838905775}}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}},",":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.005698005698005698}}}}},"c":{"docs":{},"k":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125}},"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.009836065573770493},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},")":{"docs":{},";":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}}},";":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}},"{":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}}},",":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006557377049180328}}},":":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}},"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.013114754098360656},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},"e":{"docs":{},")":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}}}}}}}}},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}},"(":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015625},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.006980802792321117},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}},"{":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125}}}},"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.0078125}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125}}}}}}}}}}}},"、":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125}}}}}}}},"可":{"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":{},"只":{"docs":{},"能":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{},",":{"docs":{},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},"堆":{"docs":{},"叠":{"docs":{},"。":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.014598540145985401},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.006289308176100629},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.008113590263691683},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0026954177897574125},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00404040404040404},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.006134969325153374},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.00967741935483871},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001669449081803005},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.012216404886561954},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0058309037900874635},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005154639175257732},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.009966777408637873},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935},"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.030303030303030304},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}},")":{"docs":{},"{":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801}}}},"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.004866180048661801},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.006289308176100629},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.008113590263691683},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0026954177897574125},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.006134969325153374},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0064516129032258064},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.006980802792321117},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005154639175257732},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.009966777408637873},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}},"类":{"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":{},"w":{"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"{":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}},"生":{"docs":{},"命":{"docs":{},"周":{"docs":{},"期":{"docs":{},"如":{"docs":{},"图":{"3":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}},"docs":{}}}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0041928721174004195}},"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.0020964360587002098}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"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.004866180048661801},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.009302325581395349},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.006289308176100629},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.011834319526627219},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0058309037900874635},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.017543859649122806},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}},"类":{"docs":{},",":{"docs":{},"这":{"docs":{},"也":{"docs":{},"就":{"docs":{},"意":{"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}},"用":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"{":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}}}}}}},"e":{"docs":{},"l":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0041928721174004195},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}},"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.0020964360587002098}}}}}}}}},")":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}},"类":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}},";":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.00303951367781155}}},"中":{"docs":{},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},"常":{"docs":{},"用":{"docs":{},"属":{"docs":{},"性":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}}}}}}}}},"生":{"docs":{},"命":{"docs":{},"周":{"docs":{},"期":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}}}},">":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}},"i":{"docs":{},"c":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.00510204081632653},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0064516129032258064},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.00847457627118644},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514},"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0056022408963585435},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.026515151515151516},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.005813953488372093}}}},"u":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}},"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.004201680672268907}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}},"{":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}}},"中":{"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":{},"。":{"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.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}}}}}}}}}},"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"s":{"docs":{},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}},":":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}},";":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}}}},"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.008053691275167786},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}},">":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}},"不":{"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.0013422818791946308}}}}}}}}}}}}}}},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"f":{"docs":{},"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"后":{"docs":{},"插":{"docs":{},"件":{"docs":{},"生":{"docs":{},"效":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}},"和":{"docs":{},"v":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.004026845637583893},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}},"安":{"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.0013422818791946308}}}}}}}}}}},"向":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}},"工":{"docs":{},"具":{"docs":{},"栏":{"docs":{},",":{"docs":{},"如":{"docs":{},"图":{"1":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},"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.0013422818791946308}}}}}}}}}}}}},"的":{"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.0013422818791946308}}}}}}}}}}}}}},"磁":{"docs":{},"盘":{"docs":{},"空":{"docs":{},"间":{"docs":{},")":{"docs":{},".":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}},")":{"docs":{},".":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}},"编":{"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":{},"图":{"2":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}},"问":{"docs":{},"题":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}},",":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"此":{"docs":{},"不":{"docs":{},"再":{"docs":{},"赘":{"docs":{},"述":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}},"然":{"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.0013422818791946308}}}}}}}}}}}}}},"读":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}},"或":{"docs":{},"v":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"提":{"docs":{},"供":{"docs":{},"有":{"docs":{},"关":{"docs":{},"库":{"docs":{},"导":{"docs":{},"入":{"docs":{},"的":{"docs":{},"建":{"docs":{},"议":{"docs":{},"选":{"docs":{},"项":{"docs":{},"。":{"docs":{},"导":{"docs":{},"入":{"docs":{},"后":{"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.00625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"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":{},"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":{},"抄":{"docs":{},"袭":{"docs":{},"风":{"docs":{},"波":{"docs":{},",":{"docs":{},"故":{"docs":{},"笔":{"docs":{},"者":{"docs":{},"在":{"docs":{},"此":{"docs":{},"不":{"docs":{},"做":{"docs":{},"优":{"docs":{},"先":{"docs":{},"推":{"docs":{},"荐":{"docs":{},",":{"docs":{},"读":{"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":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"的":{"docs":{},"优":{"docs":{},"劣":{"docs":{},":":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},">":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},">":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}},"中":{"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"1":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.003745318352059925}}},"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.003745318352059925},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406}},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0056179775280898875},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.015873015873015872},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},".":{"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.0018726591760299626}}}}}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"(":{"docs":{},"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":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}},":":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.009302325581395349}}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.009302325581395349}},"{":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}},"使":{"docs":{},"用":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}}}}}}},"处":{"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":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"没":{"docs":{},"有":{"docs":{},"该":{"docs":{},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.013108614232209739},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.0069767441860465115},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.009836065573770493},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0041928721174004195},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005649717514124294},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001669449081803005},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.011661807580174927},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.011299435028248588},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.03211009174311927},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.029357798165137616},"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.011494252873563218},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.014285714285714285},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.008403361344537815},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0035211267605633804},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.011627906976744186}},")":{"docs":{},"{":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}},"b":{"docs":{},"u":{"docs":{},"f":{"docs":{},"f":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}},"c":{"docs":{},"t":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}},":":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00851063829787234},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0163265306122449}}},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}}}}},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}}},";":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.004081632653061225}}}}}}}},"c":{"docs":{},"a":{"docs":{},"p":{"docs":{},".":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}},":":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.010884353741496598}}},";":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}}}}}}}}}}}}}},".":{"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.014492753623188406}}}}}}}}}}}},",":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.006085192697768763},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.01953125},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.012903225806451613},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0034904013961605585},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.0058823529411764705},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}},":":{"docs":{},"正":{"docs":{},"在":{"docs":{},"编":{"docs":{},"辑":{"docs":{},"的":{"docs":{},"文":{"docs":{},"本":{"docs":{},"样":{"docs":{},"式":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}}}}}}}},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}}}}},"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.010416666666666666}}}}},")":{"docs":{},",":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},"将":{"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.0013422818791946308}}}}}}}}}}}}}}}},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"点":{"docs":{},"击":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.004026845637583893}},"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.0018726591760299626}}}}},"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.0018726591760299626}}}}}}}}}}},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.003745318352059925}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.008547008547008548}},",":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.005698005698005698}}}}}},"r":{"docs":{},"o":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}},"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"h":{"docs":{},"i":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}},"'":{"docs":{},"b":{"docs":{},"o":{"docs":{},"b":{"docs":{},"'":{"docs":{},",":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.003745318352059925}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}},"f":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"(":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{},"/":{"6":{"0":{"2":{"docs":{},".":{"1":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},":":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}}},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},":":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}}},"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.002577319587628866}},"e":{"1":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866}}},"docs":{}}}}}}}}}}}}}}}}},"f":{"docs":{},"f":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}},"(":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004651162790697674},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.010101010101010102},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.012658227848101266}}},"、":{"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":0.00202020202020202}}}}}}}}}}}}}},".":{"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.00202020202020202}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}},"的":{"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":{},"抽":{"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":{},"下":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.004807692307692308}}}}}}}}}}}}}}}}}}},"的":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.001519756838905775}}}}}}},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.006134969325153374}},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}},"{":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}},"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.003067484662576687}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.006134969325153374}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}}}}}}}}}}}}}}}}},"控":{"docs":{},"制":{"docs":{},"原":{"docs":{},"理":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}}}},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}}}}}}},"还":{"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.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}},"间":{"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.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}}}}}}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},"{":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.02631578947368421}}}}}}}},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.02631578947368421}},"(":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.02631578947368421},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.006134969325153374}}},"和":{"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":{},"于":{"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":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.02631578947368421}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"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":{},"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":{},"可":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.02631578947368421}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}}}}}}}},"p":{"docs":{},"h":{"docs":{},"y":{"docs":{},"s":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}}},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.009202453987730062}},"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":{},"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":{},"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":{},"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.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"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.003067484662576687}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}}}}}}}}}}},"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.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.003067484662576687}}}}}}}}}}}}}}}}}}}}}},"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.0029154518950437317}}}}}}}}}}}}}}}}}},"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.0029154518950437317}}}}}}}}}}}}}}}}}}}},"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.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}},")":{"docs":{},";":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}},".":{"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"=":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.006880733944954129}}}}},"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.0018587360594795538}}}}}}}}},"r":{"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.0018587360594795538}}},".":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0037174721189591076}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}},".":{"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.0018587360594795538}}}}}}}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},"o":{"docs":{},"r":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}},"f":{"docs":{},",":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006557377049180328}}},")":{"docs":{},";":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0045871559633027525},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.011363636363636364}},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"s":{"docs":{},"/":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},")":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}},"{":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}},",":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}},".":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}}},"u":{"docs":{},"p":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616}},"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}},"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.004866180048661801},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.012170385395537525},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.02702702702702703},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.006134969325153374},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001669449081803005},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.015706806282722512},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0058309037900874635},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.006644518272425249},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.011299435028248588},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0045871559633027525},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}},"=":{"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.01694915254237288}}}}}}}}}}}}}}}},"{":{"docs":{},"}":{"docs":{},")":{"docs":{},";":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866}}}}}}}}}},"v":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}},",":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"(":{"docs":{},"'":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.003669724770642202}}}}}}}}}}}}}},"=":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}},"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.008264462809917356}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}},"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.001519756838905775}}}},"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.0018587360594795538}}},":":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}},"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.00390625}}}}}}}}}}}},"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.002688172043010753}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"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":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.012422360248447204},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403}}},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.012422360248447204}}}}}}}}}}}}}}},")":{"docs":{},",":{"docs":{},"即":{"docs":{},"每":{"docs":{},"秒":{"docs":{},"的":{"docs":{},"动":{"docs":{},"画":{"docs":{},"帧":{"docs":{},"数":{"docs":{},"。":{"docs":{},"很":{"docs":{},"明":{"docs":{},"显":{"docs":{},",":{"docs":{},"帧":{"docs":{},"率":{"docs":{},"越":{"docs":{},"高":{"docs":{},"则":{"docs":{},"动":{"docs":{},"画":{"docs":{},"就":{"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":{},"是":{"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":{},"是":{"docs":{},"持":{"docs":{},"平":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},":":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}},"n":{"docs":{},"t":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.003669724770642202}}},"d":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}},"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.0018587360594795538}}},":":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},"a":{"docs":{},"l":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}},"'":{"docs":{},")":{"docs":{},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}}},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}},"(":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001669449081803005}}}}}}}}},"也":{"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":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"语":{"docs":{},"言":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},",":{"docs":{},"运":{"docs":{},"行":{"docs":{},"结":{"docs":{},"果":{"docs":{},"如":{"docs":{},"图":{"7":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}},"z":{"docs":{},"e":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.00909090909090909},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}},"(":{"1":{"0":{"8":{"0":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"3":{"0":{"0":{"docs":{},",":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.00909090909090909},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}},"docs":{}},"docs":{}},"4":{"1":{"1":{"docs":{},".":{"4":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.004559270516717325}}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.004559270516717325},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.020618556701030927},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.006644518272425249},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.00909090909090909},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}},"(":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.013215859030837005},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.01276595744680851},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.005376344086021506},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}},")":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}},".":{"docs":{},"s":{"docs":{},"h":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609}}}}}}}}}}}},"用":{"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.00425531914893617}}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.003766478342749529}},"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}},",":{"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.00425531914893617}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}},",":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}},".":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},",":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}},"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":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}},";":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}}}}}}}}}}}},":":{"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":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"前":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"区":{"docs":{},"域":{"docs":{},"大":{"docs":{},"小":{"docs":{},"。":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}}}}}}}}},"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":{"chapter6/":{"ref":"chapter6/","tf":0.14285714285714285},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406}},"(":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.02631578947368421},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}},"{":{"docs":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406}}}},"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.014492753623188406}}}}}}}}}},"类":{"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":{},"组":{"docs":{},"件":{"docs":{},"。":{"docs":{},"定":{"docs":{},"义":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.04}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":0.04}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}},"{":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}},"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.001519756838905775}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}}}},"_":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/socket.html":{"ref":"chapter11/socket.html","tf":0.02857142857142857}}}}}}}}},"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":{"chapter11/socket.html":{"ref":"chapter11/socket.html","tf":0.02857142857142857}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/socket.html":{"ref":"chapter11/socket.html","tf":0.02857142857142857}}}}}}}}}},"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":{"chapter11/socket.html":{"ref":"chapter11/socket.html","tf":0.02857142857142857}}}}}}}}}}}}}}}}}}}},"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":{"chapter11/socket.html":{"ref":"chapter11/socket.html","tf":0.02857142857142857}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter11/socket.html":{"ref":"chapter11/socket.html","tf":0.02857142857142857}}}}},"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":{"chapter11/socket.html":{"ref":"chapter11/socket.html","tf":0.02857142857142857}}}}}}}}}}}}}}}}}}}},")":{"docs":{},";":{"docs":{"chapter11/socket.html":{"ref":"chapter11/socket.html","tf":0.02857142857142857}}}}}}}}}}}}},"=":{"docs":{},"a":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter11/socket.html":{"ref":"chapter11/socket.html","tf":0.02857142857142857}}}}}}}}}}}}},"u":{"docs":{},"d":{"docs":{},"o":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}},"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.004866180048661801},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.006085192697768763},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.006172839506172839},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}}}}}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},":":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}},")":{"docs":{},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}}},"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.006060606060606061}}}}}}}}}}},".":{"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.0024330900243309003}}}}}}}}}}}}}}}},"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.0020964360587002098}}}}}}}}}}}}},"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0020964360587002098},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0064516129032258064},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}},"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.0020964360587002098},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.006644518272425249},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0020964360587002098},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005154639175257732},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}},"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.0020964360587002098},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010309278350515464},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.006644518272425249},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}}}}}}},"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.0020964360587002098}}}}}}}}}}}}}}},"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}},";":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"y":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}},"e":{"docs":{},"s":{"docs":{},")":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.013888888888888888},"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},":":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},"也":{"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},":":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},";":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}},"f":{"docs":{},"f":{"docs":{},"i":{"docs":{},"x":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856}},"(":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514}},"_":{"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.00202020202020202}}}}}}}}}}}}}}}}}}}}}}}}},"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.013513513513513514}}}}}}}}}}}}}}}}}}}}},"和":{"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.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"t":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}}}}},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},"'":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}},"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.010526315789473684}}}}}}}}}}},"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":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894}},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},")":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},")":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}}}},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}},"t":{"docs":{},"h":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.007339449541284404}}}}}}}},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.009615384615384616}},"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.009202453987730062}}}}}}}},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},"e":{"docs":{},".":{"docs":{},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}},"g":{"docs":{},"m":{"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":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"r":{"docs":{},"p":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"w":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},")":{"docs":{},";":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}}},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"(":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}},"{":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"r":{"docs":{},"m":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"1":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}},";":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}},"2":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}},";":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}},"3":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}},";":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}},"4":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}},"docs":{}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"(":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.005843071786310518},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},")":{"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":{},"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":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"{":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"l":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"(":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}},"{":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001669449081803005}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"a":{"docs":{},"l":{"docs":{},"b":{"docs":{},"o":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}},"方":{"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":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"原":{"docs":{},"理":{"docs":{},"和":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"l":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"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":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"b":{"docs":{},"o":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"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":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"p":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"p":{"docs":{},"p":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}}}}}}}}}}}}}}}}},"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":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}}}}}}}}},"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":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"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":{},"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":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"重":{"docs":{},"新":{"docs":{},"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":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"p":{"docs":{},"e":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186}},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},"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.006024096385542169}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.00967741935483871}},"(":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}},"{":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.002824858757062147}}},"y":{"docs":{},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"v":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}},"可":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.002688172043010753},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}},":":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}},":":{"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":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.008097165991902834}},"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.004048582995951417}},"(":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.008097165991902834},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}},"{":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}}}},"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.004048582995951417}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}},"{":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"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.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"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":{},"薄":{"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":{},"样":{"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":{},"件":{"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":{},"了":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"直":{"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":{},"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":{},"可":{"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":{},"了":{"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":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"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":{},"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":{},"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":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"组":{"docs":{},"件":{"docs":{},"最":{"docs":{},"大":{"docs":{},"的":{"docs":{},"区":{"docs":{},"别":{"docs":{},"就":{"docs":{},"是":{"docs":{},"前":{"docs":{},"者":{"docs":{},"不":{"docs":{},"包":{"docs":{},"含":{"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}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"系":{"docs":{},"列":{"docs":{},"w":{"docs":{},"i":{"docs":{},"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":{},"组":{"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":{},"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":{},"组":{"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":{},"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":{},"组":{"docs":{},"件":{"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}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}},"x":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856}},"(":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}},"{":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{},")":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.015873015873015872},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.009302325581395349}}},"会":{"docs":{},"包":{"docs":{},"含":{"docs":{},"当":{"docs":{},"前":{"docs":{},"异":{"docs":{},"步":{"docs":{},"任":{"docs":{},"务":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"信":{"docs":{},"息":{"docs":{},"及":{"docs":{},"结":{"docs":{},"果":{"docs":{},"信":{"docs":{},"息":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},";":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}}}}},"r":{"docs":{},"c":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}},".":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}},"=":{"docs":{},"\"":{"docs":{},".":{"docs":{},"/":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}},"“":{"docs":{},"唯":{"docs":{},"有":{"docs":{},"深":{"docs":{},"入":{"docs":{},",":{"docs":{},"方":{"docs":{},"能":{"docs":{},"浅":{"docs":{},"出":{"docs":{},"”":{"docs":{},"。":{"docs":{},"我":{"docs":{},"非":{"docs":{},"常":{"docs":{},"认":{"docs":{},"同":{"docs":{},"这":{"docs":{},"句":{"docs":{},"话":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"一":{"docs":{},"门":{"docs":{},"技":{"docs":{},"术":{"docs":{},",":{"docs":{},"只":{"docs":{},"有":{"docs":{},"了":{"docs":{},"解":{"docs":{},"的":{"docs":{},"深":{"docs":{},"入":{"docs":{},",":{"docs":{},"才":{"docs":{},"能":{"docs":{},"用":{"docs":{},"最":{"docs":{},"浅":{"docs":{},"显":{"docs":{},"、":{"docs":{},"通":{"docs":{},"俗":{"docs":{},"的":{"docs":{},"话":{"docs":{},"语":{"docs":{},"描":{"docs":{},"述":{"docs":{},"出":{"docs":{},"。":{"docs":{},"我":{"docs":{},"在":{"docs":{},"写":{"docs":{},"作":{"docs":{},"本":{"docs":{},"书":{"docs":{},"时":{"docs":{},",":{"docs":{},"深":{"docs":{},"入":{"docs":{},"浅":{"docs":{},"出":{"docs":{},"就":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"主":{"docs":{},"要":{"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":{},"p":{"docs":{},"c":{"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":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"本":{"docs":{},"质":{"docs":{},"上":{"docs":{},"是":{"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":{},"大":{"docs":{},"前":{"docs":{},"端":{"docs":{},"“":{"docs":{},"下":{"docs":{},"有":{"docs":{},"很":{"docs":{},"多":{"docs":{},"相":{"docs":{},"通":{"docs":{},"之":{"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":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"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":{"./":{"ref":"./","tf":0.02702702702702703}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"千":{"docs":{},"呼":{"docs":{},"万":{"docs":{},"唤":{"docs":{},"始":{"docs":{},"出":{"docs":{},"来":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"提":{"docs":{},"前":{"docs":{},"编":{"docs":{},"译":{"docs":{},"”":{"docs":{},";":{"docs":{},"而":{"docs":{},"解":{"docs":{},"释":{"docs":{},"执":{"docs":{},"行":{"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}},"控":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}}},"去":{"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.00425531914893617}}}},"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.0017452006980802793}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"组":{"docs":{},"合":{"docs":{},"”":{"docs":{},"是":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"组":{"docs":{},"件":{"docs":{},"最":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"在":{"docs":{},"任":{"docs":{},"何":{"docs":{},"需":{"docs":{},"要":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"组":{"docs":{},"件":{"docs":{},"的":{"docs":{},"场":{"docs":{},"景":{"docs":{},"下":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"都":{"docs":{},"应":{"docs":{},"该":{"docs":{},"优":{"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":{"chapter10/intro.html":{"ref":"chapter10/intro.html","tf":0.04}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"w":{"docs":{},"w":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}},"平":{"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":{},"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":{},"f":{"docs":{},"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":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"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":{},"g":{"docs":{},"p":{"docs":{},"s":{"docs":{},"等":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"要":{"docs":{},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.011494252873563218}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"为":{"2":{"docs":{},"也":{"docs":{},"是":{"docs":{},"可":{"docs":{},"以":{"docs":{},"达":{"docs":{},"到":{"docs":{},"同":{"docs":{},"样":{"docs":{},"的":{"docs":{},"效":{"docs":{},"果":{"docs":{},":":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}}},"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.007532956685499058}},"了":{"docs":{},"更":{"docs":{},"好":{"docs":{},"的":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"中":{"docs":{},"国":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"了":{"docs":{},"解":{"docs":{},"这":{"docs":{},"门":{"docs":{},"新":{"docs":{},"技":{"docs":{},"术":{"docs":{},",":{"docs":{},"我":{"docs":{},"在":{"2":{"0":{"1":{"8":{"docs":{},"年":{"docs":{},"初":{"docs":{},"开":{"docs":{},"始":{"docs":{},"翻":{"docs":{},"译":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"官":{"docs":{},"网":{"docs":{},"文":{"docs":{},"档":{"docs":{},",":{"docs":{},"同":{"docs":{},"年":{"4":{"docs":{},"月":{"docs":{},"份":{"docs":{},"上":{"docs":{},"线":{"docs":{},"了":{"docs":{},"f":{"docs":{},"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":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"文":{"docs":{},"官":{"docs":{},"网":{"docs":{},"日":{"docs":{},"p":{"docs":{},"v":{"docs":{},"在":{"7":{"docs":{},"万":{"docs":{},"左":{"docs":{},"右":{"docs":{},",":{"docs":{},"每":{"docs":{},"日":{"docs":{},"独":{"docs":{},"立":{"docs":{},"访":{"docs":{},"问":{"docs":{},"人":{"docs":{},"数":{"docs":{},"近":{"docs":{},"一":{"docs":{},"万":{"docs":{},"多":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.02702702702702703}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}},"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":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"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":{},"组":{"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":{},"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"开":{"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":{},"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":{},"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":{},"绍":{"docs":{},"它":{"docs":{},"们":{"docs":{},"。":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"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.002551020408163265}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"避":{"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":{},"为":{"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.012195121951219513}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"防":{"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.012195121951219513}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}},"密":{"docs":{},"码":{"docs":{},"输":{"docs":{},"入":{"docs":{},"错":{"docs":{},"误":{"docs":{},",":{"docs":{},"密":{"docs":{},"码":{"docs":{},"框":{"docs":{},"应":{"docs":{},"该":{"docs":{},"有":{"docs":{},"开":{"docs":{},"关":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"明":{"docs":{},"文":{"docs":{},"。":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}},"优":{"docs":{},"化":{"docs":{},"这":{"docs":{},"两":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"封":{"docs":{},"装":{"docs":{},"一":{"docs":{},"个":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"docs":{},"m":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}},"加":{"docs":{},"强":{"docs":{},"读":{"docs":{},"者":{"docs":{},"的":{"docs":{},"理":{"docs":{},"解":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"不":{"docs":{},"直":{"docs":{},"接":{"docs":{},"去":{"docs":{},"看":{"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":{},"通":{"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":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"。":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"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":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"尽":{"docs":{},"可":{"docs":{},"能":{"docs":{},"小":{"docs":{},"而":{"docs":{},"且":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"f":{"docs":{},"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"支":{"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":{},"g":{"docs":{},"m":{"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":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"中":{"docs":{},"都":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"g":{"docs":{},"m":{"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":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"当":{"docs":{},"前":{"docs":{},"语":{"docs":{},"言":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"文":{"docs":{},"案":{"docs":{},"。":{"docs":{},"关":{"docs":{},"于":{"docs":{},"g":{"docs":{},"m":{"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":{},"g":{"docs":{},"m":{"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":{},"不":{"docs":{},"再":{"docs":{},"赘":{"docs":{},"述":{"docs":{},"。":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"简":{"docs":{},"单":{"docs":{},"起":{"docs":{},"见":{"docs":{},",":{"docs":{},"当":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"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":{},"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":{},"图":{"1":{"5":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},"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/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}}}}}}}}}}}}}}},"要":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}},"什":{"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"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":{},"化":{"docs":{},"中":{"docs":{},"的":{"docs":{},"超":{"docs":{},"人":{"docs":{},"是":{"docs":{},"可":{"docs":{},"以":{"docs":{},"飞":{"docs":{},"的":{"docs":{},",":{"docs":{},"那":{"docs":{},"是":{"docs":{},"美":{"docs":{},"国":{"docs":{},"人":{"docs":{},"心":{"docs":{},"中":{"docs":{},"的":{"docs":{},"大":{"docs":{},"英":{"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":{},"w":{"docs":{},"i":{"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":{},"e":{"docs":{},"r":{"docs":{},"o":{"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.008771929824561403}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"保":{"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}},"此":{"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.001519756838905775}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"b":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}},"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}},"当":{"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"事":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}},"确":{"docs":{},"保":{"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":{},"n":{"docs":{},"k":{"docs":{},"e":{"docs":{},"d":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"数":{"docs":{},"据":{"docs":{},"获":{"docs":{},"取":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"该":{"docs":{},"回":{"docs":{},"调":{"docs":{},"函":{"docs":{},"数":{"docs":{},"接":{"docs":{},"收":{"docs":{},"三":{"docs":{},"个":{"docs":{},"参":{"docs":{},"数":{"docs":{},":":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}},"作":{"docs":{},"者":{"docs":{},"w":{"docs":{},"e":{"docs":{},"n":{"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":{},"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":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},"社":{"docs":{},"区":{"docs":{},"知":{"docs":{},"名":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},",":{"docs":{},"是":{"docs":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},"、":{"docs":{},"f":{"docs":{},"l":{"docs":{},"y":{"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":{},"百":{"docs":{},"度":{"docs":{},"、":{"docs":{},"小":{"docs":{},"赢":{"docs":{},"科":{"docs":{},"技":{"docs":{},"等":{"docs":{},"互":{"docs":{},"联":{"docs":{},"网":{"docs":{},"公":{"docs":{},"司":{"docs":{},",":{"docs":{},"从":{"docs":{},"事":{"docs":{},"过":{"docs":{},"p":{"docs":{},"c":{"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":{},"闲":{"docs":{},"暇":{"docs":{},"时":{"docs":{},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"关":{"docs":{},"注":{"docs":{},"大":{"docs":{},"前":{"docs":{},"端":{"docs":{},"行":{"docs":{},"业":{"docs":{},"发":{"docs":{},"展":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.02702702702702703}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"为":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},"分":{"docs":{},"隔":{"docs":{},"符":{"docs":{},".":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}},"用":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374},"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.015151515151515152}}}},"关":{"docs":{},"于":{"docs":{},"作":{"docs":{},"者":{"docs":{"./":{"ref":"./","tf":0.02702702702702703}}}},"随":{"docs":{},"书":{"docs":{},"源":{"docs":{},"码":{"docs":{"./":{"ref":"./","tf":0.02702702702702703}}}}}},"示":{"docs":{},"例":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}},"矩":{"docs":{},"阵":{"docs":{},"变":{"docs":{},"换":{"docs":{},"的":{"docs":{},"相":{"docs":{},"关":{"docs":{},"内":{"docs":{},"容":{"docs":{},"属":{"docs":{},"于":{"docs":{},"线":{"docs":{},"性":{"docs":{},"代":{"docs":{},"数":{"docs":{},"范":{"docs":{},"畴":{"docs":{},",":{"docs":{},"本":{"docs":{},"书":{"docs":{},"不":{"docs":{},"做":{"docs":{},"讨":{"docs":{},"论":{"docs":{},",":{"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":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"动":{"docs":{},"画":{"docs":{},"相":{"docs":{},"关":{"docs":{},"内":{"docs":{},"容":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"在":{"docs":{},"本":{"docs":{},"书":{"docs":{},"后":{"docs":{},"面":{"docs":{},"章":{"docs":{},"节":{"docs":{},"介":{"docs":{},"绍":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"内":{"docs":{},"容":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"先":{"docs":{},"了":{"docs":{},"解":{"docs":{},"一":{"docs":{},"下":{"docs":{},"(":{"docs":{},"不":{"docs":{},"必":{"docs":{},"深":{"docs":{},"究":{"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/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"路":{"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.006211180124223602}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"代":{"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":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"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":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{},"”":{"docs":{},"和":{"docs":{},"“":{"docs":{},"n":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"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":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"闭":{"docs":{},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}},"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"连":{"docs":{},"接":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}},"。":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}}}}},"在":{"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.0035714285714285713}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616},"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.010416666666666666},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}},"f":{"docs":{},"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":{},"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":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"样":{"docs":{},"?":{"docs":{},"和":{"docs":{},"r":{"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":{},"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":{},"f":{"docs":{},"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":{},"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":{},"f":{"docs":{},"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":{},"教":{"docs":{},"程":{"docs":{},"有":{"docs":{},"直":{"docs":{},"接":{"docs":{},"关":{"docs":{},"系":{"docs":{},",":{"docs":{},"很":{"docs":{},"多":{"docs":{},"人":{"docs":{},"对":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"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":{"./":{"ref":"./","tf":0.02702702702702703}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"命":{"docs":{},"令":{"docs":{},"行":{"docs":{},"运":{"docs":{},"行":{"docs":{},"如":{"docs":{},"下":{"docs":{},"命":{"docs":{},"令":{"docs":{},"来":{"docs":{},"查":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"安":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"docs":{},",":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"东":{"docs":{},"西":{"docs":{},"都":{"docs":{},"是":{"docs":{},"w":{"docs":{},"i":{"docs":{},"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":{},"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":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"嗾":{"docs":{},"使":{"docs":{},"以":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"形":{"docs":{},"式":{"docs":{},"提":{"docs":{},"供":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"还":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"f":{"docs":{},"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.003278688524590164}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"组":{"docs":{},"合":{"docs":{},"的":{"docs":{},"思":{"docs":{},"想":{"docs":{},"非":{"docs":{},"常":{"docs":{},"重":{"docs":{},"要":{"docs":{},",":{"docs":{},"f":{"docs":{},"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":{"chapter10/intro.html":{"ref":"chapter10/intro.html","tf":0.04}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"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":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"应":{"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"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.00390625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"多":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"动":{"docs":{},"画":{"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":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"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.008771929824561403}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"页":{"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":{"chapter10/combine.html":{"ref":"chapter10/combine.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":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"框":{"docs":{},"架":{"docs":{},"加":{"docs":{},"载":{"docs":{},"时":{"docs":{},",":{"docs":{},"f":{"docs":{},"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"项":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"见":{"docs":{},"图":{"2":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}}},"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.001519756838905775}}}}}}}}}}}}}},"开":{"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.002551020408163265}}}}}}}}}}}}}}}}}}}}},"状":{"docs":{},"态":{"docs":{},"管":{"docs":{},"理":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"永":{"docs":{},"恒":{"docs":{},"的":{"docs":{},"话":{"docs":{},"题":{"docs":{},"。":{"docs":{},"一":{"docs":{},"般":{"docs":{},"的":{"docs":{},"原":{"docs":{},"则":{"docs":{},"是":{"docs":{},":":{"docs":{},"如":{"docs":{},"果":{"docs":{},"状":{"docs":{},"态":{"docs":{},"是":{"docs":{},"组":{"docs":{},"件":{"docs":{},"私":{"docs":{},"有":{"docs":{},"的":{"docs":{},",":{"docs":{},"则":{"docs":{},"应":{"docs":{},"该":{"docs":{},"由":{"docs":{},"组":{"docs":{},"件":{"docs":{},"自":{"docs":{},"己":{"docs":{},"管":{"docs":{},"理":{"docs":{},";":{"docs":{},"如":{"docs":{},"果":{"docs":{},"状":{"docs":{},"态":{"docs":{},"要":{"docs":{},"跨":{"docs":{},"组":{"docs":{},"件":{"docs":{},"共":{"docs":{},"享":{"docs":{},",":{"docs":{},"则":{"docs":{},"该":{"docs":{},"状":{"docs":{},"态":{"docs":{},"应":{"docs":{},"该":{"docs":{},"由":{"docs":{},"各":{"docs":{},"个":{"docs":{},"组":{"docs":{},"件":{"docs":{},"共":{"docs":{},"同":{"docs":{},"的":{"docs":{},"父":{"docs":{},"元":{"docs":{},"素":{"docs":{},"来":{"docs":{},"管":{"docs":{},"理":{"docs":{},"。":{"docs":{},"对":{"docs":{},"于":{"docs":{},"组":{"docs":{},"件":{"docs":{},"私":{"docs":{},"有":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"管":{"docs":{},"理":{"docs":{},"很":{"docs":{},"好":{"docs":{},"理":{"docs":{},"解":{"docs":{},",":{"docs":{},"但":{"docs":{},"对":{"docs":{},"于":{"docs":{},"跨":{"docs":{},"组":{"docs":{},"件":{"docs":{},"共":{"docs":{},"享":{"docs":{},"的":{"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":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"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":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"当":{"docs":{},"中":{"docs":{},"有":{"docs":{},"没":{"docs":{},"有":{"docs":{},"更":{"docs":{},"好":{"docs":{},"的":{"docs":{},"跨":{"docs":{},"组":{"docs":{},"件":{"docs":{},"状":{"docs":{},"态":{"docs":{},"管":{"docs":{},"理":{"docs":{},"方":{"docs":{},"式":{"docs":{},"了":{"docs":{},"呢":{"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":{},"的":{"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":{},"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":{},"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":{},"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":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"社":{"docs":{},"区":{"docs":{},"著":{"docs":{},"名":{"docs":{},"的":{"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":{},"解":{"docs":{},"决":{"docs":{},"方":{"docs":{},"案":{"docs":{},",":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"我":{"docs":{},"们":{"docs":{},"便":{"docs":{},"详":{"docs":{},"细":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"用":{"docs":{},"法":{"docs":{},"及":{"docs":{},"原":{"docs":{},"理":{"docs":{},"。":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"全":{"docs":{},"球":{"docs":{},",":{"docs":{},"随":{"docs":{},"着":{"docs":{},"f":{"docs":{},"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.02702702702702703}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"笔":{"docs":{},"者":{"docs":{},"深":{"docs":{},"入":{"docs":{},"的":{"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":{},"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":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"(":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"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":{},"f":{"docs":{},"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":{"./":{"ref":"./","tf":0.02702702702702703}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"看":{"docs":{},"来":{"docs":{},",":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"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":{},"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0035714285714285713}}}}}}}}}}}}}}}},"和":{"docs":{},"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.003278688524590164}}}}}}}}},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"打":{"docs":{},"开":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}},"原":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"那":{"docs":{},"两":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"的":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}},"小":{"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":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"收":{"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.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"本":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"示":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"可":{"docs":{},"以":{"docs":{},"朝":{"docs":{},"任":{"docs":{},"意":{"docs":{},"方":{"docs":{},"向":{"docs":{},"拖":{"docs":{},"动":{"docs":{},"的":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"在":{"docs":{},"很":{"docs":{},"多":{"docs":{},"场":{"docs":{},"景":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"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.0017452006980802793}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"书":{"docs":{},"中":{"docs":{},"经":{"docs":{},"常":{"docs":{},"会":{"docs":{},"出":{"docs":{},"现":{"docs":{},"“":{"docs":{},"树":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"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":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}},"章":{"docs":{},"中":{"docs":{},",":{"docs":{},"为":{"docs":{},"了":{"docs":{},"让":{"docs":{},"读":{"docs":{},"者":{"docs":{},"对":{"docs":{},"布":{"docs":{},"局":{"docs":{},"类":{"docs":{},"w":{"docs":{},"i":{"docs":{},"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":{},"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":{},"和":{"docs":{},"细":{"docs":{},"节":{"docs":{},"等":{"docs":{},"我":{"docs":{},"们":{"docs":{},"对":{"docs":{},"f":{"docs":{},"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":{"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":0.04}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"接":{"docs":{},"下":{"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":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"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":{},"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":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"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":{},"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":{"chapter10/intro.html":{"ref":"chapter10/intro.html","tf":0.04}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"例":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"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":{},"类":{"docs":{},"中":{"docs":{},"只":{"docs":{},"定":{"docs":{},"义":{"docs":{},"了":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},"…":{"docs":{},")":{"docs":{},"和":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"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":{},"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":{},"。":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"移":{"docs":{},"动":{"docs":{},"互":{"docs":{},"联":{"docs":{},"网":{"docs":{},"发":{"docs":{},"展":{"docs":{},"初":{"docs":{},"期":{"docs":{},",":{"docs":{},"业":{"docs":{},"务":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"端":{"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.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.011494252873563218}},"设":{"docs":{},"备":{"docs":{},"上":{"docs":{},"启":{"docs":{},"用":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}}}},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"中":{"docs":{},"声":{"docs":{},"明":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}}}}}}}},"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.007407407407407408}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"开":{"docs":{},"发":{"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}},"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.008771929824561403}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0013422818791946308}}}}}}}}}}}}}}}}}}},"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}},"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}}}}},"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}},"生":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"内":{"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/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"树":{"docs":{},"中":{"docs":{},",":{"docs":{},"文":{"docs":{},"本":{"docs":{},"的":{"docs":{},"样":{"docs":{},"式":{"docs":{},"默":{"docs":{},"认":{"docs":{},"是":{"docs":{},"可":{"docs":{},"以":{"docs":{},"被":{"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":{},"w":{"docs":{},"i":{"docs":{},"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.00390625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}},"“":{"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.0013422818791946308}}}}}}}}},"用":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}},"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"你":{"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.0013422818791946308}}}}}}}}}}}}}}}},"的":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"上":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}},"命":{"docs":{},"令":{"docs":{},"行":{"docs":{},"运":{"docs":{},"行":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}},"工":{"docs":{},"具":{"docs":{},"栏":{"docs":{},"中":{"docs":{},"点":{"docs":{},"击":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}},"程":{"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.002551020408163265}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"搜":{"docs":{},"索":{"docs":{},"框":{"docs":{},"输":{"docs":{},"入":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}},"给":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},"项":{"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.0013422818791946308}}}}}}}}}}}}}}}},"中":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}},"之":{"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":{},"以":{"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":{},"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":{},"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"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":{},"了":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"介":{"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":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"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":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"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.0024330900243309003}}}}}}}}}}}}}}}}},"种":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"每":{"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.001519756838905775}}}}}}}}},"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.00390625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"_":{"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.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"p":{"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":{},"的":{"docs":{},"区":{"docs":{},"别":{"docs":{},"是":{"docs":{},"前":{"docs":{},"者":{"docs":{},"不":{"docs":{},"会":{"docs":{},"返":{"docs":{},"回":{"docs":{},"数":{"docs":{},"据":{"docs":{},"给":{"docs":{},"上":{"docs":{},"一":{"docs":{},"个":{"docs":{},"路":{"docs":{},"由":{"docs":{},",":{"docs":{},"而":{"docs":{},"后":{"docs":{},"者":{"docs":{},"会":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"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":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"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":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"打":{"docs":{},"开":{"docs":{},"路":{"docs":{},"由":{"docs":{},"时":{"docs":{},"传":{"docs":{},"递":{"docs":{},"参":{"docs":{},"数":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}},"路":{"docs":{},"由":{"docs":{},"页":{"docs":{},"通":{"docs":{},"过":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"对":{"docs":{},"象":{"docs":{},"获":{"docs":{},"取":{"docs":{},"路":{"docs":{},"由":{"docs":{},"参":{"docs":{},"数":{"docs":{},":":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}},"软":{"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":{},"使":{"docs":{},"用":{"docs":{},"时":{"docs":{},"再":{"docs":{},"直":{"docs":{},"接":{"docs":{},"集":{"docs":{},"成":{"docs":{},"这":{"docs":{},"个":{"docs":{},"模":{"docs":{},"块":{"docs":{},",":{"docs":{},"便":{"docs":{},"可":{"docs":{},"大":{"docs":{},"大":{"docs":{},"提":{"docs":{},"高":{"docs":{},"开":{"docs":{},"发":{"docs":{},"效":{"docs":{},"率":{"docs":{},"。":{"docs":{},"很":{"docs":{},"多":{"docs":{},"编":{"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":{},"言":{"docs":{},"中":{"docs":{},"这":{"docs":{},"种":{"docs":{},"独":{"docs":{},"立":{"docs":{},"模":{"docs":{},"块":{"docs":{},"会":{"docs":{},"被":{"docs":{},"打":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"j":{"docs":{},"a":{"docs":{},"r":{"docs":{},"包":{"docs":{},",":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"中":{"docs":{},"的":{"docs":{},"a":{"docs":{},"a":{"docs":{},"r":{"docs":{},"包":{"docs":{},",":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},"的":{"docs":{},"n":{"docs":{},"p":{"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":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"输":{"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.00625}}}}}}}}}}}}},"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"docs":{},"的":{"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.002551020408163265}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"构":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}},"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":{},"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":{},"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":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"和":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"当":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"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":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"项":{"docs":{},"目":{"docs":{},"拥":{"docs":{},"有":{"docs":{},"者":{"docs":{},"头":{"docs":{},"像":{"docs":{},"时":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{},"g":{"docs":{},"m":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"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":{},"下":{"docs":{},":":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"设":{"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.004807692307692308}}}}}}}}}}}}}}}},"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"开":{"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.001519756838905775}}}}}}}}}}}},"运":{"docs":{},"行":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}},"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.003278688524590164}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"转":{"docs":{},"的":{"docs":{},"角":{"docs":{},"度":{"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/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"事":{"docs":{},"件":{"docs":{},"循":{"docs":{},"环":{"docs":{},"中":{"docs":{},",":{"docs":{},"当":{"docs":{},"某":{"docs":{},"个":{"docs":{},"任":{"docs":{},"务":{"docs":{},"发":{"docs":{},"生":{"docs":{},"异":{"docs":{},"常":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"被":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"时":{"docs":{},",":{"docs":{},"程":{"docs":{},"序":{"docs":{},"并":{"docs":{},"不":{"docs":{},"会":{"docs":{},"退":{"docs":{},"出":{"docs":{},",":{"docs":{},"而":{"docs":{},"直":{"docs":{},"接":{"docs":{},"导":{"docs":{},"致":{"docs":{},"的":{"docs":{},"结":{"docs":{},"果":{"docs":{},"是":{"docs":{},"当":{"docs":{},"前":{"docs":{},"任":{"docs":{},"务":{"docs":{},"的":{"docs":{},"后":{"docs":{},"续":{"docs":{},"代":{"docs":{},"码":{"docs":{},"就":{"docs":{},"不":{"docs":{},"会":{"docs":{},"被":{"docs":{},"执":{"docs":{},"行":{"docs":{},"了":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"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.003278688524590164}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"介":{"docs":{},"绍":{"docs":{},"f":{"docs":{},"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":{},"解":{"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":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"主":{"docs":{},"题":{"docs":{},"前":{"docs":{},"我":{"docs":{},"们":{"docs":{},"先":{"docs":{},"了":{"docs":{},"解":{"docs":{},"一":{"docs":{},"些":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"的":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"类":{"docs":{},"。":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"类":{"docs":{},"中":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"以":{"docs":{},"一":{"docs":{},"个":{"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":{},"站":{"8":{"docs":{},"比":{"docs":{},"特":{"docs":{},",":{"docs":{},"存":{"docs":{},"储":{"docs":{},"结":{"docs":{},"构":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"单":{"docs":{},"线":{"docs":{},"程":{"docs":{},"中":{"docs":{},"是":{"docs":{},"以":{"docs":{},"消":{"docs":{},"息":{"docs":{},"循":{"docs":{},"环":{"docs":{},"机":{"docs":{},"制":{"docs":{},"来":{"docs":{},"运":{"docs":{},"行":{"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.003278688524590164}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"前":{"docs":{},"面":{"docs":{},"的":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"知":{"docs":{},"道":{"docs":{},"在":{"docs":{},"f":{"docs":{},"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"几":{"docs":{},"节":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"了":{"docs":{},"f":{"docs":{},"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":{},"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":{},"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.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"调":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}},"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}},"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.0020964360587002098}}}}}}}}}}}}}}}},"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.0020964360587002098}}}}}}}}}}}}}}}},"试":{"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":{},"验":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"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":{},"改":{"docs":{},"变":{"docs":{},"。":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"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":{},"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":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"以":{"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":{},"态":{"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":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"b":{"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":{},"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/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"按":{"docs":{},"下":{"docs":{},"时":{"docs":{},"添":{"docs":{},"加":{"docs":{},"绿":{"docs":{},"色":{"docs":{},"边":{"docs":{},"框":{"docs":{},",":{"docs":{},"当":{"docs":{},"抬":{"docs":{},"起":{"docs":{},"时":{"docs":{},",":{"docs":{},"取":{"docs":{},"消":{"docs":{},"高":{"docs":{},"亮":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}}}}},"上":{"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.00390625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},":":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}},"一":{"docs":{},"节":{"docs":{},"中":{"docs":{},"我":{"docs":{},"们":{"docs":{},"讲":{"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":{},"个":{"docs":{},"或":{"docs":{},"多":{"docs":{},"个":{"docs":{},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{},"相":{"docs":{},"对":{"docs":{},"于":{"docs":{},"父":{"docs":{},"元":{"docs":{},"素":{"docs":{},"各":{"docs":{},"个":{"docs":{},"边":{"docs":{},"的":{"docs":{},"精":{"docs":{},"确":{"docs":{},"偏":{"docs":{},"移":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"可":{"docs":{},"以":{"docs":{},"重":{"docs":{},"叠":{"docs":{},"。":{"docs":{},"但":{"docs":{},"如":{"docs":{},"果":{"docs":{},"我":{"docs":{},"们":{"docs":{},"只":{"docs":{},"想":{"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":{},"组":{"docs":{},"件":{"docs":{},"会":{"docs":{},"更":{"docs":{},"简":{"docs":{},"单":{"docs":{},"一":{"docs":{},"些":{"docs":{},"。":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"字":{"docs":{},"体":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{},",":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"字":{"docs":{},"符":{"docs":{},"都":{"docs":{},"对":{"docs":{},"应":{"docs":{},"一":{"docs":{},"个":{"docs":{},"位":{"docs":{},"码":{"docs":{},",":{"docs":{},"而":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"位":{"docs":{},"码":{"docs":{},"对":{"docs":{},"应":{"docs":{},"一":{"docs":{},"个":{"docs":{},"显":{"docs":{},"示":{"docs":{},"字":{"docs":{},"形":{"docs":{},",":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"字":{"docs":{},"体":{"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.002551020408163265}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"后":{"docs":{},"面":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"又":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"了":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"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":{},"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":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"际":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},",":{"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":{},"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":{},"限":{"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":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"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":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"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":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"战":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"组":{"docs":{},"件":{"docs":{},"的":{"docs":{},"坐":{"docs":{},"标":{"docs":{},"描":{"docs":{},"述":{"docs":{},"中":{"docs":{},",":{"docs":{},"通":{"docs":{},"常":{"docs":{},"将":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"方":{"docs":{},"向":{"docs":{},"称":{"docs":{},"为":{"docs":{},"主":{"docs":{},"轴":{"docs":{},",":{"docs":{},"非":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"方":{"docs":{},"向":{"docs":{},"称":{"docs":{},"为":{"docs":{},"纵":{"docs":{},"轴":{"docs":{},"。":{"docs":{},"由":{"docs":{},"于":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"组":{"docs":{},"件":{"docs":{},"的":{"docs":{},"默":{"docs":{},"认":{"docs":{},"方":{"docs":{},"向":{"docs":{},"一":{"docs":{},"般":{"docs":{},"都":{"docs":{},"是":{"docs":{},"沿":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},",":{"docs":{},"所":{"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.02631578947368421}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"很":{"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.02631578947368421}}}}}},"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.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"大":{"docs":{},"型":{"docs":{},"复":{"docs":{},"杂":{"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":{},"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":{},",":{"docs":{},"提":{"docs":{},"高":{"docs":{},"开":{"docs":{},"发":{"docs":{},"效":{"docs":{},"率":{"docs":{},"。":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"应":{"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.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":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"一":{"docs":{},"定":{"docs":{},"要":{"docs":{},"确":{"docs":{},"保":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"不":{"docs":{},"能":{"docs":{},"抛":{"docs":{},"出":{"docs":{},"异":{"docs":{},"常":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"任":{"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":{},"。":{"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.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"某":{"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":{},"[":{"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":{},"f":{"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":{},"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":{},"手":{"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":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}}}},"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":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}}}}}}}}}}},"请":{"docs":{},"求":{"docs":{},"阶":{"docs":{},"段":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}},"我":{"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":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}}}}}}}}}}}},"您":{"docs":{},"的":{"docs":{},"项":{"docs":{},"目":{"docs":{},"根":{"docs":{},"文":{"docs":{},"件":{"docs":{},"夹":{"docs":{},"中":{"docs":{},"运":{"docs":{},"行":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}},"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"根":{"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":{},"个":{"docs":{},"“":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"/":{"docs":{},"s":{"docs":{},"r":{"docs":{},"c":{"docs":{},"”":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"的":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"文":{"docs":{},"件":{"docs":{},":":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"发":{"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"客":{"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":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.011494252873563218}}}}}}}}}}}}}}}}}}},"宿":{"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":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.011494252873563218}}}}}}}}}}}}}}}}}}}}},"终":{"docs":{},"端":{"docs":{},"中":{"docs":{},"运":{"docs":{},"行":{"docs":{},":":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}},":":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}}}}}}}}}}}},"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"较":{"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":{},"图":{"1":{"3":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}},"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":{},"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":{},"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":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"都":{"docs":{},"必":{"docs":{},"须":{"docs":{},"提":{"docs":{},"供":{"docs":{},"一":{"docs":{},"个":{"docs":{},"手":{"docs":{},"动":{"docs":{},"选":{"docs":{},"择":{"docs":{},"语":{"docs":{},"言":{"docs":{},"的":{"docs":{},"入":{"docs":{},"口":{"docs":{},"。":{"docs":{"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"次":{"docs":{},"绘":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}},"布":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"图":{"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":{},"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":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"(":{"docs":{},"b":{"docs":{},"y":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},")":{"docs":{},"对":{"docs":{},"图":{"docs":{},"片":{"docs":{},"进":{"docs":{},"行":{"docs":{},"解":{"docs":{},"码":{"docs":{},",":{"docs":{},"值":{"docs":{},"得":{"docs":{},"注":{"docs":{},"意":{"docs":{},"的":{"docs":{},"是":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"i":{"docs":{},"m":{"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":{},"n":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"网":{"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":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}},"果":{"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{},"您":{"docs":{},"发":{"docs":{},"现":{"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.02702702702702703}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"从":{"docs":{},"未":{"docs":{},"打":{"docs":{},"算":{"docs":{},"更":{"docs":{},"改":{"docs":{},"一":{"docs":{},"个":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"使":{"docs":{},"用":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}}}}}}}}}}},"重":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"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":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}},"尝":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"问":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"布":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"现":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"编":{"docs":{},"写":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"渲":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"树":{"docs":{},"的":{"docs":{},"结":{"docs":{},"构":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"如":{"docs":{},"尺":{"docs":{},"寸":{"docs":{},"、":{"docs":{},"布":{"docs":{},"局":{"docs":{},"、":{"docs":{},"节":{"docs":{},"点":{"docs":{},"隐":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"切":{"docs":{},"正":{"docs":{},"常":{"docs":{},",":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}},"你":{"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.0013422818791946308}}}}}}}}}}}}}},"不":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"i":{"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":{},"i":{"docs":{},"d":{"docs":{},"e":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"想":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"遇":{"docs":{},"到":{"docs":{},"包":{"docs":{},"发":{"docs":{},"布":{"docs":{},"失":{"docs":{},"败":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"先":{"docs":{},"检":{"docs":{},"查":{"docs":{},"是":{"docs":{},"否":{"docs":{},"因":{"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"安":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.00390625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"上":{"docs":{},"例":{"docs":{},"中":{"docs":{},"我":{"docs":{},"们":{"docs":{},"同":{"docs":{},"时":{"docs":{},"监":{"docs":{},"听":{"docs":{},"水":{"docs":{},"平":{"docs":{},"和":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},"的":{"docs":{},"拖":{"docs":{},"动":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"我":{"docs":{},"们":{"docs":{},"斜":{"docs":{},"着":{"docs":{},"拖":{"docs":{},"动":{"docs":{},"时":{"docs":{},"哪":{"docs":{},"个":{"docs":{},"方":{"docs":{},"向":{"docs":{},"会":{"docs":{},"生":{"docs":{},"效":{"docs":{},"?":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"取":{"docs":{},"决":{"docs":{},"于":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"移":{"docs":{},"动":{"docs":{},"时":{"docs":{},"两":{"docs":{},"个":{"docs":{},"轴":{"docs":{},"上":{"docs":{},"的":{"docs":{},"位":{"docs":{},"移":{"docs":{},"分":{"docs":{},"量":{"docs":{},",":{"docs":{},"哪":{"docs":{},"个":{"docs":{},"轴":{"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":{},"组":{"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":{},"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":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"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":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"已":{"docs":{},"安":{"docs":{},"装":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}},"登":{"docs":{},"录":{"docs":{},",":{"docs":{},"则":{"docs":{},"显":{"docs":{},"示":{"docs":{},"用":{"docs":{},"户":{"docs":{},"头":{"docs":{},"像":{"docs":{},";":{"docs":{},"若":{"docs":{},"未":{"docs":{},"登":{"docs":{},"录":{"docs":{},",":{"docs":{},"则":{"docs":{},"显":{"docs":{},"示":{"docs":{},"默":{"docs":{},"认":{"docs":{},"头":{"docs":{},"像":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}}}}}},"想":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}},"自":{"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":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"该":{"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.0013422818791946308}}}}}}}}}}}}}}},"存":{"docs":{},"在":{"docs":{},",":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}},"这":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"有":{"docs":{},"大":{"docs":{},"量":{"docs":{},"异":{"docs":{},"步":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"出":{"docs":{},"现":{"docs":{},"大":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"异":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"要":{"docs":{},"将":{"docs":{},"父":{"docs":{},"类":{"docs":{},"状":{"docs":{},"态":{"docs":{},"暴":{"docs":{},"露":{"docs":{},"给":{"docs":{},"子":{"docs":{},"类":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"必":{"docs":{},"须":{"docs":{},"得":{"docs":{},"有":{"docs":{},"一":{"docs":{},"种":{"docs":{},"传":{"docs":{},"递":{"docs":{},"机":{"docs":{},"制":{"docs":{},",":{"docs":{},"而":{"docs":{},"做":{"docs":{},"这":{"docs":{},"一":{"docs":{},"套":{"docs":{},"传":{"docs":{},"递":{"docs":{},"机":{"docs":{},"制":{"docs":{},"是":{"docs":{},"无":{"docs":{},"意":{"docs":{},"义":{"docs":{},"的":{"docs":{},",":{"docs":{},"因":{"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"让":{"docs":{},"里":{"docs":{},"面":{"docs":{},"的":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},"占":{"docs":{},"满":{"docs":{},"外":{"docs":{},"部":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"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.00411522633744856}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"访":{"docs":{},"问":{"docs":{},"的":{"docs":{},"路":{"docs":{},"由":{"docs":{},"页":{"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.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"应":{"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.00625}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"正":{"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.00625}}}}}}}}}}}}}}}}},"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"f":{"docs":{},"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.00625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"应":{"docs":{},"用":{"docs":{},"要":{"docs":{},"支":{"docs":{},"持":{"docs":{},"多":{"docs":{},"种":{"docs":{},"语":{"docs":{},"言":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"“":{"docs":{},"国":{"docs":{},"际":{"docs":{},"化":{"docs":{},"”":{"docs":{},"它":{"docs":{},"。":{"docs":{},"这":{"docs":{},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"开":{"docs":{},"发":{"docs":{},"时":{"docs":{},"需":{"docs":{},"要":{"docs":{},"为":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"支":{"docs":{},"持":{"docs":{},"的":{"docs":{},"每":{"docs":{},"种":{"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"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.001519756838905775}}}}}}}}}}},"想":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"背":{"docs":{},"景":{"docs":{},"渐":{"docs":{},"变":{"docs":{},"的":{"docs":{},"圆":{"docs":{},"角":{"docs":{},"按":{"docs":{},"钮":{"docs":{},",":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"有":{"docs":{},"没":{"docs":{},"有":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},"呢":{"docs":{},"?":{"docs":{},"答":{"docs":{},"案":{"docs":{},"是":{"docs":{},"否":{"docs":{},"定":{"docs":{},"的":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"其":{"docs":{},"它":{"docs":{},"方":{"docs":{},"式":{"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.006024096385542169}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"剪":{"docs":{},"裁":{"docs":{},"子":{"docs":{},"组":{"docs":{},"件":{"docs":{},"的":{"docs":{},"特":{"docs":{},"定":{"docs":{},"区":{"docs":{},"域":{"docs":{},",":{"docs":{},"比":{"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":{"docs":{},"×":{"3":{"0":{"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":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"来":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"剪":{"docs":{},"裁":{"docs":{},"区":{"docs":{},"域":{"docs":{},",":{"docs":{},"实":{"docs":{},"现":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"组":{"docs":{},"件":{"docs":{},"树":{"docs":{},"中":{"docs":{},"拦":{"docs":{},"截":{"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.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"颜":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"的":{"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":{},"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.00202020202020202}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"嫌":{"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":{},"s":{"docs":{},"i":{"docs":{},"z":{"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":{},"不":{"docs":{},"行":{"docs":{},"的":{"docs":{},",":{"docs":{},"原":{"docs":{},"因":{"docs":{},"是":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"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":{},"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":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"对":{"docs":{},"宽":{"docs":{},"度":{"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":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"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":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"类":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"将":{"docs":{},"上":{"docs":{},"面":{"docs":{},"代":{"docs":{},"码":{"docs":{},"在":{"docs":{},"现":{"docs":{},"有":{"docs":{},"f":{"docs":{},"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"未":{"docs":{},"在":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}}}}}}}},"图":{"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.001519756838905775}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}},"某":{"docs":{},"一":{"docs":{},"个":{"docs":{},"状":{"docs":{},"态":{"docs":{},"是":{"docs":{},"不":{"docs":{},"同":{"docs":{},"w":{"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/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"组":{"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":{},"例":{"docs":{},"子":{"docs":{},":":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"个":{"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":{"chapter13/intl.html":{"ref":"chapter13/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/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"用":{"docs":{},"户":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"如":{"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/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.00411522633744856}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"给":{"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":{},"菜":{"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.00202020202020202}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.005649717514124294}}}}},"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":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"遇":{"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":{},"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":{"chapter10/intro.html":{"ref":"chapter10/intro.html","tf":0.04}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"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":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"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":{},"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":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.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":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"的":{"docs":{},"项":{"docs":{},"目":{"docs":{},",":{"docs":{},"则":{"docs":{},"此":{"docs":{},"字":{"docs":{},"段":{"docs":{},"表":{"docs":{},"示":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"的":{"docs":{},"父":{"docs":{},"项":{"docs":{},"目":{"docs":{},"信":{"docs":{},"息":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}},"第":{"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"请":{"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"过":{"docs":{},"滤":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"手":{"docs":{},"动":{"docs":{},"判":{"docs":{},"断":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}},",":{"docs":{},"自":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"调":{"docs":{},"用":{"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":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.011494252873563218}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"发":{"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":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"每":{"docs":{},"个":{"docs":{},"项":{"docs":{},"目":{"docs":{},"都":{"docs":{},"要":{"docs":{},"构":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"上":{"docs":{},"面":{"docs":{},"这":{"docs":{},"样":{"docs":{},"的":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"显":{"docs":{},"然":{"docs":{},"很":{"docs":{},"麻":{"docs":{},"烦":{"docs":{},",":{"docs":{},"为":{"docs":{},"此":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"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":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"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":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"文":{"docs":{},"件":{"docs":{},"生":{"docs":{},"成":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"类":{"docs":{},"。":{"docs":{},"另":{"docs":{},"外":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}},"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"足":{"3":{"2":{"docs":{},"位":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.011494252873563218}}}},"docs":{}},"6":{"4":{"docs":{},"位":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.011494252873563218}}}},"docs":{}},"docs":{}},"是":{"docs":{},"列":{"docs":{},"表":{"docs":{},",":{"docs":{},"则":{"docs":{},"只":{"docs":{},"删":{"docs":{},"除":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},"缓":{"docs":{},"存":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}},"系":{"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"设":{"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}},"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"没":{"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"则":{"docs":{},"调":{"docs":{},"用":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"(":{"docs":{},"t":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}},"策":{"docs":{},"略":{"docs":{},",":{"docs":{},"设":{"docs":{},"置":{"docs":{},"默":{"docs":{},"认":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"策":{"docs":{},"略":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}},"子":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}},"直":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"节":{"docs":{},"点":{"docs":{},"有":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"它":{"docs":{},"除":{"docs":{},"了":{"docs":{},"完":{"docs":{},"成":{"docs":{},"自":{"docs":{},"身":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"为":{"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":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"接":{"docs":{},"口":{"docs":{},"返":{"docs":{},"回":{"docs":{},"的":{"docs":{},"数":{"docs":{},"量":{"docs":{},"等":{"docs":{},"于":{"docs":{},"'":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"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":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"之":{"docs":{},"前":{"docs":{},"所":{"docs":{},"述":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.01}}}}}}}}}}},"决":{"docs":{},"定":{"docs":{},"使":{"docs":{},"用":{"docs":{},"哪":{"docs":{},"种":{"docs":{},"管":{"docs":{},"理":{"docs":{},"方":{"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/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"转":{"docs":{},"成":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"对":{"docs":{},"象":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}}}}}}}}},"为":{"docs":{},"英":{"docs":{},"语":{"docs":{},"系":{"docs":{},"的":{"docs":{},"国":{"docs":{},"家":{"docs":{},"指":{"docs":{},"定":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"应":{"docs":{},"用":{"docs":{},"标":{"docs":{},"题":{"docs":{},"进":{"docs":{},"行":{"docs":{},"国":{"docs":{},"际":{"docs":{},"化":{"docs":{"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02}}}}}}}}}}}},"设":{"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":{},"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":{},"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"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.0013422818791946308}}}}}}}}}},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},"的":{"docs":{},"色":{"docs":{},"值":{"docs":{},"通":{"docs":{},"常":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"如":{"docs":{},"\"":{"docs":{},"#":{"docs":{},"d":{"docs":{},"c":{"3":{"8":{"0":{"docs":{},"d":{"docs":{},"\"":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"r":{"docs":{},"g":{"docs":{},"b":{"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":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}},"广":{"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":{},"u":{"docs":{},"w":{"docs":{},"e":{"docs":{},"n":{"3":{"2":{"7":{"6":{"7":{"docs":{},"@":{"1":{"6":{"3":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{"./":{"ref":"./","tf":0.02702702702702703}}}}}}},"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":{},"f":{"docs":{},"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":{},"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":{"./":{"ref":"./","tf":0.02702702702702703}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"或":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616},"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}},"加":{"docs":{},"微":{"docs":{},"信":{"docs":{},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.02702702702702703}}}}}}}}}},"以":{"docs":{},"下":{"docs":{},"命":{"docs":{},"令":{"docs":{},"找":{"docs":{},"到":{"docs":{},"模":{"docs":{},"拟":{"docs":{},"器":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}}},"更":{"docs":{},"新":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}},"高":{"docs":{},"版":{"docs":{},"本":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}},"者":{"docs":{},"点":{"docs":{},"击":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}},"事":{"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.001519756838905775}}}}}}}}}}}}}}}}}}},"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":{},"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":{},"值":{"docs":{},"。":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"无":{"docs":{},"论":{"docs":{},"是":{"docs":{},"做":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"文":{"docs":{},"网":{"docs":{},",":{"docs":{},"还":{"docs":{},"是":{"docs":{},"写":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"m":{"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":{},"围":{"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":{},"在":{"2":{"0":{"1":{"8":{"docs":{},"年":{"docs":{},"初":{"docs":{},"f":{"docs":{},"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":{},"到":{"1":{"docs":{},".":{"0":{"docs":{},")":{"docs":{},",":{"docs":{},"存":{"docs":{},"在":{"docs":{},"很":{"docs":{},"多":{"docs":{},"b":{"docs":{},"u":{"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":{},"f":{"docs":{},"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":{},"在":{"2":{"0":{"1":{"8":{"docs":{},"年":{"4":{"docs":{},"月":{"docs":{},"份":{"docs":{},",":{"docs":{},"我":{"docs":{},"以":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"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":{},"划":{"docs":{},"主":{"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":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},"建":{"docs":{},"立":{"docs":{},"f":{"docs":{},"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":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},"、":{"docs":{},"c":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"i":{"docs":{},"e":{"docs":{},"j":{"docs":{},"a":{"docs":{},"r":{"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.02702702702702703}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"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.006211180124223602}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"法":{"docs":{},"连":{"docs":{},"接":{"docs":{},",":{"docs":{},"如":{"docs":{},"图":{"1":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},"docs":{}}}}}}}},"最":{"docs":{},"后":{"docs":{"./":{"ref":"./","tf":0.02702702702702703},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.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":{},",":{"docs":{},"但":{"docs":{},"我":{"docs":{},"对":{"docs":{},"您":{"docs":{},"有":{"docs":{},"个":{"docs":{},"小":{"docs":{},"小":{"docs":{},"的":{"docs":{},"要":{"docs":{},"求":{"docs":{},",":{"docs":{},"希":{"docs":{},"望":{"docs":{},"您":{"docs":{},"在":{"docs":{},"阅":{"docs":{},"读":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"能":{"docs":{},"积":{"docs":{},"极":{"docs":{},"参":{"docs":{},"与":{"docs":{},"到":{"docs":{},"本":{"docs":{},"书":{"docs":{},"的":{"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.02702702702702703}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"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.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"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":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"完":{"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.008264462809917356}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"docs":{},"是":{"docs":{},"使":{"docs":{},"用":{"docs":{},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}},"一":{"docs":{},"步":{"docs":{},":":{"docs":{},"添":{"docs":{},"加":{"docs":{},"多":{"docs":{},"语":{"docs":{},"言":{"docs":{},"支":{"docs":{},"持":{"docs":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894}}}}}}}}}},"就":{"docs":{},"是":{"docs":{},"根":{"docs":{},"据":{"docs":{},"a":{"docs":{},"r":{"docs":{},"b":{"docs":{},"生":{"docs":{},"成":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"文":{"docs":{},"件":{"docs":{},":":{"docs":{"chapter13/intl.html":{"ref":"chapter13/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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"好":{"docs":{},"在":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"只":{"docs":{},"设":{"docs":{},"置":{"docs":{},"一":{"docs":{},"次":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"您":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"中":{"docs":{},"更":{"docs":{},"改":{"docs":{},"它":{"docs":{},",":{"docs":{},"尤":{"docs":{},"其":{"docs":{},"是":{"docs":{},"在":{"docs":{},"动":{"docs":{},"画":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"将":{"docs":{},"其":{"docs":{},"值":{"docs":{},"减":{"docs":{},"小":{"docs":{},",":{"docs":{},"则":{"docs":{},"框":{"docs":{},"架":{"docs":{},"的":{"docs":{},"观":{"docs":{},"察":{"docs":{},"时":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"终":{"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.00425531914893617}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.00425531914893617}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}},"docs":{}},"docs":{}}}}}}}},"绘":{"docs":{},"制":{"docs":{},"由":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"来":{"docs":{},"完":{"docs":{},"成":{"docs":{},"。":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"图":{"5":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}},"docs":{}}}}}},"大":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"数":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}},"本":{"docs":{},"书":{"docs":{},"不":{"docs":{},"适":{"docs":{},"合":{"docs":{},"做":{"docs":{},"为":{"docs":{},"编":{"docs":{},"程":{"docs":{},"的":{"docs":{},"入":{"docs":{},"门":{"docs":{},"读":{"docs":{},"物":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.02702702702702703}}}}}}}}}}}}}}},"官":{"docs":{},"网":{"docs":{},"访":{"docs":{},"问":{"docs":{},"量":{"docs":{},"较":{"docs":{},"大":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"配":{"docs":{},"置":{"docs":{},"有":{"docs":{},"限":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"某":{"docs":{},"些":{"docs":{},"时":{"docs":{},"段":{"docs":{},"访":{"docs":{},"问":{"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":{},"书":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.02702702702702703}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"第":{"docs":{},"一":{"docs":{},"本":{"docs":{},"系":{"docs":{},"统":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"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":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.02702702702702703}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"特":{"docs":{},"色":{"docs":{"./":{"ref":"./","tf":0.02702702702702703}}}},"读":{"docs":{},"者":{"docs":{},"对":{"docs":{},"象":{"docs":{"./":{"ref":"./","tf":0.02702702702702703}}}}}},"后":{"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"docs":{},"在":{"docs":{},"\"":{"docs":{},"功":{"docs":{},"能":{"docs":{},"型":{"docs":{},"组":{"docs":{},"件":{"docs":{},"\"":{"docs":{},"一":{"docs":{},"章":{"docs":{},"中":{"docs":{},"介":{"docs":{},"绍":{"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":{},"与":{"docs":{},"通":{"docs":{},"知":{"docs":{},"\"":{"docs":{},"一":{"docs":{},"章":{"docs":{},"中":{"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/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"章":{"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},"chapter10/":{"ref":"chapter10/","tf":0.16666666666666666},"chapter11/":{"ref":"chapter11/","tf":0.08333333333333333},"chapter13/":{"ref":"chapter13/","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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"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":{},"f":{"docs":{},"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":{},"这":{"docs":{},"将":{"docs":{},"会":{"docs":{},"带":{"docs":{},"来":{"docs":{},"如":{"docs":{},"下":{"docs":{},"好":{"docs":{},"处":{"docs":{},":":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"后":{"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":{},"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":{},"件":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"新":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"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":{},"这":{"docs":{},"个":{"docs":{},"实":{"docs":{},"例":{"docs":{},"的":{"docs":{},"主":{"docs":{},"要":{"docs":{},"目":{"docs":{},"标":{"docs":{},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},":":{"docs":{"chapter15/intro.html":{"ref":"chapter15/intro.html","tf":0.05}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"篇":{"docs":{},"主":{"docs":{},"要":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}}}}},"节":{"docs":{},"将":{"docs":{},"主":{"docs":{},"要":{"docs":{},"介":{"docs":{},"绍":{"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":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"详":{"docs":{},"细":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"f":{"docs":{},"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":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"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":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},"的":{"docs":{},"具":{"docs":{},"体":{"docs":{},"用":{"docs":{},"法":{"docs":{},"。":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"主":{"docs":{},"要":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"了":{"docs":{},"一":{"docs":{},"下":{"docs":{},"f":{"docs":{},"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"组":{"docs":{},"件":{"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.002688172043010753}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}},"解":{"docs":{},"答":{"docs":{},"一":{"docs":{},"下":{"docs":{},"在":{"docs":{},"国":{"docs":{},"际":{"docs":{},"化":{"docs":{},"中":{"docs":{},"常":{"docs":{},"见":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"先":{"docs":{},"对":{"docs":{},"f":{"docs":{},"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":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"框":{"docs":{},"架":{"docs":{},"图":{"docs":{},",":{"docs":{},"如":{"docs":{},"图":{"1":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01}}},"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":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"学":{"docs":{},"习":{"docs":{},"了":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"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":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"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":{},"u":{"docs":{},"i":{"docs":{},"元":{"docs":{},"素":{"docs":{},"的":{"docs":{},"场":{"docs":{},"景":{"docs":{},",":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"将":{"docs":{},"十":{"docs":{},"分":{"docs":{},"实":{"docs":{},"用":{"docs":{},"。":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"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":{},"动":{"docs":{},"画":{"docs":{},"速":{"docs":{},"度":{"docs":{},"。":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"圆":{"docs":{},"形":{"docs":{},"背":{"docs":{},"景":{"docs":{},"渐":{"docs":{},"变":{"docs":{},"进":{"docs":{},"度":{"docs":{},"条":{"docs":{},",":{"docs":{},"它":{"docs":{},"支":{"docs":{},"持":{"docs":{},":":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}}}}}}}}}},"接":{"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"之":{"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"过":{"docs":{},"一":{"docs":{},"个":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},"说":{"docs":{},"明":{"docs":{},"了":{"docs":{},"f":{"docs":{},"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":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"主":{"docs":{},"要":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"从":{"docs":{},"启":{"docs":{},"动":{"docs":{},"到":{"docs":{},"显":{"docs":{},"示":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"。":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}},"会":{"docs":{},"基":{"docs":{},"于":{"docs":{},"前":{"docs":{},"面":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"过":{"docs":{},"的":{"docs":{},"d":{"docs":{},"i":{"docs":{},"o":{"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":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"的":{"docs":{},"业":{"docs":{},"务":{"docs":{},"请":{"docs":{},"求":{"docs":{},"接":{"docs":{},"口":{"docs":{},"。":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"给":{"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"介":{"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.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":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"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":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"组":{"docs":{},"件":{"docs":{},"及":{"docs":{},"两":{"docs":{},"种":{"docs":{},"偏":{"docs":{},"移":{"docs":{},"类":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"过":{"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":{},"现":{"docs":{},"状":{"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":{},"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":{},"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":{},"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":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"设":{"docs":{},"计":{"docs":{},"思":{"docs":{},"想":{"docs":{},"。":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"先":{"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.005649717514124294}}}}}}}}}}}}}}}}}}}}},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"些":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"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":{},"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":{},"。":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"详":{"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":{},"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"换":{"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":{},"据":{"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":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"来":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"入":{"docs":{},"口":{"docs":{},"及":{"docs":{},"首":{"docs":{},"页":{"docs":{},"。":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}},"示":{"docs":{},"例":{"docs":{},"是":{"docs":{},"对":{"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.002824858757062147}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"地":{"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}},"的":{"docs":{},"代":{"docs":{},"理":{"docs":{},"类":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}},"次":{"docs":{},"请":{"docs":{},"求":{"docs":{},"禁":{"docs":{},"用":{"docs":{},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"请":{"docs":{},"求":{"docs":{},"结":{"docs":{},"果":{"docs":{},"也":{"docs":{},"不":{"docs":{},"会":{"docs":{},"被":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"。":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}},"小":{"docs":{},"节":{"docs":{},"我":{"docs":{},"们":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"了":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"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":{},"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":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"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":{},"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":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},":":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"函":{"docs":{},"数":{"docs":{},"中":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"2":{"docs":{},",":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"了":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"和":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"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":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"2":{"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":{},"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":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"权":{"docs":{},"益":{"docs":{"./":{"ref":"./","tf":0.02702702702702703}}}},"由":{"docs":{},"于":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}},"篇":{"docs":{},"幅":{"docs":{},"所":{"docs":{},"限":{"docs":{},",":{"docs":{},"本":{"docs":{},"书":{"docs":{},"中":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"示":{"docs":{},"例":{"docs":{},"代":{"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.02702702702702703}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"子":{"docs":{},"组":{"docs":{},"件":{"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":{},"子":{"docs":{},"组":{"docs":{},"件":{"docs":{},"所":{"docs":{},"占":{"docs":{},"用":{"docs":{},"的":{"docs":{},"实":{"docs":{},"际":{"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.0064516129032258064}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"渲":{"docs":{},"染":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"原":{"docs":{},"生":{"docs":{},"控":{"docs":{},"件":{"docs":{},",":{"docs":{},"不":{"docs":{},"同":{"docs":{},"平":{"docs":{},"台":{"docs":{},"的":{"docs":{},"控":{"docs":{},"件":{"docs":{},"需":{"docs":{},"要":{"docs":{},"单":{"docs":{},"独":{"docs":{},"维":{"docs":{},"护":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"当":{"docs":{},"系":{"docs":{},"统":{"docs":{},"更":{"docs":{},"新":{"docs":{},"时":{"docs":{},",":{"docs":{},"社":{"docs":{},"区":{"docs":{},"控":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0013422818791946308}}}}}}}},"p":{"docs":{},"p":{"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":{},"s":{"docs":{},"”":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"“":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},".":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"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":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},"会":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"国":{"docs":{},"内":{"docs":{},"访":{"docs":{},"问":{"docs":{},"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"缓":{"docs":{},"存":{"docs":{},"策":{"docs":{},"略":{"docs":{},":":{"docs":{},"将":{"docs":{},"请":{"docs":{},"求":{"docs":{},"的":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"作":{"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":{},",":{"docs":{},"另":{"docs":{},"外":{"docs":{},"设":{"docs":{},"置":{"docs":{},"一":{"docs":{},"个":{"docs":{},"最":{"docs":{},"大":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"数":{"docs":{},",":{"docs":{},"当":{"docs":{},"超":{"docs":{},"过":{"docs":{},"最":{"docs":{},"大":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"数":{"docs":{},"后":{"docs":{},"移":{"docs":{},"除":{"docs":{},"最":{"docs":{},"早":{"docs":{},"的":{"docs":{},"一":{"docs":{},"条":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},"也":{"docs":{},"得":{"docs":{},"提":{"docs":{},"供":{"docs":{},"一":{"docs":{},"种":{"docs":{},"针":{"docs":{},"对":{"docs":{},"特":{"docs":{},"定":{"docs":{},"接":{"docs":{},"口":{"docs":{},"或":{"docs":{},"请":{"docs":{},"求":{"docs":{},"决":{"docs":{},"定":{"docs":{},"是":{"docs":{},"否":{"docs":{},"启":{"docs":{},"用":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"的":{"docs":{},"机":{"docs":{},"制":{"docs":{},",":{"docs":{},"这":{"docs":{},"种":{"docs":{},"机":{"docs":{},"制":{"docs":{},"可":{"docs":{},"以":{"docs":{},"指":{"docs":{},"定":{"docs":{},"哪":{"docs":{},"些":{"docs":{},"接":{"docs":{},"口":{"docs":{},"或":{"docs":{},"那":{"docs":{},"次":{"docs":{},"请":{"docs":{},"求":{"docs":{},"不":{"docs":{},"应":{"docs":{},"用":{"docs":{},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"这":{"docs":{},"种":{"docs":{},"机":{"docs":{},"制":{"docs":{},"是":{"docs":{},"很":{"docs":{},"有":{"docs":{},"必":{"docs":{},"要":{"docs":{},"的":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"登":{"docs":{},"录":{"docs":{},"接":{"docs":{},"口":{"docs":{},"就":{"docs":{},"不":{"docs":{},"应":{"docs":{},"该":{"docs":{},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"又":{"docs":{},"比":{"docs":{},"如":{"docs":{},"用":{"docs":{},"户":{"docs":{},"在":{"docs":{},"下":{"docs":{},"拉":{"docs":{},"刷":{"docs":{},"新":{"docs":{},"时":{"docs":{},"就":{"docs":{},"不":{"docs":{},"应":{"docs":{},"该":{"docs":{},"再":{"docs":{},"应":{"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":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"类":{"docs":{},":":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"网":{"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":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"转":{"docs":{},"成":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.015151515151515152}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"本":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"指":{"docs":{},"定":{"docs":{},"了":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856}}}}},"没":{"docs":{},"有":{"docs":{},"指":{"docs":{},"定":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"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":{},"使":{"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":{},"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":{},"为":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"高":{"docs":{},"度":{"docs":{},"。":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"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":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"文":{"docs":{},"件":{"docs":{},"下":{"docs":{},"创":{"docs":{},"建":{"docs":{},"了":{"docs":{},"如":{"docs":{},"下":{"docs":{},"目":{"docs":{},"录":{"docs":{},":":{"docs":{"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.015151515151515152}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"使":{"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":{},"i":{"docs":{},"m":{"docs":{},"g":{"docs":{},"s":{"docs":{},"“":{"docs":{},"和":{"docs":{},"”":{"docs":{},"f":{"docs":{},"o":{"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":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"文":{"docs":{},"件":{"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":{"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.015151515151515152}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"子":{"docs":{},"文":{"docs":{},"本":{"docs":{},"组":{"docs":{},"件":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125}}}}}}}}}}}}}}}}}},"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":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"矩":{"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":{},"组":{"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":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"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":{},"提":{"docs":{},"高":{"docs":{},"性":{"docs":{},"能":{"docs":{},"。":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.00202020202020202}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"列":{"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.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}},"docs":{}},"docs":{}}}}}}},"手":{"docs":{},"势":{"docs":{},"竞":{"docs":{},"争":{"docs":{},"最":{"docs":{},"终":{"docs":{},"只":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"胜":{"docs":{},"出":{"docs":{},"者":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},",":{"docs":{},"当":{"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.0017452006980802793}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"解":{"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":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"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":{},"然":{"docs":{},"后":{"docs":{},"再":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"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":{},"个":{"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":{},"m":{"docs":{},"y":{"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":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"只":{"docs":{},"会":{"docs":{},"在":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"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":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"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":{},"简":{"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":{},"后":{"docs":{},"再":{"docs":{},"里":{"docs":{},"面":{"docs":{},"重":{"docs":{},"新":{"docs":{},"调":{"docs":{},"用":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"即":{"docs":{},"可":{"docs":{},":":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"最":{"docs":{},"终":{"docs":{},"的":{"docs":{},"图":{"docs":{},"形":{"docs":{},"计":{"docs":{},"算":{"docs":{},"和":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"都":{"docs":{},"是":{"docs":{},"由":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"硬":{"docs":{},"件":{"docs":{},"来":{"docs":{},"完":{"docs":{},"成":{"docs":{},",":{"docs":{},"而":{"docs":{},"直":{"docs":{},"接":{"docs":{},"操":{"docs":{},"作":{"docs":{},"硬":{"docs":{},"件":{"docs":{},"的":{"docs":{},"指":{"docs":{},"令":{"docs":{},"通":{"docs":{},"常":{"docs":{},"都":{"docs":{},"会":{"docs":{},"有":{"docs":{},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},"屏":{"docs":{},"蔽":{"docs":{},",":{"docs":{},"应":{"docs":{},"用":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"通":{"docs":{},"常":{"docs":{},"不":{"docs":{},"会":{"docs":{},"直":{"docs":{},"接":{"docs":{},"面":{"docs":{},"对":{"docs":{},"硬":{"docs":{},"件":{"docs":{},",":{"docs":{},"操":{"docs":{},"作":{"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":{},"者":{"docs":{},"在":{"docs":{},"大":{"docs":{},"学":{"docs":{},"时":{"docs":{},"读":{"docs":{},"过":{"docs":{},"候":{"docs":{},"捷":{"docs":{},"(":{"docs":{},"真":{"docs":{},"名":{"docs":{},"侯":{"docs":{},"俊":{"docs":{},"杰":{"docs":{},")":{"docs":{},"写":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"c":{"docs":{},"+":{"docs":{},"+":{"docs":{},"相":{"docs":{},"关":{"docs":{},"书":{"docs":{},"籍":{"docs":{},",":{"docs":{},"在":{"docs":{},"他":{"docs":{},"的":{"docs":{},"《":{"docs":{},"深":{"docs":{},"入":{"docs":{},"浅":{"docs":{},"出":{"docs":{},"m":{"docs":{},"f":{"docs":{},"c":{"docs":{},"》":{"docs":{},"一":{"docs":{},"书":{"docs":{},"中":{"docs":{},",":{"docs":{},"有":{"docs":{},"一":{"docs":{},"句":{"docs":{},"话":{"docs":{},"我":{"docs":{},"映":{"docs":{},"像":{"docs":{},"非":{"docs":{},"常":{"docs":{},"深":{"docs":{"./":{"ref":"./","tf":0.02702702702702703}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"简":{"docs":{},"介":{"docs":{"./":{"ref":"./","tf":0.02702702702702703},"chapter2/":{"ref":"chapter2/","tf":0.1},"chapter9/":{"ref":"chapter9/","tf":0.09090909090909091}}},"称":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}},"化":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"并":{"docs":{},"非":{"docs":{},"源":{"docs":{},"码":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}},"单":{"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":{},"起":{"docs":{"./":{"ref":"./","tf":10.027027027027026}}}},"致":{"docs":{},"谢":{"docs":{"./":{"ref":"./","tf":0.02702702702702703}}}},"虽":{"docs":{},"然":{"docs":{},"f":{"docs":{},"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":{},"f":{"docs":{},"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":{},"f":{"docs":{},"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":{},"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":{},"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":{},"有":{"8":{"0":{"0":{"0":{"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":{},"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.02702702702702703}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"做":{"docs":{},"的":{"docs":{},"事":{"docs":{},"情":{"docs":{},"已":{"docs":{},"经":{"docs":{},"够":{"docs":{},"多":{"docs":{},"了":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"仍":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"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.02702702702702703}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},"比":{"docs":{},"较":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"但":{"docs":{},"它":{"docs":{},"却":{"docs":{},"将":{"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":{},"图":{"7":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"两":{"docs":{},"种":{"docs":{},"方":{"docs":{},"法":{"docs":{},"都":{"docs":{},"可":{"docs":{},"以":{"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.006211180124223602}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"读":{"docs":{},"者":{"docs":{},"最":{"docs":{},"好":{"docs":{},"接":{"docs":{},"触":{"docs":{},"过":{"docs":{},"p":{"docs":{},"c":{"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":{"./":{"ref":"./","tf":0.02702702702702703}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"至":{"docs":{},"少":{"docs":{},"熟":{"docs":{},"悉":{"docs":{},"一":{"docs":{},"种":{"docs":{},"编":{"docs":{},"程":{"docs":{},"语":{"docs":{},"言":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.02702702702702703}}}}}}}}}}}}},"应":{"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.0020964360587002098}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"运":{"docs":{},"行":{"docs":{},"示":{"docs":{},"例":{"docs":{},"看":{"docs":{},"看":{"docs":{},"效":{"docs":{},"果":{"docs":{},"。":{"docs":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513}}}}}}}}}}},"自":{"docs":{},"己":{"docs":{},"运":{"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":{},",":{"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":{},"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":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"此":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"知":{"docs":{},"道":{"docs":{},"帧":{"docs":{},"监":{"docs":{},"听":{"docs":{},"器":{"docs":{},"和":{"docs":{},"状":{"docs":{},"态":{"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.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"取":{"docs":{},"点":{"docs":{},"击":{"docs":{},"次":{"docs":{},"数":{"docs":{},"(":{"docs":{},"以":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},")":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}},"响":{"docs":{},"应":{"docs":{},"内":{"docs":{},"容":{"docs":{},":":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}},"起":{"docs":{},"初":{"docs":{},",":{"docs":{},"我":{"docs":{},"没":{"docs":{},"有":{"docs":{},"出":{"docs":{},"版":{"docs":{},"实":{"docs":{},"体":{"docs":{},"书":{"docs":{},"的":{"docs":{},"打":{"docs":{},"算":{"docs":{},",":{"docs":{},"当":{"docs":{},"时":{"docs":{},"我":{"docs":{},"以":{"docs":{},"为":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"直":{"docs":{},"接":{"docs":{},"通":{"docs":{},"过":{"docs":{},"在":{"docs":{},"线":{"docs":{},"访":{"docs":{},"问":{"docs":{},"本":{"docs":{},"书":{"docs":{},"官":{"docs":{},"网":{"docs":{},"即":{"docs":{},"方":{"docs":{},"便":{"docs":{},"又":{"docs":{},"不":{"docs":{},"用":{"docs":{},"付":{"docs":{},"费":{"docs":{},",":{"docs":{},"何":{"docs":{},"乐":{"docs":{},"而":{"docs":{},"不":{"docs":{},"为":{"docs":{},"。":{"docs":{},"但":{"docs":{},"在":{"docs":{},"本":{"docs":{},"书":{"docs":{},"上":{"docs":{},"线":{"docs":{},"后":{"docs":{},",":{"docs":{},"很":{"docs":{},"多":{"docs":{},"读":{"docs":{},"者":{"docs":{},"来":{"docs":{},"添":{"docs":{},"加":{"docs":{},"微":{"docs":{},"信":{"docs":{},"好":{"docs":{},"友":{"docs":{},",":{"docs":{},"表":{"docs":{},"示":{"docs":{},"非":{"docs":{},"常":{"docs":{},"有":{"docs":{},"收":{"docs":{},"益":{"docs":{},",":{"docs":{},"很":{"docs":{},"期":{"docs":{},"待":{"docs":{},"出":{"docs":{},"版":{"docs":{},"纸":{"docs":{},"质":{"docs":{},"书":{"docs":{},",":{"docs":{},"甚":{"docs":{},"至":{"docs":{},"有":{"docs":{},"比":{"docs":{},"较":{"docs":{},"热":{"docs":{},"心":{"docs":{},"的":{"docs":{},"读":{"docs":{},"者":{"docs":{},"想":{"docs":{},"提":{"docs":{},"前":{"docs":{},"付":{"docs":{},"定":{"docs":{},"金":{"docs":{},"预":{"docs":{},"定":{"docs":{},"!":{"docs":{},"我":{"docs":{},"理":{"docs":{},"解":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"大":{"docs":{},"家":{"docs":{},"对":{"docs":{},"我":{"docs":{},"所":{"docs":{},"做":{"docs":{},"之":{"docs":{},"事":{"docs":{},"的":{"docs":{},"认":{"docs":{},"可":{"docs":{},"和":{"docs":{},"鼓":{"docs":{},"励":{"docs":{},"。":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"到":{"docs":{},",":{"docs":{},"确":{"docs":{},"实":{"docs":{},"有":{"docs":{},"一":{"docs":{},"部":{"docs":{},"分":{"docs":{},"读":{"docs":{},"者":{"docs":{},",":{"docs":{},"尤":{"docs":{},"其":{"docs":{},"是":{"docs":{},"还":{"docs":{},"没":{"docs":{},"毕":{"docs":{},"业":{"docs":{},"的":{"docs":{},"同":{"docs":{},"学":{"docs":{},",":{"docs":{},"可":{"docs":{},"能":{"docs":{},"更":{"docs":{},"喜":{"docs":{},"欢":{"docs":{},"通":{"docs":{},"过":{"docs":{},"书":{"docs":{},"籍":{"docs":{},"去":{"docs":{},"学":{"docs":{},"习":{"docs":{},",":{"docs":{},"为":{"docs":{},"此":{"docs":{},",":{"docs":{},"我":{"docs":{},"已":{"docs":{},"经":{"docs":{},"和":{"docs":{},"机":{"docs":{},"械":{"docs":{},"工":{"docs":{},"业":{"docs":{},"出":{"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.02702702702702703}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"近":{"docs":{},"来":{"docs":{},"在":{"docs":{},"网":{"docs":{},"上":{"docs":{},"发":{"docs":{},"现":{"docs":{},"很":{"docs":{},"多":{"docs":{},"原":{"docs":{},"封":{"docs":{},"不":{"docs":{},"动":{"docs":{},"复":{"docs":{},"制":{"docs":{},"本":{"docs":{},"书":{"docs":{},"的":{"docs":{},"镜":{"docs":{},"像":{"docs":{},"网":{"docs":{},"站":{"docs":{},"和":{"docs":{},"大":{"docs":{},"量":{"docs":{},"复":{"docs":{},"制":{"docs":{},"或":{"docs":{},"引":{"docs":{},"用":{"docs":{},"了":{"docs":{},"本":{"docs":{},"书":{"docs":{},"但":{"docs":{},"未":{"docs":{},"注":{"docs":{},"明":{"docs":{},"出":{"docs":{},"处":{"docs":{},"的":{"docs":{},"博":{"docs":{},"客":{"docs":{},"、":{"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":{},"n":{"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":{},",":{"docs":{},"笔":{"docs":{},"者":{"docs":{},"保":{"docs":{},"留":{"docs":{},"追":{"docs":{},"究":{"docs":{},"其":{"docs":{},"法":{"docs":{},"律":{"docs":{},"责":{"docs":{},"任":{"docs":{},"的":{"docs":{},"权":{"docs":{},"利":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"是":{"docs":{},"非":{"docs":{},"商":{"docs":{},"业":{"docs":{},"目":{"docs":{},"的":{"docs":{},"的":{"docs":{},"转":{"docs":{},"载":{"docs":{},"和":{"docs":{},"引":{"docs":{},"用":{"docs":{},",":{"docs":{},"请":{"docs":{},"注":{"docs":{},"明":{"docs":{},"出":{"docs":{},"处":{"docs":{},"并":{"docs":{},"附":{"docs":{},"上":{"docs":{},"本":{"docs":{},"书":{"docs":{},"网":{"docs":{},"址":{"docs":{},"。":{"docs":{},"另":{"docs":{},"外":{"docs":{},"如":{"docs":{},"有":{"docs":{},"出":{"docs":{},"版":{"docs":{},"机":{"docs":{},"构":{"docs":{},"愿":{"docs":{},"意":{"docs":{},"为":{"docs":{},"本":{"docs":{},"书":{"docs":{},"出":{"docs":{},"版":{"docs":{},"实":{"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":{},"n":{"docs":{"./":{"ref":"./","tf":0.02702702702702703}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"随":{"docs":{},"着":{"docs":{},"学":{"docs":{},"习":{"docs":{},"f":{"docs":{},"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":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.02702702702702703}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"至":{"docs":{},"今":{"docs":{},"每":{"docs":{},"天":{"docs":{},"有":{"3":{"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":{},"护":{"docs":{},"知":{"docs":{},"识":{"docs":{},"产":{"docs":{},"权":{"docs":{},",":{"docs":{},"而":{"docs":{},"直":{"docs":{},"接":{"docs":{},"开":{"docs":{},"源":{"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":{},"f":{"docs":{},"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":{},"常":{"docs":{},"有":{"docs":{},"意":{"docs":{},"义":{"docs":{},"的":{"docs":{},"事":{"docs":{},",":{"docs":{},"只":{"docs":{},"要":{"docs":{},"坚":{"docs":{},"持":{"docs":{},"做":{"docs":{},"对":{"docs":{},"别":{"docs":{},"人":{"docs":{},"有":{"docs":{},"价":{"docs":{},"值":{"docs":{},"的":{"docs":{},"事":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"上":{"docs":{},"帝":{"docs":{},"迟":{"docs":{},"早":{"docs":{},"会":{"docs":{},"奖":{"docs":{},"赏":{"docs":{},"你":{"docs":{},";":{"docs":{},"当":{"docs":{},"然":{"docs":{},"我":{"docs":{},"们":{"docs":{},"也":{"docs":{},"在":{"docs":{},"网":{"docs":{},"站":{"docs":{},"中":{"docs":{},"留":{"docs":{},"了":{"docs":{},"打":{"docs":{},"赏":{"docs":{},"的":{"docs":{},"按":{"docs":{},"钮":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"读":{"docs":{},"者":{"docs":{},"觉":{"docs":{},"得":{"docs":{},"有":{"docs":{},"帮":{"docs":{},"助":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"扫":{"docs":{},"码":{"docs":{},"打":{"docs":{},"赏":{"docs":{},",":{"docs":{},"请":{"docs":{},"笔":{"docs":{},"者":{"docs":{},"喝":{"docs":{},"一":{"docs":{},"杯":{"docs":{},"咖":{"docs":{},"啡":{"docs":{},"。":{"docs":{},"另":{"docs":{},"外":{"docs":{},"由":{"docs":{},"于":{"docs":{},"成":{"docs":{},"书":{"docs":{},"比":{"docs":{},"较":{"docs":{},"仓":{"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":{},"有":{"7":{"8":{"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":{"./":{"ref":"./","tf":0.02702702702702703}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}}}}}}}}}}}},"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"docs":{},"多":{"docs":{},"个":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"则":{"docs":{},"每":{"docs":{},"个":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"偏":{"docs":{},"移":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.002551020408163265}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"此":{"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.0018832391713747645}}}}}}}}}}}}}}}},"采":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"其":{"docs":{},"中":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}},"在":{"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.0013422818791946308}}}}}}}}}}}},"搜":{"docs":{},"索":{"docs":{},"结":{"docs":{},"果":{"docs":{},"列":{"docs":{},"表":{"docs":{},"中":{"docs":{},"选":{"docs":{},"择":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}}},"然":{"docs":{},"后":{"docs":{},"将":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},"打":{"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}},"再":{"docs":{},"上":{"docs":{},"面":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}}}}}},"重":{"docs":{},"启":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}},"下":{"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.002325581395348837}}}}}}}}}}}}}}}}}}},"也":{"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.004807692307692308}}}}}}},"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":{},"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":{},"动":{"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":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}},"灰":{"docs":{},"色":{"docs":{},"为":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},",":{"docs":{},"如":{"docs":{},"图":{"3":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}},"docs":{}}}}}}}}}}}},"表":{"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.013513513513513514}}}}}}}}}}}}}}}}}}},"这":{"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.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"样":{"docs":{},"其":{"docs":{},"他":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"轻":{"docs":{},"松":{"docs":{},"使":{"docs":{},"用":{"docs":{},"它":{"docs":{},"。":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}},"它":{"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":{},"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.00202020202020202}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"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":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"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.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"继":{"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":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"风":{"docs":{},"格":{"docs":{},"的":{"docs":{},"发":{"docs":{},"布":{"docs":{},"者":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"动":{"docs":{},"处":{"docs":{},"理":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"链":{"docs":{},"接":{"docs":{},",":{"docs":{},"定":{"docs":{},"义":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}}}}}}}}}}}},"比":{"docs":{},"如":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"s":{"docs":{},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"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":{},"s":{"docs":{},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{},".":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"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":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"查":{"docs":{},"看":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"s":{"docs":{},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{},"类":{"docs":{},"定":{"docs":{},"义":{"docs":{},"。":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"正":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"这":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"来":{"docs":{},"将":{"docs":{},"动":{"docs":{},"画":{"docs":{},"和":{"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":{},"s":{"docs":{},".":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"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.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"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":{},"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":{},"此":{"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":{},"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":{},"置":{"docs":{},"发":{"docs":{},"生":{"docs":{},"更":{"docs":{},"改":{"docs":{},"时":{"docs":{},",":{"docs":{},"将":{"docs":{},"重":{"docs":{},"建":{"docs":{},"所":{"docs":{},"有":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"它":{"docs":{},"的":{"docs":{},"子":{"docs":{},"组":{"docs":{},"件":{"docs":{},"。":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.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":{},"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.002577319587628866}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"作":{"docs":{},"为":{"docs":{},"参":{"docs":{},"数":{"docs":{},":":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}},"打":{"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"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":{},"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"则":{"docs":{},"独":{"docs":{},"立":{"docs":{},"绘":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.005698005698005698}},"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.0035714285714285713},"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.04},"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.032214765100671144},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.03125},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.005504587155963303},"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.03125},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.008264462809917356},"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.013888888888888888},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.011204481792717087},"chapter14/":{"ref":"chapter14/","tf":0.16666666666666666},"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":0.05555555555555555},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538},"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.015151515151515152},"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}},"简":{"docs":{},"介":{"docs":{"chapter1/":{"ref":"chapter1/","tf":0.2},"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01}}}},"出":{"docs":{},"世":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}},"是":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"高":{"docs":{},",":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}},"性":{"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.01}}}}}}}}}}}}}}}}}}}}}},"与":{"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"原":{"docs":{},"生":{"docs":{},"之":{"docs":{},"间":{"docs":{},"的":{"docs":{},"通":{"docs":{},"信":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"灵":{"docs":{},"活":{"docs":{},"的":{"docs":{},"消":{"docs":{},"息":{"docs":{},"传":{"docs":{},"递":{"docs":{},"方":{"docs":{},"式":{"docs":{},":":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.011494252873563218}}}}}}}}}}}}}}}}}}}}}},"中":{"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"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.002551020408163265}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"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":{},"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.002551020408163265}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"一":{"docs":{},"些":{"docs":{},"剪":{"docs":{},"裁":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"对":{"docs":{},"组":{"docs":{},"件":{"docs":{},"进":{"docs":{},"行":{"docs":{},"剪":{"docs":{},"裁":{"docs":{},"。":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}}}}}}}}}}}}}}}}}}}}},"的":{"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":{},"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":{},"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":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},"定":{"docs":{},"义":{"docs":{},":":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"很":{"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":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"过":{"docs":{},"通":{"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":{},"类":{"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":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"动":{"docs":{},"画":{"docs":{},"抽":{"docs":{},"象":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}},"正":{"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.002577319587628866}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.011494252873563218}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"构":{"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"提":{"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.01}}}}}}}}}}}}}}},",":{"docs":{},"在":{"docs":{},"实":{"docs":{},"际":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},"你":{"docs":{},"可":{"docs":{},"以":{"docs":{},"根":{"docs":{},"据":{"docs":{},"需":{"docs":{},"要":{"docs":{},"随":{"docs":{},"意":{"docs":{},"使":{"docs":{},"用":{"docs":{},"它":{"docs":{},"们":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"必":{"docs":{},"担":{"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":{},"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":{},"组":{"docs":{},"件":{"docs":{},"库":{"docs":{},"之":{"docs":{},"上":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"如":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"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":{},"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":{},"组":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"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":{},"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"自":{"docs":{},"身":{"docs":{},"具":{"docs":{},"有":{"docs":{},"u":{"docs":{},"i":{"docs":{},"外":{"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":{},"是":{"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":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"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":{},"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":{"chapter10/intro.html":{"ref":"chapter10/intro.html","tf":0.04}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"旨":{"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"框":{"docs":{},"架":{"docs":{},"使":{"docs":{},"用":{"docs":{},"函":{"docs":{},"数":{"docs":{},"式":{"docs":{},"流":{"docs":{},",":{"docs":{},"这":{"docs":{},"使":{"docs":{},"得":{"docs":{},"它":{"docs":{},"在":{"docs":{},"很":{"docs":{},"大":{"docs":{},"程":{"docs":{},"度":{"docs":{},"上":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"于":{"docs":{},"底":{"docs":{},"层":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"分":{"docs":{},"配":{"docs":{},"器":{"docs":{},"。":{"docs":{},"因":{"docs":{},"此":{"docs":{},",":{"docs":{},"拥":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"能":{"docs":{},"够":{"docs":{},"有":{"docs":{},"效":{"docs":{},"地":{"docs":{},"处":{"docs":{},"理":{"docs":{},"琐":{"docs":{},"碎":{"docs":{},"任":{"docs":{},"务":{"docs":{},"的":{"docs":{},"内":{"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"本":{"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"结":{"docs":{},"构":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01}}}},"中":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"异":{"docs":{},"常":{"docs":{},"捕":{"docs":{},"获":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}}}}},"对":{"docs":{},"加":{"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":{},"为":{"1":{"0":{"0":{"docs":{},"m":{"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":{},"深":{"docs":{},"入":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"。":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"添":{"docs":{},"加":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01}}}},"还":{"docs":{},"使":{"docs":{},"用":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01}}}}},"\\":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},"的":{"docs":{},"全":{"docs":{},"路":{"docs":{},"径":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}}}},"_":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"_":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}}}}}}},"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}},"依":{"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.0013422818791946308}}}}}}}}}}}},"插":{"docs":{},"件":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}},"默":{"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}},"包":{"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.002551020408163265}}}}}}}}}}}}}}},":":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.01875},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.014423076923076924},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.0078125},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.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":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}}}}}}}}}}}}}}}}}},"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.006557377049180328}}}}}}}}},"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.003278688524590164}}}}}}}}}}}}}}}}}}}}}}}},"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.009836065573770493}},"s":{"docs":{},"(":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}}}}}}}}}}}}}},"异":{"docs":{},"常":{"docs":{},"捕":{"docs":{},"获":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006557377049180328}}}}}},"也":{"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":{},"组":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"o":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}},"(":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.020618556701030927}}}}}}},"的":{"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.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"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":{},"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.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"入":{"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":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"动":{"docs":{},"画":{"docs":{},"简":{"docs":{},"介":{"docs":{"chapter9/":{"ref":"chapter9/","tf":0.09090909090909091},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}},"可":{"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}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"应":{"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":{},"过":{"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.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.011494252873563218}},"*":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},",":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.008264462809917356}}}}}}}}}}}}},"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":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.011494252873563218}}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"d":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.04597701149425287}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}},"p":{"docs":{},"p":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.008264462809917356}},")":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.012396694214876033}}}}}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"*":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}},";":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}},"会":{"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":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}},"从":{"docs":{},"启":{"docs":{},"动":{"docs":{},"到":{"docs":{},"显":{"docs":{},"示":{"docs":{"chapter14/":{"ref":"chapter14/","tf":0.16666666666666666}}}}}}}},"运":{"docs":{},"行":{"docs":{},"机":{"docs":{},"制":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}}}},"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.0037174721189591076}}}}}}}}}}}}}}}}}}},"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.0037174721189591076}}}}}}}}}},"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.0037174721189591076}}}}}}}}}}}},"o":{"docs":{},"a":{"docs":{},"t":{"6":{"4":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.011494252873563218}}}}}}},"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.00404040404040404}},"(":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}},"是":{"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":{},"数":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.00202020202020202}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.00202020202020202}}}}}}}}}}}}}}}},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}},"(":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}},"(":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.012048192771084338},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.01001669449081803},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}},"{":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}},".":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}}}}}},"即":{"docs":{},"扁":{"docs":{},"平":{"docs":{},"按":{"docs":{},"钮":{"docs":{},",":{"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":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.011834319526627219}},"(":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.011834319526627219}},"{":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609}}}},",":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609}}},":":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.03550295857988166}}},";":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609}}},"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.005917159763313609}}}}}}}}}}}}}}}},"参":{"docs":{},"数":{"docs":{},"为":{"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.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":{},"使":{"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":{},"使":{"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":{},"讨":{"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.005917159763313609}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"继":{"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.005917159763313609}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616}}}}}},"a":{"docs":{},"l":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0056179775280898875},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.008385744234800839},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.008113590263691683},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.00967741935483871},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.01818181818181818},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005649717514124294},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.00333889816360601},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.011661807580174927},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.039603960396039604},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.007731958762886598},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.043478260869565216},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.0102880658436214},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.029556650246305417},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.016611295681063124},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.021768707482993196},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.005504587155963303},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0056022408963585435},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.005649717514124294},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.00929368029739777},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.02464788732394366},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}},"和":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}}}},"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.002551020408163265}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.011299435028248588},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.008547008547008548},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.003669724770642202},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.008264462809917356}},"/":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},">":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}},"s":{"docs":{},"\\":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}}}},"(":{"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":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}}},"\"":{"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":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.009433962264150943}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"p":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},".":{"docs":{},"t":{"docs":{},"x":{"docs":{},"t":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.009433962264150943}}}}}}}}}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"$":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.005698005698005698}}}}}}}}}},"f":{"docs":{},".":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}},".":{"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":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}},"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":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}},"e":{"docs":{},"(":{"docs":{},"{":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},".":{"docs":{},"w":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"y":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.005698005698005698}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}},"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.002551020408163265}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006557377049180328},"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}},"c":{"docs":{},"h":{"docs":{},"u":{"docs":{},"n":{"docs":{},"k":{"docs":{},"s":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},")":{"docs":{},".":{"docs":{},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"l":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}},",":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}},";":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.005698005698005698}}}}}}}}}},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}}}}},"t":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.02040816326530612},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},"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.002551020408163265}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.002551020408163265}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"该":{"docs":{},"属":{"docs":{},"性":{"docs":{},"用":{"docs":{},"于":{"docs":{},"在":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"显":{"docs":{},"示":{"docs":{},"空":{"docs":{},"间":{"docs":{},"和":{"docs":{},"图":{"docs":{},"片":{"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.002551020408163265}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"此":{"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":{},"的":{"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":{},"组":{"docs":{},"件":{"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.0078125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}}}},"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.00202020202020202}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.012121212121212121}},"会":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"调":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"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.0020964360587002098}}}}}}}}}}}}}}}}},"动":{"docs":{},"态":{"docs":{},"设":{"docs":{},"置":{"docs":{},"。":{"docs":{},"注":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"只":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"一":{"docs":{},"次":{"docs":{},"该":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},",":{"docs":{},"通":{"docs":{},"常":{"docs":{},"在":{"docs":{},"该":{"docs":{},"回":{"docs":{},"调":{"docs":{},"中":{"docs":{},"做":{"docs":{},"一":{"docs":{},"些":{"docs":{},"一":{"docs":{},"次":{"docs":{},"性":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"如":{"docs":{},"状":{"docs":{},"态":{"docs":{},"初":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"构":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"状":{"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.0020964360587002098}}}}}}}}}}}}}},"隐":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}},"重":{"docs":{},"新":{"docs":{},"构":{"docs":{},"建":{"docs":{},"u":{"docs":{},"i":{"docs":{},"。":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514}}}}}}}}},"是":{"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.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{},"而":{"docs":{},"这":{"docs":{},"个":{"docs":{},"“":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"”":{"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":{},"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":{},"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":{},"果":{"docs":{},"没":{"docs":{},"有":{"docs":{},"使":{"docs":{},"用":{"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":{},"时":{"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":{},"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":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"内":{"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.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":{},"的":{"docs":{},"插":{"docs":{},"值":{"docs":{},"(":{"docs":{},"中":{"docs":{},"间":{"docs":{},"态":{"docs":{},")":{"docs":{},"即":{"docs":{},"可":{"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.008771929824561403}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"自":{"docs":{},"动":{"docs":{},"完":{"docs":{},"成":{"docs":{},"的":{"docs":{},"。":{"docs":{},"必":{"docs":{},"须":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},",":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403}}}}}}}}}}}}}},"的":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}},"连":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"?":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.00303951367781155}}},":":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}},"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.0037174721189591076}},":":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},".":{"docs":{},"i":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}},"t":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.010309278350515464}},"(":{"0":{"docs":{},".":{"2":{"docs":{},",":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}},"docs":{}}},"docs":{}},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"在":{"docs":{},"下":{"docs":{},"面":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},"详":{"docs":{},"细":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"。":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"c":{"docs":{},"i":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}},"o":{"docs":{},"m":{"docs":{},",":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}},"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.010526315789473684}}}}}}}}}}}}}},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015625},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684}}},",":{"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.0078125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}},"e":{"docs":{},")":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}},".":{"docs":{},"u":{"docs":{},"s":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}},",":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.004056795131845842},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.005390835579514825},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.005376344086021506},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.008097165991902834},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.00909090909090909},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.005442176870748299},"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.012145748987854251}}},";":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.012170385395537525},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.00333889816360601},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.011661807580174927},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.009174311926605505},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.017699115044247787},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.005649717514124294},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.007692307692307693}}},"}":{"docs":{},")":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}},"l":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}},"m":{"docs":{},"i":{"docs":{},"l":{"docs":{},"y":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.01171875},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}}}},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.007339449541284404}}}}}}},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602}},"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.006211180124223602}}}}}}}}}},"{":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602}}}}}}}}},"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.018633540372670808},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}},"q":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.00749063670411985},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004651162790697674},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.009181969949916527},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.01694915254237288},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.019943019943019943},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0056022408963585435},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.008215962441314555},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}},"e":{"2":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}},".":{"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.003278688524590164}}}}}}}}}}}}}}}}}},"3":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}},"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.0018726591760299626}}}}}}}}}}}},"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.016853932584269662}}}}},"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.003278688524590164},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}},"(":{"docs":{},"(":{"docs":{},"_":{"docs":{},")":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}},"(":{"docs":{},"[":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}},"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":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0018726591760299626}}}}}}}}}}}}},"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.003278688524590164}}}}}}}}}}}}}}}},"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.003278688524590164}}}}},"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}}},":":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}},"{":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}},"会":{"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":{},"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":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},":":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}}}}}}},":":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"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":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},">":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}},"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.002325581395348837}},"表":{"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.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028}},"c":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.008264462809917356}},"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.003278688524590164},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}},"(":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}},"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/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}},"t":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}},"'":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}},"a":{"docs":{},"t":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}},"(":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}},"{":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}},"(":{"docs":{},"{":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}},"e":{"docs":{},")":{"docs":{},".":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}},"{":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}}}}}}}}}}},".":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"为":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0013477088948787063}}}}}}}}}},"的":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"继":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.018867924528301886}},")":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.009433962264150943}}},".":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"(":{"docs":{},"{":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.009433962264150943}}}}}}}}},":":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}},"e":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},":":{"docs":{},"在":{"docs":{},"子":{"docs":{},"组":{"docs":{},"件":{"docs":{},"之":{"docs":{},"上":{"docs":{},"绘":{"docs":{},"制":{"docs":{},",":{"docs":{},"即":{"docs":{},"前":{"docs":{},"景":{"docs":{},"。":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186}}}}}}}}}}}}}}}},"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.006622516556291391}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866}}}}}},"c":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}},"k":{"docs":{},"了":{"docs":{},"该":{"docs":{},"项":{"docs":{},"目":{"docs":{},"的":{"docs":{},"数":{"docs":{},"量":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}},"c":{"docs":{},"u":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}},"s":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.008086253369272238}},"e":{"1":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}},",":{"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.0013477088948787063}}},"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.0013477088948787063}}}}}}}}}}}}}},"2":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}},",":{"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.0013477088948787063}}},"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.0013477088948787063}}}}}}}}}}}}}},"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.004043126684636119}}}}},")":{"docs":{},";":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}},".":{"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.0013477088948787063}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0026954177897574125}}},"和":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"绑":{"docs":{},"定":{"docs":{},"输":{"docs":{},"入":{"docs":{},"框":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}},"继":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0013477088948787063}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0026954177897574125}},"e":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}},".":{"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.0013477088948787063}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}}}}}}},"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.0013477088948787063}}}}}}}}}}}}},"n":{"docs":{},"t":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.015151515151515152}},"f":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"l":{"docs":{},"i":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}},"y":{"docs":{},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.015625},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.007653061224489796}}},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}},"s":{"docs":{},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.01953125},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.00510204081632653}}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.0078125},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0026954177897574125},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.012903225806451613},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.0035294117647058825}}},"可":{"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.00390625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"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.00390625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"docs":{},"的":{"docs":{},"字":{"docs":{},"体":{"docs":{},"。":{"docs":{},"本":{"docs":{},"节":{"docs":{},"将":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"如":{"docs":{},"何":{"docs":{},"为":{"docs":{},"f":{"docs":{},"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.00390625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"/":{"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.002551020408163265}}}}}}}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"i":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},"i":{"docs":{},"c":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}},":":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}}}}}}}},"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.00202020202020202},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}}}}}}}},":":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}}}}}}}}}}}},"n":{"docs":{},")":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}},")":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}}},"]":{"docs":{},")":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}}}},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}},".":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"w":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.005698005698005698}}}}}}}}}}}}}}}}}},"m":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}},"搭":{"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":0.0013422818791946308}}}}}}}}}}}}}}},"移":{"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":0.0035714285714285713}}}}}}}}},"除":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"的":{"docs":{},"监":{"docs":{},"听":{"docs":{},"器":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}},"第":{"docs":{},"一":{"docs":{},"章":{"docs":{},":":{"docs":{},"起":{"docs":{},"步":{"docs":{"chapter1/":{"ref":"chapter1/","tf":10}}}}}},":":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}},"次":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"比":{"docs":{},"较":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"不":{"docs":{},"在":{"docs":{},"举":{"docs":{},"例":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"来":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"个":{"docs":{},"进":{"docs":{},"度":{"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":{"docs":{},"%":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"。":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"执":{"docs":{},"行":{"docs":{},"循":{"docs":{},"环":{"docs":{},"动":{"docs":{},"画":{"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":{"docs":{},"%":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"。":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}}}}},"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":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"s":{"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":{},"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":{},"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":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"步":{"docs":{},":":{"docs":{},"创":{"docs":{},"建":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"包":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}},"必":{"docs":{},"要":{"docs":{},"目":{"docs":{},"录":{"docs":{"chapter13/intl.html":{"ref":"chapter13/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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"章":{"docs":{},":":{"docs":{},"基":{"docs":{},"础":{"docs":{},"组":{"docs":{},"件":{"docs":{"chapter3/":{"ref":"chapter3/","tf":10}}}}}}}},"步":{"docs":{},":":{"docs":{},"添":{"docs":{},"加":{"docs":{},"需":{"docs":{},"要":{"docs":{},"国":{"docs":{},"际":{"docs":{},"化":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{"chapter13/intl.html":{"ref":"chapter13/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.0035714285714285713}}}}}}}}}}}}}}},"章":{"docs":{},":":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"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":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"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":{},"布":{"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":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"包":{"docs":{},"括":{"docs":{},":":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"层":{"docs":{},"为":{"docs":{},"手":{"docs":{},"势":{"docs":{},",":{"docs":{},"描":{"docs":{},"述":{"docs":{},"由":{"docs":{},"一":{"docs":{},"个":{"docs":{},"或":{"docs":{},"多":{"docs":{},"个":{"docs":{},"指":{"docs":{},"针":{"docs":{},"移":{"docs":{},"动":{"docs":{},"组":{"docs":{},"成":{"docs":{},"的":{"docs":{},"语":{"docs":{},"义":{"docs":{},"动":{"docs":{},"作":{"docs":{},",":{"docs":{},"如":{"docs":{},"拖":{"docs":{},"动":{"docs":{},"、":{"docs":{},"缩":{"docs":{},"放":{"docs":{},"、":{"docs":{},"双":{"docs":{},"击":{"docs":{},"等":{"docs":{},"。":{"docs":{},"本":{"docs":{},"章":{"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":{"chapter13/intl.html":{"ref":"chapter13/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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"章":{"docs":{},":":{"docs":{},"布":{"docs":{},"局":{"docs":{},"类":{"docs":{},"组":{"docs":{},"件":{"docs":{"chapter4/":{"ref":"chapter4/","tf":10}}}}}}}}},"步":{"docs":{},":":{"docs":{},"生":{"docs":{},"成":{"docs":{},"a":{"docs":{},"r":{"docs":{},"b":{"docs":{},"文":{"docs":{},"件":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}}}}}},"五":{"docs":{},"章":{"docs":{},":":{"docs":{},"容":{"docs":{},"器":{"docs":{},"类":{"docs":{},"组":{"docs":{},"件":{"docs":{"chapter5/":{"ref":"chapter5/","tf":10}}}}}}}}},"步":{"docs":{},":":{"docs":{},"生":{"docs":{},"成":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"代":{"docs":{},"码":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}},"六":{"docs":{},"章":{"docs":{},":":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"组":{"docs":{},"件":{"docs":{"chapter6/":{"ref":"chapter6/","tf":10}}}}}}}}}},"七":{"docs":{},"章":{"docs":{},":":{"docs":{},"功":{"docs":{},"能":{"docs":{},"型":{"docs":{},"组":{"docs":{},"件":{"docs":{"chapter7/":{"ref":"chapter7/","tf":10}}}}}}}}}},"八":{"docs":{},"章":{"docs":{},":":{"docs":{},"事":{"docs":{},"件":{"docs":{},"处":{"docs":{},"理":{"docs":{},"与":{"docs":{},"通":{"docs":{},"知":{"docs":{"chapter8/":{"ref":"chapter8/","tf":10}}}}}}}}}}}},"九":{"docs":{},"章":{"docs":{},":":{"docs":{},"动":{"docs":{},"画":{"docs":{"chapter9/":{"ref":"chapter9/","tf":10}}}}}}},"十":{"docs":{},"章":{"docs":{},":":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"组":{"docs":{},"件":{"docs":{"chapter10/":{"ref":"chapter10/","tf":10}}}}}}}}},"一":{"docs":{},"章":{"docs":{},":":{"docs":{},"文":{"docs":{},"件":{"docs":{},"操":{"docs":{},"作":{"docs":{},"与":{"docs":{},"网":{"docs":{},"络":{"docs":{},"请":{"docs":{},"求":{"docs":{"chapter11/":{"ref":"chapter11/","tf":10}}}}}}}}}}}}}},"二":{"docs":{},"章":{"docs":{},":":{"docs":{},"包":{"docs":{},"与":{"docs":{},"插":{"docs":{},"件":{"docs":{"chapter12/":{"ref":"chapter12/","tf":10}}}}}}}}},"三":{"docs":{},"章":{"docs":{},":":{"docs":{},"国":{"docs":{},"际":{"docs":{},"化":{"docs":{"chapter13/":{"ref":"chapter13/","tf":10}}}}}}}},"四":{"docs":{},"章":{"docs":{},":":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"核":{"docs":{},"心":{"docs":{},"原":{"docs":{},"理":{"docs":{"chapter14/":{"ref":"chapter14/","tf":10}}}}}}}}}}}}}}}},"五":{"docs":{},"章":{"docs":{},":":{"docs":{},"一":{"docs":{},"个":{"docs":{},"完":{"docs":{},"整":{"docs":{},"的":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{"chapter15/intro.html":{"ref":"chapter15/intro.html","tf":10}}}}}}}}}}}}}}}}}}}}},"(":{"1":{"0":{"0":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}},"docs":{}},"7":{"5":{"3":{"9":{"docs":{},")":{"docs":{},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0034904013961605585}}}}},"docs":{}},"docs":{}},"6":{"6":{"6":{"docs":{},")":{"docs":{},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0056179775280898875}}}}},"docs":{}},"docs":{}},"docs":{}},"8":{"5":{"4":{"5":{"docs":{},")":{"docs":{},":":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.022935779816513763}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"2":{"7":{"8":{"9":{"6":{"docs":{},")":{"docs":{},":":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004651162790697674}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"6":{"4":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616}}},"docs":{}},"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0425531914893617},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.018867924528301886},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.011299435028248588},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0034904013961605585}},"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.0035714285714285713}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"x":{"docs":{},"*":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},"/":{"2":{"docs":{},"+":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},"/":{"2":{"docs":{},",":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}},"docs":{}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"g":{"docs":{},")":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}}}}},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.011299435028248588}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0035714285714285713}}}}}}}}}},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}},"e":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.008264462809917356}}}}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001669449081803005}},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"s":{"docs":{},")":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.005235602094240838}},"{":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.005235602094240838}}}}}}}}}},"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.0017452006980802793}}}}}}}}}}}},"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.0017452006980802793}}}}}}}}}}},"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.010471204188481676}}}}}}}}}}}}}}}}},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856}}}}}}}}}},"o":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"d":{"docs":{},"a":{"docs":{},"p":{"docs":{},"t":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}},"简":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}},"c":{"docs":{},"m":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.004026845637583893}}}},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001669449081803005}},")":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.0069767441860465115},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.005454545454545455},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.005008347245409015},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.004705882352941176}},"{":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004651162790697674},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.005454545454545455},"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},"=":{"docs":{},">":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"b":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602}}}}}}}}}}}}},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.006134969325153374},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0058309037900874635},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.009302325581395349},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}}}}}}}},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}},"t":{"docs":{},"x":{"docs":{},")":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}},"h":{"docs":{},"u":{"docs":{},"n":{"docs":{},"k":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.008547008547008548}}}}},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.003766478342749529}},".":{"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.0018832391713747645}}}}}}}}}}}}}},"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.0018832391713747645}}}}}}}}}}}}}}}}}}}},"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.0018832391713747645}}}}}}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},".":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}},".":{"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.008264462809917356}}}}}}},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"命":{"docs":{},"令":{"docs":{},"行":{"docs":{},"工":{"docs":{},"具":{"docs":{},")":{"docs":{},";":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}}},"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}},"x":{"docs":{},"i":{"docs":{},"m":{"docs":{},"u":{"docs":{},"m":{"docs":{},"s":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"b":{"docs":{},"y":{"docs":{},"t":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}},"不":{"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.0013422818791946308}}}}}}}}},"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.0013422818791946308}}}}}}}}}}}}}}}}},"透":{"docs":{},"明":{"docs":{},"度":{"docs":{},")":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}},"如":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},"m":{"docs":{},"y":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},")":{"docs":{},",":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}},"果":{"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.004807692307692308}}}}}}}}}}}}}}}},"带":{"docs":{},"有":{"docs":{},"闪":{"docs":{},"电":{"docs":{},"⚡":{"docs":{},"️":{"docs":{},"图":{"docs":{},"标":{"docs":{},"的":{"docs":{},"按":{"docs":{},"钮":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},"也":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"绿":{"docs":{},"色":{"docs":{},"圆":{"docs":{},"形":{"docs":{},"箭":{"docs":{},"头":{"docs":{},"按":{"docs":{},"钮":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}}},"输":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}},"运":{"docs":{},"行":{"docs":{},"、":{"docs":{},"调":{"docs":{},"试":{"docs":{},"、":{"docs":{},"热":{"docs":{},"重":{"docs":{},"载":{"docs":{},"等":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}}}}},")":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.009363295880149813},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.009302325581395349},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.030120481927710843},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.005390835579514825},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00404040404040404},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.005454545454545455},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.01669449081803005},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.006980802792321117},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0058309037900874635},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.006644518272425249},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.00823529411764706},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.012658227848101266}},"{":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}},"e":{"docs":{},")":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006557377049180328},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}},"{":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}}},",":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.01694915254237288}},"=":{"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.005649717514124294}}}}}}},"u":{"docs":{},"p":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.014814814814814815}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}}}}}}},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"?":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}},"n":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.00303951367781155}},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.014245014245014245},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}},")":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},")":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}},"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.0018832391713747645}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},")":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}}}}}}}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005154639175257732},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.004081632653061225}}}}}},"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.003067484662576687}}}}}}}}}}},"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.0017452006980802793}}}}}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},")":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.010582010582010581},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},")":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}}}}}}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},".":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}},"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.0018832391713747645}}}}}}}}}}}}}}},"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":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"(":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},")":{"docs":{},")":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.001519756838905775}}}}}}},"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.005649717514124294}}}}}}}},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"e":{"docs":{},"v":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}}}}}}}},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"v":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856}}}}}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}},"语":{"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.001519756838905775}}}}}}}}}}}}}}},"f":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}},"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.006557377049180328}}}}}}}}}}}}},"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},".":{"docs":{},"x":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}},"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.006557377049180328}}}}}}},"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.003278688524590164},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}}}}}}}}}},"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":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}}}}}}},"w":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.005649717514124294}}}}}},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"[":{"docs":{},"\"":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"\"":{"docs":{},"]":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}},"n":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"\"":{"docs":{},"]":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}}},"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.006557377049180328}}}}}},"译":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},")":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.004043126684636119},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.007692307692307693}}},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}},"e":{"docs":{},",":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}},"r":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}}}},"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028}}}}}}}}}}}}}}}}},"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.04}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408},"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}}}}},"_":{"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.002688172043010753}}}}}}}}},"[":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"]":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}}}}}}}}}},"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.003067484662576687}}}}}}}},"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":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"b":{"docs":{},"y":{"docs":{},"t":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}},"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.012195121951219513}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}},"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.0018832391713747645}}}}}}}}}},"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.0018832391713747645}}}}}}}}}}}}}}}}}},"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},".":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}},"e":{"docs":{},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}}}}}},"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":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}},"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.01881720430107527},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.015873015873015872},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.008347245409015025},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005154639175257732},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.0035294117647058825}}}}}}}}}}}}},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.00333889816360601}},")":{"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}}}}},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}},"y":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"b":{"docs":{},"y":{"docs":{},"t":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}},"当":{"docs":{},"前":{"docs":{},"语":{"docs":{},"言":{"docs":{},"环":{"docs":{},"境":{"docs":{},")":{"docs":{},"信":{"docs":{},"息":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00823045267489712}},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},",":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},".":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},")":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"v":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}},"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.0058309037900874635}},"{":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.008746355685131196}}}},".":{"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.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}},"s":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.011494252873563218}}}}}}}},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"u":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}}}}}},"e":{"docs":{},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.008547008547008548}}}}},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}},"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.007434944237918215}}}}}}}},"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.0018587360594795538}}}}}}}}}}}},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{},")":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.005813953488372093}}}}}}}}}},"k":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{},",":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{},")":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}},"?":{"docs":{},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}},"或":{"docs":{},"者":{"docs":{},"在":{"docs":{},"编":{"docs":{},"辑":{"docs":{},"器":{"docs":{},"中":{"docs":{},"点":{"docs":{},"击":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}},"\"":{"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}},"[":{"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}},"!":{"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.0018832391713747645}}}}}}}}}}}}},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},".":{"docs":{},"i":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},".":{"docs":{},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},".":{"docs":{},"i":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},")":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},".":{"docs":{},"i":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},")":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}},"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":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},".":{"docs":{},"n":{"docs":{},"o":{"docs":{},"w":{"docs":{},"(":{"docs":{},")":{"docs":{},".":{"docs":{},"m":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"c":{"docs":{},"h":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"_":{"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":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}},"x":{"5":{"0":{"9":{"docs":{},"c":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}},".":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}},";":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}},",":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}},";":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}}}},"2":{"docs":{},";":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.006644518272425249}}}},"5":{"docs":{},",":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.013215859030837005},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},"/":{"docs":{},"/":{"docs":{},"宽":{"docs":{},"度":{"docs":{},"设":{"docs":{},"为":{"docs":{},"原":{"docs":{},"来":{"docs":{},"宽":{"docs":{},"度":{"docs":{},"一":{"docs":{},"半":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}},",":{"docs":{},"另":{"docs":{},"一":{"docs":{},"半":{"docs":{},"会":{"docs":{},"溢":{"docs":{},"出":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}}}}}}}}}}}}}}}}}}}}}},"7":{"5":{"docs":{},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}}}},"docs":{},",":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.00881057268722467}}}},"8":{"docs":{},",":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}},"9":{"8":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}}},"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}},"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},".":{"docs":{},".":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713},"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.009363295880149813},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.009302325581395349},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.004559270516717325},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.019672131147540985},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.018072289156626505},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.00510204081632653},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.012129380053908356},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.00881057268722467},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.026490066225165563},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.01818181818181818},"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.05263157894736842},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.021505376344086023},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.018404907975460124},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.004173622704507512},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.011299435028248588},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.014814814814814815},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.020833333333333332},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.024242424242424242},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.026365348399246705},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.013011152416356878},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.007042253521126761},"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}},"/":{"docs":{},"/":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},"省":{"docs":{},"略":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001669449081803005},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856}},"无":{"docs":{},"关":{"docs":{},"代":{"docs":{},"码":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}},"重":{"docs":{},"复":{"docs":{},"代":{"docs":{},"码":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}},"其":{"docs":{},"余":{"docs":{},"代":{"docs":{},"码":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}},"它":{"docs":{},"字":{"docs":{},"段":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}},",":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}}},";":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}},".":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}},"省":{"docs":{},"略":{"docs":{},"具":{"docs":{},"体":{"docs":{},"实":{"docs":{},"现":{"docs":{},"代":{"docs":{},"码":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}}}}}}}}}}},"/":{"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.00625}}},"docs":{}}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}},"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.0018587360594795538}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}},"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.005154639175257732}}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.00909090909090909}},"=":{"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":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}}}}}},"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":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.00909090909090909},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}},"c":{"docs":{},"a":{"docs":{},"p":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.013636363636363636},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}},"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.0026954177897574125}}}}}}}},"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.0013477088948787063},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0064516129032258064},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}}},"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.0013477088948787063}}}}}}}}}}}}}},"a":{"docs":{},"d":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"(":{"docs":{},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"m":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0026954177897574125}}}}}}},"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.014492753623188406}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}},")":{"docs":{},";":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0064516129032258064}}}}}}}}}}}}}},"”":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0026954177897574125}}},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"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":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"d":{"docs":{},"(":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"(":{"2":{"0":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},";":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"(":{"docs":{},"(":{"docs":{},"c":{"docs":{},")":{"docs":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0064516129032258064}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}},"/":{"docs":{},"m":{"docs":{},"o":{"docs":{},".":{"docs":{},"s":{"docs":{},"h":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},".":{"docs":{},"s":{"docs":{},"h":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}}}},"'":{"docs":{},";":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},".":{"docs":{},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"a":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},",":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{},"w":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"(":{"docs":{},"(":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}},"/":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.004026845637583893},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.00909090909090909},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.005442176870748299},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.011396011396011397},"chapter11/socket.html":{"ref":"chapter11/socket.html","tf":0.02857142857142857},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}},"/":{"1":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}},".":{"docs":{},"设":{"docs":{},"置":{"docs":{},"文":{"docs":{},"本":{"docs":{},"默":{"docs":{},"认":{"docs":{},"样":{"docs":{},"式":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}}}}}}}}}}},"2":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}},".":{"docs":{},"不":{"docs":{},"继":{"docs":{},"承":{"docs":{},"默":{"docs":{},"认":{"docs":{},"样":{"docs":{},"式":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}}}}}}}}}},"3":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}},"像":{"docs":{},"素":{"docs":{},"圆":{"docs":{},"角":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186}}}}}}},"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.02247191011235955},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.018604651162790697},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.00303951367781155},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006557377049180328},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.02028397565922921},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.0078125},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.012755102040816327},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.01752021563342318},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.02643171806167401},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.009900990099009901},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.013245033112582781},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.022222222222222223},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.01935483870967742},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.025454545454545455},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005649717514124294},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.031746031746031744},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.02671118530884808},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.02040816326530612},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00823045267489712},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.009852216748768473},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.013289036544850499},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.006802721088435374},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.01694915254237288},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.005698005698005698},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101},"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.014285714285714285},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.008264462809917356},"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.041666666666666664},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.02654867256637168},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0056022408963585435},"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.08},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.009416195856873822},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.040892193308550186},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.035211267605633804},"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.08097165991902834},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.045454545454545456},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.03197674418604651},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.01647058823529412},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.023076923076923078},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.012658227848101266}},"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"打":{"docs":{},"印":{"docs":{},"机":{"docs":{},"型":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}}}},"手":{"docs":{},"指":{"docs":{},"按":{"docs":{},"下":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"(":{"docs":{},"相":{"docs":{},"对":{"docs":{},"于":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},")":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}}}}}}}}}}},"滑":{"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.0017452006980802793}}}}}}}}}}}}}}}},"通":{"docs":{},"知":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}},"开":{"docs":{},"b":{"docs":{},"路":{"docs":{},"由":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"连":{"docs":{},"接":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}},"注":{"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.0035714285714285713}}}}}}}}}}}}}}},"路":{"docs":{},"由":{"docs":{},"表":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004651162790697674}}}}},"首":{"docs":{},"页":{"docs":{},"路":{"docs":{},"由":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}},"依":{"docs":{},"赖":{"docs":{},"关":{"docs":{},"系":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}},"直":{"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.0035714285714285713}}}}}}}}}}},"添":{"docs":{},"加":{"docs":{},"这":{"docs":{},"一":{"docs":{},"句":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}},"一":{"docs":{},"个":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"表":{"docs":{},"示":{"docs":{},"是":{"docs":{},"否":{"docs":{},"建":{"docs":{},"立":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"关":{"docs":{},"系":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}},"监":{"docs":{},"听":{"docs":{},"器":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}},"订":{"docs":{},"阅":{"docs":{},"者":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}},"l":{"docs":{},"e":{"docs":{},"为":{"docs":{},"证":{"docs":{},"书":{"docs":{},"路":{"docs":{},"径":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}},"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.005917159763313609}}}}}}}},"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.005917159763313609}}}}}}}}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0056179775280898875},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866}}}}}},"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},"面":{"docs":{},"代":{"docs":{},"码":{"docs":{},"没":{"docs":{},"有":{"docs":{},"问":{"docs":{},"题":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}},"效":{"docs":{},"果":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}}},"生":{"docs":{},"成":{"docs":{},"模":{"docs":{},"板":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}},"划":{"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.002688172043010753}}}}}}}}}}}}}}}}}},"载":{"docs":{},"图":{"docs":{},"片":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}},"不":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}},"剪":{"docs":{},"裁":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}}},"足":{"1":{"0":{"0":{"docs":{},"条":{"docs":{},",":{"docs":{},"继":{"docs":{},"续":{"docs":{},"获":{"docs":{},"取":{"docs":{},"数":{"docs":{},"据":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"同":{"docs":{},"的":{"docs":{},"类":{"docs":{},"使":{"docs":{},"用":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"m":{"docs":{},"i":{"docs":{},"x":{"docs":{},"i":{"docs":{},"n":{"docs":{},"即":{"docs":{},"可":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}},"能":{"docs":{},"正":{"docs":{},"常":{"docs":{},"工":{"docs":{},"作":{"docs":{},"!":{"docs":{"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02}}}}}}}}},"保":{"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.0018726591760299626}}}}}}}}}}}}}}}},"回":{"docs":{},"调":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"数":{"docs":{},"据":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}}}}}}}},"进":{"docs":{},"度":{"docs":{},"百":{"docs":{},"分":{"docs":{},"比":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}}}}},"事":{"docs":{},"件":{"docs":{},"名":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}},"订":{"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.007407407407407408}}}}}}}}}}}}}}}}}}}}}}}}}}}},"单":{"docs":{},"例":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"变":{"docs":{},"更":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}}}},"先":{"docs":{},"分":{"docs":{},"别":{"docs":{},"定":{"docs":{},"义":{"docs":{},"各":{"docs":{},"个":{"docs":{},"异":{"docs":{},"步":{"docs":{},"任":{"docs":{},"务":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}}}}}},"正":{"docs":{},"向":{"docs":{},"执":{"docs":{},"行":{"docs":{},"动":{"docs":{},"画":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}}}}}}}},"可":{"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.0018726591760299626}}}}}}}}}}}}}}}},"直":{"docs":{},"接":{"docs":{},"添":{"docs":{},"加":{"docs":{},"输":{"docs":{},"入":{"docs":{},"流":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}},"滚":{"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.002688172043010753}}}}}}}}}}}}}}},"执":{"docs":{},"行":{"docs":{},"失":{"docs":{},"败":{"docs":{},"会":{"docs":{},"走":{"docs":{},"到":{"docs":{},"这":{"docs":{},"里":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.003745318352059925}}}}}}}}},"成":{"docs":{},"功":{"docs":{},"会":{"docs":{},"走":{"docs":{},"到":{"docs":{},"这":{"docs":{},"里":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.003745318352059925}}}}}}}}},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.003745318352059925}}}}}}}},"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.003278688524590164}}}}}}}}},"删":{"docs":{},"除":{"docs":{},"操":{"docs":{},"作":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}},"缩":{"docs":{},"放":{"docs":{},"动":{"docs":{},"画":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}},"报":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}},"告":{"docs":{},"错":{"docs":{},"误":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}}}}},"无":{"docs":{},"论":{"docs":{},"成":{"docs":{},"功":{"docs":{},"或":{"docs":{},"失":{"docs":{},"败":{"docs":{},"都":{"docs":{},"会":{"docs":{},"走":{"docs":{},"到":{"docs":{},"这":{"docs":{},"里":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}}}}}}}}},"用":{"docs":{},"户":{"docs":{},"登":{"docs":{},"录":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}},"名":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}},"手":{"docs":{},"指":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"时":{"docs":{},",":{"docs":{},"更":{"docs":{},"新":{"docs":{},"偏":{"docs":{},"移":{"docs":{},",":{"docs":{},"重":{"docs":{},"新":{"docs":{},"构":{"docs":{},"建":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}}}}}}}}}}}},"名":{"docs":{},"字":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}},"头":{"docs":{},"像":{"docs":{},"地":{"docs":{},"址":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"可":{"docs":{},"能":{"docs":{},"是":{"docs":{},"组":{"docs":{},"织":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}},"信":{"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":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"未":{"docs":{},"登":{"docs":{},"录":{"docs":{},",":{"docs":{},"显":{"docs":{},"示":{"docs":{},"登":{"docs":{},"录":{"docs":{},"按":{"docs":{},"钮":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}},"于":{"docs":{},"记":{"docs":{},"录":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"点":{"docs":{},"击":{"docs":{},"的":{"docs":{},"总":{"docs":{},"次":{"docs":{},"数":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}}}}}}}}}},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"颜":{"docs":{},"色":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}},"导":{"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.002824858757062147}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"到":{"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.0017452006980802793}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"登":{"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.0018726591760299626}}}}}}}}}}}}},"触":{"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.007407407407407408}}}}}}}}}}}}}}}}}}}},"更":{"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":{},"所":{"docs":{},"有":{"docs":{},"请":{"docs":{},"求":{"docs":{},"都":{"docs":{},"会":{"docs":{},"带":{"docs":{},"上":{"docs":{},"用":{"docs":{},"户":{"docs":{},"身":{"docs":{},"份":{"docs":{},"信":{"docs":{},"息":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"状":{"docs":{},"态":{"docs":{},"变":{"docs":{},"化":{"docs":{},"处":{"docs":{},"理":{"docs":{},"逻":{"docs":{},"辑":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}},"页":{"docs":{},"b":{"docs":{},"中":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}}}}},"失":{"docs":{},"败":{"docs":{},"则":{"docs":{},"提":{"docs":{},"示":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}},"结":{"docs":{},"果":{"docs":{},"是":{"docs":{},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}},"b":{"docs":{},"o":{"docs":{},"b":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}}},"获":{"docs":{},"取":{"docs":{},"用":{"docs":{},"户":{"docs":{},"信":{"docs":{},"息":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}},"后":{"docs":{},"保":{"docs":{},"存":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}},"项":{"docs":{},"目":{"docs":{},"列":{"docs":{},"表":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}},"路":{"docs":{},"由":{"docs":{},"参":{"docs":{},"数":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}}}}}}},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{},"大":{"docs":{},"小":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}}}}}}},"主":{"docs":{},"题":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}}}}}},"设":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}},"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.0013477088948787063}}}}}}}}},"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}},"代":{"docs":{},"理":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}},"错":{"docs":{},"误":{"docs":{},"处":{"docs":{},"理":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.003745318352059925}}}}}},"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.0024330900243309003}}}}}}}}}},"r":{"docs":{},"t":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}},"应":{"docs":{},"用":{"docs":{},"名":{"docs":{},"称":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}},"首":{"docs":{},"页":{"docs":{},"路":{"docs":{},"由":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}}}},"主":{"docs":{},"页":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}},"所":{"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"暴":{"docs":{},"露":{"docs":{},"给":{"docs":{},"其":{"docs":{},"子":{"docs":{},"类":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}}}}}},"由":{"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"本":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"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":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"蓝":{"docs":{},"色":{"docs":{},"主":{"docs":{},"题":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}}}},".":{"docs":{},".":{"docs":{},".":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894}},"省":{"docs":{},"略":{"docs":{},"无":{"docs":{},"关":{"docs":{},"代":{"docs":{},"码":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}},"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.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}},"}":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}},"名":{"docs":{},"为":{"docs":{},"\"":{"docs":{},"/":{"docs":{},"\"":{"docs":{},"的":{"docs":{},"路":{"docs":{},"由":{"docs":{},"作":{"docs":{},"为":{"docs":{},"应":{"docs":{},"用":{"docs":{},"的":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},"首":{"docs":{},"页":{"docs":{},")":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}}}}}}}}}}}}},"导":{"docs":{},"航":{"docs":{},"到":{"docs":{},"新":{"docs":{},"路":{"docs":{},"由":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}},"栏":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}},"右":{"docs":{},"侧":{"docs":{},"菜":{"docs":{},"单":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}},"最":{"docs":{},"左":{"docs":{},"侧":{"docs":{},"w":{"docs":{},"i":{"docs":{},"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.00202020202020202}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"入":{"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.0020964360587002098}}}}}}}}}}}}},"省":{"docs":{},"略":{"docs":{},"无":{"docs":{},"关":{"docs":{},"代":{"docs":{},"码":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.0069767441860465115},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.006060606060606061},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.005376344086021506},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.00333889816360601},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.005868544600938967}}}}}},"其":{"docs":{},"它":{"docs":{},"事":{"docs":{},"件":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}},"字":{"docs":{},"段":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}},"输":{"docs":{},"出":{"docs":{},"`":{"docs":{},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"`":{"docs":{},"路":{"docs":{},"由":{"docs":{},"返":{"docs":{},"回":{"docs":{},"结":{"docs":{},"果":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}}}}}}}},"响":{"docs":{},"应":{"docs":{},"头":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"目":{"docs":{},"录":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"用":{"docs":{},"户":{"docs":{},"的":{"docs":{},"姓":{"docs":{},"名":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}},"入":{"docs":{},"框":{"docs":{},"光":{"docs":{},"标":{"docs":{},"颜":{"docs":{},"色":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}},"上":{"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.003278688524590164}}}}}}}}}},"下":{"docs":{},"各":{"docs":{},"添":{"docs":{},"加":{"8":{"docs":{},"像":{"docs":{},"素":{"docs":{},"补":{"docs":{},"白":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684}}}}}}},"docs":{}}}},"左":{"docs":{},"右":{"docs":{},"各":{"docs":{},"添":{"docs":{},"加":{"1":{"6":{"docs":{},"像":{"docs":{},"素":{"docs":{},"补":{"docs":{},"白":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684}}}}}}},"docs":{}},"docs":{}}}}}}},"次":{"docs":{},"点":{"docs":{},"击":{"docs":{},"时":{"docs":{},"间":{"docs":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513}}}}}}},"入":{"docs":{},"下":{"docs":{},"出":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}},"收":{"docs":{},"集":{"docs":{},"日":{"docs":{},"志":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}}}}},"构":{"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.003278688524590164}}}}}}}},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{},"内":{"docs":{},"部":{"docs":{},"u":{"docs":{},"i":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}},"功":{"docs":{},"能":{"docs":{},"菜":{"docs":{},"单":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}},"抽":{"docs":{},"屉":{"docs":{},"菜":{"docs":{},"单":{"docs":{},"头":{"docs":{},"部":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}},"语":{"docs":{},"言":{"docs":{},"选":{"docs":{},"择":{"docs":{},"项":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}}}}}}},"调":{"docs":{},"用":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},"了":{"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.003278688524590164}}}}}}}}}}}},"我":{"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.004201680672268907}}}}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"状":{"docs":{},"态":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}},"全":{"docs":{},"局":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"会":{"docs":{},"在":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"执":{"docs":{},"行":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}},"网":{"docs":{},"络":{"docs":{},"请":{"docs":{},"求":{"docs":{},"相":{"docs":{},"关":{"docs":{},"配":{"docs":{},"置":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}},"值":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}}}}}},"点":{"docs":{},"击":{"docs":{},"后":{"docs":{},"计":{"docs":{},"数":{"docs":{},"器":{"docs":{},"自":{"docs":{},"增":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}}}}},"将":{"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"时":{"docs":{},",":{"docs":{},"水":{"docs":{},"波":{"docs":{},"动":{"docs":{},"画":{"docs":{},"中":{"docs":{},"水":{"docs":{},"波":{"docs":{},"的":{"docs":{},"颜":{"docs":{},"色":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}}}}}}}}}}}},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"遮":{"docs":{},"罩":{"docs":{},")":{"docs":{},"时":{"docs":{},"是":{"docs":{},"否":{"docs":{},"关":{"docs":{},"闭":{"docs":{},"它":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}}}}}}}}}}},"该":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"后":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}},"遮":{"docs":{},"罩":{"docs":{},"不":{"docs":{},"关":{"docs":{},"闭":{"docs":{},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}},"是":{"docs":{},"否":{"docs":{},"关":{"docs":{},"闭":{"docs":{},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}},"回":{"docs":{},"调":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}}},"移":{"docs":{},"除":{"docs":{},"计":{"docs":{},"数":{"docs":{},"器":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}}},"抽":{"docs":{},"屉":{"docs":{},"菜":{"docs":{},"单":{"docs":{},"顶":{"docs":{},"部":{"docs":{},"默":{"docs":{},"认":{"docs":{},"留":{"docs":{},"白":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}}}}},"监":{"docs":{},"听":{"docs":{},"器":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}},"订":{"docs":{},"阅":{"docs":{},"者":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}}}}},"顶":{"docs":{},"部":{"docs":{},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}},"随":{"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.0020964360587002098}}}}}}}}}}}}}},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"重":{"docs":{},"复":{"docs":{},"六":{"docs":{},"次":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}}}}}}}},"指":{"docs":{},"定":{"docs":{},"包":{"docs":{},"名":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}}},"未":{"docs":{},"定":{"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.0078125}}}}}}}}}}}}}}}}}}}}},"列":{"docs":{},"表":{"docs":{},"高":{"docs":{},"度":{"docs":{},"为":{"4":{"0":{"0":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}},"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.002824858757062147}}}}}}}}}}}}}}},"宽":{"docs":{},"度":{"docs":{},",":{"docs":{},"高":{"docs":{},"度":{"docs":{},"自":{"docs":{},"适":{"docs":{},"应":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}}}}},"监":{"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":{},"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.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"画":{"docs":{},"布":{"docs":{},"大":{"docs":{},"小":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.00909090909090909},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}},"请":{"docs":{},"求":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"区":{"docs":{},"间":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}}},"外":{"docs":{},"形":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}},"按":{"docs":{},"钮":{"docs":{},"按":{"docs":{},"下":{"docs":{},"时":{"docs":{},"的":{"docs":{},"背":{"docs":{},"景":{"docs":{},"颜":{"docs":{},"色":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}}}}}}}},"文":{"docs":{},"字":{"docs":{},"颜":{"docs":{},"色":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}}}},"点":{"docs":{},"击":{"docs":{},"回":{"docs":{},"调":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}},"时":{"docs":{},"分":{"docs":{},"发":{"docs":{},"通":{"docs":{},"知":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}},"填":{"docs":{},"充":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}}},"禁":{"docs":{},"用":{"docs":{},"时":{"docs":{},"的":{"docs":{},"文":{"docs":{},"字":{"docs":{},"颜":{"docs":{},"色":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}}}}}}}},"背":{"docs":{},"景":{"docs":{},"颜":{"docs":{},"色":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}}}},"主":{"docs":{},"题":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}},"正":{"docs":{},"常":{"docs":{},"状":{"docs":{},"态":{"docs":{},"下":{"docs":{},"的":{"docs":{},"阴":{"docs":{},"影":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}}}}}}}},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"宽":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}},"混":{"docs":{},"合":{"docs":{},"色":{"docs":{},"值":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}}}},"高":{"docs":{},"度":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}},"宽":{"docs":{},"高":{"docs":{},"从":{"0":{"docs":{},"变":{"docs":{},"到":{"3":{"0":{"0":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010309278350515464}}},"docs":{}},"docs":{}},"docs":{}}}},"docs":{}}}}}},"对":{"docs":{},"齐":{"docs":{},"方":{"docs":{},"式":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}},"话":{"docs":{},"框":{"docs":{},"标":{"docs":{},"题":{"docs":{},"组":{"docs":{},"件":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}},"语":{"docs":{},"义":{"docs":{},"化":{"docs":{},"标":{"docs":{},"签":{"docs":{},"(":{"docs":{},"用":{"docs":{},"于":{"docs":{},"读":{"docs":{},"屏":{"docs":{},"软":{"docs":{},"件":{"docs":{},")":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}}}}}}},"混":{"docs":{},"合":{"docs":{},"模":{"docs":{},"式":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}}},"重":{"docs":{},"复":{"docs":{},"方":{"docs":{},"式":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}},"新":{"docs":{},"构":{"docs":{},"建":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}},"页":{"docs":{},"面":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514}}}},"列":{"docs":{},"表":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}}},"绘":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"维":{"docs":{},"护":{"docs":{},"单":{"docs":{},"选":{"docs":{},"开":{"docs":{},"关":{"docs":{},"状":{"docs":{},"态":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514}}}}}}}}}},"选":{"docs":{},"中":{"docs":{},"时":{"docs":{},"的":{"docs":{},"颜":{"docs":{},"色":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514}}}}}}}},"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"记":{"docs":{},"录":{"docs":{},"每":{"docs":{},"一":{"docs":{},"块":{"docs":{},"已":{"docs":{},"接":{"docs":{},"收":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"长":{"docs":{},"度":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}}}}}}}}}}}}}}},"在":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"后":{"docs":{},"面":{"docs":{},"优":{"docs":{},"化":{"docs":{},"部":{"docs":{},"分":{"docs":{},"会":{"docs":{},"用":{"docs":{},"到":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}},"此":{"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":{},"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/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"命":{"docs":{},"中":{"docs":{},"测":{"docs":{},"试":{"docs":{},"期":{"docs":{},"间":{"docs":{},"如":{"docs":{},"何":{"docs":{},"表":{"docs":{},"现":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}}}}}}}}}}}}},"定":{"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.0013477088948787063}}}}}}}}},"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.00202020202020202}}}}}}}}}}}},"便":{"docs":{},"捷":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"方":{"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.0064516129032258064},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"保":{"docs":{},"存":{"docs":{},"当":{"docs":{},"前":{"docs":{},"指":{"docs":{},"针":{"docs":{},"位":{"docs":{},"置":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}}}}}}},"下":{"docs":{},"划":{"docs":{},"线":{"docs":{},"颜":{"docs":{},"色":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}},"错":{"docs":{},"误":{"docs":{},"处":{"docs":{},"理":{"docs":{},"函":{"docs":{},"数":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}},"将":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0064516129032258064}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"选":{"docs":{},"中":{"docs":{},"状":{"docs":{},"态":{"docs":{},"通":{"docs":{},"过":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"形":{"docs":{},"式":{"docs":{},"抛":{"docs":{},"出":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"型":{"docs":{},"转":{"docs":{},"为":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"类":{"docs":{},"型":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"模":{"docs":{},"板":{"docs":{},"输":{"docs":{},"出":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}},"测":{"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.0018832391713747645}}}}}}}}}}}}}}}},"请":{"docs":{},"求":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{},"作":{"docs":{},"为":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"的":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}},"开":{"docs":{},"启":{"docs":{},"自":{"docs":{},"动":{"docs":{},"校":{"docs":{},"验":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}}},"是":{"docs":{},"否":{"docs":{},"自":{"docs":{},"动":{"docs":{},"校":{"docs":{},"验":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}},"显":{"docs":{},"示":{"docs":{},"“":{"docs":{},"返":{"docs":{},"回":{"docs":{},"到":{"docs":{},"顶":{"docs":{},"部":{"docs":{},"”":{"docs":{},"按":{"docs":{},"钮":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}}}}}}}}}}},"是":{"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":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}}}}}}}}},"抗":{"docs":{},"锯":{"docs":{},"齿":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}},"为":{"docs":{},"中":{"docs":{},"文":{"docs":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894}}}}},"支":{"docs":{},"持":{"docs":{},"某":{"docs":{},"个":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}}}}}},"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":{},"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":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"方":{"docs":{},"法":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"取":{"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":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"返":{"docs":{},"回":{"docs":{},",":{"docs":{},"则":{"docs":{},"不":{"docs":{},"应":{"docs":{},"用":{"docs":{},"过":{"docs":{},"渡":{"docs":{},"动":{"docs":{},"画":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602}}}}}}}}}}}}}},"校":{"docs":{},"验":{"docs":{},"密":{"docs":{},"码":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}},"(":{"docs":{},"不":{"docs":{},"能":{"docs":{},"为":{"docs":{},"空":{"docs":{},")":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}}},"证":{"docs":{},"书":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}},"监":{"docs":{},"听":{"docs":{},"输":{"docs":{},"入":{"docs":{},"改":{"docs":{},"变":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}},"滚":{"docs":{},"动":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"打":{"docs":{},"印":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}}}}}}}}}}},"登":{"docs":{},"录":{"docs":{},"事":{"docs":{},"件":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}}}}}},"通":{"docs":{},"知":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0058309037900874635}}}},"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.0018587360594795538}}}}}}}}}}}}}}},"隐":{"docs":{},"藏":{"docs":{},"下":{"docs":{},"划":{"docs":{},"线":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}},"验":{"docs":{},"证":{"docs":{},"回":{"docs":{},"调":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}},"通":{"docs":{},"过":{"docs":{},"提":{"docs":{},"交":{"docs":{},"数":{"docs":{},"据":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0026954177897574125}}}}}}}}}},"动":{"docs":{},"画":{"docs":{},"执":{"docs":{},"行":{"docs":{},"时":{"docs":{},"间":{"3":{"docs":{},"秒":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}},"docs":{}}},"结":{"docs":{},"束":{"docs":{},"时":{"docs":{},"反":{"docs":{},"向":{"docs":{},"执":{"docs":{},"行":{"docs":{},"动":{"docs":{},"画":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866}}}}}}}}}}}}},"恢":{"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.002577319587628866}}}}}}}}}}}}}}}}}},"时":{"docs":{},"间":{"docs":{},"为":{"5":{"0":{"0":{"docs":{},"毫":{"docs":{},"秒":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602}}}}},"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":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}}}}}}}}}},"态":{"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.014492753623188406}}}}}}}}}}}},"进":{"docs":{},"度":{"docs":{},"条":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}},"显":{"docs":{},"示":{"5":{"0":{"docs":{},"%":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}},",":{"docs":{},"会":{"docs":{},"显":{"docs":{},"示":{"docs":{},"一":{"docs":{},"个":{"docs":{},"半":{"docs":{},"圆":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}}}}}}}}},"docs":{}},"docs":{}}}}}},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},"居":{"docs":{},"中":{"docs":{},"对":{"docs":{},"齐":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856}}}}}},"拖":{"docs":{},"动":{"docs":{},"事":{"docs":{},"件":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0034904013961605585}}}}}}}}}},"有":{"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.00411522633744856}}}}}}}}}}}}}}}}}},"多":{"docs":{},"个":{"docs":{},",":{"docs":{},"省":{"docs":{},"略":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}},"测":{"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.00411522633744856}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"弹":{"docs":{},"性":{"docs":{},"布":{"docs":{},"局":{"docs":{},"的":{"docs":{},"方":{"docs":{},"向":{"docs":{},",":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609}}}}}}}}},"出":{"docs":{},"删":{"docs":{},"除":{"docs":{},"确":{"docs":{},"认":{"docs":{},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{},",":{"docs":{},"等":{"docs":{},"待":{"docs":{},"用":{"docs":{},"户":{"docs":{},"确":{"docs":{},"认":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}}}}},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{},"并":{"docs":{},"等":{"docs":{},"待":{"docs":{},"其":{"docs":{},"关":{"docs":{},"闭":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}},"沿":{"docs":{},"主":{"docs":{},"轴":{"docs":{},"方":{"docs":{},"向":{"docs":{},"居":{"docs":{},"中":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}}}}}}}},"y":{"docs":{},"轴":{"docs":{},"倾":{"docs":{},"斜":{"0":{"docs":{},".":{"3":{"docs":{},"弧":{"docs":{},"度":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064}}}}},"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.0049504950495049506}}}}}}}}}}}}}}}}},"未":{"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.0078125}}}}}}}}}}}}}}}}}}}}}},"通":{"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.0078125}}}}}}}}}}}}}}}}}}}}}}}}}}}},"位":{"docs":{},"运":{"docs":{},"算":{"docs":{},"符":{"docs":{},"将":{"docs":{},"a":{"docs":{},"l":{"docs":{},"p":{"docs":{},"h":{"docs":{},"a":{"docs":{},"设":{"docs":{},"置":{"docs":{},"为":{"docs":{},"f":{"docs":{},"f":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"将":{"docs":{},"a":{"docs":{},"l":{"docs":{},"p":{"docs":{},"h":{"docs":{},"a":{"docs":{},"设":{"docs":{},"置":{"docs":{},"为":{"docs":{},"f":{"docs":{},"f":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}}}}}}},"修":{"docs":{},"改":{"docs":{},"图":{"docs":{},"片":{"docs":{},"宽":{"docs":{},"度":{"docs":{},"来":{"docs":{},"达":{"docs":{},"到":{"docs":{},"缩":{"docs":{},"放":{"docs":{},"效":{"docs":{},"果":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}}}}}}}}}},"一":{"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.0049504950495049506}}}}}}}}}}}}}}}}},"知":{"docs":{},"所":{"docs":{},"有":{"docs":{},"监":{"docs":{},"听":{"docs":{},"器":{"docs":{},",":{"docs":{},"触":{"docs":{},"发":{"docs":{},"监":{"docs":{},"听":{"docs":{},"器":{"docs":{},"回":{"docs":{},"调":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}},"依":{"docs":{},"赖":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"更":{"docs":{},"新":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}}}}}},"右":{"docs":{},"上":{"docs":{},"角":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}},"左":{"docs":{},"边":{"docs":{},"添":{"docs":{},"加":{"8":{"docs":{},"像":{"docs":{},"素":{"docs":{},"补":{"docs":{},"白":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684}}}}}}},"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.010526315789473684}}}}}}}}}}}}}}}}}}},"关":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}},"示":{"docs":{},"区":{"docs":{},"域":{"docs":{},"宽":{"docs":{},"高":{"docs":{},"相":{"docs":{},"等":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}}}}}}}},"进":{"docs":{},"度":{"docs":{},"百":{"docs":{},"分":{"docs":{},"比":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}}}}},"指":{"docs":{},"定":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},",":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"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":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"主":{"docs":{},"题":{"docs":{},"色":{"docs":{},"块":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}}}}}},"“":{"docs":{},"去":{"docs":{},"除":{"docs":{},"”":{"docs":{},"父":{"docs":{},"级":{"docs":{},"限":{"docs":{},"制":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}}}}}}}}}},"宽":{"docs":{},"度":{"docs":{},"尽":{"docs":{},"可":{"docs":{},"能":{"docs":{},"大":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}}}}}}},"高":{"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.004048582995951417}}}}}}}}}}}},"2":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}}},"docs":{}}}}},"最":{"docs":{},"大":{"docs":{},"宽":{"docs":{},"度":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}}}},"高":{"docs":{},"度":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}}}}},"小":{"docs":{},"宽":{"docs":{},"度":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}}}},"高":{"docs":{},"度":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}},"为":{"5":{"0":{"docs":{},"像":{"docs":{},"素":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}}}}},"docs":{}},"docs":{}}}}},"多":{"2":{"0":{"0":{"0":{"docs":{},"张":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"近":{"docs":{},"一":{"docs":{},"次":{"docs":{},"的":{"docs":{},"注":{"docs":{},"销":{"docs":{},"登":{"docs":{},"录":{"docs":{},"的":{"docs":{},"用":{"docs":{},"户":{"docs":{},"名":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}},"父":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00851063829787234}},"或":{"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.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"圆":{"docs":{},"角":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186}}}},"形":{"docs":{},"状":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186}}}},"渐":{"docs":{},"变":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186}}}},"背":{"docs":{},"景":{"docs":{},"混":{"docs":{},"合":{"docs":{},"模":{"docs":{},"式":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186}}}}}},"渐":{"docs":{},"变":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186}}}},"径":{"docs":{},"向":{"docs":{},"渐":{"docs":{},"变":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}}}}}},"为":{"docs":{},"白":{"docs":{},"色":{"docs":{},",":{"docs":{},"则":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},"自":{"docs":{},"动":{"docs":{},"为":{"docs":{},"黑":{"docs":{},"色":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}}}}}}}},"蓝":{"docs":{},"色":{"docs":{},",":{"docs":{},"则":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},"自":{"docs":{},"动":{"docs":{},"为":{"docs":{},"白":{"docs":{},"色":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}}}}}}}},"纸":{"docs":{},"黄":{"docs":{},"色":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}},"颜":{"docs":{},"色":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}},"边":{"docs":{},"框":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186}}}},"阴":{"docs":{},"影":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"指":{"docs":{},"定":{"docs":{},"多":{"docs":{},"个":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186}}}}}}}}}}},"颜":{"docs":{},"色":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"变":{"docs":{},"量":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}}}},"放":{"docs":{},"大":{"docs":{},"到":{"1":{"docs":{},".":{"5":{"docs":{},"倍":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064}}}},"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.003067484662576687}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"\"":{"docs":{},"点":{"docs":{},"透":{"docs":{},"\"":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}}}}}}}}}}}}}}},"旋":{"docs":{},"转":{"9":{"0":{"docs":{},"度":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064}},"(":{"1":{"docs":{},"/":{"4":{"docs":{},"圈":{"docs":{},")":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064}}}}},"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":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}},"docs":{}},"docs":{}}}},"docs":{}},"docs":{}}},"docs":{}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}},"角":{"docs":{},"度":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},"时":{"docs":{},"执":{"docs":{},"行":{"docs":{},"过":{"docs":{},"渡":{"docs":{},"动":{"docs":{},"画":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}}}}}}}}},"相":{"docs":{},"对":{"docs":{},"于":{"docs":{},"坐":{"docs":{},"标":{"docs":{},"系":{"docs":{},"原":{"docs":{},"点":{"docs":{},"的":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"方":{"docs":{},"式":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064}}}}}}}}}}}}}}},"默":{"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.0064516129032258064}}}}},"docs":{}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}},"不":{"docs":{},"选":{"docs":{},"中":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}},"前":{"docs":{},"景":{"docs":{},"装":{"docs":{},"饰":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}}}}}},"卡":{"docs":{},"片":{"docs":{},"倾":{"docs":{},"斜":{"docs":{},"变":{"docs":{},"换":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}}}}}},"内":{"docs":{},"文":{"docs":{},"字":{"docs":{},"居":{"docs":{},"中":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}}}}}}},"大":{"docs":{},"小":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}}}},"文":{"docs":{},"字":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}}}},"阴":{"docs":{},"影":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}}}},"颜":{"docs":{},"色":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}},"变":{"docs":{},"换":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}}},"色":{"docs":{},"开":{"docs":{},"关":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}},"容":{"docs":{},"器":{"docs":{},"内":{"docs":{},"补":{"docs":{},"白":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}},",":{"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.006622516556291391}}}}}}}}}}}}}}}}}}}}}}},"外":{"docs":{},"填":{"docs":{},"充":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}}}},"补":{"docs":{},"白":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}}}}},"大":{"docs":{},"小":{"docs":{},"的":{"docs":{},"限":{"docs":{},"制":{"docs":{},"条":{"docs":{},"件":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}}}}}}}}},"的":{"docs":{},"高":{"docs":{},"度":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}}}}}}},"中":{"docs":{},"间":{"docs":{},"位":{"docs":{},"置":{"docs":{},"空":{"docs":{},"出":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}},"其":{"docs":{},"它":{"docs":{},"属":{"docs":{},"性":{"docs":{},"见":{"docs":{},"源":{"docs":{},"码":{"docs":{},"注":{"docs":{},"释":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}},"及":{"docs":{},"回":{"docs":{},"调":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}},"创":{"docs":{},"建":{"3":{"docs":{},"个":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"页":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}},"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":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0045871559633027525}}}}}}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"连":{"docs":{},"接":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}}}},"均":{"docs":{},"分":{"docs":{},"底":{"docs":{},"部":{"docs":{},"导":{"docs":{},"航":{"docs":{},"栏":{"docs":{},"横":{"docs":{},"向":{"docs":{},"空":{"docs":{},"间":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}}}}}},"如":{"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.00202020202020202}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"到":{"docs":{},"了":{"docs":{},"表":{"docs":{},"尾":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}},"显":{"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.004048582995951417}}}}}}}}}},"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.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"返":{"docs":{},"回":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"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.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"数":{"docs":{},"据":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},"(":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"类":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"y":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"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":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"颜":{"docs":{},"色":{"docs":{},"固":{"docs":{},"定":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"使":{"docs":{},"用":{"docs":{},"整":{"docs":{},"数":{"docs":{},"值":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}}}}}}},"支":{"docs":{},"持":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}},"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"下":{"docs":{},"拉":{"docs":{},"刷":{"docs":{},"新":{"docs":{},",":{"docs":{},"先":{"docs":{},"删":{"docs":{},"除":{"docs":{},"相":{"docs":{},"关":{"docs":{},"缓":{"docs":{},"存":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}},"已":{"docs":{},"经":{"docs":{},"选":{"docs":{},"定":{"docs":{},"语":{"docs":{},"言":{"docs":{},",":{"docs":{},"则":{"docs":{},"不":{"docs":{},"跟":{"docs":{},"随":{"docs":{},"系":{"docs":{},"统":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}},"悬":{"docs":{},"浮":{"docs":{},"按":{"docs":{},"钮":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}},"抽":{"docs":{},"屉":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}},"菜":{"docs":{},"单":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}},"标":{"docs":{},"题":{"docs":{},"是":{"docs":{},"否":{"docs":{},"居":{"docs":{},"中":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}},"文":{"docs":{},"本":{"docs":{},"样":{"docs":{},"式":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}},"生":{"docs":{},"成":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"菜":{"docs":{},"单":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"图":{"docs":{},"标":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}},"动":{"docs":{},"获":{"docs":{},"取":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}},"需":{"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.00202020202020202}}}}}}}}}}}}},"在":{"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.0032258064516129032}}}}}}}}}}}}}}}}}},"继":{"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.002577319587628866}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}}}}}}}}}}}},"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.0032258064516129032}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"的":{"docs":{},"u":{"docs":{},"a":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}},"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.0032258064516129032}}}}}}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"会":{"docs":{},"报":{"docs":{},"错":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}}}}},"弹":{"docs":{},"性":{"docs":{},"曲":{"docs":{},"线":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866}}}}}},"渐":{"docs":{},"隐":{"docs":{},"渐":{"docs":{},"入":{"docs":{},"过":{"docs":{},"渡":{"docs":{},",":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894}}}}}}}}},"剪":{"docs":{},"裁":{"docs":{},"为":{"docs":{},"圆":{"docs":{},"形":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}},"角":{"docs":{},"矩":{"docs":{},"形":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}}}}}},"半":{"docs":{},"圆":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}},"后":{"docs":{},"面":{"docs":{},"介":{"docs":{},"绍":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.02631578947368421}}}}}},"每":{"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.014492753623188406}}}}}}}}}}}}}}}}}}}}}}}}},"次":{"docs":{},"生":{"docs":{},"成":{"2":{"0":{"docs":{},"个":{"docs":{},"单":{"docs":{},"词":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}},"docs":{}},"docs":{}}}},"行":{"docs":{},"三":{"docs":{},"列":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}}}}},"点":{"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.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"滚":{"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.014492753623188406}}}}}}}}}}}}}},"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.002688172043010753}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"代":{"docs":{},"理":{"docs":{},"类":{"docs":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}},"相":{"docs":{},"关":{"docs":{},"值":{"docs":{},",":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},"为":{"docs":{},"应":{"docs":{},"用":{"docs":{},"标":{"docs":{},"题":{"docs":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894}}}}}}}}}}}}}}}},"资":{"docs":{},"源":{"docs":{},"类":{"docs":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894}}}}}}}}}}},"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.002688172043010753}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"分":{"docs":{},"割":{"docs":{},"器":{"docs":{},"构":{"docs":{},"造":{"docs":{},"器":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}},"线":{"docs":{},"颜":{"docs":{},"色":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}},"列":{"docs":{},"表":{"docs":{},"项":{"docs":{},"构":{"docs":{},"造":{"docs":{},"器":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}},"高":{"docs":{},"度":{"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.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"列":{"docs":{},"表":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}}}}}},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"为":{"docs":{},"空":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}}}}},"强":{"docs":{},"制":{"docs":{},"高":{"docs":{},"度":{"docs":{},"为":{"5":{"0":{"docs":{},".":{"0":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}},"docs":{}}},"docs":{}},"docs":{}}}}}},"表":{"docs":{},"尾":{"docs":{},"标":{"docs":{},"记":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}},"控":{"docs":{},"制":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}}}}}}}}}}},"横":{"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.004048582995951417}}}}}}}}}}}}},"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}}}}}}}}}}}}},"语":{"docs":{},"言":{"docs":{},"跟":{"docs":{},"随":{"docs":{},"系":{"docs":{},"统":{"docs":{},"语":{"docs":{},"言":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"系":{"docs":{},"统":{"docs":{},"语":{"docs":{},"言":{"docs":{},"不":{"docs":{},"是":{"docs":{},"中":{"docs":{},"文":{"docs":{},"简":{"docs":{},"体":{"docs":{},"或":{"docs":{},"美":{"docs":{},"国":{"docs":{},"英":{"docs":{},"语":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},"账":{"docs":{},"号":{"docs":{},"信":{"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":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}},"因":{"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.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"重":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"方":{"docs":{},"便":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"定":{"docs":{},"义":{"docs":{},"一":{"docs":{},"个":{"docs":{},"静":{"docs":{},"态":{"docs":{},"方":{"docs":{},"法":{"docs":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894}}}}}}}}}}}}}}}}}},"第":{"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.002824858757062147}}}}}}}}}}}}}}}}}}}}}},"返":{"docs":{},"回":{"docs":{},"到":{"docs":{},"顶":{"docs":{},"部":{"docs":{},"时":{"docs":{},"执":{"docs":{},"行":{"docs":{},"动":{"docs":{},"画":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}}}}}}}}}},"两":{"docs":{},"次":{"docs":{},"点":{"docs":{},"击":{"docs":{},"间":{"docs":{},"隔":{"docs":{},"超":{"docs":{},"过":{"1":{"docs":{},"秒":{"docs":{},"则":{"docs":{},"重":{"docs":{},"新":{"docs":{},"计":{"docs":{},"时":{"docs":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513}}}}}}}}},"docs":{}}}}}}}}},"多":{"docs":{},"出":{"docs":{},"的":{"docs":{},"部":{"docs":{},"分":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}},"的":{"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.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"该":{"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.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"用":{"docs":{},"户":{"docs":{},"总":{"docs":{},"的":{"docs":{},"私":{"docs":{},"有":{"docs":{},"项":{"docs":{},"目":{"docs":{},"数":{"docs":{},"(":{"docs":{},"包":{"docs":{},"括":{"docs":{},"参":{"docs":{},"与":{"docs":{},"的":{"docs":{},"其":{"docs":{},"它":{"docs":{},"组":{"docs":{},"织":{"docs":{},"的":{"docs":{},"私":{"docs":{},"有":{"docs":{},"项":{"docs":{},"目":{"docs":{},")":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"私":{"docs":{},"有":{"docs":{},"项":{"docs":{},"目":{"docs":{},"数":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}},"项":{"docs":{},"目":{"docs":{},"当":{"docs":{},"前":{"docs":{},"打":{"docs":{},"开":{"docs":{},"的":{"docs":{},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{},"u":{"docs":{},"e":{"docs":{},"数":{"docs":{},"量":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}},"的":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"数":{"docs":{},"量":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}},"赋":{"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":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}},"共":{"docs":{},"享":{"docs":{},"状":{"docs":{},"态":{"docs":{},"使":{"docs":{},"用":{"docs":{},"泛":{"docs":{},"型":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}},"取":{"docs":{},"消":{"docs":{},"订":{"docs":{},"阅":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}},"商":{"docs":{},"品":{"docs":{},"单":{"docs":{},"价":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}},"当":{"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":{},"据":{"docs":{},"监":{"docs":{},"听":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"添":{"docs":{},"加":{"docs":{},"新":{"docs":{},"数":{"docs":{},"据":{"docs":{},"监":{"docs":{},"听":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"前":{"docs":{},"路":{"docs":{},"由":{"docs":{},"主":{"docs":{},"题":{"docs":{},"色":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}},"被":{"docs":{},"激":{"docs":{},"活":{"docs":{},",":{"docs":{},"是":{"docs":{},"打":{"docs":{},"开":{"docs":{},"新":{"docs":{},"路":{"docs":{},"由":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602}}}}}}}}}}}}}}}},"给":{"docs":{},"购":{"docs":{},"物":{"docs":{},"车":{"docs":{},"中":{"docs":{},"添":{"docs":{},"加":{"docs":{},"商":{"docs":{},"品":{"docs":{},",":{"docs":{},"添":{"docs":{},"加":{"docs":{},"后":{"docs":{},"总":{"docs":{},"价":{"docs":{},"会":{"docs":{},"更":{"docs":{},"新":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}},"订":{"docs":{},"阅":{"docs":{},"登":{"docs":{},"录":{"docs":{},"状":{"docs":{},"态":{"docs":{},"改":{"docs":{},"变":{"docs":{},"事":{"docs":{},"件":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}},"者":{"docs":{},"回":{"docs":{},"调":{"docs":{},"签":{"docs":{},"名":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}}}}}}},"(":{"docs":{},"关":{"docs":{},"注":{"docs":{},")":{"docs":{},"该":{"docs":{},"项":{"docs":{},"目":{"docs":{},"的":{"docs":{},"人":{"docs":{},"数":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}},"主":{"docs":{},"色":{"docs":{},",":{"docs":{},"决":{"docs":{},"定":{"docs":{},"导":{"docs":{},"航":{"docs":{},"栏":{"docs":{},"颜":{"docs":{},"色":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}}},"题":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"样":{"docs":{},"本":{"docs":{},",":{"docs":{},"见":{"docs":{},"下":{"docs":{},"面":{"docs":{},"介":{"docs":{},"绍":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}}}},"色":{"docs":{},"值":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}},"更":{"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":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}}}}}}}}}},"切":{"docs":{},"换":{"docs":{},"主":{"docs":{},"题":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}},"文":{"docs":{},"字":{"docs":{},"字":{"docs":{},"体":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}},"件":{"docs":{},"的":{"docs":{},"总":{"docs":{},"块":{"docs":{},"数":{"docs":{},"(":{"docs":{},"包":{"docs":{},"括":{"docs":{},"第":{"docs":{},"一":{"docs":{},"块":{"docs":{},")":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}}}}}}},"根":{"docs":{},"据":{"docs":{},"背":{"docs":{},"景":{"docs":{},"色":{"docs":{},"亮":{"docs":{},"度":{"docs":{},"来":{"docs":{},"确":{"docs":{},"定":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},"颜":{"docs":{},"色":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"协":{"docs":{},"议":{"docs":{},",":{"docs":{},"发":{"docs":{},"送":{"docs":{},"请":{"docs":{},"求":{"docs":{},"头":{"docs":{"chapter11/socket.html":{"ref":"chapter11/socket.html","tf":0.02857142857142857}}}}}}}}}}}}}}}},"次":{"docs":{},"级":{"docs":{},"色":{"docs":{},",":{"docs":{},"决":{"docs":{},"定":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"w":{"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.002824858757062147}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"深":{"docs":{},"色":{"docs":{},"还":{"docs":{},"是":{"docs":{},"浅":{"docs":{},"色":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}},"第":{"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.002824858757062147}}}}}}}}}}}}}}}}}}}}}}},"/":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.021164021164021163},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.00816326530612245},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849},"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.005649717514124294},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.005868544600938967}},"两":{"docs":{},"端":{"docs":{},"是":{"docs":{},"否":{"docs":{},"为":{"docs":{},"圆":{"docs":{},"角":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}},"粗":{"docs":{},"细":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}},"这":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},":":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}}}}},"关":{"docs":{},"闭":{"docs":{},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001669449081803005}},"并":{"docs":{},"返":{"docs":{},"回":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}},"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"注":{"docs":{},"该":{"docs":{},"用":{"docs":{},"户":{"docs":{},"的":{"docs":{},"人":{"docs":{},"数":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}},"内":{"docs":{},"容":{"docs":{},"的":{"docs":{},"填":{"docs":{},"充":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}},"复":{"docs":{},"选":{"docs":{},"框":{"docs":{},"选":{"docs":{},"中":{"docs":{},"状":{"docs":{},"态":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},"时":{"docs":{},"重":{"docs":{},"新":{"docs":{},"构":{"docs":{},"建":{"docs":{},"u":{"docs":{},"i":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}}}}}}}}},"更":{"docs":{},"新":{"docs":{},"复":{"docs":{},"选":{"docs":{},"框":{"docs":{},"状":{"docs":{},"态":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}},"自":{"docs":{},"身":{"docs":{},"选":{"docs":{},"中":{"docs":{},"状":{"docs":{},"态":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}},"选":{"docs":{},"中":{"docs":{},"状":{"docs":{},"态":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}},"显":{"docs":{},"示":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"名":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"中":{"docs":{},"的":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"信":{"docs":{},"息":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}},"记":{"docs":{},"录":{"docs":{},"复":{"docs":{},"选":{"docs":{},"框":{"docs":{},"是":{"docs":{},"否":{"docs":{},"选":{"docs":{},"中":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}},"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.011299435028248588}}}}}}}}}},"a":{"docs":{},"s":{"docs":{},"i":{"docs":{},"c":{"docs":{},"认":{"docs":{},"证":{"docs":{},"凭":{"docs":{},"据":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}},"手":{"docs":{},"指":{"docs":{},"按":{"docs":{},"下":{"docs":{},"回":{"docs":{},"调":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}}}},"时":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"此":{"docs":{},"回":{"docs":{},"调":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}}}}}},"移":{"docs":{},"动":{"docs":{},"回":{"docs":{},"调":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}}}}}},"滑":{"docs":{},"动":{"docs":{},"时":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"此":{"docs":{},"回":{"docs":{},"调":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}}}}}}},"动":{"docs":{},"指":{"docs":{},"定":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}},"双":{"docs":{},"击":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}},"缩":{"docs":{},"放":{"docs":{},"倍":{"docs":{},"数":{"docs":{},"在":{"0":{"docs":{},".":{"8":{"docs":{},"到":{"1":{"0":{"docs":{},"倍":{"docs":{},"之":{"docs":{},"间":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}},"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.0017452006980802793}}}}}}}}}}}}}}},"距":{"docs":{},"顶":{"docs":{},"部":{"docs":{},"的":{"docs":{},"偏":{"docs":{},"移":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}}},"长":{"docs":{},"按":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}},"反":{"docs":{},"向":{"docs":{},"遍":{"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.007407407407407408}}}}}}}}}}}}}}}}}}}}}}}}}}}},"工":{"docs":{},"厂":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}}}}}}}},"私":{"docs":{},"有":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}}}}}}}},"触":{"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.007407407407407408}}}}}}}}}}}}}}}}}}}}}}}},"页":{"docs":{},"面":{"docs":{},"a":{"docs":{},"中":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}}}}}},"判":{"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":{},"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":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"新":{"docs":{},"旧":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"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":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"只":{"docs":{},"会":{"docs":{},"在":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"结":{"docs":{},"束":{"docs":{},"时":{"docs":{},"才":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"此":{"docs":{},"回":{"docs":{},"调":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}}}}},"故":{"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":{},"e":{"docs":{},"l":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}}}}}}}},"遍":{"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":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"目":{"docs":{},"录":{"docs":{},"生":{"docs":{},"成":{"docs":{},"模":{"docs":{},"板":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}},"启":{"docs":{},"动":{"docs":{},"动":{"docs":{},"画":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005154639175257732}},"(":{"docs":{},"正":{"docs":{},"向":{"docs":{},"执":{"docs":{},"行":{"docs":{},")":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866}}}}}}}},"(":{"docs":{},"正":{"docs":{},"向":{"docs":{},")":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866}}}}}}}}}},"路":{"docs":{},"由":{"docs":{},"销":{"docs":{},"毁":{"docs":{},"时":{"docs":{},"需":{"docs":{},"要":{"docs":{},"释":{"docs":{},"放":{"docs":{},"动":{"docs":{},"画":{"docs":{},"资":{"docs":{},"源":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005154639175257732}}}}}}}}}}}}},"b":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602}}}}},"唯":{"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.017543859649122806}}}}}}}}}}}}}}}}}}}}}}}}}},"再":{"docs":{},"反":{"docs":{},"向":{"docs":{},"执":{"docs":{},"行":{"docs":{},"动":{"docs":{},"画":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}}}}}}}},"间":{"docs":{},"隔":{"docs":{},",":{"docs":{},"前":{"6":{"0":{"docs":{},"%":{"docs":{},"的":{"docs":{},"动":{"docs":{},"画":{"docs":{},"时":{"docs":{},"间":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}}}}}}}},"docs":{}},"docs":{}},"后":{"4":{"0":{"docs":{},"%":{"docs":{},"的":{"docs":{},"动":{"docs":{},"画":{"docs":{},"时":{"docs":{},"间":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}}}}}}}},"docs":{}},"docs":{}}}}},"高":{"docs":{},"度":{"docs":{},"动":{"docs":{},"画":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}}}}},"布":{"docs":{},"局":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}},"构":{"docs":{},"建":{"docs":{},"器":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}},"退":{"docs":{},"场":{"docs":{},"(":{"docs":{},"出":{"docs":{},")":{"docs":{},"方":{"docs":{},"向":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}},"出":{"docs":{},"账":{"docs":{},"号":{"docs":{},"前":{"docs":{},"先":{"docs":{},"弹":{"docs":{},"二":{"docs":{},"次":{"docs":{},"确":{"docs":{},"认":{"docs":{},"窗":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}},"确":{"docs":{},"保":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},"数":{"docs":{},"组":{"docs":{},"不":{"docs":{},"空":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}}}}}}}}}}},"过":{"docs":{},"渡":{"docs":{},"动":{"docs":{},"画":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"总":{"docs":{},"时":{"docs":{},"长":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}}}},"填":{"docs":{},"充":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}},"画":{"docs":{},"棋":{"docs":{},"盘":{"docs":{},"网":{"docs":{},"格":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}},"背":{"docs":{},"景":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}},"笔":{"docs":{},"样":{"docs":{},"式":{"docs":{},":":{"docs":{},"填":{"docs":{},"充":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}}}},"线":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}},"实":{"docs":{},"现":{"docs":{},"画":{"docs":{},"笔":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}},"从":{"docs":{},"文":{"docs":{},"件":{"docs":{},"读":{"docs":{},"取":{"docs":{},"点":{"docs":{},"击":{"docs":{},"次":{"docs":{},"数":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}},"等":{"docs":{},"待":{"docs":{},"连":{"docs":{},"接":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"(":{"docs":{},"会":{"docs":{},"将":{"docs":{},"请":{"docs":{},"求":{"docs":{},"信":{"docs":{},"息":{"docs":{},"发":{"docs":{},"送":{"docs":{},"给":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},")":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}},"证":{"docs":{},"书":{"docs":{},"一":{"docs":{},"致":{"docs":{},",":{"docs":{},"则":{"docs":{},"允":{"docs":{},"许":{"docs":{},"发":{"docs":{},"送":{"docs":{},"数":{"docs":{},"据":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}}}},"读":{"docs":{},"取":{"docs":{},"响":{"docs":{},"应":{"docs":{},"内":{"docs":{},"容":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}},"返":{"docs":{},"回":{"docs":{},"内":{"docs":{},"容":{"docs":{"chapter11/socket.html":{"ref":"chapter11/socket.html","tf":0.02857142857142857}}}}}}}},"发":{"docs":{},"生":{"docs":{},"错":{"docs":{},"误":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}},"送":{"docs":{"chapter11/socket.html":{"ref":"chapter11/socket.html","tf":0.02857142857142857}}}},"请":{"docs":{},"求":{"docs":{},"完":{"docs":{},"成":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}},"成":{"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":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"未":{"docs":{},"完":{"docs":{},"成":{"docs":{},"时":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}}}},"临":{"docs":{},"时":{"docs":{},"文":{"docs":{},"件":{"docs":{},"按":{"docs":{},"照":{"docs":{},"块":{"docs":{},"的":{"docs":{},"序":{"docs":{},"号":{"docs":{},"命":{"docs":{},"名":{"docs":{},",":{"docs":{},"方":{"docs":{},"便":{"docs":{},"最":{"docs":{},"后":{"docs":{},"合":{"docs":{},"并":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}}}}}}}}}}}}},"合":{"docs":{},"并":{"docs":{},"临":{"docs":{},"时":{"docs":{},"文":{"docs":{},"件":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}},"解":{"docs":{},"析":{"docs":{},"文":{"docs":{},"件":{"docs":{},"总":{"docs":{},"长":{"docs":{},"度":{"docs":{},",":{"docs":{},"进":{"docs":{},"而":{"docs":{},"算":{"docs":{},"出":{"docs":{},"剩":{"docs":{},"余":{"docs":{},"长":{"docs":{},"度":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}}}}}}}}}},"网":{"docs":{},"络":{"docs":{},"不":{"docs":{},"通":{"docs":{},"会":{"docs":{},"走":{"docs":{},"到":{"docs":{},"这":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}},"建":{"docs":{},"立":{"docs":{},"连":{"docs":{},"接":{"docs":{"chapter11/socket.html":{"ref":"chapter11/socket.html","tf":0.02857142857142857}}}}}},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}},"一":{"docs":{},"个":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"格":{"docs":{},"式":{"docs":{},"的":{"docs":{},"用":{"docs":{},"户":{"docs":{},"列":{"docs":{},"表":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}},"处":{"docs":{},"理":{"docs":{},"特":{"docs":{},"殊":{"docs":{},"标":{"docs":{},"志":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}},"替":{"docs":{},"换":{"docs":{},"模":{"docs":{},"板":{"docs":{},"占":{"docs":{},"位":{"docs":{},"符":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}},"入":{"docs":{},"栈":{"docs":{},"新":{"docs":{},"路":{"docs":{},"由":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}}}}}}},"查":{"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}}}},"找":{"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.0018832391713747645}}}}}}}}}}}}}}},"绘":{"docs":{},"制":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}},"递":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}},"公":{"docs":{},"司":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}},"博":{"docs":{},"客":{"docs":{},"地":{"docs":{},"址":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}},"项":{"docs":{},"目":{"docs":{},"名":{"docs":{},"称":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}},"完":{"docs":{},"成":{"docs":{},"名":{"docs":{},"称":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}},"描":{"docs":{},"述":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}},"的":{"docs":{},"默":{"docs":{},"认":{"docs":{},"分":{"docs":{},"支":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"头":{"docs":{},"像":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"接":{"docs":{},"收":{"docs":{},"分":{"docs":{},"页":{"docs":{},"信":{"docs":{},"息":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}},"代":{"docs":{},"理":{"docs":{},"工":{"docs":{},"具":{"docs":{},"会":{"docs":{},"提":{"docs":{},"供":{"docs":{},"一":{"docs":{},"个":{"docs":{},"抓":{"docs":{},"包":{"docs":{},"的":{"docs":{},"自":{"docs":{},"签":{"docs":{},"名":{"docs":{},"证":{"docs":{},"书":{"docs":{},",":{"docs":{},"会":{"docs":{},"通":{"docs":{},"不":{"docs":{},"过":{"docs":{},"证":{"docs":{},"书":{"docs":{},"校":{"docs":{},"验":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"禁":{"docs":{},"用":{"docs":{},"证":{"docs":{},"书":{"docs":{},"校":{"docs":{},"验":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"本":{"docs":{},"接":{"docs":{},"口":{"docs":{},"禁":{"docs":{},"用":{"docs":{},"缓":{"docs":{},"存":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}},"清":{"docs":{},"空":{"docs":{},"所":{"docs":{},"有":{"docs":{},"缓":{"docs":{},"存":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}},"若":{"docs":{},"是":{"docs":{},"列":{"docs":{},"表":{"docs":{},",":{"docs":{},"则":{"docs":{},"只":{"docs":{},"要":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"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":{},",":{"docs":{},"并":{"docs":{},"不":{"docs":{},"精":{"docs":{},"准":{"docs":{},")":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"缓":{"docs":{},"存":{"docs":{},"未":{"docs":{},"过":{"docs":{},"期":{"docs":{},",":{"docs":{},"则":{"docs":{},"返":{"docs":{},"回":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"内":{"docs":{},"容":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}},"则":{"docs":{},"默":{"docs":{},"认":{"docs":{},"使":{"docs":{},"用":{"docs":{},"美":{"docs":{},"国":{"docs":{},"英":{"docs":{},"语":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}},"头":{"docs":{},"像":{"docs":{},"占":{"docs":{},"位":{"docs":{},"图":{"docs":{},",":{"docs":{},"加":{"docs":{},"载":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"显":{"docs":{},"示":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}},"已":{"docs":{},"登":{"docs":{},"录":{"docs":{},",":{"docs":{},"则":{"docs":{},"展":{"docs":{},"示":{"docs":{},"项":{"docs":{},"目":{"docs":{},"列":{"docs":{},"表":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"只":{"docs":{},"支":{"docs":{},"持":{"docs":{},"美":{"docs":{},"国":{"docs":{},"英":{"docs":{},"语":{"docs":{},"和":{"docs":{},"中":{"docs":{},"文":{"docs":{},"简":{"docs":{},"体":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}},"的":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"图":{"docs":{},"标":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}},"把":{"docs":{},"请":{"docs":{},"求":{"docs":{},"到":{"docs":{},"的":{"docs":{},"新":{"docs":{},"数":{"docs":{},"据":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"s":{"docs":{},"中":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}},"密":{"docs":{},"码":{"docs":{},"是":{"docs":{},"否":{"docs":{},"显":{"docs":{},"示":{"docs":{},"明":{"docs":{},"文":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}}}},"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"9":{"docs":{},".":{"0":{"docs":{},".":{"2":{"docs":{},".":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"o":{"docs":{},"s":{"docs":{},"x":{"docs":{},"_":{"6":{"4":{"docs":{},".":{"docs":{},"d":{"docs":{},"m":{"docs":{},"g":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}},"docs":{}},"docs":{}}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}},"=":{"0":{"docs":{},"{":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{"chapter13/intl.html":{"ref":"chapter13/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":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}},"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.010714285714285714},"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.031835205992509365},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.009302325581395349},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.029508196721311476},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.02028397565922921},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.015625},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.018072289156626505},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.012755102040816327},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.022911051212938006},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.00881057268722467},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0205761316872428},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.01775147928994083},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0594059405940594},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.03125},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.015463917525773196},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.01702127659574468},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.023255813953488372},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.012121212121212121},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374},"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.02631578947368421},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.043478260869565216},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.021505376344086023},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.05263157894736842},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.027607361963190184},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.012903225806451613},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.01090909090909091},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.01977401129943503},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.018363939899833055},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.02268760907504363},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.05925925925925926},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.008746355685131196},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.04950495049504951},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.023195876288659795},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.024844720496894408},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.01680672268907563},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.03909465020576132},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.009852216748768473},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.026578073089700997},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.07272727272727272},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.03945578231292517},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.022598870056497175},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.03669724770642202},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.04245283018867924},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.07407407407407407},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.027906976744186046},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.02018348623853211},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.04285714285714286},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.04075235109717868},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.0371900826446281},"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.008403361344537815},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.01818181818181818},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.022598870056497175},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.024163568773234202},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.04342723004694836},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.056818181818181816},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.05232558139534884},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.009411764705882352},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.04230769230769231},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.03164556962025317}},">":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.009732360097323601},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.009836065573770493},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.006289308176100629},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.008113590263691683},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0026954177897574125},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.013215859030837005},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.006060606060606061},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.013605442176870748},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.005376344086021506},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.006134969325153374},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.012903225806451613},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.012727272727272728},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.00847457627118644},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.007512520868113523},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.03389830508474576},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.012216404886561954},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0058309037900874635},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005154639175257732},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.006172839506172839},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.009966777408637873},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.01651376146788991},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.017699115044247787},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.008403361344537815},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.007532956685499058},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.024163568773234202},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.045454545454545456},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.014534883720930232},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.012941176470588235},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"总":{"docs":{},"价":{"docs":{},":":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"h":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}}}}}}}}}}}}}}},"=":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.006289308176100629},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.006134969325153374},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0064516129032258064},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.00333889816360601},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.044444444444444446},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005154639175257732},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.006802721088435374},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.01652892561983471},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.003766478342749529},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.00929368029739777},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.004694835680751174},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.007575757575757576},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.014534883720930232},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.012658227848101266}},"(":{"docs":{},"d":{"docs":{},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}},"o":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.005813953488372093}}}}}}}}}},"a":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter11/socket.html":{"ref":"chapter11/socket.html","tf":0.02857142857142857}}}}}}}},"@":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"(":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.007339449541284404}}}}}}}}}}}}}}}}}}}},"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.014598540145985401},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.009302325581395349},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.029350104821802937},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.014198782961460446},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.02702702702702703},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.006738544474393531},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.01762114537444934},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.011834319526627219},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.010101010101010102},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.02040816326530612},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.016129032258064516},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.012145748987854251},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.018404907975460124},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.024390243902439025},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.035483870967741936},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.023636363636363636},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.00847457627118644},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.00333889816360601},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.020942408376963352},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.008746355685131196},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.01288659793814433},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.055900621118012424},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.017543859649122806},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.01680672268907563},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00823045267489712},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.014778325123152709},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.036544850498338874},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.00909090909090909},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.009523809523809525},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.01694915254237288},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0045871559633027525},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.018604651162790697},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.009404388714733543},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.02654867256637168},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.008403361344537815},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.01818181818181818},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.007532956685499058},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.01056338028169014},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.014534883720930232},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.007058823529411765},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.011538461538461539},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.012658227848101266}}}}}}}},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.004056795131845842},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.012048192771084338},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.011834319526627219},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125},"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.02631578947368421},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.016194331983805668},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.024390243902439025},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.010582010582010581},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.005843071786310518},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.006172839506172839},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.004081632653061225},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}},"i":{"docs":{},"m":{"docs":{},"m":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}}},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}},"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.0041928721174004195},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.003766478342749529},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}},"a":{"docs":{},"g":{"docs":{},"m":{"docs":{},"a":{"docs":{},"(":{"docs":{},"'":{"docs":{},"v":{"docs":{},"m":{"docs":{},":":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}}}}}}}}}}}}}}}}}},"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}},"`":{"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.0035714285714285713}}}}}}}}}}}}}}}}},"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":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"运":{"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"当":{"docs":{},"以":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01}}}}}}},"p":{"docs":{},"i":{"docs":{"chapter11/":{"ref":"chapter11/","tf":0.08333333333333333},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849},"chapter11/socket.html":{"ref":"chapter11/socket.html","tf":5.0285714285714285},"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.022988505747126436},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},"。":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter15/intro.html":{"ref":"chapter15/intro.html","tf":0.05}},"比":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"手":{"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":{},"u":{"docs":{},"i":{"docs":{},",":{"docs":{},"而":{"docs":{},"缺":{"docs":{},"点":{"docs":{},"是":{"docs":{},"必":{"docs":{},"须":{"docs":{},"了":{"docs":{},"解":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{"chapter10/intro.html":{"ref":"chapter10/intro.html","tf":0.04}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"来":{"docs":{},"实":{"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":{"chapter10/intro.html":{"ref":"chapter10/intro.html","tf":0.04}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"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":{"chapter11/socket.html":{"ref":"chapter11/socket.html","tf":0.02857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"具":{"docs":{},"体":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"。":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}}}}}},"绘":{"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":{"chapter10/intro.html":{"ref":"chapter10/intro.html","tf":0.04}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"完":{"docs":{},"成":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"。":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}},"细":{"docs":{},"节":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"得":{"docs":{},"自":{"docs":{},"己":{"docs":{},"去":{"docs":{},"实":{"docs":{},"现":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"。":{"docs":{"chapter10/intro.html":{"ref":"chapter10/intro.html","tf":0.04}}}}}}}}}}}}}}}}}},"、":{"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":{},"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":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},"官":{"docs":{},"方":{"docs":{},"有":{"docs":{},"差":{"docs":{},"异":{"docs":{},",":{"docs":{},"请":{"docs":{},"以":{"docs":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},"官":{"docs":{},"方":{"docs":{},"文":{"docs":{},"档":{"docs":{},"为":{"docs":{},"准":{"docs":{},"。":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},":":{"docs":{},"i":{"docs":{},"o":{"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":{},"现":{"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":{"chapter11/socket.html":{"ref":"chapter11/socket.html","tf":0.02857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"封":{"docs":{},"装":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"协":{"docs":{},"议":{"docs":{},"或":{"docs":{},"者":{"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":{"chapter11/socket.html":{"ref":"chapter11/socket.html","tf":0.02857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"示":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"包":{"docs":{},"装":{"docs":{},",":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}},"基":{"docs":{},"地":{"docs":{},"址":{"docs":{},"和":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"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":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},"实":{"docs":{},"例":{"docs":{},"发":{"docs":{},"出":{"docs":{},"的":{"docs":{},"请":{"docs":{},"求":{"docs":{},"都":{"docs":{},"会":{"docs":{},"默":{"docs":{},"认":{"docs":{},"使":{"docs":{},"用":{"docs":{},"者":{"docs":{},"些":{"docs":{},"配":{"docs":{},"置":{"docs":{},"。":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"接":{"docs":{},"收":{"docs":{},"方":{"docs":{},"法":{"docs":{},"调":{"docs":{},"用":{"docs":{},"并":{"docs":{},"返":{"docs":{},"回":{"docs":{},"结":{"docs":{},"果":{"docs":{},"。":{"docs":{},"这":{"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/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.011494252873563218}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"和":{"docs":{},"i":{"docs":{},"o":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}},"标":{"docs":{},"识":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},"和":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"提":{"docs":{},"取":{"docs":{},"到":{"docs":{},"“":{"docs":{},"i":{"1":{"0":{"docs":{},"n":{"docs":{"chapter13/intl.html":{"ref":"chapter13/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":{},"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":{},"原":{"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"校":{"docs":{},"验":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"配":{"docs":{},"置":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"类":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"时":{"docs":{},"执":{"docs":{},"行":{"docs":{},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},")":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"是":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"类":{"docs":{},"的":{"docs":{},"源":{"docs":{},"码":{"docs":{},":":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"应":{"docs":{},"用":{"docs":{},"一":{"docs":{},"些":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"策":{"docs":{},"略":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"“":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"”":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"“":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"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":{},"缓":{"docs":{},"存":{"docs":{},"策":{"docs":{},"略":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"定":{"docs":{},"义":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"接":{"docs":{},"口":{"docs":{},"返":{"docs":{},"回":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"结":{"docs":{},"构":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{},"另":{"docs":{},"外":{"docs":{},",":{"docs":{},"在":{"docs":{},"调":{"docs":{},"试":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"常":{"docs":{},"需":{"docs":{},"要":{"docs":{},"一":{"docs":{},"些":{"docs":{},"工":{"docs":{},"具":{"docs":{},"来":{"docs":{},"查":{"docs":{},"看":{"docs":{},"网":{"docs":{},"络":{"docs":{},"请":{"docs":{},"求":{"docs":{},"、":{"docs":{},"响":{"docs":{},"应":{"docs":{},"报":{"docs":{},"文":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"网":{"docs":{},"络":{"docs":{},"代":{"docs":{},"理":{"docs":{},"工":{"docs":{},"具":{"docs":{},"来":{"docs":{},"调":{"docs":{},"试":{"docs":{},"网":{"docs":{},"络":{"docs":{},"数":{"docs":{},"据":{"docs":{},"问":{"docs":{},"题":{"docs":{},"是":{"docs":{},"主":{"docs":{},"流":{"docs":{},"方":{"docs":{},"式":{"docs":{},"。":{"docs":{},"配":{"docs":{},"置":{"docs":{},"代":{"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":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"缓":{"docs":{},"存":{"docs":{},"策":{"docs":{},"略":{"docs":{},"信":{"docs":{},"息":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}},"p":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.007142857142857143},"chapter2/":{"ref":"chapter2/","tf":0.1},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":5}},"采":{"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.01}}}}}}}}}}}}}}}}}},",":{"docs":{},"一":{"docs":{},"套":{"docs":{},"代":{"docs":{},"码":{"docs":{},"同":{"docs":{},"时":{"docs":{},"运":{"docs":{},"行":{"docs":{},"在":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01}}}}}}}}}}}},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}},"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},"(":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}},":":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}},"\"":{"docs":{},",":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.008403361344537815}}}},"'":{"docs":{},",":{"docs":{"chapter13/intl.html":{"ref":"chapter13/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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00404040404040404}},"(":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004651162790697674},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00851063829787234},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00808080808080808},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.012658227848101266}},"{":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004651162790697674},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00808080808080808},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.012658227848101266}}},"是":{"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":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"标":{"docs":{},"题":{"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.00202020202020202}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"框":{"docs":{},"架":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"安":{"docs":{},"装":{"docs":{},"包":{"docs":{},"中":{"docs":{},"会":{"docs":{},"包":{"docs":{},"含":{"docs":{},"代":{"docs":{},"码":{"docs":{},"和":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}}}}}}}}}}}},"\"":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}},";":{"docs":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894}}},",":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}},",":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}}}}}},"定":{"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":{},"组":{"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":{},"式":{"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":{},"共":{"docs":{},"享":{"docs":{},"样":{"docs":{},"式":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"目":{"docs":{},"录":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}},",":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.008264462809917356}}}}},"中":{"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":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.011494252873563218}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}},"最":{"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":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"。":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"”":{"docs":{},"和":{"docs":{},"“":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},"”":{"docs":{},"。":{"docs":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894}}}}}}}}}}}}}}}},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.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":{},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{},"结":{"docs":{},"构":{"docs":{"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.015151515151515152}}}}}},"内":{"docs":{},"封":{"docs":{},"装":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"组":{"docs":{},"件":{"docs":{},"都":{"docs":{},"在":{"docs":{},"该":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.015151515151515152}}}}}}}}}}}}}}}}}}}}}},"语":{"docs":{},"言":{"docs":{},"信":{"docs":{},"息":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}},"状":{"docs":{},"态":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}},"选":{"docs":{},"择":{"docs":{},"页":{"docs":{},"提":{"docs":{},"供":{"docs":{},"三":{"docs":{},"个":{"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":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"主":{"docs":{},"题":{"docs":{},"状":{"docs":{},"态":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}},"是":{"docs":{},"否":{"docs":{},"登":{"docs":{},"录":{"docs":{},"(":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},"用":{"docs":{},"户":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"则":{"docs":{},"证":{"docs":{},"明":{"docs":{},"登":{"docs":{},"录":{"docs":{},"过":{"docs":{},")":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}},"入":{"docs":{},"口":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},"及":{"docs":{},"主":{"docs":{},"页":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}}}}},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.01879194630872483},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.009615384615384616},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.010416666666666666},"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.011494252873563218},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028},"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.030303030303030304}},"平":{"docs":{},"台":{"docs":{},"。":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01}}}}},"_":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}},"设":{"docs":{},"置":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}},"和":{"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":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}},"'":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}},".":{"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},";":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},".":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},";":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}},"e":{"docs":{},"s":{"docs":{},";":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}},"e":{"docs":{},";":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}},"文":{"docs":{},"件":{"docs":{},"夹":{"docs":{},",":{"docs":{},"点":{"docs":{},"击":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.00881057268722467},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.00333889816360601},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.019801980198019802},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.02577319587628866},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.049689440993788817},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.017543859649122806},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.02100840336134454},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.0205761316872428}},"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.002577319587628866},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856}},"{":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}},"的":{"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}}},"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.005154639175257732},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866}},"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.005154639175257732}}}}}}}}}}}},"{":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866}}}}}}}}}}}},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00823045267489712}},"{":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}},"e":{"docs":{},"(":{"docs":{},"{":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}},"高":{"docs":{},"级":{"docs":{},"用":{"docs":{},"法":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.024752475247524754},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005154639175257732},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.019801980198019802},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010309278350515464},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}},"v":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},":":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}},"派":{"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.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"生":{"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.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"用":{"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.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0025041736227045075},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.007731958762886598},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.043478260869565216},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.017543859649122806},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856}},")":{"docs":{},";":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005154639175257732}}}}},")":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.0102880658436214}},"方":{"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.0049504950495049506}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856}}}},"对":{"docs":{},"象":{"docs":{},"的":{"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.0049504950495049506}}}}}}}}}}}}}},"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":{},"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":{},"者":{"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":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"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.002577319587628866}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005154639175257732}},"e":{"docs":{},",":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.015463917525773196}}}}}}}}},":":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.007731958762886598},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}},";":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.007731958762886598}}},"=":{"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.002577319587628866}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}},"e":{"docs":{},"d":{"docs":{},")":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866}}}}}}}}}}}},"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.002577319587628866},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},")":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}}}}}}},"}":{"docs":{},")":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866}}}},")":{"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.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"y":{"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":{},"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":{},"错":{"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":{},"v":{"docs":{},"a":{"docs":{},"r":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},".":{"docs":{},"p":{"docs":{},"i":{"docs":{},"/":{"2":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064}}},"docs":{}}}}}}}}}}}}},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0064516129032258064}},",":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}},".":{"docs":{},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"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":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},",":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},";":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}},";":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"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":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"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":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"源":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"时":{"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":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"却":{"docs":{},"别":{"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":{},"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":{},"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":{},"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":{},"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":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{},"而":{"docs":{},"当":{"docs":{},"调":{"docs":{},"用":{"docs":{},"的":{"docs":{},"是":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"只":{"docs":{},"需":{"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":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"改":{"docs":{},"为":{"docs":{},"下":{"docs":{},"面":{"docs":{},"这":{"docs":{},"样":{"docs":{},"既":{"docs":{},"可":{"docs":{},":":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"]":{"docs":{},"?":{"docs":{},")":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616}}},"s":{"docs":{},":":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00851063829787234},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.005008347245409015},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}},"v":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.004056795131845842}},"e":{"docs":{},":":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.004056795131845842}}},";":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.004056795131845842}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514}}}}}}}},",":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}},"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.002551020408163265}}}}}}}}},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}},"p":{"docs":{},"t":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}},":":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}},"s":{"docs":{},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}}}}},"d":{"docs":{},"b":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},"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":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}}}}}}}}}}}}}}}}}}}}},"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.002688172043010753},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}},"i":{"docs":{},"v":{"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":{},"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.002688172043010753}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.002688172043010753},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}},"e":{"docs":{},"s":{"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":{},"组":{"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":{},"重":{"docs":{},"绘":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"当":{"docs":{},"列":{"docs":{},"表":{"docs":{},"项":{"docs":{},"重":{"docs":{},"绘":{"docs":{},"的":{"docs":{},"开":{"docs":{},"销":{"docs":{},"非":{"docs":{},"常":{"docs":{},"小":{"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.002688172043010753}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"v":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}},")":{"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":{},"调":{"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.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"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":{},"状":{"docs":{},"态":{"docs":{},"改":{"docs":{},"变":{"docs":{},"的":{"docs":{},"监":{"docs":{},"听":{"docs":{},"器":{"docs":{},"。":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}},"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"l":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}},"(":{"docs":{},"d":{"docs":{},"o":{"docs":{},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684}}}}}}}}},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.03608247422680412}},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.010309278350515464},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064}}}}}}}},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.013605442176870748}}}}}}},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}},"x":{"docs":{},"*":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"+":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"/":{"2":{"docs":{},")":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.004201680672268907}}}}}}}}}}}}}}}},":":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.020618556701030927},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.013605442176870748},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}},"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.015625}}}}}}}}}}}}}}}}},"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.0078125}}}}}}}}}}}}}}}}}}}}}}},":":{"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":{},"组":{"docs":{},"件":{"docs":{},"。":{"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.0078125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"1":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}},"docs":{}}},"2":{"docs":{},",":{"0":{"docs":{},".":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}},"docs":{}}},"docs":{}}},"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},".":{"docs":{},"x":{"docs":{},",":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"其":{"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/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"唯":{"docs":{},"一":{"docs":{},"的":{"docs":{},"区":{"docs":{},"别":{"docs":{},"就":{"docs":{},"是":{"docs":{},"坐":{"docs":{},"标":{"docs":{},"原":{"docs":{},"点":{"docs":{},"不":{"docs":{},"同":{"docs":{},"!":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"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":{},"x":{"docs":{},"、":{"docs":{},"y":{"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":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"它":{"docs":{},"和":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}},"(":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.020618556701030927},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.013605442176870748},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}},"{":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}},"和":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"对":{"docs":{},"比":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}},"v":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}},"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"机":{"docs":{},"制":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"用":{"docs":{},"于":{"docs":{},"避":{"docs":{},"免":{"docs":{},"在":{"docs":{},"同":{"docs":{},"一":{"docs":{},"台":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"请":{"docs":{},"求":{"docs":{},"多":{"docs":{},"个":{"docs":{},"资":{"docs":{},"源":{"docs":{},"时":{"docs":{},"频":{"docs":{},"繁":{"docs":{},"创":{"docs":{},"建":{"docs":{},"链":{"docs":{},"接":{"docs":{},",":{"docs":{},"它":{"docs":{},"本":{"docs":{},"质":{"docs":{},"上":{"docs":{},"是":{"docs":{},"支":{"docs":{},"持":{"docs":{},"链":{"docs":{},"接":{"docs":{},"复":{"docs":{},"用":{"docs":{},"的":{"docs":{},"技":{"docs":{},"术":{"docs":{},",":{"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/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"在":{"docs":{},"响":{"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":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"y":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},".":{"docs":{},"b":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.030837004405286344}}}}}}}},"w":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"7":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00851063829787234}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"h":{"docs":{},"a":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.009900990099009901}}}}},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}},"(":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.007512520868113523},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}},"{":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}}},"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.0013422818791946308}}}}}}},",":{"docs":{},"打":{"docs":{},"开":{"docs":{},"后":{"docs":{},"如":{"docs":{},"图":{"1":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},"docs":{}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.008403361344537815}}}}}}}}}}}},"g":{"docs":{},"s":{"docs":{},"=":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"a":{"docs":{},"l":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"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":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"s":{"docs":{},".":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"u":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}},"}":{"docs":{},")":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}},"b":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0056022408963585435},"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.015151515151515152}},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"_":{"docs":{},"*":{"docs":{},".":{"docs":{},"a":{"docs":{},"r":{"docs":{},"b":{"docs":{"chapter13/intl.html":{"ref":"chapter13/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":{"chapter13/intl.html":{"ref":"chapter13/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":{"chapter13/intl.html":{"ref":"chapter13/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":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}},"v":{"docs":{},"d":{"docs":{},"s":{"docs":{},".":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.013605442176870748}},":":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.019801980198019802}}},")":{"docs":{},",":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}}},",":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.027210884353741496}}}}}},"i":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028}}}}}}}}}}}}},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}},"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.00749063670411985}}}}}}}}}}}}}}}}}}}},"语":{"docs":{},"句":{"docs":{},"被":{"docs":{},"启":{"docs":{},"用":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"f":{"docs":{},"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"f":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.011834319526627219}}}}}},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856}}}}}},"a":{"docs":{},"r":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}},"_":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}},"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.0018832391713747645}}}}}}}}}}}}}}}}}}},"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.0018832391713747645}}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}},"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.0018587360594795538}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}},"t":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.04326923076923077}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}},"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.004807692307692308}}}}}}}}}}}}}}}}}}}},"\"":{"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.007653061224489796}}}}}}}}}}}}}}}}}}}}}}}},"类":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.004807692307692308}}}}}}}}}}}}}}}},"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.004807692307692308}}}}}}}}}}}}},"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.00390625}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"y":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.015625}}}}}}}}}}}}}}}},":":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.014423076923076924},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}},"指":{"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.004807692307692308}}}}}}}}}}}}}}}}},"(":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.0234375},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}}},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.003745318352059925},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.005008347245409015},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.01694915254237288},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.017094017094017096},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0035211267605633804},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.005813953488372093},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}},"/":{"docs":{},"a":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}},"和":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"用":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.015873015873015872},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}},"{":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/socket.html":{"ref":"chapter11/socket.html","tf":0.02857142857142857}}}}}},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0064516129032258064}},")":{"docs":{},";":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0064516129032258064}}}},":":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}},"/":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}}}}}}},"!":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}},"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.0018726591760299626}},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.003745318352059925}},"=":{"docs":{},">":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}}}}}}}}},"e":{"docs":{},"d":{"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":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.003067484662576687}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"s":{"docs":{},".":{"docs":{},"w":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"\"":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.003669724770642202}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}},"l":{"docs":{},"n":{"docs":{},"(":{"docs":{},"\"":{"docs":{},";":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}},"=":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.00749063670411985},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.005008347245409015},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.008403361344537815},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.01694915254237288},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.013761467889908258},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.014150943396226415},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.005698005698005698},"chapter11/socket.html":{"ref":"chapter11/socket.html","tf":0.05714285714285714},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0035211267605633804},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.005813953488372093},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}},"f":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}},"s":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.008086253369272238},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.007692307692307693}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0026954177897574125}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}},":":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}},"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}},":":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"(":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}},"”":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}},"b":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0041928721174004195},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}},"o":{"docs":{},"r":{"docs":{},"b":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}}}}}}}}}}}}}},"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.00390625}}}}}}}}}}}},"x":{"docs":{},"i":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}},"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.005917159763313609},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}}}}}}}}}}}}},"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.005917159763313609},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001669449081803005}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}},"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.02631578947368421},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856}}},":":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856}}}}}}},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856}}}}}}},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856}}}}}}}},"u":{"docs":{},"p":{"docs":{},":":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856}}}}}},"滚":{"docs":{},"动":{"docs":{},"方":{"docs":{},"向":{"docs":{},"。":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.02631578947368421}}}}}}}}}}}}}}}}}}},"\"":{"docs":{},")":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.011299435028248588}},")":{"docs":{},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}}}}}},":":{"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.008771929824561403}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"=":{"1":{"7":{"2":{"8":{"0":{"0":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"n":{"docs":{},"t":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0045871559633027525}}}},"字":{"docs":{},"段":{"docs":{},"。":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}},":":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}},")":{"docs":{},"来":{"docs":{},"看":{"docs":{},"看":{"docs":{},"输":{"docs":{},"出":{"docs":{},"的":{"docs":{},"变":{"docs":{},"化":{"docs":{},"。":{"docs":{"chapter11/socket.html":{"ref":"chapter11/socket.html","tf":0.02857142857142857}}}}}}}}}}}}}}}},"标":{"docs":{},"志":{"docs":{},":":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}},",":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0055762081784386614}}},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0037174721189591076}},")":{"docs":{},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}}}}},"b":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713},"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616}},".":{"docs":{},"z":{"docs":{},"i":{"docs":{},"p":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}},"h":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},":":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}}}}}}}},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},":":{"docs":{},".":{"0":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}},"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.004201680672268907}}}}}}}}}}}}}},"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.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}},"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.006024096385542169}}}}}}}},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}}},"e":{"docs":{},"w":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.004026845637583893}}},"a":{"docs":{},"k":{"docs":{},";":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.011661807580174927},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.01646090534979424}}}}}},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}},"u":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0041928721174004195},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.003669724770642202},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},".":{"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.0035714285714285713}}}}}}}},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"l":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}},",":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},"t":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"s":{"docs":{},"/":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}},"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.012422360248447204}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"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.014598540145985401},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.009302325581395349},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.009615384615384616},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.012578616352201259},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.010141987829614604},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0026954177897574125},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.011834319526627219},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.006060606060606061},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.010752688172043012},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.006134969325153374},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.00967741935483871},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.005454545454545455},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005649717514124294},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.010582010582010581},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001669449081803005},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.012216404886561954},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0058309037900874635},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.015463917525773196},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.017543859649122806},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.008403361344537815},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.006172839506172839},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.009852216748768473},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.009966777408637873},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.004705882352941176},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.012658227848101266}}}}}}}}}}}}}},")":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.012121212121212121}},";":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}},":":{"docs":{},"此":{"docs":{},"回":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}},",":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001669449081803005}}},":":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.010582010582010581},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.009181969949916527},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005154639175257732},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.009302325581395349},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.004705882352941176}}},"进":{"docs":{},"行":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},",":{"docs":{},"如":{"docs":{},"图":{"2":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}}},"docs":{}}}}}}}}},"(":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}},"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.0013477088948787063},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.01090909090909091},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001669449081803005},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}},"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.012422360248447204}}},";":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602}}}}}}}}}}}},";":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602}}},":":{"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":{},"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":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{},";":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}},"时":{"docs":{},"可":{"docs":{},"以":{"docs":{},"被":{"docs":{},"同":{"docs":{},"步":{"docs":{},"读":{"docs":{},"取":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}}}}}}}}},"方":{"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":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.005454545454545455}}}},"了":{"docs":{},",":{"docs":{},"即":{"docs":{},"按":{"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":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"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":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"时":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"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":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"日":{"docs":{},"志":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"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":{},"经":{"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":{},"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":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"调":{"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":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"了":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"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":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.004173622704507512},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.01818181818181818},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}},"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.006211180124223602}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"n":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.005504587155963303}},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}},"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.0018587360594795538}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006557377049180328}}}}},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.009615384615384616}},"e":{"docs":{},"中":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}},"前":{"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.004807692307692308}}}}}}}}}}}}},"加":{"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.004807692307692308}}}}}}}}}}}}}}}}}}},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"使":{"docs":{},"父":{"docs":{},"级":{"docs":{},"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"?":{"docs":{},")":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}},":":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.005369127516778523},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0072992700729927005}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}}}},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}}}}}}},"s":{"docs":{},".":{"docs":{},"e":{"docs":{},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}},"\"":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}}}}}}}}}}}}}}},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"(":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},",":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"(":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},",":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}},"\"":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}}}}}}}}}}}}}}},"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":{},"行":{"docs":{},"。":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"6":{"4":{"docs":{},".":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"(":{"docs":{},"u":{"docs":{},"t":{"docs":{},"f":{"8":{"docs":{},".":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"(":{"docs":{},"'":{"docs":{},"$":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},":":{"docs":{},"$":{"docs":{},"p":{"docs":{},"w":{"docs":{},"d":{"docs":{},"'":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}},"docs":{}},"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.0013477088948787063}}}}}}}}},"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},":":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}},"i":{"docs":{},"c":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0045871559633027525},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.005813953488372093}},";":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.005813953488372093}}}}}},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}}},"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":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.00881057268722467},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.004081632653061225}}},":":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.03524229074889868},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.004081632653061225}}},":":{"docs":{},"指":{"docs":{},"示":{"docs":{},"器":{"docs":{},"的":{"docs":{},"背":{"docs":{},"景":{"docs":{},"色":{"docs":{},"。":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}}}}}}}}}}}}},"、":{"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.0020964360587002098}}}}}}}}}}}}}}},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"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.011627906976744186}}}}}}}}}}}},":":{"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.011627906976744186}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0025041736227045075}}},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001669449081803005}}},";":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602}}}}}}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001669449081803005}},"i":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.00333889816360601}}},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0025041736227045075}}},";":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"e":{"docs":{},"l":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0025041736227045075}}},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001669449081803005}}},";":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602}}}}}}}}}}}}},"d":{"docs":{},"g":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.03571428571428571},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.02857142857142857},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.025078369905956112},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}},";":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.014285714285714285},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}},":":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.012539184952978056}},"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}},";":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.008264462809917356}},".":{"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.008264462809917356}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},")":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616}}},"(":{"docs":{},"位":{"docs":{},")":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}},"(":{"docs":{},"位":{"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"]":{"docs":{},";":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0018587360594795538}}}}},"的":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}},"o":{"docs":{},"b":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}},"l":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}},"o":{"docs":{},"l":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.00749063670411985},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.0069767441860465115},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.012170385395537525},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.02702702702702703},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.008086253369272238},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.013440860215053764},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.020242914979757085},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.01001669449081803},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.011661807580174927},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.018633540372670808},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.005442176870748299},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.011494252873563218},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.02654867256637168},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0056022408963585435},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.011299435028248588},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.004694835680751174},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.007575757575757576},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.014534883720930232},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.007692307692307693}},")":{"docs":{},"{":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}},".":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"v":{"docs":{},"i":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},".":{"docs":{},"v":{"docs":{},"m":{"docs":{},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.00510204081632653}}}},"d":{"docs":{},"y":{"docs":{},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004651162790697674},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.012658227848101266}}},"的":{"docs":{},"组":{"docs":{},"件":{"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.0024330900243309003}}}}}}}}}}}}}}}},"(":{"docs":{},")":{"docs":{},",":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}}}},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}},"x":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.006085192697768763},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.013245033112582781},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}}}}}}}},"{":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186}}},"/":{"docs":{},"/":{"docs":{},"背":{"docs":{},"景":{"docs":{},"装":{"docs":{},"饰":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}}}}}}}}}}}}}}}}}}},"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.00425531914893617},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}},"s":{"docs":{},"(":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}},"w":{"docs":{},"=":{"4":{"1":{"1":{"docs":{},".":{"4":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.00303951367781155}}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.02553191489361702}}}}}}}},"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.00851063829787234}}}}}}}}}}},"a":{"docs":{},"x":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}},"{":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}}}},".":{"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.0078125},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}},"可":{"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.00425531914893617}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}},"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.00425531914893617},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}}}}}}}},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}}}}}}}}}},"(":{"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.005649717514124294}}}},"docs":{}}},"docs":{}},"docs":{}},"3":{"0":{"0":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.011299435028248588}}}},"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.00425531914893617}}}}}}}}}}}}}}}}}},"还":{"docs":{},"定":{"docs":{},"义":{"docs":{},"了":{"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.00425531914893617}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}},")":{"docs":{},",":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.00510204081632653}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}}}},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}}}}}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186}}}}}},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"(":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}},",":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186}}},":":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}},"p":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186}},"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.011627906976744186}}}}}}}}}}}}}}}}}},"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.0018832391713747645}},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}},")":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}},"定":{"docs":{},"义":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}}}}}}}}}}}},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"(":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}}}}}},":":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.004043126684636119},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"u":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}},"s":{"docs":{},".":{"docs":{},"c":{"docs":{},"i":{"docs":{},"r":{"docs":{},"c":{"docs":{},"u":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{},"(":{"1":{"2":{"docs":{},")":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}},"docs":{}},"2":{"0":{"docs":{},".":{"0":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}}}},"docs":{}}},"docs":{},")":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}},"3":{"docs":{},".":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186}}}}},"docs":{}}},"5":{"docs":{},".":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}}}},"docs":{}}},"docs":{}}}}}}}}}}},",":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.009852216748768473},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},":":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.009852216748768473},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}}},"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.011627906976744186}}}}}}}}}},";":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}}}}}},"(":{"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.0013477088948787063}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"(":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}}}},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}},",":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186}}},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"(":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}},"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":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"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.0078125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"来":{"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":{},"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.0078125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{},":":{"docs":{},"分":{"docs":{},"别":{"docs":{},"指":{"docs":{},"定":{"docs":{},"四":{"docs":{},"个":{"docs":{},"方":{"docs":{},"向":{"docs":{},"的":{"docs":{},"填":{"docs":{},"充":{"docs":{},"。":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684}}}}}}}}}}}}}}}},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00404040404040404},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.004705882352941176}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}},"的":{"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.00202020202020202}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}},"(":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00404040404040404}}},"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0017452006980802793}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0034904013961605585}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"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.02631578947368421}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}},"g":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},"~":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}},"s":{"docs":{},"s":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}},"字":{"docs":{},"段":{"docs":{},":":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186}},"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.00510204081632653}}}}}}}}}}}}}}}}}}}}},"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.011627906976744186},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}},"e":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}},"o":{"docs":{},"c":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}},":":{"docs":{},"显":{"docs":{},"示":{"docs":{},"用":{"docs":{},"户":{"docs":{},"头":{"docs":{},"像":{"docs":{},"原":{"docs":{},"图":{"docs":{},",":{"docs":{},"矩":{"docs":{},"形":{"docs":{},";":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403}}}}}}}}}}}}}}},")":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0055762081784386614}},",":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}},"y":{"docs":{},"t":{"docs":{},"e":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},"s":{"docs":{},"=":{"0":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.008547008547008548}}},"docs":{}}},"[":{"docs":{},"]":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.011494252873563218}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}}},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0037174721189591076}},")":{"docs":{},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}}}}},"c":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713},"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0170316301703163},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.009302325581395349},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.012578616352201259},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.018255578093306288},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.00510204081632653},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.02702702702702703},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.005390835579514825},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.00881057268722467},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.011834319526627219},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00808080808080808},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.013605442176870748},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.008064516129032258},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.008097165991902834},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.012269938650306749},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.024390243902439025},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.01935483870967742},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.016363636363636365},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.00847457627118644},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0025041736227045075},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.019197207678883072},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.01749271137026239},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.009900990099009901},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.015463917525773196},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.017543859649122806},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.012605042016806723},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00823045267489712},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.014778325123152709},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.019933554817275746},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.00909090909090909},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.005442176870748299},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.011299435028248588},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0045871559633027525},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.009302325581395349},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.009174311926605505},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.017699115044247787},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0056022408963585435},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.030303030303030304},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.005649717514124294},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0037174721189591076},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.005868544600938967},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.01893939393939394},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.011627906976744186},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.007058823529411765},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.007692307692307693},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.012658227848101266}},")":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}},"=":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}},"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.02631578947368421}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616}},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}}}},"p":{"docs":{},"o":{"docs":{},"v":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}},"a":{"docs":{},"l":{"docs":{},"(":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},":":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}}}}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}},"(":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}},"/":{"docs":{},"/":{"docs":{},"将":{"docs":{},"溢":{"docs":{},"出":{"docs":{},"部":{"docs":{},"分":{"docs":{},"剪":{"docs":{},"裁":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}},"(":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}}}}}}}}}},"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}},"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":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}},"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.0035714285714285713}}}}}}},"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.0035714285714285713}}}}}}}}}}}}}}}},"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.002577319587628866},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}},"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.006060606060606061}},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"{":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}}}}}}}}}}}}}},"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.0037174721189591076}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}},"n":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}},"o":{"docs":{},"n":{"docs":{"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.030303030303030304}}}}}},"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.0035714285714285713}}}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"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":{},"b":{"docs":{},"y":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.008385744234800839},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.03125},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.012048192771084338},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.012755102040816327},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.006738544474393531},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00823045267489712},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.029585798816568046},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015625},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.010309278350515464},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.031578947368421054},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.012903225806451613},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.014141414141414142},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.01881720430107527},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005649717514124294},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.008347245409015025},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.019801980198019802},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010309278350515464},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00823045267489712},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.00816326530612245},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.005698005698005698},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.009302325581395349},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.005504587155963303},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.014285714285714285},"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.027777777777777776},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0056022408963585435},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0035211267605633804},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.015294117647058824},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.007692307692307693},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}},",":{"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.0018726591760299626}}}}}}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.003766478342749529}},"s":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.03404255319148936},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.01694915254237288},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}},",":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}},".":{"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.0018832391713747645}}}}}}}}}}}},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}},"(":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.03404255319148936},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.01694915254237288},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter15/login_page.html":{"ref":"chapter15/login_page.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":{},"是":{"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.00425531914893617}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001669449081803005}}}}}}}}}}}}}},"u":{"docs":{},"m":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}},"e":{"docs":{},"r":{"2":{"docs":{},"(":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}},"docs":{},"(":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}},"{":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}},"实":{"docs":{},"现":{"docs":{},"非":{"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":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"获":{"docs":{},"取":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"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":{},")":{"docs":{},"。":{"docs":{},"现":{"docs":{},"在":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"块":{"docs":{},"可":{"docs":{},"以":{"docs":{},"优":{"docs":{},"化":{"docs":{},"为":{"docs":{},"如":{"docs":{},"下":{"docs":{},"这":{"docs":{},"样":{"docs":{},":":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.009732360097323601},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.009302325581395349},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.009615384615384616},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.012578616352201259},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.010141987829614604},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0026954177897574125},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.011834319526627219},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.006060606060606061},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.010752688172043012},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.006134969325153374},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.016129032258064516},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.007272727272727273},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005649717514124294},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.010582010582010581},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.00667779632721202},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.012216404886561954},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0058309037900874635},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.015463917525773196},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.017543859649122806},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.008403361344537815},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.006172839506172839},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.009852216748768473},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.009966777408637873},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.004705882352941176},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.012658227848101266}},",":{"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"来":{"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.002824858757062147}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.013953488372093023},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006557377049180328},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.01881720430107527},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.007272727272727273},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.015873015873015872},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.015859766277128547},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.031055900621118012},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter10/intro.html":{"ref":"chapter10/intro.html","tf":0.04},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.005649717514124294},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.0058823529411764705}}},":":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.009181969949916527},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}}},",":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"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":{},"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":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},";":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},")":{"docs":{},"?":{"docs":{},".":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.002824858757062147}},"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.0064516129032258064}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364}}}}}}},"_":{"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.002824858757062147}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.006060606060606061}}}}}}}}}}}}}}}}}}}},"s":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}}},"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.0018832391713747645}}}}}}}}}}}}}}}}}}}},"上":{"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":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}}}}}}}}},"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}},"}":{"docs":{},")":{"docs":{},";":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}},"n":{"docs":{},"t":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0045871559633027525},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.007512520868113523},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0041928721174004195},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.010141987829614604},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.012345679012345678},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.023668639053254437},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.010309278350515464},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.012903225806451613},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.019867549668874173},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.011299435028248588},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005154639175257732},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.012605042016806723},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0297029702970297}}}}}}}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},":":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015625}}}}}}}},"{":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}}},".":{"docs":{},".":{"docs":{},".":{"docs":{},")":{"docs":{},",":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}},"可":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}},"容":{"docs":{},"器":{"docs":{"chapter5/":{"ref":"chapter5/","tf":0.07692307692307693}}}},"的":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"属":{"docs":{},"性":{"docs":{},"在":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"其":{"docs":{},"它":{"docs":{},"容":{"docs":{},"器":{"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.006622516556291391}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.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":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.019801980198019802},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010309278350515464},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.008264462809917356}},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.009900990099009901},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.01680672268907563}}},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.005390835579514825},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.006060606060606061},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.007692307692307693}}},":":{"docs":{},"编":{"docs":{},"辑":{"docs":{},"框":{"docs":{},"的":{"docs":{},"控":{"docs":{},"制":{"docs":{},"器":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"设":{"docs":{},"置":{"docs":{},"/":{"docs":{},"获":{"docs":{},"取":{"docs":{},"编":{"docs":{},"辑":{"docs":{},"框":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"、":{"docs":{},"选":{"docs":{},"择":{"docs":{},"编":{"docs":{},"辑":{"docs":{},"内":{"docs":{},"容":{"docs":{},"、":{"docs":{},"监":{"docs":{},"听":{"docs":{},"编":{"docs":{},"辑":{"docs":{},"文":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"此":{"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":{},"组":{"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":{},"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":{},"组":{"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":{},"是":{"docs":{},"父":{"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":{},"是":{"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":{},"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.02631578947368421}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"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.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.003067484662576687}}}}}}}}}},"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.003067484662576687}}}}}}}}}},"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.005154639175257732}}}}}}}}}}}},"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.01288659793814433}}}}}}}}}}}},"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.002577319587628866}}}}}}}}}}}}},";":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005154639175257732},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}},")":{"docs":{},";":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}},":":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}},"s":{"docs":{},"面":{"docs":{},"板":{"docs":{},"中":{"docs":{},"的":{"docs":{},"电":{"docs":{},"池":{"docs":{},"电":{"docs":{},"量":{"docs":{},"。":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028}}}}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"u":{"docs":{},"r":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}},"s":{"docs":{},".":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}},")":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0035211267605633804}},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},".":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}},"d":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}},":":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}}}}}}},":":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}},"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.0035714285714285713}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"a":{"docs":{},"p":{"docs":{},"o":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},"s":{"docs":{},"目":{"docs":{},"前":{"docs":{},"不":{"docs":{},"提":{"docs":{},"供":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"覆":{"docs":{},"盖":{"docs":{},"功":{"docs":{},"能":{"docs":{},"。":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616}}},"之":{"docs":{},"一":{"docs":{},"以":{"docs":{},"获":{"docs":{},"得":{"docs":{},"更":{"docs":{},"好":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"体":{"docs":{},"验":{"docs":{},"。":{"docs":{},"f":{"docs":{},"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"轻":{"docs":{},"量":{"docs":{},"级":{"docs":{},"编":{"docs":{},"辑":{"docs":{},"器":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"配":{"docs":{},"置":{"docs":{},"与":{"docs":{},"使":{"docs":{},"用":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}},"及":{"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.0013422818791946308}}}}}}}}}}}}}}}},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"其":{"docs":{},"官":{"docs":{},"网":{"docs":{},"获":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"f":{"docs":{},"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":{},"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":{},"介":{"docs":{},"绍":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},".":{"docs":{},"_":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}},":":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}},"参":{"docs":{},"数":{"docs":{},"值":{"docs":{},"为":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"继":{"docs":{},"续":{"docs":{},"看":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},":":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.00881057268722467},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.022598870056497175},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001669449081803005},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.005442176870748299},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.012658227848101266}},"s":{"docs":{},".":{"docs":{},"b":{"docs":{},"l":{"docs":{},"u":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}},"e":{"docs":{},",":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.0069767441860465115},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.00510204081632653},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.019801980198019802},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}},")":{"docs":{},",":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}}},";":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}},"[":{"2":{"0":{"0":{"docs":{},"]":{"docs":{},"]":{"docs":{},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}}}}}},"docs":{}},"docs":{}},"3":{"0":{"0":{"docs":{},"]":{"docs":{},"]":{"docs":{},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}},"docs":{}},"docs":{}},"5":{"0":{"docs":{},"]":{"docs":{},",":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.010309278350515464}}},"到":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},".":{"docs":{},"b":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"[":{"1":{"0":{"0":{"docs":{},"]":{"docs":{},"的":{"docs":{},"色":{"docs":{},"值":{"docs":{},"从":{"docs":{},"浅":{"docs":{},"蓝":{"docs":{},"到":{"docs":{},"深":{"docs":{},"蓝":{"docs":{},"渐":{"docs":{},"变":{"docs":{},",":{"docs":{},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"图":{"7":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}},"docs":{}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}},"docs":{}},"7":{"0":{"0":{"docs":{},"]":{"docs":{},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}}},"docs":{}},"docs":{}},"docs":{}},")":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}},")":{"docs":{},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}}}},";":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"]":{"docs":{},",":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}}}}}}},"]":{"docs":{},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"y":{"docs":{},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}},"[":{"7":{"0":{"0":{"docs":{},"]":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}},"a":{"docs":{},"c":{"docs":{},"k":{"2":{"6":{"docs":{},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}},"docs":{}},"5":{"4":{"docs":{},",":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}},")":{"docs":{},";":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}},"docs":{}},"8":{"7":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}},"docs":{}},"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}},",":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064}}},".":{"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.004201680672268907}}}}},"5":{"docs":{},")":{"docs":{},",":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}}}},"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.0049504950495049506}}}}}}}}}},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}},"[":{"2":{"0":{"0":{"docs":{},"]":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0026954177897574125},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.03524229074889868}}}}},"docs":{}},"docs":{}},"6":{"0":{"0":{"docs":{},"]":{"docs":{},",":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.006085192697768763}}}}},"docs":{}},"docs":{}},"7":{"0":{"0":{"docs":{},"]":{"docs":{},")":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}},"docs":{}},"docs":{}},"docs":{}},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0026954177897574125},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}}},")":{"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.0013477088948787063}}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}},",":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.011834319526627219},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.012903225806451613},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}},")":{"docs":{},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.01020408163265306},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}}}}},")":{"docs":{},")":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}},",":{"docs":{},")":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}}},";":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}},"[":{"2":{"0":{"0":{"docs":{},"]":{"docs":{},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}},"docs":{}},"docs":{}},"7":{"0":{"0":{"docs":{},"]":{"docs":{},"]":{"docs":{},",":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}}},"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/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.006085192697768763}}}},"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":{}}}}}}}}}}},"t":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005649717514124294}},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"[":{"7":{"0":{"0":{"docs":{},"]":{"docs":{},",":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}},"docs":{}},"docs":{}},"docs":{}},";":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}},",":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}},"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.0049504950495049506},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}},")":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}}}},"w":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015625},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}}}},",":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.004056795131845842},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}},")":{"docs":{},",":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186}}}}}},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}},"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.002551020408163265},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}}}}}}}}}}},"r":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00823045267489712},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.011834319526627219},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015625},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}},")":{"docs":{},",":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}}}}},")":{"docs":{},",":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.03225806451612903}}}},"]":{"docs":{},",":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}}}},"[":{"5":{"0":{"docs":{},"]":{"docs":{},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}},"docs":{}},"docs":{}}}}},"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.0049504950495049506}}}}}}}}}}},"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.0064516129032258064}}}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.013245033112582781}}}},",":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.013245033112582781},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}}},"]":{"docs":{},",":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}},"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":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}}}}}},"docs":{}},"docs":{}},"docs":{}},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}},"]":{"docs":{},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}},"a":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}},":":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.014778325123152709},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.017687074829931974}}},";":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.004081632653061225}}},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}},"w":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}},"(":{"0":{"docs":{},"x":{"0":{"0":{"0":{"0":{"0":{"0":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"7":{"7":{"docs":{},"c":{"docs":{},"d":{"docs":{},"b":{"1":{"7":{"5":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}},"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.001519756838905775}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}},"docs":{}},"f":{"docs":{},"f":{"0":{"docs":{},"d":{"4":{"7":{"docs":{},"a":{"1":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}},"docs":{}}},"docs":{}},"docs":{}}},"1":{"5":{"6":{"5":{"docs":{},"c":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}},"docs":{}}},"docs":{}},"docs":{}},"9":{"7":{"6":{"docs":{},"d":{"2":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{},"e":{"8":{"8":{"docs":{},"e":{"5":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}},"docs":{}}},"docs":{}},"docs":{}}},"2":{"1":{"9":{"6":{"docs":{},"f":{"3":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.00303951367781155}},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"4":{"2":{"docs":{},"a":{"5":{"docs":{},"f":{"5":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}},"docs":{}}},"docs":{}}},"docs":{}},"6":{"4":{"docs":{},"b":{"5":{"docs":{},"f":{"6":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}},"docs":{}}},"docs":{}}},"docs":{}},"9":{"0":{"docs":{},"c":{"docs":{},"a":{"docs":{},"f":{"9":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}},"docs":{}}}}},"docs":{}},"docs":{},"f":{"docs":{},"f":{"docs":{},"f":{"docs":{},"f":{"0":{"0":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}},"docs":{}},"docs":{}}}}},"b":{"docs":{},"b":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"b":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}},"d":{"docs":{},"c":{"3":{"8":{"0":{"docs":{},"d":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}},"docs":{}},"docs":{}},"docs":{}}},"e":{"3":{"docs":{},"f":{"2":{"docs":{},"f":{"docs":{},"d":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}},"docs":{}}},"docs":{},"e":{"docs":{},"e":{"docs":{},"e":{"docs":{},"e":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}}}}}}}}}}}}}},"docs":{},"_":{"docs":{},"b":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},"c":{"docs":{},",":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"x":{"docs":{},":":{"1":{"6":{"docs":{},")":{"docs":{},")":{"docs":{},".":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"a":{"docs":{},"l":{"docs":{},"p":{"docs":{},"h":{"docs":{},"a":{"docs":{},"(":{"2":{"5":{"5":{"docs":{},")":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}},"|":{"0":{"docs":{},"x":{"docs":{},"f":{"docs":{},"f":{"0":{"0":{"0":{"0":{"0":{"0":{"docs":{},")":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}},"docs":{}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0041928721174004195},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.014198782961460446},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.01171875},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.018072289156626505},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.007653061224489796},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0026954177897574125},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.012345679012345678},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.023668639053254437},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0297029702970297},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015625},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.010309278350515464},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.012903225806451613},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.019867549668874173},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00404040404040404},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.011299435028248588},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.011299435028248588},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0034904013961605585},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.012605042016806723},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.00823529411764706},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.012658227848101266}},"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.00390625}}}}}},"b":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"5":{"4":{"docs":{},",":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186}}}},"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.006024096385542169}}}}}}}}}}}},"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.00510204081632653}}},":":{"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.002551020408163265}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"和":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}},"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":{},"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.006622516556291391}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"w":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}},"(":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}},"b":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}}}}}}}}}},",":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}}}}}}}},";":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}},"]":{"docs":{},";":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}},")":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}},"[":{"5":{"0":{"0":{"docs":{},"]":{"docs":{},".":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856}},"(":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004651162790697674},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.006738544474393531},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.024691358024691357},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005649717514124294},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.005843071786310518},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.0035294117647058825},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}},"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.005376344086021506}}}}}}}}}}}},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}},"可":{"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":{},"纵":{"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":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.003278688524590164}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}},"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.0020964360587002098}},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0041928721174004195}}}},"{":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}},"接":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},")":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}},",":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}},",":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}},";":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}},"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.002551020408163265}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"k":{"docs":{},"i":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308},"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.010416666666666666},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.014285714285714285},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}},"o":{"docs":{},"r":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.004559270516717325}}}}},"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.004866180048661801},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0041928721174004195},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.008113590263691683},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0026954177897574125},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.006134969325153374},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0064516129032258064},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.006980802792321117},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005154639175257732},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.009966777408637873},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}}}}}}},"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.003067484662576687}}}}}}}}}}}}}}}}},"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.0041928721174004195},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}},":":{"docs":{},"正":{"docs":{},"如":{"docs":{},"前":{"docs":{},"文":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.00425531914893617}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.011627906976744186}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},"n":{"docs":{},"o":{"docs":{},")":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}},",":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.005698005698005698}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"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":{},"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/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},")":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}},";":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}},"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.012345679012345678}},"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.00390625},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.012345679012345678},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0025041736227045075},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.0035294117647058825}}}}}}}},"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.012345679012345678},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0205761316872428},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0025041736227045075},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.0035294117647058825}}},":":{"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":{},",":{"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.00411522633744856}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}}},":":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.012145748987854251},"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":{},"以":{"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.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.008097165991902834}},"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.004048582995951417}}}}}}}}}}}}}},":":{"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.0035714285714285713}}}}}}}}}}}}}}}},"+":{"docs":{},"+":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01}}}}}}},"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":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.009302325581395349},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028}},"s":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}},"查":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}},".":{"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":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}},"_":{"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":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.009302325581395349}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},",":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}},";":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}},")":{"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":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.011494252873563218}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"f":{"docs":{},"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":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"插":{"docs":{},"件":{"docs":{},"的":{"docs":{},"底":{"docs":{},"层":{"docs":{},"基":{"docs":{},"础":{"docs":{},"设":{"docs":{},"施":{"docs":{},"。":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.011494252873563218}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"主":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}},")":{"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}},"e":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0064516129032258064}}}}},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}},"{":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"(":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"(":{"2":{"0":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364}}}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}}},",":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"(":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.0035294117647058825}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"u":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}},"s":{"docs":{},".":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005154639175257732},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.005649717514124294}},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.009732360097323601},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.01627906976744186},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.004559270516717325},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.014675052410901468},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.02231237322515213},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.024096385542168676},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.007653061224489796},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.013477088948787063},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.022026431718061675},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.024691358024691357},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.04142011834319527},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.019801980198019802},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0390625},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.03608247422680412},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.042105263157894736},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.059574468085106386},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.023255813953488372},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.08387096774193549},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.046357615894039736},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.01818181818181818},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.047619047619047616},"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.02631578947368421},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.043478260869565216},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.008064516129032258},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.020134228187919462},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.015337423312883436},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.024390243902439025},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.012903225806451613},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.01090909090909091},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.011299435028248588},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.02671118530884808},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.062146892655367235},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.029668411867364748},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.023323615160349854},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.023195876288659795},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.018633540372670808},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.06140350877192982},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.01680672268907563},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.018518518518518517},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.054187192118226604},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.019933554817275746},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.00909090909090909},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.021768707482993196},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.011299435028248588},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.009174311926605505},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.018604651162790697},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.02142857142857143},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.01818181818181818},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.003766478342749529},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.023529411764705882},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.019230769230769232},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.012658227848101266}},"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.0013477088948787063}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00823045267489712},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004651162790697674},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.0078125},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.01020408163265306},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.008086253369272238},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0411522633744856},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.01775147928994083},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.01485148514851485},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015625},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.012903225806451613},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.010101010101010102},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.02040816326530612},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.012145748987854251},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.011299435028248588},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.011686143572621035},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.008726003490401396},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.005442176870748299},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.0058823529411764705},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.012658227848101266}},"[":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}}}},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}},"是":{"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":{},"图":{"3":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{},";":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"(":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"d":{"docs":{},"\"":{"docs":{},".":{"docs":{},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"(":{"docs":{},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"(":{"docs":{},"[":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001669449081803005},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.026748971193415638},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.003766478342749529}}},")":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001669449081803005},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005154639175257732},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.012422360248447204},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.0035294117647058825}},";":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001669449081803005}}}},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},")":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},",":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}},"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.008097165991902834}},":":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.020242914979757085},"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":{},"。":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308}}}}}}}},";":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}},"}":{"docs":{},")":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}},".":{"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.0018832391713747645}}}}}}}}}}}}}},"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}},"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.0018832391713747645}}}}}}}}}}}}}}}}},"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.0018832391713747645}}}}}}}}}},"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.0018832391713747645}},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}}}}}}}},"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.0018832391713747645}},".":{"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.0018832391713747645}}}}}}}}}}}}}},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}},"p":{"docs":{},"(":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.019801980198019802}}}}},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}},"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.001519756838905775}}}}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"(":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.00333889816360601}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"k":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.011396011396011397}},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.011396011396011397}}}}},"e":{"docs":{},"v":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},")":{"docs":{},",":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}},",":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"(":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"u":{"docs":{},"n":{"docs":{},"k":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},",":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}},":":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}},":":{"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/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},"t":{"docs":{},"r":{"docs":{},"l":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.004026845637583893}}}},"x":{"docs":{},",":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866}}},")":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}},"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.003745318352059925}}}}},")":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}},",":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}},",":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.012539184952978056},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.008264462809917356}}},".":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},")":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}},"(":{"docs":{},"e":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}},"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.0018726591760299626}}}}}}}}}}}}}}}}},"才":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"语":{"docs":{},"句":{"docs":{},"中":{"docs":{},"。":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}}}}}},"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.001519756838905775}}},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}}}}}}}},"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0020964360587002098}}}}}}}}}}}}}}},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}}}}}}},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},",":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.00909090909090909},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}},".":{"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":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{},"(":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}}}}}}}}}}},":":{"docs":{},"一":{"docs":{},"个":{"docs":{},"画":{"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/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00404040404040404},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.021164021164021163},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.011661807580174927},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.01646090534979424}}}},"c":{"docs":{},"h":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0045871559633027525},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}},"e":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}}}}}}}}},",":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}},"g":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}},"(":{"docs":{},")":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"w":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"(":{"docs":{},"(":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},",":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}},"[":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"]":{"docs":{},";":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.005813953488372093}},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.005813953488372093}}}}}}}}}}}}}}}}}}}}}}},"d":{"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":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}},"r":{"docs":{},"t":{"docs":{},")":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}},"=":{"docs":{},">":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}},"=":{"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":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}},"(":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}},"即":{"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":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}}},"b":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}},"中":{"docs":{},"的":{"docs":{},"i":{"docs":{},"d":{"docs":{},"作":{"docs":{},"用":{"docs":{},"很":{"docs":{},"像":{"docs":{},".":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}}}}},"和":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}},"(":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.0069767441860465115},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.006289308176100629},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.006085192697768763},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.005235602094240838},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010309278350515464},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},"{":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},":":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.011299435028248588}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856}}}}}}}}}}}},"三":{"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.00411522633744856}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"组":{"docs":{},"件":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}},":":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}}}}}}},"r":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"o":{"docs":{},"_":{"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.0125}}}}}}}}},"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.0020964360587002098}}}}}}}}},"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.0020964360587002098}}}}}}}}}}}}}}}}}}}},"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.0020964360587002098}}}}}}}}}}}}}}}},"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.0020964360587002098}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602}}},"是":{"docs":{},"c":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"o":{"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":{},"画":{"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":{},"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":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0020964360587002098}}}}}}}}}},"组":{"docs":{},"件":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}},"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.02631578947368421}},"是":{"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.02631578947368421}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.001519756838905775},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.013636363636363636},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}},"与":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{"chapter10/":{"ref":"chapter10/","tf":0.16666666666666666}}}}}}}},"(":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.00909090909090909},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}},"{":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}},"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":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"p":{"docs":{},"p":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.013605442176870748}}}}}}},"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":0.006711409395973154}},"(":{"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":{},"组":{"docs":{},"件":{"docs":{},"。":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"包":{"docs":{},"含":{"docs":{},"多":{"docs":{},"种":{"docs":{},"滚":{"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":{},"组":{"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}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"等":{"docs":{},")":{"docs":{},",":{"docs":{},"如":{"docs":{},"下":{"docs":{},"面":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"运":{"docs":{},"行":{"docs":{},"后":{"docs":{},"会":{"docs":{},"报":{"docs":{},"错":{"docs":{},"。":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}}}}}}}}},"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}}},"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.00202020202020202}}}}}}}},")":{"docs":{},"{":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}},"=":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0297029702970297}},"e":{"docs":{},":":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.009900990099009901},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.025210084033613446},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}}},"s":{"docs":{},".":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}},")":{"docs":{},";":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}}},"i":{"docs":{},"n":{"docs":{},")":{"docs":{},";":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}},",":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.012605042016806723}}},")":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}},"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.002577319587628866}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}},"/":{"docs":{},"/":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}}}},"曲":{"docs":{},"线":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}},"d":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.012605042016806723},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.009900990099009901}}}}}}}}}},"和":{"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.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}},"/":{"7":{"docs":{},".":{"5":{"4":{"docs":{},".":{"0":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}}}},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}}},"b":{"docs":{},"y":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"以":{"docs":{},"下":{"docs":{},"简":{"docs":{},"称":{"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":{},"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":{},"程":{"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.003278688524590164}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.01762114537444934},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00851063829787234}},"{":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}},")":{"docs":{},";":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"圆":{"docs":{},"形":{"docs":{},"进":{"docs":{},"度":{"docs":{},"条":{"docs":{},",":{"docs":{},"定":{"docs":{},"义":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.00202020202020202}}}}}}}}}}}}}}}}}}}}}}}}},"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.003067484662576687}},"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.019801980198019802}}}}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.008726003490401396}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"u":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}},"和":{"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":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"代":{"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"相":{"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0035714285714285713}},"(":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}},"获":{"docs":{},"取":{"docs":{},"项":{"docs":{},"目":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"包":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}},"。":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"(":{"docs":{},"v":{"docs":{},",":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}},"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.0018726591760299626}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.003745318352059925}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}}}}}}}},"\"":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}}},"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":{},"图":{"docs":{},"片":{"docs":{},"大":{"docs":{},"小":{"docs":{},"是":{"6":{"0":{"docs":{},"×":{"6":{"0":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"返":{"docs":{},"回":{"docs":{},"剪":{"docs":{},"裁":{"docs":{},"区":{"docs":{},"域":{"docs":{},"为":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},".":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"l":{"docs":{},"t":{"docs":{},"w":{"docs":{},"h":{"docs":{},"(":{"1":{"0":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}}}}}}},"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":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"”":{"docs":{},")":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}},"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028}},":":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}},";":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}},"]":{"docs":{},";":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}},"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}},"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"(":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616}},"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.002688172043010753}}}}}}}}}}}},"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}},"(":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}},"(":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.006085192697768763},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.012216404886561954},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}},"监":{"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/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0017452006980802793}}}}}}}}}},"内":{"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.0017452006980802793}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"监":{"docs":{},"听":{"docs":{},"缩":{"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.0017452006980802793}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"用":{"docs":{},"于":{"docs":{},"手":{"docs":{},"势":{"docs":{},"识":{"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":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"g":{"docs":{},"n":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}}},"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.0017452006980802793}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}}}}}}}}}},"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.0018587360594795538}}},":":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"k":{"docs":{},"o":{"docs":{},")":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}},"i":{"docs":{},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}},":":{"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"项":{"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.0026845637583892616}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"示":{"docs":{},"例":{"docs":{"chapter15/intro.html":{"ref":"chapter15/intro.html","tf":0.05}}}}}}},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.030303030303030304}}}}}}}}}}}}},"账":{"docs":{},"号":{"docs":{},"信":{"docs":{},"息":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}},";":{"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":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.0125}},"/":{"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.00625}}}}}}}}}}}}}}}}}}}}}},"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.00625}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}},"(":{"docs":{},"[":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"]":{"docs":{},")":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"(":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},"_":{"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":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.004807692307692308}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}},"r":{"docs":{},"l":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}},"o":{"docs":{},"o":{"docs":{},"g":{"docs":{},"l":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}},"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},")":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}},"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"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":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}}}}}}}}}}}},"是":{"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":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}}}}}}}}}}}}},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},"就":{"docs":{},"有":{"docs":{},"一":{"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.00202020202020202}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"跑":{"docs":{},"起":{"docs":{},"来":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"很":{"docs":{},"全":{"docs":{},"面":{"docs":{},"的":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"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":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"第":{"docs":{},"一":{"docs":{},"手":{"docs":{},"资":{"docs":{},"料":{"docs":{},"。":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}},"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},"定":{"docs":{},"义":{"docs":{},"组":{"docs":{},"件":{"docs":{},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{},"文":{"docs":{},"本":{"docs":{},"方":{"docs":{},"向":{"docs":{},",":{"docs":{},"从":{"docs":{},"左":{"docs":{},"到":{"docs":{},"右":{"docs":{},"或":{"docs":{},"从":{"docs":{},"右":{"docs":{},"到":{"docs":{},"左":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"有":{"docs":{},"些":{"docs":{},"语":{"docs":{},"言":{"docs":{},"的":{"docs":{},"阅":{"docs":{},"读":{"docs":{},"习":{"docs":{},"惯":{"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/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},".":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"(":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}},".":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}},";":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},";":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}},"e":{"docs":{},"s":{"docs":{},".":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"(":{"docs":{},"(":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}},"的":{"docs":{},"各":{"docs":{},"个":{"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":{},"(":{"docs":{},")":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"启":{"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":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"l":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},"e":{"docs":{},"/":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}},",":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186}}},":":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}},"(":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.014778325123152709}},"{":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}}}}}}}}},"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":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.014965986394557823}},"{":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter6/":{"ref":"chapter6/","tf":0.14285714285714285},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}},"(":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.008097165991902834}},"{":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}}}},".":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.008097165991902834}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}},"(":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}}},"构":{"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.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}}},"构":{"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.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"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.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.008097165991902834}}},":":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.012145748987854251},"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.002577319587628866}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866}},"{":{"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.002577319587628866}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}},"t":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},".":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"_":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}},";":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"p":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.007692307692307693}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},";":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},",":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},";":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}},"z":{"docs":{},"i":{"docs":{},"p":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}},"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.0035714285714285713}},"混":{"docs":{},"合":{"docs":{},"开":{"docs":{},"发":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}},"(":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}},"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.0035714285714285713}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616}}}}}}},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}},"e":{"docs":{},"r":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}},"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.0037174721189591076}},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"d":{"docs":{},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}},")":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}},"s":{"docs":{},"h":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.005813953488372093}}}}}}}},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.004026845637583893}},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.005698005698005698},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}},"?":{"docs":{},".":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"(":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"l":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.003745318352059925}},")":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}},"o":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.003745318352059925},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.01646090534979424},"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}},"/":{"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}},")":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},":":{"8":{"0":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0297029702970297}}}},"docs":{}}},"docs":{}},"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.006085192697768763},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.02295918367346939},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.013215859030837005},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.029585798816568046},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.010309278350515464},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.01702127659574468},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.005376344086021506},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.011299435028248588},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010309278350515464},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.008403361344537815},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.014778325123152709},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.0035294117647058825},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}},":":{"docs":{},"该":{"docs":{},"属":{"docs":{},"性":{"docs":{},"用":{"docs":{},"于":{"docs":{},"指":{"docs":{},"定":{"docs":{},"行":{"docs":{},"高":{"docs":{},",":{"docs":{},"但":{"docs":{},"它":{"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.00390625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.010309278350515464}}},":":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.015463917525773196},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}},",":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}}},".":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}}}}}}}},";":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}}}},"r":{"docs":{},"o":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403}},"动":{"docs":{},"画":{"docs":{"chapter9/":{"ref":"chapter9/","tf":0.09090909090909091},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403}},"的":{"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.008771929824561403}}}}}}}}}}}}}}}}},"(":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.017543859649122806}}},"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.008771929824561403}},"e":{"docs":{},"b":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403}},"(":{"docs":{},")":{"docs":{},",":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403}}}}}}}}}}}}}}}}}}}},"指":{"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":{},"指":{"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.008771929824561403}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.003669724770642202}}}}},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0072992700729927005},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004651162790697674}},"b":{"docs":{},"r":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}},"是":{"docs":{},"应":{"docs":{},"用":{"docs":{},"的":{"docs":{},"主":{"docs":{},"页":{"docs":{},"。":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},"w":{"docs":{},"d":{"docs":{},"i":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.003745318352059925}}}},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},")":{"docs":{"chapter13/intl.html":{"ref":"chapter13/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.010526315789473684}},"a":{"docs":{},"l":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}},",":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.006880733944954129},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}},":":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}},"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0013422818791946308}}}}}}}}}}}}}}}}}},"中":{"docs":{},"为":{"docs":{},"了":{"docs":{},"防":{"docs":{},"止":{"docs":{},"通":{"docs":{},"过":{"docs":{},"伪":{"docs":{},"造":{"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},".":{"docs":{},"o":{"docs":{},"k":{"docs":{},")":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter11/":{"ref":"chapter11/","tf":0.08333333333333333},"chapter11/http.html":{"ref":"chapter11/http.html","tf":5.013761467889908}},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0045871559633027525}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}},".":{"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},",":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}},"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}},"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0045871559633027525}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"(":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}},"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}},"w":{"docs":{},"d":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0045871559633027525}}}}}}}}}},"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0045871559633027525},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0045871559633027525},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}},"关":{"docs":{},"于":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"认":{"docs":{},"证":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"和":{"docs":{},"属":{"docs":{},"性":{"docs":{},":":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}},"有":{"docs":{},"很":{"docs":{},"多":{"docs":{},"属":{"docs":{},"性":{"docs":{},"可":{"docs":{},"以":{"docs":{},"配":{"docs":{},"置":{"docs":{},",":{"docs":{},"常":{"docs":{},"用":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},"列":{"docs":{},"表":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}},"配":{"docs":{},"置":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}},"请":{"docs":{},"求":{"docs":{"chapter11/":{"ref":"chapter11/","tf":0.16666666666666666},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}},"认":{"docs":{},"证":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}},"库":{"docs":{},",":{"docs":{},"支":{"docs":{},"持":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}},"协":{"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"定":{"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":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"指":{"docs":{},"定":{"docs":{},"请":{"docs":{},"求":{"docs":{},"头":{"docs":{},"的":{"docs":{},"\"":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"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":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"命":{"docs":{},"令":{"docs":{},"来":{"docs":{},"验":{"docs":{},"证":{"docs":{},":":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"无":{"docs":{},"状":{"docs":{},"态":{"docs":{},"的":{"docs":{},",":{"docs":{},"只":{"docs":{},"能":{"docs":{},"由":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"主":{"docs":{},"动":{"docs":{},"发":{"docs":{},"起":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"再":{"docs":{},"被":{"docs":{},"动":{"docs":{},"响":{"docs":{},"应":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"无":{"docs":{},"法":{"docs":{},"向":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"主":{"docs":{},"动":{"docs":{},"推":{"docs":{},"送":{"docs":{},"内":{"docs":{},"容":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"一":{"docs":{},"旦":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"响":{"docs":{},"应":{"docs":{},"结":{"docs":{},"束":{"docs":{},",":{"docs":{},"链":{"docs":{},"接":{"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":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"库":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}},"/":{"1":{"docs":{},".":{"1":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/socket.html":{"ref":"chapter11/socket.html","tf":0.02857142857142857}}}}}},"docs":{}}},"docs":{}},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},".":{"docs":{},"d":{"docs":{},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"u":{"docs":{},"d":{"docs":{},".":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"n":{"docs":{},"/":{"docs":{},"h":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"9":{"docs":{},".":{"0":{"docs":{},".":{"2":{"docs":{},".":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"o":{"docs":{},"s":{"docs":{},"x":{"docs":{},"_":{"6":{"4":{"docs":{},".":{"docs":{},"d":{"docs":{},"m":{"docs":{},"g":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}},"docs":{}},"docs":{}}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"网":{"docs":{},"络":{"docs":{},"库":{"docs":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},"。":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},".":{"docs":{},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}},"}":{"docs":{},")":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}},"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.006024096385542169},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}}}}}}}}}}}},"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.0013477088948787063}}}}}}}},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0026954177897574125}}}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.009433962264150943},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.007692307692307693}}}}}}}}},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}},"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.005649717514124294}}}}}}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"a":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}}}}}}}},"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.005649717514124294}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},")":{"docs":{},"中":{"docs":{},"需":{"docs":{},"要":{"docs":{},"将":{"docs":{},"通":{"docs":{},"过":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.003766478342749529}}}}}}}}}}}}}}}},"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.0018832391713747645}}},"则":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}},"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.003766478342749529}}},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}},"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}},"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":{},"图":{"2":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"=":{"6":{"8":{"3":{"docs":{},".":{"4":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}},"。":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"i":{"1":{"0":{"docs":{},"n":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0056022408963585435},"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.045454545454545456}}}},"docs":{}},"docs":{},"/":{"docs":{},"o":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.007142857142857143}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0056179775280898875},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004651162790697674},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.08054711246200608},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.018867924528301886},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.011299435028248588},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.006980802792321117},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.022935779816513763}}}}}}}},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.009615384615384616},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.006289308176100629},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0034904013961605585},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.014778325123152709},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.009966777408637873},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.00909090909090909},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.006802721088435374},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.022598870056497175},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.006880733944954129},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.009302325581395349},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.014678899082568808},"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.02142857142857143},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.07210031347962383},"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.008403361344537815},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.02616279069767442},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}}}}}}}}},"a":{"docs":{},"g":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.00510204081632653},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.005868544600938967}},"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.00202020202020202},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}},"'":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.004807692307692308}}}}}}}}}}}}}}}}}}}},"\"":{"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.002551020408163265},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403}}},")":{"docs":{},",":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005154639175257732},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403}}}}}}}}}}}}}}}}}}}},"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/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}}},".":{"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.0017452006980802793}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.002551020408163265}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"b":{"docs":{},"y":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}},":":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.009615384615384616},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.03316326530612245},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},"e":{"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":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"而":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"框":{"docs":{},"架":{"docs":{},"中":{"docs":{},"的":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"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":{},"一":{"docs":{},"个":{"docs":{},"单":{"docs":{},"例":{"docs":{},",":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"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":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"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":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"u":{"docs":{},"r":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0035211267605633804}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}},".":{"docs":{},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0035211267605633804}},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.005868544600938967}},"或":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}}},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.007042253521126761}},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"子":{"docs":{},"类":{"docs":{},",":{"docs":{},"是":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"_":{"docs":{},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}},"/":{"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.002551020408163265}}}}}}}}}}}}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}},"(":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.03316326530612245}},"{":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}}}}}}}}}},"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.00510204081632653},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0035211267605633804}},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}},"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.002551020408163265}}}}}}}}}}},"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.00510204081632653}}}}}}}}}}}}}}}},"也":{"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.002551020408163265}}}}}}}}}}}}}}}}}}}}}}}},"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.002551020408163265}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"显":{"docs":{},"示":{"docs":{},"图":{"docs":{},"片":{"docs":{},"时":{"docs":{},"定":{"docs":{},"义":{"docs":{},"了":{"docs":{},"一":{"docs":{},"系":{"docs":{},"列":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"这":{"docs":{},"些":{"docs":{},"参":{"docs":{},"数":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"控":{"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.002551020408163265}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"缓":{"docs":{},"存":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}},",":{"docs":{},"/":{"docs":{},"/":{"docs":{},"图":{"docs":{},"片":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186}}}}}}},"_":{"docs":{},"p":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},",":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}}},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}},"组":{"docs":{},"件":{"docs":{},"原":{"docs":{},"理":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},":":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}},"g":{"docs":{"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.015151515151515152}},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.02295918367346939}}},"=":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"i":{"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":{},";":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0035714285714285713}}}}}}}}},"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":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"b":{"docs":{},"l":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}},"e":{"docs":{},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.003745318352059925}}}}}}}}}}},"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":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.004081632653061225}}}}}}}}},"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"z":{"docs":{},"h":{"docs":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.017699115044247787}}}},"!":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.003766478342749529}}},"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.0018832391713747645}}}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}},"o":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01},"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.009615384615384616},"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333},"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.022988505747126436},"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.030303030303030304}},".":{"docs":{},"c":{"docs":{},"n":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616}}}},"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}},".":{"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},";":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}},";":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},";":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0013422818791946308}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.005698005698005698}},"=":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.005698005698005698}}}}}},"文":{"docs":{},"件":{"docs":{},"夹":{"docs":{},",":{"docs":{},"点":{"docs":{},"击":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.008264462809917356}}}}}}}}},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{},"等":{"docs":{},"到":{"docs":{},"这":{"docs":{},"个":{"docs":{},"操":{"docs":{},"作":{"docs":{},"完":{"docs":{},"成":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}}}}}}}}}}},"库":{"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":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"来":{"docs":{},"操":{"docs":{},"作":{"docs":{},"文":{"docs":{},"件":{"docs":{},"的":{"docs":{},",":{"docs":{},"不":{"docs":{},"过":{"docs":{},"和":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}}}}}},",":{"docs":{},"无":{"docs":{},"论":{"docs":{},"是":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}},"中":{"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":{},"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}},".":{"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":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.009302325581395349}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}},"e":{"docs":{},"a":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},"开":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}},"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.0013422818791946308}}}}}}}}}}}},"配":{"docs":{},"置":{"docs":{},"与":{"docs":{},"使":{"docs":{},"用":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}},"中":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"登":{"docs":{},"录":{"docs":{},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},",":{"docs":{},"如":{"docs":{},"图":{"1":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},"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":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{},"{":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.005369127516778523}},"l":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616}}}}},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"…":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}}}}}},"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.0013422818791946308}}}}}}}}}}}}},"t":{"3":{"2":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.011494252873563218}}}}}}},"docs":{}},"6":{"4":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.011494252873563218}}}}}}},"docs":{}},"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0041928721174004195},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0026954177897574125},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.011834319526627219},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.021505376344086023},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0064516129032258064},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.005008347245409015},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.006880733944954129},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.014245014245014245},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.003669724770642202},"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.011494252873563218},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.01567398119122257},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.011737089201877934},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.014534883720930232},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}},"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.009900990099009901}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"(":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.012605042016806723}}}}}},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}},"e":{"docs":{},".":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}},"n":{"docs":{},"t":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.009404388714733543}},"!":{"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}},";":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"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":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"(":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.022988505747126436}}},"[":{"docs":{},"]":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.011494252873563218}}}},"l":{"docs":{},"包":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"这":{"docs":{},"些":{"docs":{},"。":{"docs":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894}}}}}}}},"还":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"其":{"docs":{},"他":{"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/intl.html":{"ref":"chapter13/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":{"chapter13/intl.html":{"ref":"chapter13/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":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"(":{"docs":{"chapter13/intl.html":{"ref":"chapter13/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":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}},"s":{"docs":{},"h":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}},":":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}},"_":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"l":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter13/intl.html":{"ref":"chapter13/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":{"chapter13/intl.html":{"ref":"chapter13/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":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0056022408963585435}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},":":{"docs":{},"\"":{"docs":{},"/":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}}},"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.003067484662576687}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},":":{"docs":{},"初":{"docs":{},"始":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"用":{"docs":{},"户":{"docs":{},"设":{"docs":{},"置":{"docs":{},"默":{"docs":{},"认":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}}}}}}}}}}}},"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":{"chapter13/intl.html":{"ref":"chapter13/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.0018587360594795538}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010309278350515464},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.006644518272425249},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}},":":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}}}}}},"(":{"docs":{},")":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}},"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.001519756838905775}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}},"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.006557377049180328}},",":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}},":":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}},".":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},".":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}},"?":{"docs":{},".":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}},"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.002688172043010753}},"(":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}},"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.004048582995951417}}}}}}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}},"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":0.00967741935483871},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}},"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.0032258064516129032}}}}}}}}}},"和":{"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":{},"通":{"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":{},"的":{"docs":{},"传":{"docs":{},"递":{"docs":{},"方":{"docs":{},"向":{"docs":{},"正":{"docs":{},"好":{"docs":{},"相":{"docs":{},"反":{"docs":{},"。":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"f":{"docs":{},"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":{},"w":{"docs":{},"i":{"docs":{},"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":{},"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":{},"w":{"docs":{},"i":{"docs":{},"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":{},"方":{"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.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"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":{},"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":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},"主":{"docs":{},"题":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.00967741935483871}},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}},"{":{"docs":{},"@":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}},";":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}},";":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}}}}}}}}}}}}},"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":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0013477088948787063}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.013477088948787063},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.007692307692307693}},")":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"e":{"docs":{},"l":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}}},":":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0013477088948787063}}},":":{"docs":{},"用":{"docs":{},"于":{"docs":{},"指":{"docs":{},"定":{"docs":{},"输":{"docs":{},"入":{"docs":{},"格":{"docs":{},"式":{"docs":{},";":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}},")":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.021505376344086023},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.006134969325153374},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0025041736227045075},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0058309037900874635}}},";":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}},"%":{"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.002688172043010753}}}},"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.002688172043010753},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}}}}}}}}}}}}}}},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}},"k":{"docs":{},"w":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"(":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.012755102040816327}},"(":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}},"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.004866180048661801},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00404040404040404},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}},"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.002551020408163265}}}}}}}}}}}}}}}}},"_":{"docs":{},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.016194331983805668}}}}}}}}}},"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.016194331983805668},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}},"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.016194331983805668}}}}}}}}}}}}}}}},"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.003067484662576687}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}},"_":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}},"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.00202020202020202}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},")":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}},"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.006024096385542169}}}}}}}}}}}},"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.002551020408163265}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}}}},"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.002551020408163265}}}}}}}}}}}}}}}}}}},"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.004048582995951417}},",":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.012145748987854251}}}}}}}}}}}}}}}}},"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.005649717514124294}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0026954177897574125}},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"u":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}},"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.005390835579514825}},",":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}},"o":{"docs":{},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"s":{"docs":{},"_":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},")":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}},"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.00202020202020202}}}},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}}}},"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.016194331983805668}}}}}}}}}}}}}}}},"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.00202020202020202}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}}}}},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}},"c":{"docs":{},"a":{"docs":{},"k":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.016194331983805668}}}}}}},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"_":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{},")":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{},",":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.006644518272425249}}}}}}}}}}}}}}}},"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.002551020408163265}}}}}}}}}}}}},"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.002551020408163265}}}}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},")":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}},":":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.024096385542168676},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0026954177897574125},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}},"(":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.006060606060606061}}}}}}}},"是":{"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":{},"如":{"docs":{},"图":{"3":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.00510204081632653}},"(":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.00510204081632653}}}}}}},"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.002551020408163265}}}}}}}}}}}}}}},".":{"docs":{},"v":{"docs":{},"i":{"docs":{},"s":{"docs":{},"i":{"docs":{},"b":{"docs":{},"i":{"docs":{},"l":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},")":{"docs":{},",":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}},"_":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}},":":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005649717514124294}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}},"(":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}}}}},"(":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}},"的":{"docs":{},"默":{"docs":{},"认":{"docs":{},"样":{"docs":{},"式":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}},"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}},"'":{"docs":{},"m":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}}},"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}},"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}},"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.006211180124223602}}}}}}}}}}},"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},".":{"docs":{},"i":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},")":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.009174311926605505}},".":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},")":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},"s":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}},"=":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"(":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},")":{"docs":{},";":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}}},":":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.008064516129032258},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.006134969325153374},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0025041736227045075},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0058309037900874635},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},":":{"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.002688172043010753}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"为":{"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":{},"中":{"docs":{},"构":{"docs":{},"建":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"列":{"docs":{},"表":{"docs":{},"项":{"docs":{},"w":{"docs":{},"i":{"docs":{},"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":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}},":":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.008064516129032258},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.006134969325153374},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0025041736227045075},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0058309037900874635}}},":":{"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.002688172043010753}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}},":":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.006134969325153374}}},":":{"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":{},"组":{"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":{},"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":{},"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":{},"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":{},"组":{"docs":{},"件":{"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":{},"计":{"docs":{},"算":{"docs":{},"列":{"docs":{},"表":{"docs":{},"高":{"docs":{},"度":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}},")":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364}}},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}},"r":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.013888888888888888},"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}},";":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}},")":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}}},"p":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}},"和":{"docs":{},"/":{"docs":{},"或":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}}},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}},"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.0035714285714285713},"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}},"+":{"docs":{},"原":{"docs":{},"生":{"docs":{},"渲":{"docs":{},"染":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}}},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.010714285714285714}}}}},"为":{"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/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}}}}}}}}}}}}}}}}},"开":{"docs":{},"发":{"docs":{},"+":{"docs":{},"原":{"docs":{},"生":{"docs":{},"渲":{"docs":{},"染":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"主":{"docs":{},"要":{"docs":{},"优":{"docs":{},"点":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}}}}}}},"跨":{"docs":{},"平":{"docs":{},"台":{"docs":{},"框":{"docs":{},"架":{"docs":{},"原":{"docs":{},"理":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}}}}}}}}}}}}}},"之":{"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.01}}}}}}}}}}}}}}}}}}}}}}},"基":{"docs":{},"本":{"docs":{},"持":{"docs":{},"平":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01}}}}}}}}},"的":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}},"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":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.011494252873563218}}}}}}}}},"d":{"docs":{},"o":{"docs":{},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.011494252873563218}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.011494252873563218}}}}}}},"l":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.011494252873563218}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.011494252873563218}}}}}}}}}},"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":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.011494252873563218}}}}}}}}}}}}}}},"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":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.011494252873563218}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.011494252873563218}}}}}}}}}}}}}}}}},"c":{"docs":{},"k":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.024691358024691357}},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015625},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684}}},"只":{"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":{},"照":{"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":{},"文":{"docs":{},"本":{"docs":{},"组":{"docs":{},"件":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}}},".":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}}}}},"s":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}},"(":{"docs":{},")":{"docs":{},",":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}}}},"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}},"x":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.010714285714285714}}},"o":{"docs":{},"n":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101},"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.015151515151515152}},"转":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter11/":{"ref":"chapter11/","tf":0.08333333333333333}}}}}}},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101},"chapter15/intro.html":{"ref":"chapter15/intro.html","tf":0.05}}}}}}},")":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.009174311926605505}}},".":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.003669724770642202}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"(":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}},"[":{"docs":{},"'":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"'":{"docs":{},"]":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"'":{"docs":{},"]":{"docs":{},",":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}},"_":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.003669724770642202},"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.008097165991902834}},"可":{"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":{},"i":{"docs":{},"d":{"docs":{},"e":{"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":{},"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":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"类":{"docs":{},"中":{"docs":{},"已":{"docs":{},"经":{"docs":{},"生":{"docs":{},"成":{"docs":{},"过":{"docs":{},"。":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"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":{},"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":{},"i":{"docs":{},"d":{"docs":{},"e":{"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":{},"动":{"docs":{},"。":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"创":{"docs":{},"建":{"docs":{},"类":{"docs":{},"时":{"docs":{},",":{"docs":{},"您":{"docs":{},"会":{"docs":{},"看":{"docs":{},"到":{"docs":{},"与":{"docs":{},"图":{"1":{"1":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.011494252873563218}}}}}}}}}}}}}}}}}}}}}}}}}}},"文":{"docs":{},"件":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.015151515151515152}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"(":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"t":{"docs":{},"o":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.01}}}}}}}}}}}}}}}}},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}},"u":{"docs":{},"m":{"docs":{},"p":{"docs":{},"t":{"docs":{},"o":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}},"内":{"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.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"才":{"docs":{},"可":{"docs":{},"以":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}}}}}}},",":{"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/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"它":{"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.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"o":{"docs":{},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"u":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}},",":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.012658227848101266}}}},"b":{"docs":{},"e":{"docs":{},"l":{"docs":{},":":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.018072289156626505},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.019801980198019802}}},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.012129380053908356},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.007692307692307693}}}}}}}}}},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"的":{"docs":{},"委":{"docs":{},"托":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}}}}},"相":{"docs":{},"关":{"docs":{},"接":{"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":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"分":{"docs":{},"别":{"docs":{},"来":{"docs":{},"它":{"docs":{},"们":{"docs":{},"。":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"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.0018832391713747645}}}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"了":{"docs":{},"。":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}},":":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028}},"变":{"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.007407407407407408}}}}}}}}}}}}}}}}}}}}},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}},".":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.014285714285714285}},"'":{"docs":{},";":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}},":":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}}},"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.04}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":0.04}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.006060606060606061},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.004705882352941176}}}}}}}},"f":{"docs":{},"t":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.008403361344537815}},":":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015625},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.006980802792321117}}},"、":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125}}}}}},",":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684}}},"'":{"docs":{},",":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.008403361344537815}}}},"}":{"docs":{},"=":{"1":{"docs":{},"{":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter13/intl.html":{"ref":"chapter13/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":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}}}}}},"}":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}},"n":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}},";":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}}}}},"i":{"docs":{},"b":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333},"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.045454545454545456}},"/":{"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.0024330900243309003}},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}}},"是":{"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.004807692307692308}}}}}}}},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"路":{"docs":{},"径":{"docs":{},"中":{"docs":{},"。":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}}}}}}}}}}}}}}}}}}}}}}}},"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.00390625}}}}}}}}}}}}}}},"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter13/intl.html":{"ref":"chapter13/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.0013422818791946308}}}}}}}}}}}}}},"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.003278688524590164}}}},":":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}}}},"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.0013422818791946308}}}}}}},"\"":{"docs":{},",":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}},"n":{"docs":{},"e":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308},"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.010416666666666666}},")":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006557377049180328}},"{":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}}},"a":{"docs":{},"r":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.01762114537444934}},"{":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"线":{"docs":{},"性":{"docs":{},"、":{"docs":{},"条":{"docs":{},"状":{"docs":{},"的":{"docs":{},"进":{"docs":{},"度":{"docs":{},"条":{"docs":{},",":{"docs":{},"定":{"docs":{},"义":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}},"[":{"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.011627906976744186}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.003669724770642202}},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}},"e":{"docs":{},"d":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.008097165991902834},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.022222222222222223},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.009852216748768473},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.005442176870748299},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.007339449541284404},"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.011494252873563218},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0037174721189591076},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00404040404040404},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0025041736227045075},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.004705882352941176},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.016129032258064516},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.006134969325153374},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0058309037900874635},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}},"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.005376344086021506}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"3":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}},"docs":{"chapter6/":{"ref":"chapter6/","tf":0.14285714285714285},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}},"(":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001669449081803005},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.012658227848101266}},"{":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},":":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.006134969325153374}}}}}}},".":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.006134969325153374},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0025041736227045075},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0058309037900874635}},"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.010752688172043012}}}}}}}}}}}}}},"{":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}},"适":{"docs":{},"合":{"docs":{},"列":{"docs":{},"表":{"docs":{},"项":{"docs":{},"比":{"docs":{},"较":{"docs":{},"多":{"docs":{},"(":{"docs":{},"或":{"docs":{},"者":{"docs":{},"无":{"docs":{},"限":{"docs":{},")":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"只":{"docs":{},"有":{"docs":{},"当":{"docs":{},"子":{"docs":{},"组":{"docs":{},"件":{"docs":{},"真":{"docs":{},"正":{"docs":{},"显":{"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":{},"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":{},"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.002688172043010753}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.005376344086021506}}},"可":{"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":{},"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":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"公":{"docs":{},"共":{"docs":{},"参":{"docs":{},"数":{"docs":{},"已":{"docs":{},"省":{"docs":{},"略":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}}}}},"是":{"docs":{},"最":{"docs":{},"常":{"docs":{},"用":{"docs":{},"的":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"组":{"docs":{},"件":{"docs":{},"之":{"docs":{},"一":{"docs":{},",":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"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":{},"模":{"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":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.007272727272727273},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}},":":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364}}},"(":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.03389830508474576},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}},"{":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856}}},";":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856}}}}}}}}},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}}}}},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}}}}}}}},"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.007407407407407408}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"(":{"docs":{},"(":{"docs":{},"f":{"docs":{},")":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}},"[":{"docs":{},"i":{"docs":{},"]":{"docs":{},"(":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}}}}}}}}}}},")":{"docs":{},"{":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}},",":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}},"f":{"docs":{},"e":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}},"o":{"docs":{},"g":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}},"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.003745318352059925}}}}}}}}}}}}},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}},",":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}},"c":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.00303951367781155}}}},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}}}},"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.001519756838905775}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"d":{"docs":{"chapter13/intl.html":{"ref":"chapter13/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.004807692307692308}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}},")":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}},"框":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}},"(":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0056022408963585435}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},")":{"docs":{},",":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}},"t":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}}}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}},"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.0049504950495049506},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}}},"n":{"docs":{},"g":{"docs":{},"[":{"docs":{},"]":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.011494252873563218}}}}}},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.034722222222222224},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.007575757575757576},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},"e":{"docs":{},"(":{"docs":{},"'":{"docs":{},"e":{"docs":{},"n":{"docs":{},"'":{"docs":{},",":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.013888888888888888},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}}}}}},"z":{"docs":{},"h":{"docs":{},"'":{"docs":{},",":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.013888888888888888},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}},"t":{"docs":{},"[":{"0":{"docs":{},"]":{"docs":{},",":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}},"docs":{}}}},",":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}},":":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},",":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444},"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02}}}},"类":{"docs":{},"是":{"docs":{},"用":{"docs":{},"来":{"docs":{},"标":{"docs":{},"识":{"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/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.017699115044247787},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.008403361344537815},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}},".":{"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":{"chapter13/intl.html":{"ref":"chapter13/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":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}},"e":{"docs":{},";":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}}},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},"回":{"docs":{},"调":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}},"(":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},";":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.0189873417721519}}}}}}}}}}}}},"=":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}}},"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":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}},",":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.013888888888888888},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.04},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},"列":{"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.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":{},"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"b":{"docs":{},"i":{"docs":{},"l":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}},"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.0035714285714285713}}}}}}}}}}},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"都":{"docs":{},"没":{"docs":{},"有":{"docs":{},"使":{"docs":{},"用":{"docs":{},"原":{"docs":{},"生":{"docs":{},"控":{"docs":{},"件":{"docs":{},",":{"docs":{},"相":{"docs":{},"反":{"docs":{},"都":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"自":{"docs":{},"绘":{"docs":{},"引":{"docs":{},"擎":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"做":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"比":{"docs":{},":":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}}}},"后":{"docs":{},"尘":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"面":{"docs":{},"对":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"/":{"1":{"4":{"docs":{},"e":{"3":{"0":{"4":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}}}},"x":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}},"d":{"docs":{},"e":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.00303951367781155}},"l":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.030303030303030304},"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}},",":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}},"变":{"docs":{},"化":{"docs":{},"后":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"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":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"订":{"docs":{},"阅":{"docs":{},"者":{"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":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"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":{},"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":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"就":{"docs":{},"会":{"docs":{},"更":{"docs":{},"新":{"docs":{},"。":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}},"化":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":5.001834862385321},"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}},";":{"docs":{"chapter15/intro.html":{"ref":"chapter15/intro.html","tf":0.05}}},"会":{"docs":{},"在":{"docs":{},"此":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.015151515151515152}}}}}}}},",":{"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":{},"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":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"文":{"docs":{},"件":{"docs":{},"的":{"docs":{},"”":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"“":{"docs":{},"文":{"docs":{},"件":{"docs":{},"夹":{"docs":{},"。":{"docs":{"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.015151515151515152}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"文":{"docs":{},"件":{"docs":{},"转":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}},"定":{"docs":{},"义":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}},"的":{"docs":{},"方":{"docs":{},"案":{"docs":{},"采":{"docs":{},"用":{"docs":{},"前":{"docs":{},"面":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"过":{"docs":{},"的":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}},")":{"docs":{},"和":{"docs":{},"可":{"docs":{},"选":{"docs":{},"类":{"docs":{},"型":{"docs":{},"(":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}}}}},",":{"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.0018726591760299626}}}}}}}}}}}}}}}},"下":{"docs":{},"测":{"docs":{},"试":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"在":{"docs":{},"调":{"docs":{},"试":{"docs":{},"模":{"docs":{},"式":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"”":{"docs":{},",":{"docs":{},"用":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}}},"a":{"docs":{},"l":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"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":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"s":{"docs":{},".":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.00303951367781155}}}},"c":{"docs":{},"k":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}},",":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}}}}}}}}},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}},"和":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"g":{"docs":{},")":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}},",":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}},";":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0058309037900874635}}}}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.00510204081632653},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}},"(":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.009302325581395349},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.013888888888888888},"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.04},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"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":{},"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":{},"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":{},"在":{"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":{},"件":{"docs":{},";":{"docs":{},"如":{"docs":{},"果":{"docs":{},"路":{"docs":{},"由":{"docs":{},"表":{"docs":{},"中":{"docs":{},"没":{"docs":{},"有":{"docs":{},"注":{"docs":{},"册":{"docs":{},",":{"docs":{},"才":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"来":{"docs":{},"生":{"docs":{},"成":{"docs":{},"路":{"docs":{},"由":{"docs":{},"。":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"回":{"docs":{},"调":{"docs":{},"签":{"docs":{},"名":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"指":{"docs":{},"定":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"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":{},"p":{"docs":{},"p":{"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":{},"很":{"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":{},"建":{"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":{},"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":{"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"组":{"docs":{},"件":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}},"库":{"docs":{},"中":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"一":{"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":{},"b":{"docs":{},"o":{"docs":{},"d":{"docs":{},"y":{"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"了":{"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":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"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.00202020202020202}}}}}}}}}}}}}},"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.00202020202020202}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"按":{"docs":{},"钮":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}},"默":{"docs":{},"认":{"docs":{},"不":{"docs":{},"支":{"docs":{},"持":{"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":{},"件":{"docs":{},",":{"docs":{},"它":{"docs":{},"需":{"docs":{},"要":{"docs":{},"支":{"docs":{},"持":{"docs":{},"一":{"docs":{},"下":{"docs":{},"功":{"docs":{},"能":{"docs":{},":":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.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":{},"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":{},"用":{"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.00202020202020202}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"丰":{"docs":{},"富":{"docs":{},"多":{"docs":{},"样":{"docs":{},"的":{"docs":{},"组":{"docs":{},"件":{"docs":{},",":{"docs":{},"本":{"docs":{},"节":{"docs":{},"介":{"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.00202020202020202}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.002325581395348837}},"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.001519756838905775}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}},"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.0069767441860465115}}}}}}}}}},"{":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}},"继":{"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.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.00847457627118644}},"(":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}},"是":{"docs":{},"实":{"docs":{},"现":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}},"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":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"a":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"r":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"e":{"docs":{},"l":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{},";":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.013888888888888888}}}}}}}}}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}},"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":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}},"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.00510204081632653}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}},"h":{"docs":{},";":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064}}},".":{"docs":{},"p":{"docs":{},"i":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},"t":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"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.0064516129032258064}}}}},"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.006622516556291391}}}}},"docs":{}}}}}}}}}}}}}},"docs":{}}}}},"c":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}},"o":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.004026845637583893}},"e":{"docs":{},"r":{"docs":{},"”":{"docs":{},"中":{"docs":{},",":{"docs":{},"点":{"docs":{},"击":{"docs":{},"工":{"docs":{},"具":{"docs":{},"栏":{"docs":{},"的":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}}}}}},"i":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.005369127516778523},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0072992700729927005},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.008403361344537815}}}},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},",":{"docs":{},"f":{"docs":{},"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.005369127516778523}},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"y":{"docs":{},"u":{"docs":{},"n":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.013114754098360656},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},"的":{"docs":{},"顶":{"docs":{},"部":{"docs":{},"设":{"docs":{},"置":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}}}}}}},"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.00823045267489712}},"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.004866180048661801},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.00510204081632653},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.012345679012345678},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.012903225806451613},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.013605442176870748},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.00847457627118644},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856}}}}}}},"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.00202020202020202}}}}}}}}},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"l":{"docs":{},"y":{"docs":{},",":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}}}}}}}}}}}},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.00510204081632653},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.01646090534979424},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.012903225806451613},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.013605442176870748},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.00847457627118644},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}},":":{"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":{},"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":{},"组":{"docs":{},"件":{"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.00411522633744856}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00823045267489712}},"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.00823045267489712}},"/":{"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.00411522633744856}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},",":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.004173622704507512},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}},":":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.012345679012345678},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.004173622704507512},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}},":":{"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":{},"组":{"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":{},"平":{"docs":{},"空":{"docs":{},"间":{"docs":{},";":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.008097165991902834}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{},"主":{"docs":{},"轴":{"docs":{},"方":{"docs":{},"向":{"docs":{},"的":{"docs":{},"间":{"docs":{},"距":{"docs":{},"。":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}}}}}}}}}}},":":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}}}}}}}}}},"c":{"docs":{},"t":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}},"函":{"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"为":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"入":{"docs":{},"口":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"实":{"docs":{},"现":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}},"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.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602}}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}},"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.003278688524590164}}},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}}}}}}}}}}}}}}}}},"p":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.01651376146788991},"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.011494252873563218},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},">":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}}}}}},")":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}},"{":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}},"x":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}},"e":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},"、":{"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.00390625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}},"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.0013477088948787063}}},"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.0013477088948787063}}}}}}}},"和":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}},"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.004048582995951417}}},":":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.008097165991902834}}},"为":{"docs":{},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{},"在":{"docs":{},"横":{"docs":{},"轴":{"docs":{},"上":{"docs":{},"的":{"docs":{},"最":{"docs":{},"大":{"docs":{},"长":{"docs":{},"度":{"docs":{},",":{"docs":{},"之":{"docs":{},"所":{"docs":{},"以":{"docs":{},"是":{"docs":{},"“":{"docs":{},"最":{"docs":{},"大":{"docs":{},"”":{"docs":{},"长":{"docs":{},"度":{"docs":{},",":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"横":{"docs":{},"轴":{"docs":{},"方":{"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":{"1":{"2":{"docs":{},".":{"5":{"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.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"u":{"docs":{},"n":{"docs":{},"k":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.014245014245014245}},")":{"docs":{},".":{"docs":{},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"l":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.005698005698005698}}}}}}}}}}}}}}}},"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.003067484662576687}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"u":{"docs":{},"m":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}},"b":{"docs":{},"y":{"docs":{},"t":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}},")":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}},"r":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{},";":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}}}}}}},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},";":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}}}}}}},":":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.013245033112582781}}}}}},"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.0018832391713747645}},";":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}}}}}}}}}},"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.0018832391713747645}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.003766478342749529}}}}}}}}}}}}}},"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616}},")":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}},"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.003278688524590164}}}}}}}}},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}}}}},"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.029787234042553193},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}},"y":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},")":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"点":{"docs":{},"击":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}},"(":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}}}},"类":{"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}},"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.0024330900243309003}}}}}}}}}}}}}}}}},"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.0072992700729927005}},"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.004866180048661801},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004651162790697674}}}}}}}},"{":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801}}}}}}},"类":{"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}},"s":{"docs":{},"{":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}}}},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},"e":{"docs":{},"(":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},"{":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}},",":{"docs":{},"代":{"docs":{},"码":{"docs":{},"大":{"docs":{},"致":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00404040404040404},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00404040404040404},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}},"{":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"p":{"docs":{},"p":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0058309037900874635}},"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.0058309037900874635}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0058309037900874635}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}},"{":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"h":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}},"(":{"docs":{},"{":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.00909090909090909},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}},"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.0024330900243309003}}}},",":{"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},",":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028}}}}}}}}}}}}}},"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}},"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"u":{"docs":{},"m":{"docs":{},".":{"docs":{},"t":{"docs":{},"t":{"docs":{},"f":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.01171875}}}}}}}},"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":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}},"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.002688172043010753}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}},",":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},"c":{"docs":{},"h":{"docs":{},"u":{"docs":{},"n":{"docs":{},"k":{"docs":{},")":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.005698005698005698}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}},",":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}},":":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}},"@":{"docs":{},"\"":{"docs":{},"电":{"docs":{},"池":{"docs":{},"信":{"docs":{},"息":{"docs":{},"不":{"docs":{},"可":{"docs":{},"用":{"docs":{},"\"":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}},"s":{"docs":{},".":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}},"n":{"docs":{},"u":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}},"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.0013477088948787063}}}}},"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.04}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":0.04}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}},")":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}},"n":{"docs":{"chapter13/intl.html":{"ref":"chapter13/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.014285714285714285},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0037174721189591076},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.004694835680751174}},"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.0035714285714285713}}}}}}},"及":{"docs":{},"快":{"docs":{},"应":{"docs":{},"用":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}}}}}}},"中":{"docs":{},"主":{"docs":{},"要":{"docs":{},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},"作":{"docs":{},"用":{"docs":{},":":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}}}}}}},"只":{"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.0035714285714285713}}}}}}}}}}},"和":{"docs":{},"w":{"docs":{},"e":{"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":{},"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"相":{"docs":{},"比":{"docs":{},"主":{"docs":{},"要":{"docs":{},"有":{"docs":{},"两":{"docs":{},"点":{"docs":{},"不":{"docs":{},"同":{"docs":{},":":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}}}}}}}}}}}}},"是":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"原":{"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.0035714285714285713}}}}}}}}}}}}}},"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"引":{"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.01}}}}}}}}}}}}}}}}}}}}}}}},"扩":{"docs":{},"展":{"docs":{},"。":{"docs":{},"同":{"docs":{},"时":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01}}}}}}},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"2":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}},"docs":{}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"i":{"docs":{},"g":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.0069767441860465115},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},".":{"docs":{},"p":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"_":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},";":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.005008347245409015}}},";":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.007692307692307693}}}},"_":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001669449081803005}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001669449081803005}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0025041736227045075}}}}}}}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"p":{"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.002325581395348837},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001669449081803005}}},")":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},";":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"(":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004651162790697674},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602}},"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.012422360248447204},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}}}}}}}}}}},"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.002325581395348837},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"一":{"docs":{},"个":{"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":{},"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":{},"由":{"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.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"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":{},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"的":{"docs":{},"实":{"docs":{},"例":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0020964360587002098}}}}}}}}}}}}},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005649717514124294}}}}}}}},"{":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}},"m":{"docs":{},"e":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}},":":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter13/intl.html":{"ref":"chapter13/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.00625}}}}}}}}}},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00404040404040404}}}}},",":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.007339449541284404}}},"=":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"s":{"docs":{},".":{"docs":{},"f":{"docs":{},"i":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0026954177897574125},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.012903225806451613},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.014814814814814815},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849},"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.022988505747126436},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.007692307692307693}},")":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.004173622704507512},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.02962962962962963},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.009416195856873822},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0055762081784386614},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.005868544600938967},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.007575757575757576},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.007692307692307693}},";":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.005649717514124294},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0055762081784386614},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}}},")":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}},",":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.012658227848101266}}}},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.003745318352059925},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.007575757575757576},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},",":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}},"o":{"docs":{},"k":{"docs":{},":":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}}}}}}},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},":":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.011494252873563218}}}}}}},"d":{"docs":{},"o":{"docs":{},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.011494252873563218}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.011494252873563218}}}}}},"l":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.011494252873563218}}}}}}}}}}}}}},")":{"docs":{},"{":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}},"e":{"docs":{},"w":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.06326034063260341},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.013953488372093023},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.0125},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.028846153846153848},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.00911854103343465},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006557377049180328},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.006289308176100629},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.05476673427991886},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.01078167115902965},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0891089108910891},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.01935483870967742},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.006060606060606061},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.06040268456375839},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.009202453987730062},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.024390243902439025},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0064516129032258064},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.008726003490401396},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.02962962962962963},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.04950495049504951},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.041237113402061855},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.009966777408637873},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.05084745762711865},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.013761467889908258},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.03773584905660377},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.08372093023255814},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.011009174311926606},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.04285714285714286},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.012539184952978056},"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.011538461538461539}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004651162790697674}}}}}}}}}},"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.0020964360587002098}}},".":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}}}},"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.0020964360587002098}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.004056795131845842}}},";":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.004056795131845842}}}}}}}}},"x":{"docs":{},"t":{"docs":{},".":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.004026845637583893}}}}},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}},"e":{"docs":{},"(":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.007575757575757576},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},")":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.011494252873563218}}}}}}}},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}}},"l":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.011494252873563218}},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}},"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":{},"中":{"docs":{},"间":{"docs":{},"部":{"docs":{},"分":{"docs":{},"。":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.011661807580174927}},"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.003067484662576687}},";":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}},".":{"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.003067484662576687}}}}}}}}}}}}}}}}}},"p":{"docs":{},"i":{"docs":{},"x":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.008746355685131196}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.014577259475218658}},"{":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}},")":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}}}}}},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0058309037900874635}}}}},",":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.008746355685131196}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}}},"有":{"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.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}},";":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.011363636363636364}}}}}}}}}}}}}}}}}},")":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.005698005698005698}}},"d":{"docs":{},"e":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0055762081784386614}},".":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0055762081784386614}}}}}}}},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}},"s":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.011494252873563218}}}}}}},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.011494252873563218}}}}}}}}}}}},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.04597701149425287}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.011494252873563218}}}}}}}}},"(":{"docs":{},"n":{"docs":{},">":{"1":{"docs":{},")":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}},"docs":{}}}}},"o":{"docs":{},"b":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.007142857142857143},"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0056179775280898875},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0064516129032258064},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}},"'":{"docs":{},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}},",":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.009836065573770493}}}},"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.00303951367781155}}},"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0013477088948787063}},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.004043126684636119},"chapter15/login_page.html":{"ref":"chapter15/login_page.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":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"(":{"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":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"u":{"docs":{},"r":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"u":{"docs":{},"r":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},")":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616}},"…":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.008264462809917356}},"\"":{"docs":{},"。":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}},"r":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.005813953488372093}}}},"a":{"docs":{},"q":{"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":{},",":{"docs":{},"最":{"docs":{},"终":{"docs":{},"的":{"docs":{},"效":{"docs":{},"果":{"docs":{},"相":{"docs":{},"当":{"docs":{},"于":{"docs":{},"当":{"docs":{},"前":{"docs":{},"w":{"docs":{},"i":{"docs":{},"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.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602}}}}}},"c":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},":":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.018633540372670808},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}},"s":{"docs":{},"(":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.005698005698005698}},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},":":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}},":":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.005698005698005698},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.005813953488372093}}},")":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}},".":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"[":{"docs":{},"\"":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"\"":{"docs":{},"]":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{},"\"":{"docs":{},"]":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"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":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{},".":{"docs":{},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.005813953488372093}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.003745318352059925},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.013114754098360656},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}},"(":{"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.003278688524590164}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}},",":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}},":":{"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.003278688524590164}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0013477088948787063}}},"和":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter13/intl.html":{"ref":"chapter13/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.004866180048661801},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.009302325581395349},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.04819277108433735},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.005390835579514825},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00404040404040404},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.005454545454545455},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.015025041736227046},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0058309037900874635},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.014778325123152709},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.006644518272425249},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.0035294117647058825},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.007692307692307693}},"(":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}},",":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}},";":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}}}}}},"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.03389830508474576},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}},"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.0018587360594795538}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}}}}}}},"u":{"docs":{},"p":{"docs":{},":":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},":":{"docs":{},"(":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}},"c":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.00303951367781155},"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}},"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/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}},":":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.004056795131845842},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.004173622704507512}},"(":{"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.02702702702702703}}}}}}}}}}},";":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.004056795131845842},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0026954177897574125}}},":":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"输":{"docs":{},"入":{"docs":{},"框":{"docs":{},"内":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}},"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},":":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.006085192697768763},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0025041736227045075},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.004705882352941176},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.012658227848101266}}},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},":":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}},"u":{"docs":{},"p":{"docs":{},":":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}},"发":{"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.0017452006980802793}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},")":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}},",":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.014778325123152709}}}}},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{},";":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}},"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.0013477088948787063}}}}}}}}}}},"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.0017452006980802793}}}}}}}}}}}}}},"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.0013477088948787063},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513}}},":":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"回":{"docs":{},"调":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"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.012195121951219513}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"y":{"docs":{},"(":{"docs":{},"{":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684}}}}}}}}}},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},"e":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}},"n":{"docs":{},"g":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}},"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.003067484662576687},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.014577259475218658}}},"(":{"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.0029154518950437317}}}}}}}}}}}}}}}}},"回":{"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.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0017452006980802793}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}},"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.0017452006980802793}},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0034904013961605585}}}}}},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.005235602094240838}}}}}}}}}}}}}}}}}}}}}}},"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.0034904013961605585}}}}}}}}}}}}}}}}}}}}},"(":{"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.007407407407407408}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"(":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{},"e":{"docs":{},"(":{"docs":{},"(":{"docs":{},"a":{"docs":{},",":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}},":":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.008547008547008548}}}}}}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},":":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}},"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028}}}}}}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}},"y":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.01646090534979424},"chapter10/intro.html":{"ref":"chapter10/intro.html","tf":0.04},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.018832391713747645}},"(":{"0":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.00303951367781155}}}},"docs":{}},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.018518518518518517}}}},"1":{"docs":{},",":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00823045267489712}}}},"2":{"docs":{},".":{"0":{"docs":{},",":{"2":{"docs":{},".":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186}}}}},"docs":{}}},"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}}}},"docs":{}}},"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00823045267489712}},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},".":{"docs":{},"d":{"docs":{},"x":{"docs":{},",":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856}}}}}}}}}}}},"_":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter10/intro.html":{"ref":"chapter10/intro.html","tf":0.04},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.009416195856873822}},"、":{"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.003067484662576687}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.005649717514124294}}},"来":{"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.0018832391713747645}}}}}}}}}}}}}}}}},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.00303951367781155},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}},",":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856}},".":{"docs":{},".":{"docs":{},".":{"docs":{},")":{"docs":{},":":{"docs":{},"这":{"docs":{},"两":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"用":{"docs":{},"于":{"docs":{},"跳":{"docs":{},"转":{"docs":{},"到":{"docs":{},"指":{"docs":{},"定":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"不":{"docs":{},"同":{"docs":{},"之":{"docs":{},"处":{"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.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"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.003067484662576687}}}}}}}}}}}}}}}},".":{"docs":{},"d":{"docs":{},"x":{"docs":{},",":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.006172839506172839}}}},"y":{"docs":{},")":{"docs":{},";":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.0102880658436214}}}}}},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}},"=":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}},"表":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}},"(":{"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.007407407407407408}}}}}}}}}}}}}},"(":{"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.0064516129032258064},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/intl.html":{"ref":"chapter13/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.00303951367781155}}}}},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"p":{"docs":{},",":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125}}}}}}}},":":{"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":{},"组":{"docs":{},"件":{"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.0078125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0029154518950437317}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}},"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.0020964360587002098},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.006644518272425249},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}},",":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}},".":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}}},"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.0020964360587002098}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},")":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}},"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":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}}}}}}}}},"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.003067484662576687}}}}}}}}}}}},")":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/intl.html":{"ref":"chapter13/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.0032258064516129032}}}}}}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},"?":{"docs":{},".":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},")":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"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":{},")":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.006024096385542169}},"(":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}},".":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}}}}}},"默":{"docs":{},"认":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"边":{"docs":{},"框":{"docs":{},",":{"docs":{},"不":{"docs":{},"带":{"docs":{},"阴":{"docs":{},"影":{"docs":{},"且":{"docs":{},"背":{"docs":{},"景":{"docs":{},"透":{"docs":{},"明":{"docs":{},"。":{"docs":{},"按":{"docs":{},"下":{"docs":{},"后":{"docs":{},",":{"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":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101},"chapter13/intl.html":{"ref":"chapter13/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.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}},"c":{"docs":{},"t":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}},"s":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0045871559633027525}},".":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}},":":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}},")":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}},".":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.005813953488372093}}}}}}}}}}}}}}}},"k":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.008264462809917356}},"。":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}},"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.0018832391713747645}}}}}}}}}}}}}}}}}}},"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}},",":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.005504587155963303},"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.010416666666666666},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.022408963585434174},"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.012539184952978056}}},"s":{"docs":{},"h":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.010416666666666666}}}}}},"_":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"仓":{"docs":{},"库":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}}}},"(":{"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.00625}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"y":{"docs":{},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}},"中":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"上":{"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.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"h":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0072992700729927005}},"(":{"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.002325581395348837}}}}}}}}}}}}}}},"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.002325581395348837}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"a":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.025},"chapter11/":{"ref":"chapter11/","tf":0.08333333333333333},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":3.333333333333333},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.007339449541284404},"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.010416666666666666},"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}},"e":{"1":{"docs":{},":":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}}}},"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.00625}}},"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.004807692307692308}}}}}}},"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.00390625}}}}}}}}}}}}}}}}}}}}}}}}}}},"仓":{"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":{},"p":{"docs":{},"u":{"docs":{},"b":{"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.00625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"分":{"docs":{},"为":{"docs":{},"两":{"docs":{},"类":{"docs":{},":":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}},")":{"docs":{},"。":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}}}},":":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.009615384615384616},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}},"中":{"docs":{},"的":{"docs":{},"字":{"docs":{},"体":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}}},"核":{"docs":{},"心":{"docs":{},"功":{"docs":{},"能":{"docs":{},";":{"docs":{},"但":{"docs":{},"是":{"docs":{},"我":{"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":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"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":{},"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":{},",":{"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":{},"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":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"。":{"docs":{},"i":{"docs":{},"n":{"docs":{},"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":{},"同":{"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":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"底":{"docs":{},"层":{"docs":{},"的":{"docs":{},"原":{"docs":{},"理":{"docs":{},"。":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}},",":{"docs":{},"而":{"docs":{},"本":{"docs":{},"节":{"docs":{},"实":{"docs":{},"现":{"docs":{},"这":{"docs":{},"个":{"docs":{},"迷":{"docs":{},"你":{"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":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"通":{"docs":{},"过":{"docs":{},"拦":{"docs":{},"截":{"docs":{},"器":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"策":{"docs":{},"略":{"docs":{},":":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}},"包":{"docs":{},"。":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}},"。":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}},"为":{"docs":{},"例":{"docs":{},",":{"docs":{},"它":{"docs":{},"的":{"docs":{},"目":{"docs":{},"录":{"docs":{},"结":{"docs":{},"构":{"docs":{},"如":{"docs":{},"图":{"1":{"2":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}},"docs":{}},"docs":{}}}}}}}}}}}},"也":{"docs":{},"导":{"docs":{},"出":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"迷":{"docs":{},"你":{"docs":{},"库":{"docs":{},":":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"命":{"docs":{},"令":{"docs":{},"来":{"docs":{},"通":{"docs":{},"过":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"文":{"docs":{},"件":{"docs":{},"生":{"docs":{},"成":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"类":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"…":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616}},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}},"t":{"docs":{},"h":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},"=":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"`":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}},"~":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.0125}}},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"m":{"2":{"docs":{},",":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}},"docs":{},"s":{"docs":{},")":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.015065913370998116}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.005649717514124294}},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}}},",":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006557377049180328}}},".":{"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.003278688524590164}}}}}}}}}}}}},"_":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}},"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.0018832391713747645}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.008113590263691683}},"c":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}},"s":{"docs":{},"t":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.012605042016806723},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},",":{"docs":{},"该":{"docs":{},"值":{"docs":{},"用":{"docs":{},"于":{"docs":{},"确":{"docs":{},"定":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}}}}}}}}}}},",":{"docs":{},"因":{"docs":{},"此":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}},"如":{"docs":{},"此":{"docs":{},"便":{"docs":{},"可":{"docs":{},"提":{"docs":{},"高":{"docs":{},"性":{"docs":{},"能":{"docs":{},"。":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},".":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}},";":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.007339449541284404}}}},"g":{"docs":{},"e":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004651162790697674}}}}},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"(":{"1":{"docs":{},")":{"docs":{},",":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}}},"2":{"docs":{},")":{"docs":{},",":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}}},"docs":{}}}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"用":{"docs":{},"于":{"docs":{},"保":{"docs":{},"存":{"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":{},"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":{},"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.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0025041736227045075}}},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001669449081803005},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403}}}}}}}}},"(":{"docs":{},")":{"docs":{},",":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602}}},";":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602}}}}}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}},")":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}},";":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602}},"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.006211180124223602},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403}}}}}}}}}}}}}}},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}}}}},"d":{"docs":{"chapter5/":{"ref":"chapter5/","tf":0.07692307692307693},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.004043126684636119},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.042105263157894736},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.013245033112582781},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00404040404040404},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.00333889816360601},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.005442176870748299},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.009302325581395349},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.007058823529411765},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.007692307692307693},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}},"{":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684}}},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602}}}}}}}}}}},":":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.005390835579514825},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.042105263157894736},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.019867549668874173},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00404040404040404},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.00333889816360601},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.005442176870748299},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.009302325581395349},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.00823529411764706},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.007692307692307693},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}},"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.004201680672268907}}}}}}}}}}}}}}},",":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}}},"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.010526315789473684}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"给":{"docs":{},"其":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"添":{"docs":{},"加":{"docs":{},"填":{"docs":{},"充":{"docs":{},"(":{"docs":{},"留":{"docs":{},"白":{"docs":{},")":{"docs":{},",":{"docs":{},"和":{"docs":{},"边":{"docs":{},"距":{"docs":{},"效":{"docs":{},"果":{"docs":{},"类":{"docs":{},"似":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"前":{"docs":{},"面":{"docs":{},"很":{"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.010526315789473684}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"和":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}}}}}}}}},";":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.013636363636363636},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.004081632653061225}},"(":{"docs":{},")":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.00909090909090909},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.003766478342749529}},".":{"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.00390625}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter10/intro.html":{"ref":"chapter10/intro.html","tf":0.04},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.003766478342749529}}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.00909090909090909},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}},"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.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},")":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}},"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.0018832391713747645}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"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":{},"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":{},"过":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{"chapter10/intro.html":{"ref":"chapter10/intro.html","tf":0.04}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.00909090909090909}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"k":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}}},"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.0018587360594795538}}},":":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},".":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},".":{"docs":{},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"m":{"docs":{},"u":{"docs":{},"m":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"=":{"2":{"0":{"0":{"0":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"b":{"docs":{},"y":{"docs":{},"t":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"(":{"docs":{},"b":{"docs":{},"y":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{},";":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.013636363636363636},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},"参":{"docs":{},"数":{"docs":{},":":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}}},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"d":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}},"y":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"=":{"docs":{},"\"":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.004559270516717325},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.004559270516717325}},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"”":{"docs":{},"下":{"docs":{},",":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}},"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.003278688524590164}}}}}}}}},"s":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}},"。":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}},"/":{"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.0018832391713747645}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}},"(":{"docs":{},")":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.007532956685499058}},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}},"两":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"来":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{},"一":{"docs":{},"下":{"docs":{},"控":{"docs":{},"制":{"docs":{},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"比":{"docs":{},"如":{"docs":{},"c":{"docs":{},"l":{"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":{},"行":{"docs":{},"查":{"docs":{},"看":{"docs":{},"源":{"docs":{},"码":{"docs":{},"。":{"docs":{},"唯":{"docs":{},"一":{"docs":{},"需":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"b":{"docs":{},"o":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"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":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"b":{"docs":{},"o":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"e":{"docs":{},"t":{"docs":{},"是":{"docs":{},"调":{"docs":{},"用":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"顶":{"docs":{},"部":{"docs":{},"的":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"f":{"docs":{},"f":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"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":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"b":{"docs":{},"o":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"e":{"docs":{},"t":{"docs":{},"同":{"docs":{},"名":{"docs":{},"方":{"docs":{},"法":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},"要":{"docs":{},"调":{"docs":{},"用":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"b":{"docs":{},"o":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"e":{"docs":{},"t":{"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":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0018587360594795538}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.005504587155963303}},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}},".":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}},"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},"e":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0013422818791946308},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}},".":{"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":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}}}}},"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.0018587360594795538}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}},"c":{"docs":{},"e":{"docs":{},"h":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}},"o":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},":":{"docs":{},":":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}},"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.0013422818791946308}}}}}}}}},"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.002325581395348837}}}}}}}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0041928721174004195},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.007532956685499058}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.03125},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.008726003490401396},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}},"{":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125}}}}}},":":{"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":{},":":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"它":{"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.005649717514124294}}}}}}}}}}}}}}}}}}}}},")":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.006134969325153374},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.003766478342749529}},")":{"docs":{},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}},".":{"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.003067484662576687}}}}}}}}}},",":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856}}},":":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.006172839506172839},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.003766478342749529}}}}}}}},"t":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}},"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.0018587360594795538}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}},"'":{"docs":{},")":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}}}}}}},"r":{"docs":{},"t":{"docs":{},")":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}},"{":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}},",":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0045871559633027525}}}}}},"r":{"docs":{},"o":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.004026845637583893},"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}},"’":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}}}}}},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.015151515151515152}},"e":{"docs":{},"替":{"docs":{},"代":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}},"标":{"docs":{},"志":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}},"选":{"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.001519756838905775}}}}}}}}}}}},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}},"g":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.007575757575757576}}}}}},"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":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"(":{"docs":{},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.015151515151515152}}}}}}}}}}}}}}}}}},"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.0020964360587002098}}},".":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}}},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"(":{"0":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.005698005698005698}}}}},"docs":{}}}}}},"[":{"docs":{},"n":{"docs":{},"o":{"docs":{},"]":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}}}}}}},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.007272727272727273},"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},";":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364}}}}}}},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}},".":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}}}}}},",":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}},"s":{"docs":{},":":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}},"b":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}}}}}},"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.003745318352059925}}}}}}}}}}}},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"\"":{"docs":{},")":{"docs":{},")":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}},"x":{"docs":{},"$":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894}}}}}}}}}}}}}}}},"路":{"docs":{},"由":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},":":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}},"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.003278688524590164}}}}}}},"n":{"docs":{},"e":{"docs":{},"v":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}}}},"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.003278688524590164}}}}},"p":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0034904013961605585}}}}}}},"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.0020964360587002098}}}}}}}},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}}}},"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.003067484662576687}}}}}}}}}}}}},"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.0020964360587002098}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0064516129032258064}}}}}}},"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}},"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.0020964360587002098}}}}}}}}}}}}}}}}}},"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.0020964360587002098}}}}}}}}}}},"o":{"docs":{},"w":{"docs":{},"n":{"0":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}}}}}},"1":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}}}}}},"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0034904013961605585}}}}}}}}},"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.0020964360587002098}}}}}}}}}}}}}},"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.0020964360587002098}}}}}}}}}}}}}},"a":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.005454545454545455}}}}}}}}}}}}}},"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.0013477088948787063}}}}}}}}},"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.0034904013961605585}}}}}}}}}}}}}}}}}}}}}}}},"$":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}},"{":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"v":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}}},"取":{"docs":{},"消":{"docs":{},"删":{"docs":{},"除":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0025041736227045075}}}}}}}}},"同":{"docs":{},"时":{"docs":{},"删":{"docs":{},"除":{"docs":{},"子":{"docs":{},"目":{"docs":{},"录":{"docs":{},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001669449081803005}}}}}}}}}},"已":{"docs":{},"确":{"docs":{},"认":{"docs":{},"删":{"docs":{},"除":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}},"点":{"docs":{},"击":{"docs":{},"了":{"docs":{},":":{"docs":{},"$":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}}}},"选":{"docs":{},"择":{"docs":{},"了":{"docs":{},":":{"docs":{},"$":{"docs":{},"{":{"docs":{},"i":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}},"用":{"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.0017452006980802793}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"开":{"docs":{},"始":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}},"正":{"docs":{},"在":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}},"滚":{"docs":{},"动":{"docs":{},"停":{"docs":{},"止":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}},"到":{"docs":{},"边":{"docs":{},"界":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}},"a":{"docs":{},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{},")":{"docs":{},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}}}}}},"b":{"docs":{},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{},")":{"docs":{},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}}}}}},"c":{"docs":{},"b":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},")":{"docs":{},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0056179775280898875}}}}}}}},"e":{"docs":{},")":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.011235955056179775},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}},".":{"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.0018726591760299626}}}}}}}}}}},"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.0017452006980802793}}}}}}}}}}}}}},"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.0018726591760299626}}}}}},"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}},"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":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}}}}}}}}}},")":{"docs":{},";":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},")":{"docs":{},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}},")":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}},"_":{"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.0013477088948787063}},";":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}},"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.003067484662576687}}}}}}}}}}}}}}}}}}}}}},"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}},"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.0029154518950437317}}}},".":{"docs":{},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}}}}}}}},"'":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"d":{"docs":{},"y":{"docs":{},",":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.003669724770642202}}}}}}}},"w":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.003669724770642202}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}},"docs":{}}}}}}}},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}}}}}},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.00303951367781155},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006557377049180328}}},"、":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}},"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.004866180048661801},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004651162790697674},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}},",":{"docs":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}}},":":{"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":{},"没":{"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":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},".":{"docs":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}},")":{"docs":{},",":{"docs":{},")":{"docs":{},",":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}}}}}},"=":{"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.012539184952978056},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}},"e":{"docs":{},"\"":{"docs":{},".":{"docs":{},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"(":{"docs":{},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},")":{"docs":{},")":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.008086253369272238},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.007692307692307693}}}}}}}}}},"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.005649717514124294}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"+":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}},",":{"docs":{},"\"":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}},"w":{"docs":{},"d":{"docs":{},")":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}},"{":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.011538461538461539}}}}}}}},"k":{"docs":{},"g":{"1":{"docs":{},":":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.0125}}}},"docs":{}}},"h":{"docs":{},"y":{"docs":{},"s":{"docs":{},"i":{"docs":{},"c":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}},"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":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"组":{"docs":{},"件":{"docs":{},"如":{"docs":{},"何":{"docs":{},"响":{"docs":{},"应":{"docs":{},"用":{"docs":{},"户":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"用":{"docs":{},"户":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"完":{"docs":{},"抬":{"docs":{},"起":{"docs":{},"手":{"docs":{},"指":{"docs":{},"后":{"docs":{},",":{"docs":{},"继":{"docs":{},"续":{"docs":{},"执":{"docs":{},"行":{"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":{},"个":{"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":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.02631578947368421}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}},"i":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}},"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.00303951367781155}}}}}}}}}},"x":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.00303951367781155}},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}},"s":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.00303951367781155}}},":":{"docs":{},"当":{"docs":{},"前":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{},"。":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}}}}}}}}}}}},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}}}},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.006802721088435374}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"q":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}},"、":{"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.0035714285714285713}}}}}}}}}},"低":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}},"是":{"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.0035714285714285713}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}},"简":{"docs":{},"介":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}},"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.003278688524590164}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"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.003278688524590164}}}}}}}}}}}}}}}},"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},",":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.005813953488372093}}}}}}}}}}}}}}}},"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.0064516129032258064},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}},"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":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.011494252873563218}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.005813953488372093}},"a":{"docs":{},"x":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.007142857142857143}}},"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.012048192771084338}},"(":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004651162790697674},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.005390835579514825},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.005454545454545455},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.00333889816360601},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0058309037900874635},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.006644518272425249},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}},"{":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}},".":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}}}}}},"、":{"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":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.00625}},"(":{"docs":{},")":{"docs":{},",":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"\"":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},":":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}},":":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.005698005698005698}}},"“":{"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":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}}},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"y":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.0078125}}}}}}},"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.006622516556291391}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0163265306122449}}},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}},";":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}}}}}}},"w":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"(":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}},"e":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.025}},"中":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"框":{"docs":{},"架":{"docs":{},"在":{"docs":{},"接":{"docs":{},"收":{"docs":{},"到":{"docs":{},"用":{"docs":{},"户":{"docs":{},"状":{"docs":{},"态":{"docs":{},"改":{"docs":{},"变":{"docs":{},"通":{"docs":{},"知":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.003278688524590164}}}}}}}}}},"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.0041928721174004195}},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}},":":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"m":{"docs":{},")":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}},")":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}},";":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}},",":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0045871559633027525}}},"=":{"docs":{},"\"":{"docs":{},"a":{"docs":{},"d":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"\"":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}},"=":{"docs":{},"\"":{"docs":{},"a":{"docs":{},"d":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"\"":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}},"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.0035714285714285713}}}}}}}}}}}}}}}}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0045871559633027525},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},".":{"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0045871559633027525},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}},"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0045871559633027525}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713},"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.018726591760299626},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.009732360097323601},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.018604651162790697},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.014423076923076924},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.016771488469601678},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.010141987829614604},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.00510204081632653},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.008086253369272238},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.011834319526627219},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.010101010101010102},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.02956989247311828},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.020134228187919462},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.015337423312883436},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.04878048780487805},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.035483870967741936},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.02181818181818182},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.00847457627118644},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.07407407407407407},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.024207011686143573},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.012216404886561954},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.037900874635568516},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.020618556701030927},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.031055900621118012},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.02631578947368421},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.012605042016806723},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.01646090534979424},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.009852216748768473},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.009966777408637873},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.005442176870748299},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.022598870056497175},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.013761467889908258},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0330188679245283},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.008547008547008548},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.013953488372093023},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.02018348623853211},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.01652892561983471},"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.035398230088495575},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.014005602240896359},"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.012121212121212121},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.005649717514124294},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0037174721189591076},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.015258215962441314},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.007575757575757576},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.020348837209302327},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.023529411764705882},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.011538461538461539},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.02531645569620253}},";":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.022222222222222223},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}},"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"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.001519756838905775}},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}}}}}}}}}},"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.00425531914893617}},"(":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}}}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.013182674199623353},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0055762081784386614}},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}},"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.0018587360594795538}},"[":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":0.04}},"类":{"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":{},"组":{"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":{},"件":{"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":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"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":{},"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":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"中":{"docs":{},"。":{"docs":{"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":0.04}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"和":{"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.0018832391713747645}}}}}}}}}}}},")":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.003766478342749529}}},"为":{"docs":{},"止":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"再":{"docs":{},"将":{"docs":{},"其":{"docs":{},"标":{"docs":{},"记":{"docs":{},"为":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}}}}}}},"可":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"。":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"再":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}},"(":{"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.001519756838905775}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}},",":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}},".":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.005649717514124294}},"子":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"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.0018832391713747645}}}}}}}}}},"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.0018832391713747645}}},"y":{"docs":{},"(":{"docs":{},"{":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"s":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}},"e":{"docs":{},"r":{"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.0018587360594795538}}},":":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}}}}}}}}},"t":{"docs":{},"!":{"docs":{},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064}}}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},"“":{"docs":{},"只":{"docs":{},"会":{"docs":{},"重":{"docs":{},"新":{"docs":{},"构":{"docs":{},"建":{"docs":{},"整":{"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":{},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"docs":{},"不":{"docs":{},"会":{"docs":{},"起":{"docs":{},"作":{"docs":{},"用":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}},"重":{"docs":{},"载":{"docs":{},"失":{"docs":{},"效":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"调":{"docs":{},"用":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}}},")":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},")":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"即":{"docs":{},"可":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}},"运":{"docs":{},"行":{"docs":{},"您":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}}}}}}}}}}}},"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":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"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":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.009416195856873822}}},"y":{"docs":{},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"一":{"docs":{},"个":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}},"就":{"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.0018832391713747645}}}}}}}}}}}}}}}}},"该":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"?":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.005369127516778523}},"e":{"docs":{},"s":{"docs":{},"…":{"docs":{},",":{"docs":{},"选":{"docs":{},"择":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}}}}},"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.006557377049180328}}}}}}}}}}},"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.003278688524590164}}}}}}}}}}}}}}}}}}}}},"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.006557377049180328}}}}}}}}}}},"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.003278688524590164}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"!":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}},"g":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"e":{"docs":{},")":{"docs":{},")":{"docs":{},".":{"docs":{},"t":{"docs":{},"o":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},"(":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"[":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"]":{"docs":{},")":{"docs":{},";":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},")":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}},"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.00303951367781155},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}},"y":{"docs":{},"(":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},":":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}},"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.00510204081632653}}},":":{"docs":{},"当":{"docs":{},"图":{"docs":{},"片":{"docs":{},"本":{"docs":{},"身":{"docs":{},"大":{"docs":{},"小":{"docs":{},"小":{"docs":{},"于":{"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.002551020408163265}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"(":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.003745318352059925},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004651162790697674},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0058309037900874635},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.012539184952978056},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}}},")":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.008264462809917356}},";":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}},".":{"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}},";":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}},"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}},";":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}}}}},"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}},"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}},"[":{"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}},"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}},"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.008264462809917356}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.008264462809917356}}},",":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.005649717514124294}}}}}},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0045871559633027525},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.02358490566037736},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.005698005698005698},"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.005813953488372093}},"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0045871559633027525}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},".":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"(":{"docs":{},"(":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},".":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"(":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},".":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"/":{"docs":{},"\"":{"docs":{},")":{"docs":{},".":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.005813953488372093}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{},".":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.005813953488372093}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}},";":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.005813953488372093}}},"=":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}},"a":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.018867924528301886}}}}}}}},",":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}},"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.0018587360594795538}}}}}}}}}}}},"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}},"v":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},"e":{"docs":{},"(":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"u":{"docs":{},"r":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}},"方":{"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":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"的":{"docs":{},"主":{"docs":{},"入":{"docs":{},"口":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"它":{"docs":{},"接":{"docs":{},"受":{"docs":{},"一":{"docs":{},"个":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"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":{},",":{"docs":{},"返":{"docs":{},"回":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"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":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"执":{"docs":{},"行":{"docs":{},"流":{"docs":{},"程":{"docs":{},":":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"t":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}},".":{"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.007598784194528876}}}},"docs":{}}},"docs":{}}}},"w":{"docs":{},"h":{"docs":{},"(":{"1":{"0":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}}}},"o":{"docs":{},"g":{"docs":{},"n":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}}}}},"e":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}},";":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}},"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.008264462809917356}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"u":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}},".":{"docs":{},"t":{"docs":{},"t":{"docs":{},"f":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.01171875}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"(":{"docs":{},"r":{"docs":{},"\"":{"docs":{},"\\":{"docs":{},"s":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}},"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00851063829787234}},",":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.01702127659574468}}},"=":{"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.00425531914893617}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"x":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"v":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter13/intl.html":{"ref":"chapter13/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":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866}},"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":{},"组":{"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":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"己":{"docs":{},"试":{"docs":{},"验":{"docs":{},"。":{"docs":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"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.0049504950495049506}}}}}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},"(":{"docs":{},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}}},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.00872093023255814},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},"标":{"docs":{},"记":{"docs":{},"是":{"docs":{},"否":{"docs":{},"是":{"docs":{},"\"":{"docs":{},"下":{"docs":{},"拉":{"docs":{},"刷":{"docs":{},"新":{"docs":{},"\"":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}},")":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},":":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}},"n":{"docs":{},"、":{"docs":{},"w":{"docs":{},"e":{"docs":{},"e":{"docs":{},"x":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}}}},"u":{"docs":{},"n":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.00303951367781155},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.005504587155963303},"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.010416666666666666},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.011204481792717087},"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},"模":{"docs":{},"拟":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}},"启":{"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.0026845637583892616}}}}}}}}}}}}}},"应":{"docs":{},"用":{"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":{},"y":{"docs":{},"工":{"docs":{},"具":{"docs":{},"的":{"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":{},"监":{"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":{},"以":{"docs":{},"在":{"docs":{},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"中":{"docs":{},"直":{"docs":{},"接":{"docs":{},"打":{"docs":{},"开":{"docs":{},"该":{"docs":{},"链":{"docs":{},"接":{"docs":{},"。":{"docs":{},"直":{"docs":{},"接":{"docs":{},"使":{"docs":{},"用":{"docs":{},"语":{"docs":{},"句":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"图":{"docs":{},"标":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"(":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}},"m":{"docs":{},"y":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}},",":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006557377049180328}}},")":{"docs":{},";":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}},"根":{"docs":{},"本":{"docs":{},"执":{"docs":{},"行":{"docs":{},"不":{"docs":{},"到":{"docs":{},"。":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}}},"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.0018587360594795538}}}}}}}}}}},"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.0049504950495049506}}}}}}}}}}}}}}}}}}}}},"命":{"docs":{},"令":{"docs":{},"来":{"docs":{},"运":{"docs":{},"行":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}}}}}}}}},"时":{"docs":{},"使":{"docs":{},"用":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}}}}},"带":{"docs":{},"有":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}},"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.003278688524590164}},"(":{"docs":{},")":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.013114754098360656}}}},"r":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}}}}}}}},"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.0049504950495049506},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}},":":{"docs":{},"纵":{"docs":{},"轴":{"docs":{},"方":{"docs":{},"向":{"docs":{},"的":{"docs":{},"间":{"docs":{},"距":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}}}}}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.01652892561983471}}}}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.0069767441860465115},"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.030303030303030304}},"e":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.0069767441860465115}}}},"。":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}},")":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004651162790697674},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}},"等":{"docs":{},"价":{"docs":{},"于":{"docs":{},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},".":{"docs":{},"p":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"(":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}},"e":{"docs":{},",":{"docs":{},"{":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}}}},"r":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}},"s":{"docs":{},":":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},"{":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.0069767441860465115}}}},";":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}},"e":{"docs":{},"t":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}},"”":{"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.002325581395348837}}}}}}}}}}}}}}}}}},")":{"docs":{},"即":{"docs":{},"有":{"docs":{},"名":{"docs":{},"字":{"docs":{},"的":{"docs":{},"路":{"docs":{},"由":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"先":{"docs":{},"给":{"docs":{},"路":{"docs":{},"由":{"docs":{},"起":{"docs":{},"一":{"docs":{},"个":{"docs":{},"名":{"docs":{},"字":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"路":{"docs":{},"由":{"docs":{},"名":{"docs":{},"字":{"docs":{},"直":{"docs":{},"接":{"docs":{},"打":{"docs":{},"开":{"docs":{},"新":{"docs":{},"的":{"docs":{},"路":{"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.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001669449081803005}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001669449081803005}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"t":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}},"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0018587360594795538}},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}}}}},"w":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856}},"、":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}},"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":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.007653061224489796},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.01646090534979424},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.012903225806451613},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00404040404040404},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.013605442176870748},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005649717514124294},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.00333889816360601},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},"{":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856}}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"水":{"docs":{},"平":{"docs":{},"方":{"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.00411522633744856}}}}}}}}}}}}}}}}}}}}}}}}},"默":{"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.005917159763313609}}}}}}}}}}}}}}}}}}}}}}}},"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.0064516129032258064}},"(":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}},"和":{"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":{},"组":{"docs":{},"件":{"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":{},"组":{"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":{},":":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684}},",":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684}}}}}},"c":{"docs":{},"h":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"(":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},".":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"(":{"docs":{},"(":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.00749063670411985},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.00909090909090909},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},")":{"docs":{},"代":{"docs":{},"码":{"docs":{},"仍":{"docs":{},"有":{"docs":{},"差":{"docs":{},"距":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}}}}},",":{"docs":{},"执":{"docs":{},"行":{"docs":{},"效":{"docs":{},"率":{"docs":{},"和":{"docs":{},"a":{"docs":{},"o":{"docs":{},"t":{"docs":{},"(":{"docs":{},"a":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}}}}}}}}}}}}}},")":{"docs":{},"即":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01}},"“":{"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},":":{"docs":{},"'":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.004026845637583893}},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},",":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801}}}},"”":{"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.0024330900243309003}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.005813953488372093}},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}},";":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.005813953488372093}}}}}}}},"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.001519756838905775},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0037174721189591076}}}}}}}}}}}}}}},"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}},"页":{"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.001519756838905775}}}}}}}}}}}}}}}}},"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.0037174721189591076}}}}}}}}}}}},"t":{"docs":{},"l":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.017699115044247787},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}},"e":{"docs":{},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.009732360097323601},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.009302325581395349},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00851063829787234},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.014141414141414142},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005649717514124294},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.008347245409015025},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.0058823529411764705},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.0189873417721519}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}}}}}}}},";":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}},"e":{"docs":{},"(":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}},"{":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}},"实":{"docs":{},"现":{"docs":{},"代":{"docs":{},"码":{"docs":{},":":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}}},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.009900990099009901}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}},"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.004201680672268907},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},"设":{"docs":{},"置":{"docs":{},"页":{"docs":{},"面":{"docs":{},"中":{"docs":{},",":{"docs":{},"确":{"docs":{},"保":{"docs":{},"在":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}},",":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}},"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.002824858757062147}}}}}}}}}},")":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}},"?":{"docs":{},".":{"docs":{},"v":{"docs":{},"i":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"(":{"docs":{},"v":{"docs":{},"i":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},")":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},",":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}},"s":{"docs":{},"k":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}},"b":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}},"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":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00404040404040404}}}}}}},"{":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}},"(":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00404040404040404}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}},"(":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}}},"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.00202020202020202}},"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.00202020202020202}}}}}}}}}}}}}}}}}}}},"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.00202020202020202}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"(":{"docs":{},"(":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.006060606060606061}}}}}}}}}},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00404040404040404}}}},"组":{"docs":{},"件":{"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":{},"接":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"组":{"docs":{},"件":{"docs":{},"样":{"docs":{},"式":{"docs":{},"。":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"组":{"docs":{},"件":{"docs":{},"定":{"docs":{},"义":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"a":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.006085192697768763}},"(":{"docs":{},"{":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}},"b":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.008113590263691683}},"(":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}},"{":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}},"c":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.004056795131845842}},"(":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}},"{":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}},"将":{"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":{},"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/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0017452006980802793}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},":":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.017543859649122806}}},"=":{"docs":{},"\"":{"docs":{},"\\":{"docs":{},"$":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}},"r":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}},"s":{"docs":{},"t":{"docs":{"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.030303030303030304}},"(":{"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.0018726591760299626}}}}}}}}}},"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.0018726591760299626}}}}}}}}}}}},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}},"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.0049504950495049506}},"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.0049504950495049506}}}}}}}}},"{":{"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.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"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":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"/":{"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"x":{"docs":{},"t":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.012121212121212121}},"(":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.009732360097323601},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.004056795131845842},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.0058823529411764705},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}},"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.004866180048661801}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},".":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"s":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},")":{"docs":{},".":{"docs":{},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"(":{"docs":{},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"u":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}},"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.00625}}}}}}}}}}}}}}}}}}}}}}},"\"":{"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.012195121951219513}}}}}}}}}}}}}}}}}},"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.03292181069958848},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005649717514124294},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.0035294117647058825}},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.018072289156626505}}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}},"打":{"docs":{},"开":{"docs":{},"提":{"docs":{},"示":{"docs":{},"页":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}},"提":{"docs":{},"示":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.005008347245409015}}}}}}},"返":{"docs":{},"回":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}},"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.0020964360587002098}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}},"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.0020964360587002098}}}}}}}}}},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}},"*":{"1":{"0":{"0":{"docs":{},")":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}}}},"docs":{}},"docs":{}},"docs":{}}}}}},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.0234375},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00823045267489712},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015625},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.03225806451612903},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.026490066225165563}}}}}},"i":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00823045267489712}}}}}}},"i":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.0078125},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00823045267489712},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015625},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684}},"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.0032258064516129032}}}}}}}}}}}}}},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.014778325123152709}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0058309037900874635}}}}}},"发":{"docs":{},"送":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}}}}},"添":{"docs":{},"加":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}}},"商":{"docs":{},"品":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.005454545454545455}}}}}}}}},"详":{"docs":{},"情":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}}}}},"登":{"docs":{},"录":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}},"移":{"docs":{},"动":{"docs":{},"焦":{"docs":{},"点":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}}}},"隐":{"docs":{},"藏":{"docs":{},"键":{"docs":{},"盘":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}}}},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"l":{"docs":{},"d":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00823045267489712}}}}}}}}},"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":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015625},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186}}}}}}}}},"你":{"docs":{},"好":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.012903225806451613}}}},"世":{"docs":{},"界":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}}}}}}}}}}}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00404040404040404}}}},"\"":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.006980802792321117}}}}}}},"$":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"\"":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.016129032258064516},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0025041736227045075}},")":{"docs":{},";":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0058309037900874635}}}}}}}}}}}}},"滚":{"docs":{},"动":{"docs":{},"控":{"docs":{},"制":{"docs":{},"\"":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}}}}}}}},"总":{"docs":{},"价":{"docs":{},":":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.005454545454545455}}}}},"主":{"docs":{},"题":{"docs":{},"测":{"docs":{},"试":{"docs":{},"\"":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}},"删":{"docs":{},"除":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.005008347245409015}}}}}}},"取":{"docs":{},"消":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.005008347245409015}}}}}}},"同":{"docs":{},"时":{"docs":{},"删":{"docs":{},"除":{"docs":{},"子":{"docs":{},"目":{"docs":{},"录":{"docs":{},"?":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.00333889816360601}}}}}}}}}}}}},"对":{"docs":{},"话":{"docs":{},"框":{"1":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}},"2":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}},"docs":{}}}},"您":{"docs":{},"确":{"docs":{},"定":{"docs":{},"要":{"docs":{},"删":{"docs":{},"除":{"docs":{},"当":{"docs":{},"前":{"docs":{},"文":{"docs":{},"件":{"docs":{},"吗":{"docs":{},"?":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.005008347245409015}}}}}}}}}}}}}}}}},"显":{"docs":{},"示":{"docs":{},"底":{"docs":{},"部":{"docs":{},"菜":{"docs":{},"单":{"docs":{},"列":{"docs":{},"表":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}},"正":{"docs":{},"在":{"docs":{},"加":{"docs":{},"载":{"docs":{},",":{"docs":{},"请":{"docs":{},"稍":{"docs":{},"后":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001669449081803005}}}}}}}}}}}}}}}},"话":{"docs":{},"框":{"3":{"docs":{},"(":{"docs":{},"复":{"docs":{},"选":{"docs":{},"框":{"docs":{},"可":{"docs":{},"点":{"docs":{},"击":{"docs":{},")":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}}},"docs":{}}},"请":{"docs":{},"选":{"docs":{},"择":{"docs":{},"\"":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.011299435028248588}}}},"\"":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}},"左":{"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.005649717514124294}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}},"原":{"docs":{},"图":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403}}}}}}},"逆":{"docs":{},"时":{"docs":{},"针":{"docs":{},"旋":{"docs":{},"转":{"1":{"docs":{},"/":{"5":{"docs":{},"圈":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}},"docs":{}}},"docs":{}}}}}},"顺":{"docs":{},"时":{"docs":{},"针":{"docs":{},"旋":{"docs":{},"转":{"1":{"docs":{},"/":{"5":{"docs":{},"圈":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}},"docs":{}}},"docs":{}}}}}},"获":{"docs":{},"取":{"docs":{},"百":{"docs":{},"度":{"docs":{},"首":{"docs":{},"页":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}},",":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}}}}}},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00851063829787234}}}}}}}}},"'":{"docs":{},"d":{"docs":{},"u":{"docs":{},"m":{"docs":{},"p":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}}},"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.0020964360587002098}}}}}}}}}}}}}},"a":{"docs":{},"'":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064}}}}}},"d":{"docs":{},"d":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}},"n":{"docs":{},"d":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}},"h":{"docs":{},"'":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}}}}}},"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.0049504950495049506}}}}}}}}}}}},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"'":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}}},"j":{"docs":{},"'":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}}}}}}},"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.0049504950495049506}}}}}}}}}}}},"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.0049504950495049506}}}}}}}}}}},"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.0049504950495049506}}}}}},"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.0049504950495049506}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}},"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.00202020202020202}}}}}}}}}}}}}},"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.00202020202020202}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},"已":{"docs":{},"关":{"docs":{},"闭":{"docs":{},"'":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}}}}},"i":{"docs":{},"\\":{"docs":{},"'":{"docs":{},"m":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}},"w":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}},"e":{"docs":{},"t":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}},"没":{"docs":{},"有":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},"'":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}}}},"等":{"docs":{},"待":{"docs":{},"数":{"docs":{},"据":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"'":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}}},"中":{"docs":{},"文":{"docs":{},"简":{"docs":{},"体":{"docs":{},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}},"美":{"docs":{},"国":{"docs":{},"英":{"docs":{},"语":{"docs":{},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}},"请":{"docs":{},"选":{"docs":{},"择":{"docs":{},"语":{"docs":{},"言":{"docs":{},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}},"+":{"1":{"docs":{},"'":{"docs":{},",":{"docs":{},")":{"docs":{},",":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}},"docs":{}},"文":{"docs":{},"件":{"docs":{},"操":{"docs":{},"作":{"docs":{},"'":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}},"点":{"docs":{},"击":{"docs":{},"了":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}},"e":{"docs":{},".":{"docs":{},"f":{"docs":{},"i":{"docs":{},"t":{"docs":{},".":{"docs":{},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}},"[":{"docs":{},"\"":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"_":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"\"":{"docs":{},"]":{"docs":{},")":{"docs":{},")":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}}}}}}}},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}}}}},"c":{"docs":{},",":{"docs":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406}}}},"_":{"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.003067484662576687}}}}}}}}}}}},"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.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0017452006980802793}}}}}}}}}}}},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},")":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}},"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}},")":{"docs":{},",":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}},"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":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}}}}}}}}}}}}}},"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.0064516129032258064}}}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{},".":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},".":{"docs":{},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}}}}}}},"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":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"m":{"docs":{},".":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},")":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"u":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}}}}}}}}},"o":{"docs":{},"g":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},")":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}},",":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}},"y":{"docs":{},"e":{"docs":{},"s":{"docs":{},")":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}},"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":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},")":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"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.0024330900243309003}}}}}}}}}},":":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.0078125},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}},";":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}},"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.001519756838905775}}}}}}}}}}}}},"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.00390625}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856}}},".":{"docs":{},"r":{"docs":{},"t":{"docs":{},"l":{"docs":{},",":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856}}}}}}},":":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}},":":{"docs":{},"表":{"docs":{},"示":{"docs":{},"水":{"docs":{},"平":{"docs":{},"方":{"docs":{},"向":{"docs":{},"子":{"docs":{},"组":{"docs":{},"件":{"docs":{},"的":{"docs":{},"布":{"docs":{},"局":{"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.00411522633744856}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"和":{"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":{},":":{"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":{},"即":{"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":{},"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":{},"即":{"docs":{},"从":{"docs":{},"右":{"docs":{},"往":{"docs":{},"左":{"docs":{},"的":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"。":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0018587360594795538}},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},"主":{"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":{},"字":{"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.00390625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"代":{"docs":{},"表":{"docs":{},"文":{"docs":{},"本":{"docs":{},"相":{"docs":{},"对":{"docs":{},"于":{"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.00390625}}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.01953125},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}},"e":{"docs":{},"(":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.02734375},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.004705882352941176}},"f":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.006085192697768763},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856}}}}}}},"w":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.004043126684636119},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015625},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.012903225806451613},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.013605442176870748},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}}}}}}},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}},"用":{"docs":{},"于":{"docs":{},"指":{"docs":{},"定":{"docs":{},"文":{"docs":{},"本":{"docs":{},"显":{"docs":{},"示":{"docs":{},"的":{"docs":{},"样":{"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.00390625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.006644518272425249}},"(":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.0078125},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0034904013961605585}},"{":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0034904013961605585}}}}}}}}}}}},":":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}},"\"":{"docs":{},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}}},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}},".":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"h":{"docs":{},"(":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}},"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.00390625}}}}}}}}}}}}}}}},"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0026954177897574125}},".":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.0078125}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}}}},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.01171875},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}},":":{"docs":{},"文":{"docs":{},"本":{"docs":{},"的":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"方":{"docs":{},"式":{"docs":{},";":{"docs":{},"可":{"docs":{},"以":{"docs":{},"选":{"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.00390625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.00390625}}}}}}}}}}}}}}}}}}}},"属":{"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.00390625}}}}}}}}}}}}}}}}}},"用":{"docs":{},"于":{"docs":{},"显":{"docs":{},"示":{"docs":{},"简":{"docs":{},"单":{"docs":{},"样":{"docs":{},"式":{"docs":{},"文":{"docs":{},"本":{"docs":{},",":{"docs":{},"它":{"docs":{},"包":{"docs":{},"含":{"docs":{},"一":{"docs":{},"些":{"docs":{},"控":{"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.00390625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.006738544474393531},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.007692307692307693}},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.005390835579514825},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.007692307692307693}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}},"(":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.014824797843665768}},"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.0013477088948787063}}}}}}}}}}}},"{":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}},"用":{"docs":{},"于":{"docs":{},"文":{"docs":{},"本":{"docs":{},"输":{"docs":{},"入":{"docs":{},",":{"docs":{},"它":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"很":{"docs":{},"多":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"先":{"docs":{},"简":{"docs":{},"单":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"主":{"docs":{},"要":{"docs":{},"属":{"docs":{},"性":{"docs":{},"的":{"docs":{},"作":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0026954177897574125},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.007692307692307693}}}}}}}}}}}},"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.0013477088948787063}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}},":":{"docs":{},"键":{"docs":{},"盘":{"docs":{},"动":{"docs":{},"作":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"图":{"docs":{},"标":{"docs":{},"(":{"docs":{},"即":{"docs":{},"回":{"docs":{},"车":{"docs":{},"键":{"docs":{},"位":{"docs":{},"图":{"docs":{},"标":{"docs":{},")":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"枚":{"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":{},"图":{"3":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}},"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.0013477088948787063}}}}}}}}}}}}}}}},"枚":{"docs":{},"举":{"docs":{},"值":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}},"e":{"docs":{},",":{"docs":{},"/":{"docs":{},"/":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}},")":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}},"/":{"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"=":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.010416666666666666}}}}}}}}}}}}}}}},"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.0013422818791946308}}}}}}},"s":{"docs":{},";":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},">":{"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.0013422818791946308}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}},"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.0018726591760299626}}}}}}}}}}}}}}}}}}},"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.005649717514124294}}}},"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":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}}}}}}},"(":{"docs":{},")":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}}}},"p":{"docs":{},":":{"8":{"0":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}},"docs":{}}},"docs":{}},"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015625},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.005235602094240838},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}},",":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.021052631578947368}}}},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.014245014245014245}},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}},":":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}},";":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}}},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}},":":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.004081632653061225}}},";":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}},")":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},";":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.009174311926605505}}}}}}}},"d":{"docs":{},"o":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}},"r":{"docs":{},"i":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0055762081784386614},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0035211267605633804},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}},"e":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.007653061224489796},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.00909090909090909},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.003766478342749529},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}},",":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.013477088948787063},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00404040404040404},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.008064516129032258},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.008097165991902834},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001669449081803005},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.012422360248447204},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.009523809523809525},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.005813953488372093},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}},"/":{"docs":{},"/":{"docs":{},"是":{"docs":{},"否":{"docs":{},"保":{"docs":{},"存":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}}}}}}}}}}},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.006134969325153374},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.008746355685131196},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.004081632653061225},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.006880733944954129},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.007532956685499058},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.005813953488372093},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}},"}":{"docs":{},")":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}},";":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}},")":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},".":{"docs":{},"p":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"(":{"docs":{},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}},",":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}},"?":{"docs":{},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"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":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}},"则":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"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.0018832391713747645}}}}}}}}}}}}}}},",":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"{":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}}},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}}}}}},"c":{"docs":{},"e":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}},"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.001519756838905775},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}},"(":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064}},"d":{"docs":{},"o":{"docs":{},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}}}},".":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}},"可":{"docs":{},"以":{"docs":{},"对":{"docs":{},"子":{"docs":{},"组":{"docs":{},"件":{"docs":{},"进":{"docs":{},"行":{"docs":{},"旋":{"docs":{},"转":{"docs":{},"变":{"docs":{},"换":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064}},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064}}}}}}}}},"可":{"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.0064516129032258064}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064}}},"接":{"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":{},"组":{"docs":{},"件":{"docs":{},"平":{"docs":{},"移":{"docs":{},"指":{"docs":{},"定":{"docs":{},"的":{"docs":{},"距":{"docs":{},"离":{"docs":{},"。":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"其":{"docs":{},"子":{"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":{},"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.0064516129032258064}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"组":{"docs":{},"件":{"docs":{},"应":{"docs":{},"用":{"docs":{},"何":{"docs":{},"种":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"其":{"docs":{},"占":{"docs":{},"用":{"docs":{},"空":{"docs":{},"间":{"docs":{},"的":{"docs":{},"大":{"docs":{},"小":{"docs":{},"和":{"docs":{},"在":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"都":{"docs":{},"是":{"docs":{},"固":{"docs":{},"定":{"docs":{},"不":{"docs":{},"变":{"docs":{},"的":{"docs":{},",":{"docs":{},"因":{"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.0064516129032258064}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},",":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856}}},":":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856}}},";":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0025041736227045075}}},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001669449081803005},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00823045267489712}}}}}}}}}},"d":{"docs":{},"u":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0025041736227045075}}},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001669449081803005},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602}}},";":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602}}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"u":{"docs":{},"c":{"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":{},"都":{"docs":{},"可":{"docs":{},"以":{"docs":{},"接":{"docs":{},"收":{"docs":{},"到":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}},"e":{"docs":{},"e":{"docs":{},"。":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}},"本":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.003745318352059925},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.00749063670411985},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}},"n":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter7/":{"ref":"chapter7/","tf":0.1111111111111111},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001669449081803005},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.007575757575757576}},".":{"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.006060606060606061}},".":{"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.004866180048661801},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}},"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.0013477088948787063}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}},"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":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}},";":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}}}}}}}}}}}}}},";":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}},"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":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004651162790697674},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.011299435028248588},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}},"(":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004651162790697674},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},"{":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}},"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"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.002824858757062147}}}}}}}}}}},"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.002824858757062147}}}}}}}}}}}}}}}}}}}}}},"用":{"docs":{},"于":{"docs":{},"保":{"docs":{},"存":{"docs":{},"是":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}}}}}}}}},"(":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005649717514124294}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},"w":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}}}}},"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.002824858757062147}}}}}}}}}},"组":{"docs":{},"件":{"docs":{},"可":{"docs":{},"以":{"docs":{},"为":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}}}}},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}},")":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}},"(":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},".":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}},"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.004866180048661801}}}},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}},"/":{"docs":{},"/":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}}}}}},"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.0049504950495049506},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125}}}}}}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},",":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125}}}},"t":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}},"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.006622516556291391}}},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856}}}}}}}}}}}}},"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.006211180124223602}}}}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}},"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":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}},":":{"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.0020964360587002098}}}}}}}}}}}}}}},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}}}}},"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.006211180124223602}}}}}}}},"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.006211180124223602}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"e":{"docs":{},"l":{"docs":{},",":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602}}}}}}}}}}}}}},"o":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},",":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"u":{"docs":{},"s":{"docs":{},",":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}}}}}}}}}}},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.010582010582010581},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602}}}}}}}}},"e":{"docs":{},"h":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}}}}}}}}}},"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.0020964360587002098}}}}}}}},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},",":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.010582010582010581}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}}}}},"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":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}},"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.003067484662576687}}}}}}}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.004056795131845842}}}}},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}}}}}}}}}}},"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.00202020202020202}}}}}}}}}}}}}}}}}}}}}}},"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.02631578947368421}}}}}}}}}}},"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.002577319587628866}}}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"}":{"docs":{},")":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.004056795131845842}}}},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}}}}}},"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.005649717514124294}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}}}}}}},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}}}}}}},"u":{"docs":{},"p":{"docs":{},",":{"docs":{},"/":{"docs":{},"/":{"docs":{},"手":{"docs":{},"指":{"docs":{},"抬":{"docs":{},"起":{"docs":{},"回":{"docs":{},"调":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}},"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.0029154518950437317}}}}}}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"q":{"docs":{},"u":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602}}}}}}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.006172839506172839},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}}}},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}},"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.006024096385542169}}}}}}}}}}}}}}}}}}}}}}}}}},"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.002551020408163265}}}}}}}}}}}},"s":{"docs":{},",":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}}}}}}},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.02631578947368421},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{},"/":{"docs":{},"/":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}},"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.0013477088948787063}}}}}}}},"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.0013477088948787063}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}}}}}}},"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.0049504950495049506}}}}}}}}}}}}}}},"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.00202020202020202}}}}}}}}}}}}}},"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.006024096385542169}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}}}},"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.006024096385542169}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609}}}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},",":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364}}}}}},"u":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"/":{"docs":{},"/":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.003669724770642202}}}}}}}}},"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.006024096385542169}}}}}}}},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}}}}}}}}}}}},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}}},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.003766478342749529}}}}}}}},"h":{"docs":{},"y":{"docs":{},"s":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},",":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.02631578947368421},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406}}}}}}}}}},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"p":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}},"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.006024096385542169}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}}}},"e":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}},":":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}},"c":{"docs":{},"a":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}},":":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"s":{"docs":{},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}}}}}}},"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.014492753623188406}}}}}}}}}}}}},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"e":{"docs":{},"l":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"v":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"v":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}},"i":{"docs":{},"z":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}},"f":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125}},",":{"docs":{},"/":{"docs":{},"/":{"docs":{},"缩":{"docs":{},"放":{"docs":{},"模":{"docs":{},"式":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609}}}}},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}},"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":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}},"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.002551020408163265}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406}},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"/":{"docs":{},"/":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}}},"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.0049504950495049506}}}}}}},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}}}}}}}},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125}}}}}}},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"u":{"docs":{},"s":{"docs":{},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}}}}}},"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.0049504950495049506}}}}}}}}}}}}}}},"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.02631578947368421}}}}}}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}},"e":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125}}}}},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}}}},"y":{"docs":{},")":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}},"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.00425531914893617}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}}}}}}}},"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.006622516556291391}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.006211180124223602}}}}}}}}}}},"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.00425531914893617}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}}}}}}}}}}},",":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}},")":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0055762081784386614}},";":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.01485148514851485},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010309278350515464}}}},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}},"o":{"docs":{},"u":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}}}},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.005454545454545455},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}},"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":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.011494252873563218}}}}}}}},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"t":{"6":{"4":{"docs":{},":":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.011494252873563218}}}},"docs":{}},"docs":{}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"3":{"2":{"docs":{},":":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.011494252873563218}}}},"docs":{}},"6":{"4":{"docs":{},":":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.011494252873563218}}}},"docs":{}},"docs":{}}}}}}}}}}}},"o":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}},")":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}},")":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}}}}}},")":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}},"w":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.01485148514851485},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}},"(":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.008403361344537815}},"b":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010309278350515464},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00823045267489712}}}}}}}}},".":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}},"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":{},",":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856}}}}}}}}}}}}}}}}}}}}}},"对":{"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.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"构":{"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":{},"为":{"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":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"主":{"docs":{},"要":{"docs":{},"定":{"docs":{},"义":{"docs":{},"动":{"docs":{},"画":{"docs":{},"值":{"docs":{},"的":{"docs":{},"映":{"docs":{},"射":{"docs":{},"规":{"docs":{},"则":{"docs":{},"。":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"=":{"docs":{},"t":{"docs":{},"w":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"b":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}},"(":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.006644518272425249},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.004081632653061225}},"{":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}},"的":{"docs":{},"完":{"docs":{},"整":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}}}}},"s":{"docs":{},":":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.009966777408637873},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.004081632653061225}}},";":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}},"e":{"docs":{},",":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}},".":{"docs":{},"j":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}}}}}}}}}},"[":{"1":{"docs":{},"]":{"docs":{},")":{"docs":{},";":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}},"docs":{}}},"u":{"docs":{},"i":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"方":{"docs":{},"式":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}},"层":{"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"对":{"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"框":{"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"内":{"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":{},"将":{"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":{},"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"至":{"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"docs":{},"个":{"docs":{},"清":{"docs":{},"晰":{"docs":{},"的":{"docs":{},"认":{"docs":{},"识":{"docs":{},",":{"docs":{},"而":{"docs":{},"且":{"docs":{},"也":{"docs":{},"会":{"docs":{},"提":{"docs":{},"高":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"抽":{"docs":{},"象":{"docs":{},"能":{"docs":{},"力":{"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"能":{"docs":{},"不":{"docs":{},"做":{"docs":{},"成":{"docs":{},"响":{"docs":{},"应":{"docs":{},"式":{"docs":{},"吗":{"docs":{},"?":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}}}}}}}}}}}}},"组":{"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}},"s":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}},"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.0018587360594795538}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}},"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.0018587360594795538}},".":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"t":{"8":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.011494252873563218},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}},"docs":{}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"*":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}},".":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},";":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}},"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"k":{"docs":{},"n":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},")":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}},"系":{"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":{},"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}},"的":{"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}}}},"底":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"绘":{"docs":{},"制":{"docs":{},"区":{"docs":{},"域":{"docs":{},"的":{"docs":{},"大":{"docs":{},"小":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}}}},"n":{"docs":{},"z":{"docs":{},"i":{"docs":{},"p":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}},"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}},"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.00425531914893617}},"(":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00851063829787234},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001669449081803005}}},"不":{"docs":{},"会":{"docs":{},"对":{"docs":{},"子":{"docs":{},"组":{"docs":{},"件":{"docs":{},"产":{"docs":{},"生":{"docs":{},"任":{"docs":{},"何":{"docs":{},"限":{"docs":{},"制":{"docs":{},",":{"docs":{},"它":{"docs":{},"允":{"docs":{},"许":{"docs":{},"其":{"docs":{},"子":{"docs":{},"组":{"docs":{},"件":{"docs":{},"按":{"docs":{},"照":{"docs":{},"其":{"docs":{},"本":{"docs":{},"身":{"docs":{},"大":{"docs":{},"小":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"。":{"docs":{},"一":{"docs":{},"般":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"会":{"docs":{},"很":{"docs":{},"少":{"docs":{},"直":{"docs":{},"接":{"docs":{},"使":{"docs":{},"用":{"docs":{},"此":{"docs":{},"组":{"docs":{},"件":{"docs":{},",":{"docs":{},"但":{"docs":{},"在":{"docs":{},"\"":{"docs":{},"去":{"docs":{},"除":{"docs":{},"\"":{"docs":{},"多":{"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.00425531914893617}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}},"(":{"docs":{},"_":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}},"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.004026845637583893},"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}},"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.0032258064516129032}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},")":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}},"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.0017452006980802793}}}}}}}}}}}}}},"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.0017452006980802793}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{},"/":{"docs":{},"/":{"docs":{},"点":{"docs":{},"击":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}}}}},"b":{"docs":{},"a":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616}}}}}},"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.0049504950495049506},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}},"=":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},"]":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}},"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":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.018867924528301886}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"l":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},":":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.0125}}},"链":{"docs":{},"接":{"docs":{},"样":{"docs":{},"式":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}},",":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.006880733944954129},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.008547008547008548},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.0035294117647058825}}},"_":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.015625}}}}}}}}}}}},"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}},")":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}},"i":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},".":{"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"(":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},".":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}},"=":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{},"(":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}},"s":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0056022408963585435}},"b":{"docs":{},"调":{"docs":{},"试":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}},"e":{"docs":{},"r":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.009174311926605505},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.011363636363636364},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.007692307692307693}},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}},")":{"docs":{},"{":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}},";":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}},"a":{"docs":{},"g":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},".":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.003669724770642202}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.003669724770642202},"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.005504587155963303}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}},"r":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},")":{"docs":{},";":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}},"g":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101},"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.004705882352941176}},"(":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},".":{"docs":{},"u":{"docs":{},"s":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}},"{":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}},"实":{"docs":{},"例":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}},")":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}},";":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.007692307692307693}}}}}}},"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0026954177897574125},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}},"a":{"docs":{},"r":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.007142857142857143},"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.00749063670411985},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004651162790697674},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.01639344262295082},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.009900990099009901},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.02962962962962963},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.006172839506172839},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.00909090909090909},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.017094017094017096},"chapter11/socket.html":{"ref":"chapter11/socket.html","tf":0.02857142857142857},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.02018348623853211},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.007575757575757576},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.011627906976744186},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.0058823529411764705},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.0189873417721519}},"y":{"docs":{},":":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}},"l":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.01567398119122257}},"u":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001669449081803005},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.012658227848101266}},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.004056795131845842},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0026954177897574125},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.00881057268722467}}},":":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.039647577092511016},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00851063829787234}}}}}}}},":":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.02702702702702703},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.02643171806167401},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.004173622704507512},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0163265306122449}}},",":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.00881057268722467},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},":":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"表":{"docs":{},"示":{"docs":{},"当":{"docs":{},"前":{"docs":{},"的":{"docs":{},"进":{"docs":{},"度":{"docs":{},",":{"docs":{},"取":{"docs":{},"值":{"docs":{},"范":{"docs":{},"围":{"docs":{},"为":{"docs":{},"[":{"0":{"docs":{},",":{"1":{"docs":{},"]":{"docs":{},";":{"docs":{},"如":{"docs":{},"果":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"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":{},"糊":{"docs":{},"进":{"docs":{},"度":{"docs":{},")":{"docs":{},";":{"docs":{},"当":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"不":{"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":{},"。":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}},")":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.00333889816360601},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0035211267605633804},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}},";":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001669449081803005},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"(":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},".":{"docs":{},"i":{"docs":{},"d":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}},".":{"docs":{},"i":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}},"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.0013477088948787063}}},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0026954177897574125},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.007692307692307693}}}}}}}}}}},"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"内":{"docs":{},"存":{"docs":{},"回":{"docs":{},"收":{"docs":{},"和":{"docs":{},"吞":{"docs":{},"吐":{"docs":{},"量":{"docs":{},"都":{"docs":{},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"反":{"docs":{},"复":{"docs":{},"的":{"docs":{},"优":{"docs":{},"化":{"docs":{},",":{"docs":{},"但":{"docs":{},"具":{"docs":{},"体":{"docs":{},"的":{"docs":{},"性":{"docs":{},"能":{"docs":{},"对":{"docs":{},"比":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"b":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},"的":{"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":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}},"是":{"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":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"相":{"docs":{},"比":{"docs":{},",":{"docs":{},"f":{"docs":{},"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":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"运":{"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"如":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}},"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.004026845637583893}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}},"视":{"docs":{},"口":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.02631578947368421}}}}}}}}}},"r":{"docs":{},"t":{"docs":{},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616}}}}}}},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}},"会":{"docs":{},"判":{"docs":{},"断":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"到":{"docs":{},"的":{"docs":{},"父":{"docs":{},"级":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"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":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"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":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"看":{"docs":{},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"源":{"docs":{},"码":{"docs":{},":":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.006711409395973154},"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.003745318352059925}},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.019801980198019802},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010309278350515464},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0056179775280898875},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.009732360097323601},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.00303951367781155},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.019672131147540985},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.014675052410901468},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.016227180527383367},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.00881057268722467},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.006060606060606061},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.005376344086021506},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.012269938650306749},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0064516129032258064},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.02},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001669449081803005},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0034904013961605585},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.02962962962962963},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter10/intro.html":{"ref":"chapter10/intro.html","tf":0.04},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.016611295681063124},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.00909090909090909},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.004081632653061225},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.013953488372093023},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101},"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.009404388714733543},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.008264462809917356},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.01694915254237288},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.027881040892193308},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.009389671361502348},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.007575757575757576},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.007692307692307693}},"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.0026954177897574125},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.007434944237918215}}}}}}}}}}}}},"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.00625}}},":":{"docs":{},"应":{"docs":{},"用":{"docs":{},"或":{"docs":{},"包":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{},"号":{"docs":{},"。":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}}}}}}}}}}}},"/":{"1":{"0":{"docs":{},".":{"0":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}},"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}},"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.00823045267489712}},"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.00411522633744856},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}}}}}}},"u":{"docs":{},"p":{"docs":{},",":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856}}}}}},":":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856}}},":":{"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.00411522633744856}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684}}},":":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186}}}}}}}},"i":{"docs":{},"f":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.003669724770642202}}}}},"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.0017452006980802793}}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}},";":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}},")":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}},".":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"m":{"docs":{},"(":{"docs":{},")":{"docs":{},".":{"docs":{},"i":{"docs":{},"s":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.007692307692307693}}}}}}}}}}}}}}}}}}}}},"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.0035714285714285713}}}}}}}},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter11/":{"ref":"chapter11/","tf":0.08333333333333333}},"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":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}}}}}}}}}}}},"来":{"docs":{},"自":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"的":{"docs":{},"消":{"docs":{},"息":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}},"协":{"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":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"_":{"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":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}},"是":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.01171875}}}}}}},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"t":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}}}},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.014598540145985401},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.009302325581395349},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.009615384615384616},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.00303951367781155},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.020964360587002098},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.010141987829614604},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.004043126684636119},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.00881057268722467},"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":0.08},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.01775147928994083},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.010309278350515464},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.021052631578947368},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.006060606060606061},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.013605442176870748},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.016129032258064516},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.006134969325153374},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.024390243902439025},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.016129032258064516},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.012727272727272728},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005649717514124294},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.010582010582010581},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.004173622704507512},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.012216404886561954},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.008746355685131196},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.023195876288659795},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.031055900621118012},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.017543859649122806},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.01680672268907563},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.01440329218106996},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.014778325123152709},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.013289036544850499},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.00909090909090909},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.004081632653061225},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.024242424242424242},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587},"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.030303030303030304},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.01647058823529412},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.0189873417721519}},"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}},"构":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.001519756838905775},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0037174721189591076}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}},".":{"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.0018587360594795538}},"负":{"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.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":{},"f":{"docs":{},"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.0037174721189591076}},"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.0018587360594795538}}}}}}}}}}}},":":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"拥":{"docs":{},"有":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"状":{"docs":{},"态":{"docs":{},"在":{"docs":{},"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"在":{"docs":{},"第":{"docs":{},"三":{"docs":{},"章":{"docs":{},"”":{"docs":{},"w":{"docs":{},"i":{"docs":{},"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":{},"s":{"docs":{},"t":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"不":{"docs":{},"可":{"docs":{},"变":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}}}}}},"至":{"docs":{},"少":{"docs":{},"由":{"docs":{},"两":{"docs":{},"个":{"docs":{},"类":{"docs":{},"组":{"docs":{},"成":{"docs":{},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}}}}}}}}},")":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}},"。":{"docs":{},"关":{"docs":{},"于":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}}}}},"有":{"docs":{},"两":{"docs":{},"点":{"docs":{},"不":{"docs":{},"同":{"docs":{},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}}}}}},"用":{"docs":{},"于":{"docs":{},"显":{"docs":{},"示":{"docs":{},"列":{"docs":{},"表":{"docs":{},"和":{"docs":{},"长":{"docs":{},"布":{"docs":{},"局":{"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":{},"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":{},"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":{},"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":{},"的":{"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.02631578947368421}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"滑":{"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":{},"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":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001669449081803005},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602}}}}}}},"上":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}},"将":{"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.004807692307692308}}}}}}}}}}}}}}}}}}},"创":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}},"在":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"实":{"docs":{},"现":{"docs":{},"细":{"docs":{},"节":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}}}}},"生":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}},"源":{"docs":{},"码":{"docs":{},"已":{"docs":{},"经":{"docs":{},"没":{"docs":{},"必":{"docs":{},"要":{"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/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"则":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"它":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"k":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}},"实":{"docs":{},"现":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}},"简":{"docs":{},"介":{"docs":{"chapter3/":{"ref":"chapter3/","tf":0.1},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}},"(":{"docs":{},"{":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}},"、":{"docs":{},"用":{"docs":{},"于":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"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":{},"w":{"docs":{},"i":{"docs":{},"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"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":{},"如":{"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":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"的":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"与":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}}},"中":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"正":{"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":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"主":{"docs":{},"要":{"docs":{},"接":{"docs":{},"口":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}}}},"同":{"docs":{},"时":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"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":{},"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"库":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}},"相":{"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.0020964360587002098}}}}}}}}}}}},"类":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}},"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/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}},"v":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},",":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},",":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"?":{"docs":{},"?":{"2":{"0":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{},"s":{"docs":{},")":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}},",":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}},";":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}},"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.006060606060606061}}}}}}}}}}}}}},"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":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"(":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"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":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}}}}},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"_":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"_":{"docs":{},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}},"w":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"_":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"a":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}}}},"管":{"docs":{},"理":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}},"身":{"docs":{},"状":{"docs":{},"态":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}},"本":{"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.00390625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"docs":{},"一":{"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.002551020408163265}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"树":{"docs":{},"的":{"docs":{},"叶":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"没":{"docs":{},"有":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"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":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"。":{"docs":{"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":0.04}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"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":{},"级":{"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":{},"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":{},"关":{"docs":{},"于":{"docs":{},"通":{"docs":{},"知":{"docs":{},"冒":{"docs":{},"泡":{"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.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"对":{"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":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}},";":{"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.00411522633744856}}}}}}}}}}}}}}},"会":{"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":{},"(":{"0":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}},"来":{"docs":{},"构":{"docs":{},"建":{"docs":{},",":{"docs":{},"语":{"docs":{},"义":{"docs":{},"话":{"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":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"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":{},"看":{"docs":{},"到":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"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":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"指":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}},"重":{"docs":{},"新":{"docs":{},"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":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"资":{"docs":{},"源":{"docs":{},".":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}}},"层":{"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.0018587360594795538}}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},":":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.008113590263691683},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.04081632653061224},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0026954177897574125},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.00881057268722467},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.010309278350515464},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.01276595744680851},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.011299435028248588},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0034904013961605585},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010309278350515464},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.008403361344537815},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.007058823529411765}}},"、":{"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.002551020408163265}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.010309278350515464}}},":":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.015463917525773196},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.013605442176870748}}},"和":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"是":{"docs":{},"用":{"docs":{},"于":{"docs":{},"确":{"docs":{},"定":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}},"/":{"docs":{},"/":{"docs":{},"容":{"docs":{},"器":{"docs":{},"的":{"docs":{},"宽":{"docs":{},"度":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}}}}}}}}}},")":{"docs":{},",":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}},";":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}}},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}},">":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"?":{"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}},"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.0013477088948787063},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{"chapter7/":{"ref":"chapter7/","tf":0.1111111111111111}},"e":{"docs":{},"(":{"docs":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513}},"{":{"docs":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513}}}},"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.012195121951219513}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.024390243902439025}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0025041736227045075}},"e":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.00303951367781155}},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},".":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}},"l":{"docs":{},"d":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.024691358024691357}},"!":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}},"\"":{"docs":{},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.00749063670411985},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}},",":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{},",":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.026490066225165563}}}}}},"\"":{"docs":{},")":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.012903225806451613}},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.01935483870967742}}},"没":{"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":{},"本":{"docs":{},"组":{"docs":{},"件":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"i":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.013108614232209739}}},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.01171875},"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.008097165991902834}},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015625}}}}}}}}}},"”":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}},"d":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"r":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}},".":{"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.00625}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"n":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}},"l":{"docs":{},"k":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}},"(":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}},"{":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}}}},"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.0049504950495049506}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.009900990099009901}}}}}}}}}}}}}}}}}},"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.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"w":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"v":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}},"{":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.007142857142857143},"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.005369127516778523},"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0299625468164794},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0340632603406326},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.03488372093023256},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.0125},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.014423076923076924},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.00911854103343465},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.07540983606557378},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0440251572327044},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.056795131845841784},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.00510204081632653},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.06756756756756757},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.02021563342318059},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.022026431718061675},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00823045267489712},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.023668639053254437},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.009900990099009901},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.021052631578947368},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.026262626262626262},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.02040816326530612},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.028985507246376812},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.053763440860215055},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.020242914979757085},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.026845637583892617},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.05214723926380368},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.07317073170731707},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.06451612903225806},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.05818181818181818},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.022598870056497175},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.06878306878306878},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.05175292153589316},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.07155322862129145},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.05925925925925926},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0641399416909621},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.01485148514851485},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.06443298969072164},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.037267080745341616},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.05263157894736842},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.046218487394957986},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.03909465020576132},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.029556650246305417},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.06976744186046512},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.01818181818181818},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.031292517006802724},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.06779661016949153},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.02522935779816514},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0330188679245283},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.04843304843304843},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.05116279069767442},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.03486238532110092},"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.026041666666666668},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.04285714285714286},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.07210031347962383},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.07024793388429752},"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.04424778761061947},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.05322128851540616},"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.04242424242424243},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.06591337099811675},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.06319702602230483},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.057511737089201875},"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.020242914979757085},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.06439393939393939},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.06686046511627906},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.04352941176470588},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.06538461538461539},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.04430379746835443}},"}":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.008403361344537815},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.030120481927710843}}},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}},";":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}}}},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}},"\"":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.005698005698005698}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}},"'":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"'":{"docs":{},":":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}}}}}},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"}":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0056022408963585435}}}}}}}}}},".":{"docs":{},".":{"docs":{},".":{"docs":{},"}":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}}}}}},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}},"}":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.007142857142857143},"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.005369127516778523},"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.02247191011235955},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0364963503649635},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.030232558139534883},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.0125},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.014423076923076924},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.007598784194528876},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.03934426229508197},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0440251572327044},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.04462474645030426},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.007653061224489796},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.05405405405405406},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.01752021563342318},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.022026431718061675},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00823045267489712},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.023668639053254437},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.021052631578947368},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.020202020202020204},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.02040816326530612},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.028985507246376812},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.026881720430107527},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.008097165991902834},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.03987730061349693},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.06097560975609756},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.05806451612903226},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.05272727272727273},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.011299435028248588},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.05291005291005291},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.022537562604340568},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.03664921465968586},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.05185185185185185},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.052478134110787174},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.01485148514851485},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.05154639175257732},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.024844720496894408},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.03508771929824561},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.046218487394957986},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.026748971193415638},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.029556650246305417},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.05647840531561462},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.013636363636363636},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.02857142857142857},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.05084745762711865},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.020642201834862386},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.02830188679245283},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.022792022792022793},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.04186046511627907},"chapter11/socket.html":{"ref":"chapter11/socket.html","tf":0.02857142857142857},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.03302752293577982},"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.026041666666666668},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.03571428571428571},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.06896551724137931},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.06198347107438017},"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.04424778761061947},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.04481792717086835},"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.04242424242424243},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.05649717514124294},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.055762081784386616},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.04929577464788732},"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.020242914979757085},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.06439393939393939},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.040697674418604654},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.02823529411764706},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.05},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.03164556962025317}},")":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0056179775280898875},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004651162790697674},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006557377049180328},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.005390835579514825},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.00881057268722467},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.011834319526627219},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015625},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.010309278350515464},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.023255813953488372},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.006060606060606061},"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.02631578947368421},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.005376344086021506},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.012145748987854251},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.00967741935483871},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.005454545454545455},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005649717514124294},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.010582010582010581},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.004173622704507512},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.006172839506172839},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.006644518272425249},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.009416195856873822},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.004694835680751174},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}},",":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0056179775280898875},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.010752688172043012},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.005454545454545455},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}},".":{"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.00749063670411985}}}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0018726591760299626}},"{":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0056179775280898875}}}}}}}},"e":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}},"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.0018726591760299626}}}}}}}}}}}}}}}}},"o":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}}}}}}}}},"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.0018726591760299626}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.016853932584269662},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.01639344262295082},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0041928721174004195},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.012170385395537525},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.02702702702702703},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0026954177897574125},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00404040404040404},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.005376344086021506},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.009202453987730062},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.00333889816360601},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.015706806282722512},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0058309037900874635},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010309278350515464},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.006644518272425249},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.004081632653061225},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.01694915254237288},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.006880733944954129},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.009433962264150943},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.003669724770642202},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.008264462809917356},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.00929368029739777},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0035211267605633804},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}},")":{"docs":{},";":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602}}}},":":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}},"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.0020964360587002098}}}}}}}}}}}}}}}}}},":":{"docs":{},"可":{"docs":{},"以":{"docs":{},"设":{"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.010526315789473684}}}}}}}}}}}}}}}}}}}}}}}}}}}},"用":{"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.010526315789473684}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.003745318352059925},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.013953488372093023},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.01639344262295082},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.006738544474393531},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.005376344086021506},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.005454545454545455},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.010582010582010581},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.02671118530884808},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.02617801047120419},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.01749271137026239},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005154639175257732},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.0102880658436214},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.006644518272425249},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.009302325581395349},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.003669724770642202},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0056022408963585435},"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.005813953488372093},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.015294117647058824},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.007692307692307693},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.012658227848101266}},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}}}},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.00749063670411985},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006557377049180328},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.006880733944954129},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.014150943396226415},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.005813953488372093}}},"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.003278688524590164}}}}}}},"e":{"docs":{},"l":{"docs":{},"s":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.009174311926605505}},"e":{"docs":{},"{":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}},"]":{"docs":{},";":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.008264462809917356}}}}},"✔":{"docs":{},"️":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.007142857142857143}}}},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.007142857142857143},"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.005369127516778523},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.0125},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.00303951367781155},"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":0.04},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333},"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}},"详":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}},"有":{"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.004807692307692308}}}}}}}}}}}}}}}}},"在":{"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":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"果":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"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.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"x":{"docs":{},"、":{"docs":{},"y":{"docs":{},"的":{"docs":{},"值":{"docs":{},"从":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}},"默":{"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.002688172043010753}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"也":{"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.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"该":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},"类":{"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":{},"该":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"要":{"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"般":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}},"格":{"docs":{},"式":{"docs":{},"为":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"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.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"个":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003},"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}},"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.0024330900243309003}}},"会":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"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":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"组":{"docs":{},"件":{"docs":{},"使":{"docs":{},"用":{"docs":{},",":{"docs":{},"那":{"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.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"简":{"docs":{},"单":{"docs":{},"示":{"docs":{},"例":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}},"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":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"提":{"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":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"中":{"docs":{},"通":{"docs":{},"过":{"docs":{},"n":{"docs":{},"p":{"docs":{},"m":{"docs":{},"等":{"docs":{},"。":{"docs":{},"而":{"docs":{},"在":{"docs":{},"f":{"docs":{},"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":{},"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.00625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"包":{"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.00390625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"完":{"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":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"主":{"docs":{},"题":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"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":{},"起":{"docs":{},"见":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"只":{"docs":{},"配":{"docs":{},"置":{"docs":{},"主":{"docs":{},"题":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"提":{"docs":{},"供":{"docs":{},"几":{"docs":{},"种":{"docs":{},"默":{"docs":{},"认":{"docs":{},"预":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},"主":{"docs":{},"题":{"docs":{},"色":{"docs":{},"供":{"docs":{},"用":{"docs":{},"户":{"docs":{},"选":{"docs":{},"择":{"docs":{},",":{"docs":{},"用":{"docs":{},"户":{"docs":{},"点":{"docs":{},"击":{"docs":{},"一":{"docs":{},"种":{"docs":{},"色":{"docs":{},"块":{"docs":{},"后":{"docs":{},"则":{"docs":{},"更":{"docs":{},"新":{"docs":{},"主":{"docs":{},"题":{"docs":{},"。":{"docs":{},"主":{"docs":{},"题":{"docs":{},"选":{"docs":{},"择":{"docs":{},"页":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"导":{"docs":{},"航":{"docs":{},"栏":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}},"骨":{"docs":{},"架":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}},"通":{"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":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"建":{"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}},"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"像":{"docs":{},"素":{"docs":{},"点":{"docs":{},"能":{"docs":{},"发":{"docs":{},"出":{"docs":{},"的":{"docs":{},"所":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"象":{"docs":{},"是":{"docs":{},"否":{"docs":{},"可":{"docs":{},"以":{"docs":{},"响":{"docs":{},"应":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"取":{"docs":{},"决":{"docs":{},"于":{"docs":{},"其":{"docs":{},"对":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"图":{"docs":{},"胜":{"docs":{},"万":{"docs":{},"言":{"docs":{},"!":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}}}},"章":{"docs":{},"。":{"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":{},"对":{"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":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"次":{"docs":{},"完":{"docs":{},"整":{"docs":{},"的":{"docs":{},"手":{"docs":{},"势":{"docs":{},"过":{"docs":{},"程":{"docs":{},"是":{"docs":{},"指":{"docs":{},"用":{"docs":{},"户":{"docs":{},"手":{"docs":{},"指":{"docs":{},"按":{"docs":{},"下":{"docs":{},"到":{"docs":{},"抬":{"docs":{},"起":{"docs":{},"的":{"docs":{},"整":{"docs":{},"个":{"docs":{},"过":{"docs":{},"程":{"docs":{},",":{"docs":{},"期":{"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":{},"组":{"docs":{},"件":{"docs":{},"的":{"docs":{},"原":{"docs":{},"点":{"docs":{},"(":{"docs":{},"左":{"docs":{},"上":{"docs":{},"角":{"docs":{},")":{"docs":{},"作":{"docs":{},"为":{"docs":{},"本":{"docs":{},"次":{"docs":{},"手":{"docs":{},"势":{"docs":{},"的":{"docs":{},"原":{"docs":{},"点":{"docs":{},",":{"docs":{},"当":{"docs":{},"用":{"docs":{},"户":{"docs":{},"在":{"docs":{},"监":{"docs":{},"听":{"docs":{},"的":{"docs":{},"组":{"docs":{},"件":{"docs":{},"上":{"docs":{},"按":{"docs":{},"下":{"docs":{},"手":{"docs":{},"指":{"docs":{},"时":{"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.0017452006980802793}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"性":{"docs":{},"生":{"docs":{},"成":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}},"绘":{"docs":{},"制":{"docs":{},"过":{"docs":{},"程":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}},"旦":{"docs":{},"你":{"docs":{},"的":{"docs":{},"f":{"docs":{},"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":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"包":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"上":{"docs":{},"发":{"docs":{},"布":{"docs":{},"它":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}},"定":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"些":{"docs":{},"工":{"docs":{},"具":{"docs":{},"类":{"docs":{},",":{"docs":{},"如":{"docs":{},"通":{"docs":{},"用":{"docs":{},"方":{"docs":{},"法":{"docs":{},"类":{"docs":{},"、":{"docs":{},"网":{"docs":{},"络":{"docs":{},"接":{"docs":{},"口":{"docs":{},"类":{"docs":{},"、":{"docs":{},"保":{"docs":{},"存":{"docs":{},"全":{"docs":{},"局":{"docs":{},"变":{"docs":{},"量":{"docs":{},"的":{"docs":{},"静":{"docs":{},"态":{"docs":{},"类":{"docs":{},"等":{"docs":{"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.015151515151515152}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"上":{"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.0035714285714285713}}}}}}}}}}},"所":{"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.00625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"表":{"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":{},"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"面":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{},"注":{"docs":{},"释":{"docs":{},"比":{"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":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"设":{"docs":{},"置":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"为":{"0":{"docs":{},".":{"5":{"docs":{},"后":{"docs":{},",":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"实":{"docs":{},"际":{"docs":{},"宽":{"docs":{},"度":{"docs":{},"等":{"docs":{},"于":{"6":{"0":{"docs":{},"×":{"0":{"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":{},"好":{"docs":{},"世":{"docs":{},"界":{"docs":{},"”":{"docs":{},"会":{"docs":{},"和":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"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":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"将":{"docs":{},"溢":{"docs":{},"出":{"docs":{},"部":{"docs":{},"分":{"docs":{},"剪":{"docs":{},"裁":{"docs":{},"掉":{"docs":{},"了":{"docs":{},"。":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"依":{"docs":{},"次":{"docs":{},"会":{"docs":{},"输":{"docs":{},"出":{"docs":{},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}},"在":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"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.0020964360587002098}}}}}}}}}}}}}}}}}},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"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":{},"然":{"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":{},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"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":{},"变":{"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":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"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":{},"t":{"docs":{},"e":{"docs":{},"s":{"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":{},"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":{},"为":{"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":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"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.002577319587628866}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"还":{"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/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}},"运":{"docs":{},"行":{"docs":{},"后":{"docs":{},"复":{"docs":{},"选":{"docs":{},"框":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"正":{"docs":{},"常":{"docs":{},"选":{"docs":{},"中":{"docs":{},"。":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"只":{"docs":{},"用":{"docs":{},"了":{"docs":{},"一":{"docs":{},"行":{"docs":{},"代":{"docs":{},"码":{"docs":{},"便":{"docs":{},"解":{"docs":{},"决":{"docs":{},"了":{"docs":{},"这":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},"!":{"docs":{},"当":{"docs":{},"然":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"并":{"docs":{},"不":{"docs":{},"是":{"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":{},"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":{},"u":{"docs":{},"i":{"docs":{},"组":{"docs":{},"件":{"docs":{},"全":{"docs":{},"部":{"docs":{},"r":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"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":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"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":{},"码":{"docs":{},"为":{"docs":{},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"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":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"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":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},")":{"docs":{},",":{"docs":{},"而":{"docs":{},"对":{"docs":{},"旧":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"执":{"docs":{},"行":{"docs":{},"反":{"docs":{},"向":{"docs":{},"动":{"docs":{},"画":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"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":{},"但":{"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":{},"没":{"docs":{},"有":{"docs":{},"特":{"docs":{},"殊":{"docs":{},"处":{"docs":{},"理":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"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/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"资":{"docs":{},"源":{"docs":{},"都":{"docs":{},"是":{"docs":{},"f":{"docs":{},"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"虽":{"docs":{},"然":{"docs":{},"能":{"docs":{},"解":{"docs":{},"决":{"docs":{},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{},"状":{"docs":{},"态":{"docs":{},"更":{"docs":{},"新":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"明":{"docs":{},"显":{"docs":{},"的":{"docs":{},"缺":{"docs":{},"点":{"docs":{},"—":{"docs":{},"—":{"docs":{},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{},"上":{"docs":{},"所":{"docs":{},"有":{"docs":{},"需":{"docs":{},"要":{"docs":{},"会":{"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":{},"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":{},"找":{"docs":{},"到":{"docs":{},"一":{"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":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"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":{},"就":{"docs":{},"会":{"docs":{},"重":{"docs":{},"新":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"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":{},"们":{"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":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.002577319587628866}}}}}}}}}}}}}}}}}},"例":{"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.002577319587628866}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"手":{"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":{},"如":{"docs":{},"果":{"docs":{},"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.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":{},"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":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"示":{"docs":{},"例":{"docs":{},"我":{"docs":{},"们":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"”":{"docs":{},"左":{"docs":{},"出":{"docs":{},"右":{"docs":{},"入":{"docs":{},"“":{"docs":{},"的":{"docs":{},"动":{"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/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"介":{"docs":{},"绍":{"docs":{},"的":{"docs":{},"是":{"docs":{},"非":{"docs":{},"命":{"docs":{},"名":{"docs":{},"路":{"docs":{},"由":{"docs":{},"的":{"docs":{},"传":{"docs":{},"值":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"命":{"docs":{},"名":{"docs":{},"路":{"docs":{},"由":{"docs":{},"的":{"docs":{},"传":{"docs":{},"值":{"docs":{},"方":{"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.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"些":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"方":{"docs":{},"式":{"docs":{},"是":{"docs":{},"f":{"docs":{},"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":{},"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.00625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"假":{"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.00625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"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.001519756838905775}}}}}}}}}}}}}}}}},"代":{"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.00390625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"首":{"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.00390625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"由":{"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":{},"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.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"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":{},"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":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"g":{"docs":{},"m":{"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":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"来":{"docs":{},"获":{"docs":{},"得":{"docs":{},",":{"docs":{},"g":{"docs":{},"m":{"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":{},"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":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"语":{"docs":{},"言":{"docs":{},"改":{"docs":{},"变":{"docs":{},"时":{"docs":{},",":{"docs":{},"凡":{"docs":{},"是":{"docs":{},"使":{"docs":{},"用":{"docs":{},"g":{"docs":{},"m":{"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":{},"化":{"docs":{},"“":{"docs":{},"一":{"docs":{},"章":{"docs":{},"中":{"docs":{},"已":{"docs":{},"经":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"过":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"前":{"docs":{},"翻":{"docs":{},"查":{"docs":{},"阅":{"docs":{},"。":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"用":{"docs":{},"到":{"docs":{},"了":{"docs":{},"如":{"docs":{},"下":{"docs":{},"组":{"docs":{},"件":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}}},"在":{"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":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"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":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"枚":{"docs":{},"举":{"docs":{},"类":{"docs":{},",":{"docs":{},"定":{"docs":{},"义":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.002577319587628866}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}},"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":{},"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"运":{"docs":{},"行":{"docs":{},"后":{"docs":{},",":{"docs":{},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"图":{"5":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}}},"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":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"样":{"docs":{},"的":{"docs":{},"效":{"docs":{},"果":{"docs":{},"。":{"docs":{},"现":{"docs":{},"在":{"docs":{},"我":{"docs":{},"们":{"docs":{},"总":{"docs":{},"结":{"docs":{},"一":{"docs":{},"下":{"docs":{},":":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"、":{"docs":{},"s":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"以":{"docs":{},"及":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"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":{},"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":{},"了":{"docs":{},"易":{"docs":{},"用":{"docs":{},"性":{"docs":{},",":{"docs":{},"又":{"docs":{},"有":{"docs":{},"很":{"docs":{},"强":{"docs":{},"的":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"性":{"docs":{},"。":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"便":{"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.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}}},"首":{"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.00202020202020202}}}}}}}}}}}}}}}}}}},"执":{"docs":{},"行":{"docs":{},"后":{"docs":{},"截":{"docs":{},"取":{"docs":{},"了":{"docs":{},"其":{"docs":{},"中":{"docs":{},"的":{"docs":{},"两":{"docs":{},"帧":{"docs":{},",":{"docs":{},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"图":{"9":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866}}},"docs":{}}}}}}}}}}}}}}}}},"比":{"docs":{},"较":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"不":{"docs":{},"再":{"docs":{},"赘":{"docs":{},"述":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"说":{"docs":{},"明":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"本":{"docs":{},"示":{"docs":{},"例":{"docs":{},"只":{"docs":{},"是":{"docs":{},"为":{"docs":{},"了":{"docs":{},"演":{"docs":{},"示":{"docs":{},"文":{"docs":{},"件":{"docs":{},"读":{"docs":{},"写":{"docs":{},",":{"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":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"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":{},"i":{"docs":{},"n":{"docs":{},"g":{"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":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"流":{"docs":{},"程":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}},"有":{"docs":{},"两":{"docs":{},"点":{"docs":{},"需":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},":":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}},"注":{"docs":{},"释":{"docs":{},"很":{"docs":{},"清":{"docs":{},"楚":{"docs":{},":":{"docs":{},"如":{"docs":{},"果":{"docs":{},"用":{"docs":{},"户":{"docs":{},"未":{"docs":{},"登":{"docs":{},"录":{"docs":{},",":{"docs":{},"显":{"docs":{},"示":{"docs":{},"登":{"docs":{},"录":{"docs":{},"按":{"docs":{},"钮":{"docs":{},";":{"docs":{},"如":{"docs":{},"果":{"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":{},"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":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"逻":{"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":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"u":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"(":{"docs":{},"…":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"它":{"docs":{},"和":{"docs":{},"在":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"u":{"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":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"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":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"。":{"docs":{},"当":{"docs":{},"然":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"_":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"u":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"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":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"u":{"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":{},"图":{"1":{"5":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}},"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":{},"图":{"5":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}}},"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":{},"w":{"docs":{},"i":{"docs":{},"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.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"参":{"docs":{},"数":{"docs":{},"分":{"docs":{},"为":{"docs":{},"两":{"docs":{},"组":{"docs":{},":":{"docs":{},"第":{"docs":{},"一":{"docs":{},"组":{"docs":{},"是":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"组":{"docs":{},"件":{"docs":{},"的":{"docs":{},"公":{"docs":{},"共":{"docs":{},"参":{"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":{},"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.002688172043010753}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"只":{"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":{},"以":{"docs":{},"查":{"docs":{},"看":{"docs":{},"s":{"docs":{},"d":{"docs":{},"k":{"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":{},"指":{"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.002824858757062147}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"表":{"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":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"而":{"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":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"查":{"docs":{},"看":{"docs":{},"类":{"docs":{},"定":{"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/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"说":{"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.002577319587628866}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"主":{"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":{},"主":{"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":{},"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":{},"f":{"docs":{},"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":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"手":{"docs":{},"安":{"docs":{},"卓":{"docs":{},"最":{"docs":{},"常":{"docs":{},"遇":{"docs":{},"见":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},"之":{"docs":{},"一":{"docs":{},",":{"docs":{},"错":{"docs":{},"误":{"docs":{},"如":{"docs":{},"图":{"1":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},"docs":{}}}}}}}}}}}}}}}}}},"述":{"docs":{},"命":{"docs":{},"令":{"docs":{},"创":{"docs":{},"建":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.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":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}}}},"当":{"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":{},"组":{"docs":{},"件":{"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":{},"组":{"docs":{},"件":{"docs":{},"没":{"docs":{},"有":{"docs":{},"接":{"docs":{},"收":{"docs":{},"到":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"而":{"docs":{},"只":{"docs":{},"有":{"docs":{},"底":{"docs":{},"部":{"docs":{},"接":{"docs":{},"收":{"docs":{},"到":{"docs":{},"了":{"docs":{},"。":{"docs":{},"当":{"docs":{},"放":{"docs":{},"开":{"docs":{},"注":{"docs":{},"释":{"docs":{},"后":{"docs":{},",":{"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.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"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":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"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.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"列":{"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":{},"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":{},"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":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"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":{},"如":{"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":{},"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":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"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":{},"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":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"图":{"docs":{},"中":{"docs":{},"“":{"0":{"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":{},"式":{"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":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}},"1":{"docs":{},"”":{"docs":{},"从":{"docs":{},"底":{"docs":{},"部":{"docs":{},"滑":{"docs":{},"出":{"docs":{},",":{"docs":{},"而":{"docs":{},"\"":{"2":{"docs":{},"\"":{"docs":{},"从":{"docs":{},"顶":{"docs":{},"部":{"docs":{},"滑":{"docs":{},"入":{"docs":{},"。":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"尝":{"docs":{},"试":{"docs":{},"给":{"docs":{},"s":{"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":{},"x":{"docs":{},"的":{"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":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"“":{"0":{"docs":{},"”":{"docs":{},"正":{"docs":{},"在":{"docs":{},"逐":{"docs":{},"渐":{"docs":{},"缩":{"docs":{},"小":{"docs":{},",":{"docs":{},"而":{"docs":{},"“":{"1":{"docs":{},"”":{"docs":{},"正":{"docs":{},"在":{"docs":{},"“":{"0":{"docs":{},"”":{"docs":{},"的":{"docs":{},"中":{"docs":{},"间":{"docs":{},",":{"docs":{},"正":{"docs":{},"在":{"docs":{},"逐":{"docs":{},"渐":{"docs":{},"放":{"docs":{},"大":{"docs":{},"。":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}},"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":{},"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"介":{"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.002325581395348837}}}}}}}}}}}}}}}}}},"常":{"docs":{},"用":{"docs":{},"的":{"docs":{},"组":{"docs":{},"件":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}}}}}}}}}},"来":{"docs":{},"看":{"docs":{},"看":{"docs":{},"各":{"docs":{},"个":{"docs":{},"回":{"docs":{},"调":{"docs":{},"函":{"docs":{},"数":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}}}}}}}}},"分":{"docs":{},"别":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"它":{"docs":{},"们":{"docs":{},"。":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}}}},"测":{"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":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"看":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}},"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"类":{"docs":{},"定":{"docs":{},"义":{"docs":{},":":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},":":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}},"奇":{"docs":{},"数":{"docs":{},"行":{"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.002688172043010753}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"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.004201680672268907}}}}}}}}}}}}}}}}}},"弹":{"docs":{},"出":{"docs":{},"一":{"docs":{},"个":{"docs":{},"有":{"3":{"0":{"docs":{},"个":{"docs":{},"列":{"docs":{},"表":{"docs":{},"项":{"docs":{},"的":{"docs":{},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{},"示":{"docs":{},"例":{"docs":{},",":{"docs":{},"运":{"docs":{},"行":{"docs":{},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"图":{"7":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}},"docs":{}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}},"完":{"docs":{},"整":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},":":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}},"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":{},"颜":{"docs":{},"色":{"docs":{},"值":{"docs":{},"之":{"docs":{},"间":{"docs":{},"过":{"docs":{},"渡":{"docs":{},"输":{"docs":{},"出":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},":":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"列":{"docs":{},"子":{"docs":{},":":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"计":{"docs":{},"数":{"docs":{},"器":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"再":{"docs":{},"每":{"docs":{},"一":{"docs":{},"次":{"docs":{},"自":{"docs":{},"增":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},",":{"docs":{},"旧":{"docs":{},"数":{"docs":{},"字":{"docs":{},"执":{"docs":{},"行":{"docs":{},"缩":{"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/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"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":{},"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.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"完":{"docs":{},"整":{"docs":{},"实":{"docs":{},"现":{"docs":{},":":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}},"通":{"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":{},"图":{"5":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}},"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":{},"图":{"1":{"0":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}},"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":{},"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":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"主":{"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":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"组":{"docs":{},"件":{"docs":{},",":{"docs":{},"它":{"docs":{},"的":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},"定":{"docs":{},"义":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"演":{"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.002577319587628866}}}}}}}}}}}}}}}}},"测":{"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":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},"的":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}}}}}}}},"在":{"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":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}},"将":{"docs":{},"带":{"docs":{},"领":{"docs":{},"读":{"docs":{},"者":{"docs":{},"一":{"docs":{},"步":{"docs":{},"步":{"docs":{},"来":{"docs":{},"开":{"docs":{},"发":{"docs":{},"一":{"docs":{},"个":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}},"代":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"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.0018726591760299626}}}}}}}}}}}}}}}}}},"将":{"docs":{},"大":{"docs":{},"写":{"docs":{},"字":{"docs":{},"母":{"docs":{},"a":{"docs":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406}}}}}}}},"监":{"docs":{},"听":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"组":{"docs":{},"件":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"通":{"docs":{},"知":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},":":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}}}}}}},"用":{"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.0018726591760299626}}}}}}}}}}}}}}}}}},"打":{"docs":{},"开":{"docs":{},"新":{"docs":{},"路":{"docs":{},"由":{"docs":{},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},":":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}}}}}}}}},"拦":{"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.003278688524590164}}}}}}}}}}}}}}}}}}}}}}}},"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.0049504950495049506}}}}}}}}}},"弹":{"docs":{},"出":{"docs":{},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}},"整":{"docs":{},"体":{"docs":{},"的":{"docs":{},"流":{"docs":{},"程":{"docs":{},":":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}},"缓":{"docs":{},"存":{"docs":{},"处":{"docs":{},"理":{"docs":{},"的":{"docs":{},"逻":{"docs":{},"辑":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}},",":{"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.00625}}}}}}}}}}}}}}}},"监":{"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.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"图":{"3":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}},"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":{},"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/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"示":{"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":{},"用":{"docs":{},"法":{"docs":{},",":{"docs":{},"比":{"docs":{},"较":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"源":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"代":{"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"看":{"docs":{},"一":{"docs":{},"个":{"docs":{},"示":{"docs":{},"例":{"docs":{},"子":{"docs":{},":":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}}}}}},"例":{"docs":{},"子":{"docs":{},":":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}}}}}}}},"调":{"docs":{},"整":{"docs":{},"的":{"docs":{},"角":{"docs":{},"度":{"docs":{},"的":{"docs":{},"计":{"docs":{},"算":{"docs":{},"公":{"docs":{},"式":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"数":{"docs":{},"学":{"docs":{},"几":{"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/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"测":{"docs":{},"试":{"docs":{},"一":{"docs":{},"下":{"docs":{},"m":{"docs":{},"y":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}},"载":{"docs":{},"并":{"docs":{},"安":{"docs":{},"装":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}},"包":{"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.00625}}}}}}}}}}}},"文":{"docs":{},"件":{"docs":{},":":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}},"图":{"docs":{},"片":{"docs":{},"。":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}},"逻":{"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":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"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":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"命":{"docs":{},"名":{"docs":{},"参":{"docs":{},"数":{"docs":{},"来":{"docs":{},"传":{"docs":{},"递":{"docs":{},"。":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"选":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"过":{"docs":{},"一":{"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.00625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"滑":{"docs":{},"线":{"docs":{},"浅":{"docs":{},"灰":{"docs":{},"色":{"docs":{},",":{"docs":{},"宽":{"docs":{},"度":{"1":{"docs":{},"像":{"docs":{},"素":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}},"docs":{}}}}}}}}},"一":{"docs":{},"节":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"使":{"docs":{},"用":{"docs":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"分":{"docs":{},"块":{"docs":{},"下":{"docs":{},"载":{"docs":{},"器":{"docs":{},"。":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"同":{"docs":{},",":{"docs":{},"在":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}},"的":{"docs":{},"是":{"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.0018726591760299626}}}}}}}}}},",":{"docs":{},"它":{"docs":{},"常":{"docs":{},"用":{"docs":{},"于":{"docs":{},"会":{"docs":{},"多":{"docs":{},"次":{"docs":{},"读":{"docs":{},"取":{"docs":{},"数":{"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":{},"于":{"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":{},"u":{"docs":{},"i":{"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":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},":":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"动":{"docs":{},"组":{"docs":{},"件":{"docs":{},"保":{"docs":{},"存":{"docs":{},"其":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{},"。":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"足":{"docs":{},":":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.007142857142857143}}}},"要":{"docs":{},"按":{"docs":{},"“":{"docs":{},"停":{"docs":{},"止":{"docs":{},"”":{"docs":{},"按":{"docs":{},"钮":{"docs":{},";":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616}}}}}}}}}}},"过":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}},"能":{"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":{},"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.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"用":{"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.002577319587628866}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"很":{"docs":{},"好":{"docs":{},",":{"docs":{},"只":{"docs":{},"有":{"0":{"docs":{},".":{"1":{"docs":{},".":{"1":{"docs":{},"版":{"docs":{},"本":{"docs":{},".":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}},"业":{"docs":{},"务":{"docs":{},"需":{"docs":{},"求":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.007142857142857143}},",":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},",":{"docs":{},"勾":{"docs":{},"选":{"docs":{},"上":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}},"有":{"docs":{},"个":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"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":{},"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"它":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"包":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"没":{"docs":{},"有":{"docs":{},"提":{"docs":{},"供":{"docs":{},"去":{"docs":{},"除":{"docs":{},"背":{"docs":{},"景":{"docs":{},"的":{"docs":{},"设":{"docs":{},"置":{"docs":{},",":{"docs":{},"假":{"docs":{},"若":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"去":{"docs":{},"除":{"docs":{},"背":{"docs":{},"景":{"docs":{},",":{"docs":{},"则":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"将":{"docs":{},"背":{"docs":{},"景":{"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.006024096385542169}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"间":{"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":{},"组":{"docs":{},"件":{"docs":{},"。":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}}}}},"docs":{}},"docs":{}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"文":{"docs":{},"简":{"docs":{},"体":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.013888888888888888},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}},"就":{"docs":{},"确":{"docs":{},"定":{"docs":{},"了":{"docs":{},",":{"docs":{},"在":{"docs":{},"后":{"docs":{},"面":{"docs":{},"的":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}}}}},"关":{"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.0018587360594795538}}}}}}}}}}}},"主":{"docs":{},"要":{"docs":{},"缺":{"docs":{},"点":{"docs":{},":":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}},"资":{"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.004807692307692308}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}}}}}}},"轴":{"docs":{},"和":{"docs":{},"纵":{"docs":{},"轴":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856},"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.02631578947368421}}}}},"(":{"docs":{},"水":{"docs":{},"平":{"docs":{},")":{"docs":{},"方":{"docs":{},"向":{"docs":{},"间":{"docs":{},"距":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}}}}}}}}}}},"题":{"docs":{"chapter7/":{"ref":"chapter7/","tf":0.1111111111111111}},"改":{"docs":{},"变":{"docs":{},"后":{"docs":{},",":{"docs":{},"通":{"docs":{},"知":{"docs":{},"其":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"项":{"docs":{},",":{"docs":{},"新":{"docs":{},"主":{"docs":{},"题":{"docs":{},"会":{"docs":{},"立":{"docs":{},"即":{"docs":{},"生":{"docs":{},"效":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}},"状":{"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":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"选":{"docs":{},"择":{"docs":{},"页":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}}}},"页":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}},"也":{"docs":{},"许":{"docs":{},"你":{"docs":{},"已":{"docs":{},"经":{"docs":{},"猜":{"docs":{},"到":{"docs":{},"f":{"docs":{},"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"会":{"docs":{},"说":{"docs":{},"这":{"docs":{},"和":{"docs":{},"我":{"docs":{},"们":{"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.002577319587628866}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},",":{"docs":{},"在":{"docs":{},"执":{"docs":{},"行":{"docs":{},"异":{"docs":{},"步":{"docs":{},"任":{"docs":{},"务":{"docs":{},"时":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"多":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"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.004807692307692308}}}}}},"docs":{}},"docs":{}},"docs":{}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}}}}}}}}}},"docs":{}},"docs":{}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}},"该":{"docs":{},"文":{"docs":{},"件":{"docs":{},"大":{"docs":{},"概":{"2":{"3":{"3":{"docs":{},"m":{"docs":{},"多":{"docs":{},"一":{"docs":{},"点":{"docs":{},"。":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}},"不":{"docs":{},"用":{"docs":{},"重":{"docs":{},"新":{"docs":{},"布":{"docs":{},"局":{"docs":{},"了":{"docs":{},"。":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}}}}},"是":{"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.0018726591760299626},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}}}}}}}}}}},"可":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"做":{"docs":{},"更":{"docs":{},"改":{"docs":{},")":{"docs":{},",":{"docs":{},"换":{"docs":{},"了":{"docs":{},"之":{"docs":{},"后":{"docs":{},"的":{"docs":{},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"图":{"3":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}},"docs":{}}}}}}}}}}}}}}}},"需":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}},"但":{"docs":{},"近":{"docs":{},"几":{"docs":{},"年":{"docs":{},",":{"docs":{},"随":{"docs":{},"着":{"docs":{},"物":{"docs":{},"联":{"docs":{},"网":{"docs":{},"时":{"docs":{},"代":{"docs":{},"到":{"docs":{},"来":{"docs":{},"、":{"docs":{},"移":{"docs":{},"动":{"docs":{},"互":{"docs":{},"联":{"docs":{},"网":{"docs":{},"高":{"docs":{},"歌":{"docs":{},"猛":{"docs":{},"进":{"docs":{},",":{"docs":{},"日":{"docs":{},"新":{"docs":{},"月":{"docs":{},"异":{"docs":{},",":{"docs":{},"在":{"docs":{},"很":{"docs":{},"多":{"docs":{},"业":{"docs":{},"务":{"docs":{},"场":{"docs":{},"景":{"docs":{},"中":{"docs":{},",":{"docs":{},"传":{"docs":{},"统":{"docs":{},"的":{"docs":{},"纯":{"docs":{},"原":{"docs":{},"生":{"docs":{},"开":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"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.004807692307692308}}}}}}}}}}}}}}}},"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":{},"大":{"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":{},"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":{},"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":{},"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":{},"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.00425531914893617}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"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":{},"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":{},"e":{"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":{},"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":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"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":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"便":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"跨":{"docs":{},"平":{"docs":{},"台":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}}}}},"只":{"docs":{},"会":{"docs":{},"接":{"docs":{},"收":{"docs":{},"该":{"docs":{},"参":{"docs":{},"数":{"docs":{},"类":{"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.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"值":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}}}}}}},"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"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":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"否":{"docs":{},"唯":{"docs":{},"一":{"docs":{},",":{"docs":{},"如":{"docs":{},"图":{"1":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},"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":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"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":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},"了":{"docs":{},"的":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"。":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"内":{"docs":{},"容":{"docs":{},"固":{"docs":{},"定":{"docs":{},",":{"docs":{},"动":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"文":{"docs":{},"本":{"docs":{},"样":{"docs":{},"式":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}},"动":{"docs":{},"态":{"docs":{},"化":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}},"内":{"docs":{},"容":{"docs":{},"需":{"docs":{},"求":{"docs":{},"增":{"docs":{},"大":{"docs":{},";":{"docs":{},"当":{"docs":{},"需":{"docs":{},"求":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},"时":{"docs":{},",":{"docs":{},"纯":{"docs":{},"原":{"docs":{},"生":{"docs":{},"应":{"docs":{},"用":{"docs":{},"需":{"docs":{},"要":{"docs":{},"通":{"docs":{},"过":{"docs":{},"版":{"docs":{},"本":{"docs":{},"升":{"docs":{},"级":{"docs":{},"来":{"docs":{},"更":{"docs":{},"新":{"docs":{},"内":{"docs":{},"容":{"docs":{},",":{"docs":{},"但":{"docs":{},"应":{"docs":{},"用":{"docs":{},"上":{"docs":{},"架":{"docs":{},"、":{"docs":{},"审":{"docs":{},"核":{"docs":{},"是":{"docs":{},"需":{"docs":{},"要":{"docs":{},"周":{"docs":{},"期":{"docs":{},"的":{"docs":{},",":{"docs":{},"这":{"docs":{},"对":{"docs":{},"高":{"docs":{},"速":{"docs":{},"变":{"docs":{},"化":{"docs":{},"的":{"docs":{},"互":{"docs":{},"联":{"docs":{},"网":{"docs":{},"时":{"docs":{},"代":{"docs":{},"来":{"docs":{},"说":{"docs":{},"是":{"docs":{},"很":{"docs":{},"难":{"docs":{},"接":{"docs":{},"受":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},",":{"docs":{},"对":{"docs":{},"应":{"docs":{},"用":{"docs":{},"动":{"docs":{},"态":{"docs":{},"化":{"docs":{},"(":{"docs":{},"不":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"较":{"docs":{},"好":{"docs":{},",":{"docs":{},"支":{"docs":{},"持":{"docs":{},"热":{"docs":{},"更":{"docs":{},"新":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}}}}}}}},"性":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"画":{"docs":{},"结":{"docs":{},"构":{"docs":{"chapter9/":{"ref":"chapter9/","tf":0.09090909090909091}}}},"过":{"docs":{},"程":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}},"可":{"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":{},"我":{"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":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"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.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"知":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}},"在":{"docs":{},"终":{"docs":{},"点":{"docs":{},"停":{"docs":{},"止":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866}}}}}},"起":{"docs":{},"始":{"docs":{},"点":{"docs":{},"停":{"docs":{},"止":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866}}}}}}}},"基":{"docs":{},"本":{"docs":{},"结":{"docs":{},"构":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866}},"及":{"docs":{},"状":{"docs":{},"态":{"docs":{},"监":{"docs":{},"听":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866}}}}}}}}}}},"构":{"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":{},"组":{"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":{},"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":{},"身":{"docs":{},"的":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"重":{"docs":{},"新":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"避":{"docs":{},"免":{"docs":{},"不":{"docs":{},"必":{"docs":{},"要":{"docs":{},"的":{"docs":{},"r":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"。":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"器":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}},"正":{"docs":{},"在":{"docs":{},"反":{"docs":{},"向":{"docs":{},"执":{"docs":{},"行":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866}}}}}},"正":{"docs":{},"向":{"docs":{},"执":{"docs":{},"行":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866}}}}}}}},"状":{"docs":{},"态":{"docs":{},"监":{"docs":{},"听":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866}}}}}},"。":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.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":{},"中":{"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.008771929824561403}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"重":{"docs":{},"复":{"docs":{},"的":{"docs":{},"次":{"docs":{},"数":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}},"原":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"开":{"docs":{},"发":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}},"与":{"docs":{},"跨":{"docs":{},"平":{"docs":{},"台":{"docs":{},"技":{"docs":{},"术":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}}}}}},"控":{"docs":{},"件":{"docs":{},"渲":{"docs":{},"染":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}},"根":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}},"渲":{"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.0035714285714285713}}}}}}}},"docs":{}}}}}}}}}},"始":{"docs":{},"指":{"docs":{},"针":{"docs":{},"事":{"docs":{},"件":{"docs":{},"处":{"docs":{},"理":{"docs":{"chapter8/":{"ref":"chapter8/","tf":0.125},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}}}}}}}}},"理":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}},"时":{"docs":{},"详":{"docs":{},"细":{"docs":{},"介":{"docs":{},"绍":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}},"可":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"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":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.002551020408163265}}}}}}}}}}}}}}}},"局":{"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.002824858757062147}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"感":{"docs":{},"受":{"docs":{},"一":{"docs":{},"下":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"业":{"docs":{},"务":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"中":{"docs":{},"有":{"docs":{},"大":{"docs":{},"量":{"docs":{},"异":{"docs":{},"步":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"将":{"docs":{},"会":{"docs":{},"出":{"docs":{},"现":{"docs":{},"上":{"docs":{},"面":{"docs":{},"这":{"docs":{},"种":{"docs":{},"在":{"docs":{},"回":{"docs":{},"调":{"docs":{},"里":{"docs":{},"面":{"docs":{},"套":{"docs":{},"回":{"docs":{},"调":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"过":{"docs":{},"多":{"docs":{},"的":{"docs":{},"嵌":{"docs":{},"套":{"docs":{},"会":{"docs":{},"导":{"docs":{},"致":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"可":{"docs":{},"读":{"docs":{},"性":{"docs":{},"下":{"docs":{},"降":{"docs":{},"以":{"docs":{},"及":{"docs":{},"出":{"docs":{},"错":{"docs":{},"率":{"docs":{},"提":{"docs":{},"高":{"docs":{},",":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"看":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"只":{"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":{},"路":{"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":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"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":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"虽":{"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.00425531914893617}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}},"期":{"docs":{},"望":{"docs":{},"的":{"docs":{},"效":{"docs":{},"果":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"这":{"docs":{},"种":{"docs":{},"方":{"docs":{},"法":{"docs":{},"并":{"docs":{},"不":{"docs":{},"优":{"docs":{},"雅":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"页":{"docs":{},"面":{"docs":{},"布":{"docs":{},"局":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"表":{"docs":{},"头":{"docs":{},"布":{"docs":{},"局":{"docs":{},"调":{"docs":{},"整":{"docs":{},"导":{"docs":{},"致":{"docs":{},"表":{"docs":{},"头":{"docs":{},"高":{"docs":{},"度":{"docs":{},"改":{"docs":{},"变":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"剩":{"docs":{},"余":{"docs":{},"空":{"docs":{},"间":{"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":{},"弹":{"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":{},"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.002688172043010753}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"发":{"docs":{},"生":{"docs":{},"异":{"docs":{},"常":{"docs":{},"时":{"docs":{},",":{"docs":{},"f":{"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.003278688524590164}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"右":{"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":{},"们":{"docs":{},"分":{"docs":{},"别":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"和":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},".":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"由":{"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":{},"会":{"docs":{},"占":{"docs":{},"满":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"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":{},"子":{"docs":{},"文":{"docs":{},"本":{"docs":{},"组":{"docs":{},"件":{"docs":{},"被":{"docs":{},"第":{"docs":{},"二":{"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.0078125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"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":{},"元":{"docs":{},"素":{"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/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"上":{"docs":{},"面":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"没":{"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.00202020202020202}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"现":{"docs":{},"在":{"docs":{},"没":{"docs":{},"有":{"docs":{},"触":{"docs":{},"发":{"docs":{},"异":{"docs":{},"常":{"docs":{},"并":{"docs":{},"且":{"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":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"象":{"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":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"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":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"绘":{"docs":{},"制":{"docs":{},"时":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"提":{"docs":{},"供":{"docs":{},"前":{"docs":{},"景":{"docs":{},"或":{"docs":{},"背":{"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":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"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":{},"一":{"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":{},"图":{"1":{"1":{"docs":{"chapter11/socket.html":{"ref":"chapter11/socket.html","tf":0.02857142857142857}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"此":{"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.0020964360587002098}}}}}}}}}},"我":{"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.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"剪":{"docs":{},"裁":{"docs":{},"成":{"docs":{},"功":{"docs":{},"了":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"图":{"docs":{},"片":{"docs":{},"所":{"docs":{},"占":{"docs":{},"用":{"docs":{},"的":{"docs":{},"空":{"docs":{},"间":{"docs":{},"大":{"docs":{},"小":{"docs":{},"仍":{"docs":{},"然":{"docs":{},"是":{"6":{"0":{"docs":{},"×":{"6":{"0":{"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":{},"大":{"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":{},"。":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"i":{"docs":{},"n":{"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":{},"的":{"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":{},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"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":{},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},",":{"docs":{},"它":{"docs":{},"比":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"只":{"docs":{},"少":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"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":{},"种":{"docs":{},"组":{"docs":{},"件":{"docs":{},"组":{"docs":{},"合":{"docs":{},"而":{"docs":{},"成":{"docs":{},"。":{"docs":{},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"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":{},"先":{"docs":{},"于":{"docs":{},"继":{"docs":{},"承":{"docs":{},"的":{"docs":{},"实":{"docs":{},"例":{"docs":{},"。":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"它":{"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":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"。":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"左":{"docs":{},"侧":{"docs":{},"菜":{"docs":{},"单":{"docs":{},"已":{"docs":{},"经":{"docs":{},"替":{"docs":{},"换":{"docs":{},"成":{"docs":{},"功":{"docs":{},"。":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"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":{},"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":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"_":{"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":{},"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":{},"类":{"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":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"。":{"docs":{},"注":{"docs":{},"意":{"docs":{},",":{"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":{},"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":{},"类":{"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":{},"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":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"时":{"docs":{},",":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"c":{"docs":{},"h":{"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":{},"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":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"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":{},"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":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"父":{"docs":{},"级":{"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":{},"传":{"docs":{},"入":{"docs":{},"的":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"便":{"docs":{},"有":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},"。":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"方":{"docs":{},"法":{"docs":{},"主":{"docs":{},"要":{"docs":{},"做":{"docs":{},"了":{"docs":{},"两":{"docs":{},"件":{"docs":{},"事":{"docs":{},":":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}},"和":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"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":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},",":{"docs":{},"而":{"docs":{},"后":{"docs":{},"者":{"docs":{},"需":{"docs":{},"要":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},"。":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"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":{},"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":{},"组":{"docs":{},"件":{"docs":{},"组":{"docs":{},"合":{"docs":{},"而":{"docs":{},"成":{"docs":{},"。":{"docs":{},"当":{"docs":{},"然":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"只":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"示":{"docs":{},"例":{"docs":{},",":{"docs":{},"作":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"它":{"docs":{},"还":{"docs":{},"并":{"docs":{},"不":{"docs":{},"完":{"docs":{},"整":{"docs":{},",":{"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/combine.html":{"ref":"chapter10/combine.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":{},"头":{"docs":{},"比":{"docs":{},"较":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"响":{"docs":{},"应":{"docs":{},"体":{"docs":{},"和":{"docs":{},"浏":{"docs":{},"览":{"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":{"chapter11/socket.html":{"ref":"chapter11/socket.html","tf":0.02857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"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":{"chapter13/intl.html":{"ref":"chapter13/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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"该":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"出":{"docs":{},",":{"docs":{},"当":{"docs":{},"调":{"docs":{},"用":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"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.0024330900243309003}}}}}}}}}}}}}}}}}}},"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"装":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"f":{"docs":{},"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.00390625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"应":{"docs":{},"用":{"docs":{},"文":{"docs":{},"本":{"docs":{},"样":{"docs":{},"式":{"docs":{},":":{"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.002551020408163265}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"按":{"docs":{},"比":{"docs":{},"例":{"docs":{},"“":{"docs":{},"扩":{"docs":{},"伸":{"docs":{},"”":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.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":{},"都":{"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.00425531914893617}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"发":{"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.006622516556291391}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"子":{"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":{},"组":{"docs":{},"件":{"docs":{},"的":{"docs":{},"最":{"docs":{},"大":{"docs":{},"显":{"docs":{},"示":{"docs":{},"空":{"docs":{},"间":{"docs":{},",":{"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.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"中":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"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":{},"前":{"docs":{},"面":{"docs":{},"说":{"docs":{},"过":{"docs":{},",":{"docs":{},"f":{"docs":{},"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":{},"通":{"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":{},"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":{},"实":{"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":{},"前":{"docs":{},"的":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"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":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"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":{},"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":{},"办":{"docs":{},"法":{"docs":{},"获":{"docs":{},"取":{"docs":{},"到":{"docs":{},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{},"内":{"docs":{},"部":{"docs":{},"u":{"docs":{},"i":{"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":{},"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":{},"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":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"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":{},"f":{"docs":{},"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":{},"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":{},"用":{"docs":{},"。":{"docs":{},"知":{"docs":{},"道":{"docs":{},"这":{"docs":{},"个":{"docs":{},"后":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"解":{"docs":{},"决":{"docs":{},"的":{"docs":{},"方":{"docs":{},"案":{"docs":{},"就":{"docs":{},"呼":{"docs":{},"之":{"docs":{},"欲":{"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/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"遮":{"docs":{},"罩":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"比":{"docs":{},"通":{"docs":{},"过":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"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":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter10/intro.html":{"ref":"chapter10/intro.html","tf":0.04}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"docs":{},"些":{"docs":{},"属":{"docs":{},"性":{"docs":{},"只":{"docs":{},"是":{"docs":{},"为":{"docs":{},"了":{"docs":{},"更":{"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"要":{"docs":{},"实":{"docs":{},"现":{"docs":{},"这":{"docs":{},"样":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"进":{"docs":{},"度":{"docs":{},"条":{"docs":{},"是":{"docs":{},"无":{"docs":{},"法":{"docs":{},"通":{"docs":{},"过":{"docs":{},"现":{"docs":{},"有":{"docs":{},"组":{"docs":{},"件":{"docs":{},"组":{"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/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"送":{"docs":{},"与":{"docs":{},"方":{"docs":{},"法":{"docs":{},"调":{"docs":{},"用":{"docs":{},"相":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"消":{"docs":{},"息":{"docs":{},"。":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.011494252873563218}}}}}}}}}}}}}}}},"触":{"docs":{},"发":{"docs":{},"所":{"docs":{},"有":{"docs":{},"监":{"docs":{},"听":{"docs":{},"器":{"docs":{},"回":{"docs":{},"调":{"docs":{},"。":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}},"指":{"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":{},";":{"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":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"同":{"docs":{},"时":{"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":{},"s":{"docs":{},"w":{"docs":{},"i":{"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":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"支":{"docs":{},"持":{"docs":{},"圆":{"docs":{},"角":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}}},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"粗":{"docs":{},"细":{"docs":{},"、":{"docs":{},"两":{"docs":{},"端":{"docs":{},"是":{"docs":{},"否":{"docs":{},"圆":{"docs":{},"角":{"docs":{},"等":{"docs":{},"样":{"docs":{},"式":{"docs":{},"。":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}}}}}}},"动":{"docs":{},"填":{"docs":{},"充":{"docs":{},"上":{"docs":{},"次":{"docs":{},"登":{"docs":{},"录":{"docs":{},"的":{"docs":{},"用":{"docs":{},"户":{"docs":{},"名":{"docs":{},"(":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294},"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}},"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":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"直":{"docs":{},"接":{"docs":{},"调":{"docs":{},"用":{"docs":{},"便":{"docs":{},"捷":{"docs":{},"方":{"docs":{},"法":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}},"选":{"docs":{},"命":{"docs":{},"名":{"docs":{},"参":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"参":{"docs":{},"数":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}},"命":{"docs":{},"名":{"docs":{},"参":{"docs":{},"数":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}},"主":{"docs":{},"题":{"docs":{},"列":{"docs":{},"表":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}},"视":{"docs":{},"化":{"docs":{},"调":{"docs":{},"试":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}}},"让":{"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":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}}}}}}}}}}}}}}}}}},"滚":{"docs":{},"动":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"简":{"docs":{},"介":{"docs":{"chapter6/":{"ref":"chapter6/","tf":0.14285714285714285}}}}}}}}}}},"组":{"docs":{},"件":{"docs":{},"简":{"docs":{},"介":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.02631578947368421}}}},"的":{"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":{},"函":{"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":{},"型":{"docs":{},"的":{"docs":{},",":{"docs":{},"反":{"docs":{},"之":{"docs":{},"则":{"docs":{},"不":{"docs":{},"支":{"docs":{},"持":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"个":{"docs":{},"一":{"docs":{},"般":{"docs":{},"规":{"docs":{},"律":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"后":{"docs":{},"面":{"docs":{},"在":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"可":{"docs":{},"滚":{"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":{},"型":{"docs":{},"了":{"docs":{},"。":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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}}}}}}}}}},"在":{"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":{},"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.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"见":{"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":{},"例":{"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":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"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":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"复":{"docs":{},"选":{"docs":{},"框":{"docs":{},"能":{"docs":{},"选":{"docs":{},"中":{"docs":{},"了":{"docs":{},",":{"docs":{},"点":{"docs":{},"击":{"docs":{},"“":{"docs":{},"取":{"docs":{},"消":{"docs":{},"”":{"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/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"名":{"docs":{},",":{"docs":{},"已":{"docs":{},"有":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}},"称":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}},"和":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01},"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.015337423312883436},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793},"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.011494252873563218},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.007532956685499058},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.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":{},"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"无":{"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.0024330900243309003}}}}}}}}}}}}}}}}}},"包":{"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":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"其":{"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.0078125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"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":{},"要":{"docs":{},"制":{"docs":{},"定":{"docs":{},"一":{"docs":{},"些":{"docs":{},"精":{"docs":{},"确":{"docs":{},"的":{"docs":{},"偏":{"docs":{},"移":{"docs":{},"时":{"docs":{},"应":{"docs":{},"优":{"docs":{},"先":{"docs":{},"使":{"docs":{},"用":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"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":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"服":{"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"上":{"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":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"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":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"响":{"docs":{},"应":{"docs":{},"式":{"docs":{},"编":{"docs":{},"程":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}},"的":{"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":{},"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":{},"对":{"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":{},"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":{},"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/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"头":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}},"因":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"为":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"o":{"docs":{},"的":{"docs":{},"宽":{"docs":{},"高":{"docs":{},"为":{"6":{"0":{"docs":{},",":{"docs":{},"则":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"的":{"docs":{},"最":{"docs":{},"终":{"docs":{},"宽":{"docs":{},"高":{"docs":{},"都":{"docs":{},"为":{"2":{"docs":{},"*":{"6":{"0":{"docs":{},"=":{"1":{"2":{"0":{"docs":{},"。":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}},"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":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},",":{"docs":{},"更":{"docs":{},"新":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"后":{"docs":{},"不":{"docs":{},"触":{"docs":{},"发":{"docs":{},"更":{"docs":{},"新":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"基":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"此":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"设":{"docs":{},"计":{"docs":{},"一":{"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/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"o":{"docs":{},"t":{"docs":{},"的":{"docs":{},"发":{"docs":{},"布":{"docs":{},"包":{"docs":{},":":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01}}}}}}}}}},"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"延":{"docs":{},"迟":{"docs":{},"构":{"docs":{},"建":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.02631578947368421}}}}}}}}}}}}},"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"础":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter3/":{"ref":"chapter3/","tf":0.1}}}}}}}},"组":{"docs":{},"件":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}},"版":{"docs":{},"本":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866}}}}}},"大":{"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.0035714285714285713}}}}}}}}},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"g":{"docs":{},"l":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}}}}}},"多":{"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":{},"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"好":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.007142857142857143}}},"将":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}},"原":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}},"虚":{"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.0035714285714285713}}}}}}}}}}}}}}}}},"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"不":{"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.0013422818791946308}}}}}}}}}}}}}}},"能":{"docs":{},"再":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}}}}}}},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616}}}}},"安":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}},"栈":{"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.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"给":{"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.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"“":{"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":{},"(":{"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.00625}}}}}}}}}}}}}}}}}},"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"被":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}},"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.001519756838905775}}}}}}}}}}}}},"的":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.001519756838905775}}}}}}},"i":{"docs":{},"n":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},"设":{"docs":{},"为":{"docs":{},"d":{"docs":{},"o":{"docs":{},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"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.00411522633744856}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"以":{"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":{},"在":{"docs":{},"后":{"docs":{},"面":{"docs":{},"章":{"docs":{},"节":{"docs":{},"中":{"docs":{},"专":{"docs":{},"门":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"着":{"docs":{},"两":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"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.00411522633744856}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"子":{"docs":{},"组":{"docs":{},"件":{"docs":{},"剪":{"docs":{},"裁":{"docs":{},"为":{"docs":{},"圆":{"docs":{},"角":{"docs":{},"矩":{"docs":{},"形":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}}}}}}}}}}},"选":{"docs":{},"中":{"docs":{},"状":{"docs":{},"态":{"docs":{},"返":{"docs":{},"回":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}},"点":{"docs":{},"击":{"docs":{},"次":{"docs":{},"数":{"docs":{},"以":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"类":{"docs":{},"型":{"docs":{},"写":{"docs":{},"到":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}},"数":{"docs":{},"据":{"docs":{},"发":{"docs":{},"送":{"docs":{},"到":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}},"。":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"我":{"docs":{},"们":{"docs":{},"运":{"docs":{},"行":{"docs":{},"生":{"docs":{},"成":{"docs":{},"命":{"docs":{},"令":{"docs":{},"后":{"docs":{},"自":{"docs":{},"动":{"docs":{},"生":{"docs":{},"成":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}},"以":{"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"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.0018587360594795538}}}}}}}}}}}}}}}},"`":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},".":{"docs":{},"i":{"docs":{},"d":{"docs":{},"`":{"docs":{},"作":{"docs":{},"为":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"的":{"docs":{},"默":{"docs":{},"认":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}}}}}}}},"小":{"docs":{},"节":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}},"结":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609}}}},"布":{"docs":{},"局":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}},"消":{"docs":{},"息":{"docs":{},"传":{"docs":{},"递":{"docs":{},";":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}}},"类":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"简":{"docs":{},"介":{"docs":{"chapter4/":{"ref":"chapter4/","tf":0.16666666666666666}}}}},"一":{"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":{},"直":{"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.04}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"简":{"docs":{},"介":{"docs":{"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":0.04}}}},"都":{"docs":{},"会":{"docs":{},"包":{"docs":{},"含":{"docs":{},"一":{"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":{},"面":{"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":{},"嗯":{"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":{},"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.04}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"限":{"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}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"过":{"docs":{},"程":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}},"平":{"docs":{},"台":{"docs":{},"特":{"docs":{},"定":{"docs":{},",":{"docs":{},"开":{"docs":{},"发":{"docs":{},"成":{"docs":{},"本":{"docs":{},"高":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"依":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"道":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.011494252873563218}},"使":{"docs":{},"用":{"docs":{},"标":{"docs":{},"准":{"docs":{},"消":{"docs":{},"息":{"docs":{},"编":{"docs":{},"/":{"docs":{},"解":{"docs":{},"码":{"docs":{},"器":{"docs":{},"对":{"docs":{},"消":{"docs":{},"息":{"docs":{},"进":{"docs":{},"行":{"docs":{},"编":{"docs":{},"解":{"docs":{},"码":{"docs":{},",":{"docs":{},"它":{"docs":{},"可":{"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":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.011494252873563218}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"数":{"docs":{},"据":{"docs":{},"类":{"docs":{},"型":{"docs":{},"支":{"docs":{},"持":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.011494252873563218}}}}}}}},"消":{"docs":{},"息":{"docs":{},"处":{"docs":{},"理":{"docs":{},"回":{"docs":{},"调":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}}}}},"移":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064}}}},"年":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}},"开":{"docs":{},"发":{"docs":{},"效":{"docs":{},"率":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}},"低":{"docs":{},":":{"docs":{},"q":{"docs":{},"t":{"docs":{},"使":{"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":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"开":{"docs":{},"发":{"docs":{},"效":{"docs":{},"率":{"docs":{},"的":{"docs":{},",":{"docs":{},"c":{"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":{},"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":{},"c":{"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":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"中":{"docs":{},"垃":{"docs":{},"圾":{"docs":{},"回":{"docs":{},"收":{"docs":{},"(":{"docs":{},"g":{"docs":{},"c":{"docs":{},")":{"docs":{},"的":{"docs":{},"机":{"docs":{},"制":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{},"f":{"docs":{},"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"高":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01}}}}},"者":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"根":{"docs":{},"据":{"docs":{},"实":{"docs":{},"际":{"docs":{},"需":{"docs":{},"求":{"docs":{},"来":{"docs":{},"定":{"docs":{},"制":{"docs":{},"。":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}}}}}}}},"人":{"docs":{},"员":{"docs":{},"选":{"docs":{},"项":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}},"只":{"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/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter12/":{"ref":"chapter12/","tf":0.2},"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"插":{"docs":{},"件":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}}}}}}}},"平":{"docs":{},"台":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"定":{"docs":{},"义":{"docs":{},"一":{"docs":{},"个":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"类":{"docs":{},",":{"docs":{},"专":{"docs":{},"门":{"docs":{},"用":{"docs":{},"于":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"头":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}},"始":{"docs":{},"加":{"docs":{},"速":{"docs":{},",":{"docs":{},"后":{"docs":{},"面":{"docs":{},"减":{"docs":{},"速":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}}}}},"快":{"docs":{},",":{"docs":{},"后":{"docs":{},"面":{"docs":{},"慢":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}}},"慢":{"docs":{},",":{"docs":{},"后":{"docs":{},"面":{"docs":{},"快":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}},"然":{"docs":{},"后":{"docs":{},"加":{"docs":{},"速":{"docs":{},",":{"docs":{},"最":{"docs":{},"后":{"docs":{},"再":{"docs":{},"减":{"docs":{},"速":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}}}}}}}}}},"时":{"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.004201680672268907}}}}},"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.0018832391713747645}}}}}}}}}}}}}}}}},"快":{"docs":{},"应":{"docs":{},"用":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}},"是":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"速":{"docs":{},"内":{"docs":{},"存":{"docs":{},"分":{"docs":{},"配":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01}}}}}}}},"思":{"docs":{},"考":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}},"题":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"既":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"这":{"docs":{},"个":{"docs":{},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},",":{"docs":{},"下":{"docs":{},"划":{"docs":{},"线":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"是":{"docs":{},"固":{"docs":{},"定":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"获":{"docs":{},"得":{"docs":{},"焦":{"docs":{},"点":{"docs":{},"后":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"对":{"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.00425531914893617}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"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":{},"进":{"docs":{},"行":{"docs":{},"平":{"docs":{},"移":{"docs":{},"然":{"docs":{},"后":{"docs":{},"再":{"docs":{},"旋":{"docs":{},"转":{"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.0064516129032258064}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0032258064516129032}}}}}}}}},"为":{"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"性":{"docs":{},"能":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}},"高":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"好":{"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":{},"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":{},"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":{},"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.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"问":{"docs":{},"题":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}},"总":{"docs":{},"结":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.007142857142857143},"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.03},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428},"chapter10/intro.html":{"ref":"chapter10/intro.html","tf":0.04},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}},"一":{"docs":{},"下":{"docs":{},",":{"docs":{},"纯":{"docs":{},"原":{"docs":{},"生":{"docs":{},"开":{"docs":{},"发":{"docs":{},"主":{"docs":{},"要":{"docs":{},"面":{"docs":{},"临":{"docs":{},"动":{"docs":{},"态":{"docs":{},"化":{"docs":{},"和":{"docs":{},"开":{"docs":{},"发":{"docs":{},"成":{"docs":{},"本":{"docs":{},"两":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"而":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"技":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"型":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}},"排":{"docs":{},"行":{"docs":{},"榜":{"docs":{},"前":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}},"文":{"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.0035714285714285713}}}}}}}}}}}}}}},".":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}},"目":{"docs":{},"录":{"docs":{},":":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}},"件":{"docs":{},"中":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"是":{"docs":{},"它":{"docs":{},"的":{"docs":{},"源":{"docs":{},"码":{"docs":{},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}}}}}}}}}},"对":{"docs":{},"缩":{"docs":{},"进":{"docs":{},"严":{"docs":{},"格":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"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":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"操":{"docs":{},"作":{"docs":{"chapter11/":{"ref":"chapter11/","tf":0.08333333333333333},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}},"夹":{"docs":{"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.015151515151515152}},":":{"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"本":{"docs":{},"、":{"docs":{},"字":{"docs":{},"体":{"docs":{},"样":{"docs":{},"式":{"docs":{"chapter3/":{"ref":"chapter3/","tf":0.1}}}}}}},"及":{"docs":{},"样":{"docs":{},"式":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}}}},"输":{"docs":{},"入":{"docs":{},"键":{"docs":{},"盘":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}},"映":{"docs":{},"射":{"docs":{},"为":{"docs":{},"原":{"docs":{},"生":{"docs":{},"控":{"docs":{},"件":{"docs":{},"树":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}}}}}}},"是":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}},"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}}},"一":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}},"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.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"抽":{"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.002551020408163265}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"它":{"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":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}},"必":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}},"否":{"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.0013422818791946308}}}}}}}}}}}}}}}}}},"使":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"自":{"docs":{},"动":{"docs":{},"获":{"docs":{},"取":{"docs":{},"焦":{"docs":{},"点":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}}}},"在":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}},"启":{"docs":{},"用":{"docs":{},"缓":{"docs":{},"存":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}},"私":{"docs":{},"有":{"docs":{},"项":{"docs":{},"目":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}},"为":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"版":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}},"是":{"docs":{},"下":{"docs":{},"拉":{"docs":{},"刷":{"docs":{},"新":{"docs":{},"触":{"docs":{},"发":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}},"芯":{"docs":{},"片":{"docs":{},"系":{"docs":{},"列":{"docs":{},",":{"docs":{},"如":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}},"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":{},"f":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"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":{},"给":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"声":{"docs":{},"明":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},".":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}},"应":{"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":{},"组":{"docs":{},"件":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0024330900243309003}}}}}}},"页":{"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"组":{"docs":{},"件":{"docs":{},"库":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"组":{"docs":{},"件":{"docs":{},",":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"针":{"docs":{},"对":{"docs":{},"不":{"docs":{},"同":{"docs":{},"平":{"docs":{},"台":{"docs":{},",":{"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.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"不":{"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.006024096385542169}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"很":{"docs":{},"优":{"docs":{},"雅":{"docs":{},"!":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"模":{"docs":{},"式":{"docs":{},"的":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"实":{"docs":{},"现":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"生":{"docs":{},"态":{"docs":{},"链":{"docs":{},"中":{"docs":{},"m":{"docs":{},"o":{"docs":{},"b":{"docs":{},"x":{"docs":{},"包":{"docs":{},"的":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"实":{"docs":{},"现":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"x":{"docs":{},"包":{"docs":{},"的":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"实":{"docs":{},"现":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"会":{"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":{},"从":{"docs":{},"当":{"docs":{},"前":{"docs":{},"的":{"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":{},"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":{},"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":{},"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":{},"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":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"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":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},"会":{"docs":{},"返":{"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":{},"况":{"docs":{},"呢":{"docs":{},"?":{"docs":{},"其":{"docs":{},"实":{"docs":{},"很":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"设":{"docs":{},"置":{"docs":{},"一":{"docs":{},"个":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},"回":{"docs":{},"调":{"docs":{},"即":{"docs":{},"可":{"docs":{},":":{"docs":{"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"每":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}},"处":{"docs":{},"理":{"docs":{},"图":{"docs":{},"片":{"docs":{},"编":{"docs":{},"解":{"docs":{},"码":{"docs":{},"的":{"docs":{},"类":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"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":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"_":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"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":{},"载":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"指":{"docs":{},"定":{"docs":{},"一":{"docs":{},"个":{"docs":{},"占":{"docs":{},"位":{"docs":{},"图":{"docs":{},",":{"docs":{},"而":{"docs":{},"且":{"docs":{},"还":{"docs":{},"可":{"docs":{},"以":{"docs":{},"对":{"docs":{},"网":{"docs":{},"络":{"docs":{},"请":{"docs":{},"求":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},"进":{"docs":{},"行":{"docs":{},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"更":{"docs":{},"多":{"docs":{},"详":{"docs":{},"情":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"行":{"docs":{},"查":{"docs":{},"阅":{"docs":{},"其":{"docs":{},"文":{"docs":{},"档":{"docs":{},"。":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"应":{"docs":{},"用":{"docs":{},"的":{"docs":{},"入":{"docs":{},"口":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"实":{"docs":{},"现":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}},"更":{"docs":{},"新":{"docs":{},"到":{"docs":{},"了":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}},"环":{"docs":{},"境":{"docs":{},"变":{"docs":{},"量":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616}}}}}},"正":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"。":{"docs":{},"每":{"docs":{},"次":{"docs":{},"单":{"docs":{},"击":{"docs":{},"热":{"docs":{},"重":{"docs":{},"载":{"docs":{},"或":{"docs":{},"保":{"docs":{},"存":{"docs":{},"项":{"docs":{},"目":{"docs":{},"时":{"docs":{},",":{"docs":{},"都":{"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.00625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"启":{"docs":{},"动":{"docs":{},"页":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}}}}},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}},"应":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}},"后":{"docs":{},"会":{"docs":{},"r":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"会":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"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":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"改":{"docs":{},"为":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616}}}},"多":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}},"的":{"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":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}}},"框":{"docs":{},"架":{"docs":{},"代":{"docs":{},"表":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}},"为":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"很":{"docs":{},"多":{"docs":{},"关":{"docs":{},"键":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"异":{"docs":{},"常":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"。":{"docs":{},"这":{"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.003278688524590164}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"和":{"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.0018587360594795538}}}}}}}}}}}},"此":{"docs":{},"处":{"docs":{},"需":{"docs":{},"要":{"docs":{},"有":{"docs":{},"一":{"docs":{},"张":{"docs":{},"插":{"docs":{},"图":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}}}}}},"代":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"镜":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"例":{"docs":{},"中":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},"子":{"docs":{},"组":{"docs":{},"件":{"docs":{},"是":{"docs":{},"两":{"docs":{},"个":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}}}}}}}}}}}}}},"行":{"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.0024330900243309003}}}}}}}}}}}}}}}}},"示":{"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.00390625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"运":{"docs":{},"行":{"docs":{},"后":{"docs":{},",":{"docs":{},"每":{"docs":{},"次":{"docs":{},"拖":{"docs":{},"动":{"docs":{},"只":{"docs":{},"会":{"docs":{},"沿":{"docs":{},"一":{"docs":{},"个":{"docs":{},"方":{"docs":{},"向":{"docs":{},"移":{"docs":{},"动":{"docs":{},"(":{"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.0017452006980802793}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"时":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"为":{"docs":{},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{},"u":{"docs":{},"i":{"docs":{},"的":{"docs":{},"根":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}}}}}}}}},"在":{"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":{"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02}}}}}}}}}}}}}}}}}}}}}}}}}}}},"外":{"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":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.011494252873563218}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"方":{"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.0018587360594795538}}}}}}}}}}}}}}}},"类":{"docs":{},"由":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}},"混":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}},"开":{"docs":{},"发":{"docs":{},"技":{"docs":{},"术":{"docs":{},"点":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}}},"状":{"docs":{},"态":{"docs":{},"管":{"docs":{},"理":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}},"管":{"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":{},")":{"docs":{},"。":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"渲":{"docs":{},"染":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}},"时":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"层":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}},"和":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"在":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"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":{},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"灵":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"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":{},"组":{"docs":{},"件":{"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.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"然":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"按":{"docs":{},"回":{"docs":{},"车":{"docs":{},"键":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}},"点":{"docs":{},"击":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616}}}},"选":{"docs":{},"择":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.004026845637583893}},"里":{"docs":{},"面":{"docs":{},"的":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.008264462809917356}}}}}}},",":{"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.0013422818791946308}}}}}}}}}}}}}}}}}},"应":{"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.00390625}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"过":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"p":{"docs":{},"r":{"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":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"当":{"docs":{},"我":{"docs":{},"们":{"docs":{},"运":{"docs":{},"行":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"时":{"docs":{},"我":{"docs":{},"们":{"docs":{},"会":{"docs":{},"发":{"docs":{},"现":{"docs":{},"复":{"docs":{},"选":{"docs":{},"框":{"docs":{},"根":{"docs":{},"本":{"docs":{},"选":{"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":{},"对":{"docs":{},"当":{"docs":{},"前":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"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":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"的":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}},"加":{"docs":{},"载":{"docs":{},"图":{"docs":{},"像":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},":":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}}}}}}}}}},"打":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}},"我":{"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.0020964360587002098}}}}}}}}}}}}}},"点":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}},"实":{"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":{},"在":{"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.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"docs":{},"调":{"docs":{},"用":{"docs":{},"部":{"docs":{},"分":{"docs":{},"代":{"docs":{},"码":{"docs":{},"改":{"docs":{},"为":{"docs":{},":":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}},"热":{"docs":{},"重":{"docs":{},"载":{"docs":{},",":{"docs":{},"日":{"docs":{},"志":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}}}}}}}}},"设":{"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.0013477088948787063}}}}}}}}}}}}}}}}}},"运":{"docs":{},"行":{"docs":{},",":{"docs":{},"发":{"docs":{},"现":{"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.002688172043010753}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"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.002577319587628866}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"访":{"docs":{},"问":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}},"调":{"docs":{},"用":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}},"授":{"docs":{},"予":{"docs":{},"执":{"docs":{},"行":{"docs":{},"权":{"docs":{},"限":{"docs":{},":":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}}}}},"版":{"docs":{},"本":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}},"号":{"docs":{},"可":{"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/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"现":{"docs":{},"在":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"回":{"docs":{},"头":{"docs":{},"来":{"docs":{},"看":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"答":{"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":{},"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"来":{"docs":{},"和":{"docs":{},"q":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}},"将":{"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":{},"后":{"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":{},"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":{},"增":{"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":{},"调":{"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"要":{"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":{},"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":{},"当":{"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":{},"y":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"打":{"docs":{},"开":{"docs":{},"文":{"docs":{},"件":{"docs":{},"删":{"docs":{},"除":{"docs":{},"确":{"docs":{},"认":{"docs":{},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{},",":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"己":{"docs":{},"经":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"完":{"docs":{},"了":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"、":{"docs":{},"s":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"以":{"docs":{},"及":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"。":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"调":{"docs":{},"用":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"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":{},"对":{"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":{},"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":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"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":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"重":{"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":{},"组":{"docs":{},"件":{"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.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"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":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"无":{"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":{},"已":{"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":{},"有":{"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":{},"信":{"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":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"移":{"docs":{},"到":{"docs":{},"了":{"docs":{},"模":{"docs":{},"型":{"docs":{},"本":{"docs":{},"身":{"docs":{},"内":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"想":{"docs":{},"必":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}},"目":{"docs":{},"前":{"docs":{},"已":{"docs":{},"经":{"docs":{},"确":{"docs":{},"定":{"docs":{},",":{"docs":{},"在":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"章":{"docs":{},"节":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"分":{"docs":{},"模":{"docs":{},"块":{"docs":{},"一":{"docs":{},"步":{"docs":{},"一":{"docs":{},"步":{"docs":{},"实":{"docs":{},"现":{"docs":{},"上":{"docs":{},"述":{"docs":{},"功":{"docs":{},"能":{"docs":{},"。":{"docs":{"chapter15/intro.html":{"ref":"chapter15/intro.html","tf":0.05}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"下":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"的":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"中":{"docs":{},"相":{"docs":{},"同":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"的":{"docs":{},"值":{"docs":{},"会":{"docs":{},"被":{"docs":{},"覆":{"docs":{},"盖":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"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":{},"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":{},"。":{"docs":{},"那":{"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":{},"y":{"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":{},"o":{"docs":{},"b":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"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":{},"e":{"docs":{},"r":{"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":{},"e":{"docs":{},"r":{"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":{},"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":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"作":{"docs":{},"为":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"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":{},"应":{"docs":{},"该":{"docs":{},"将":{"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":{},"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":{},"o":{"docs":{},"b":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"(":{"docs":{},")":{"docs":{},"实":{"docs":{},"现":{"docs":{},":":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"docs":{},"完":{"docs":{},"成":{"docs":{},"了":{"docs":{},"路":{"docs":{},"由":{"docs":{},"表":{"docs":{},"的":{"docs":{},"注":{"docs":{},"册":{"docs":{},"。":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"h":{"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":{},"将":{"docs":{},"h":{"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":{},"单":{"docs":{},",":{"docs":{},"直":{"docs":{},"接":{"docs":{},"看":{"docs":{},"代":{"docs":{},"码":{"docs":{},":":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"来":{"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.003278688524590164}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"再":{"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":{},"(":{"1":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}},"所":{"docs":{},"需":{"docs":{},"要":{"docs":{},"的":{"docs":{},"各":{"docs":{},"个":{"docs":{},"工":{"docs":{},"具":{"docs":{},"类":{"docs":{},"都":{"docs":{},"已":{"docs":{},"完":{"docs":{},"成":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"通":{"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/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"按":{"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.0017452006980802793}}}}}}}}}}}}}}}}}}}}}}}}}},"建":{"docs":{},"立":{"docs":{},"了":{"docs":{},"连":{"docs":{},"接":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"监":{"docs":{},"听":{"docs":{},"来":{"docs":{},"自":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"的":{"docs":{},"消":{"docs":{},"息":{"docs":{},",":{"docs":{},"在":{"docs":{},"我":{"docs":{},"们":{"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/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"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":{"chapter13/intl.html":{"ref":"chapter13/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":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"来":{"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":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"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":{},"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":{},"t":{"docs":{},"e":{"docs":{},"s":{"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":{},"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":{},"需":{"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":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},")":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"改":{"docs":{},"一":{"docs":{},"下":{"docs":{},"即":{"docs":{},"可":{"docs":{},":":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"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":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},":":{"docs":{},"如":{"docs":{},"何":{"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":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"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":{},"图":{"1":{"4":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"图":{"docs":{},"片":{"docs":{},"上":{"docs":{},"双":{"docs":{},"指":{"docs":{},"张":{"docs":{},"开":{"docs":{},"、":{"docs":{},"收":{"docs":{},"缩":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"放":{"docs":{},"大":{"docs":{},"、":{"docs":{},"缩":{"docs":{},"小":{"docs":{},"图":{"docs":{},"片":{"docs":{},"。":{"docs":{},"本":{"docs":{},"示":{"docs":{},"例":{"docs":{},"比":{"docs":{},"较":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"实":{"docs":{},"际":{"docs":{},"中":{"docs":{},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"常":{"docs":{},"还":{"docs":{},"需":{"docs":{},"要":{"docs":{},"一":{"docs":{},"些":{"docs":{},"其":{"docs":{},"它":{"docs":{},"功":{"docs":{},"能":{"docs":{},",":{"docs":{},"如":{"docs":{},"双":{"docs":{},"击":{"docs":{},"放":{"docs":{},"大":{"docs":{},"或":{"docs":{},"缩":{"docs":{},"小":{"docs":{},"一":{"docs":{},"定":{"docs":{},"倍":{"docs":{},"数":{"docs":{},"、":{"docs":{},"双":{"docs":{},"指":{"docs":{},"张":{"docs":{},"开":{"docs":{},"离":{"docs":{},"开":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"时":{"docs":{},"执":{"docs":{},"行":{"docs":{},"一":{"docs":{},"个":{"docs":{},"减":{"docs":{},"速":{"docs":{},"放":{"docs":{},"大":{"docs":{},"动":{"docs":{},"画":{"docs":{},"等":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"学":{"docs":{},"习":{"docs":{},"完":{"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.0017452006980802793}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"果":{"docs":{},"我":{"docs":{},"们":{"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":{},"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":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"画":{"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":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"进":{"docs":{},"行":{"docs":{},"分":{"docs":{},"块":{"docs":{},"下":{"docs":{},"载":{"docs":{},"了":{"docs":{},":":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}},"在":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"中":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}},"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"该":{"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"请":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}},"工":{"docs":{},"程":{"docs":{},"目":{"docs":{},"录":{"docs":{},"变":{"docs":{},"为":{"docs":{},":":{"docs":{"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.015151515151515152}}}}}}}}}}},"生":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"成":{"docs":{},"随":{"docs":{},"机":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}}}}}}},"文":{"docs":{},"档":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}},"缓":{"docs":{},"存":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},",":{"docs":{},"后":{"docs":{},"面":{"docs":{},"会":{"docs":{},"根":{"docs":{},"据":{"docs":{},"此":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"来":{"docs":{},"检":{"docs":{},"测":{"docs":{},"是":{"docs":{},"否":{"docs":{},"有":{"docs":{},"缓":{"docs":{},"存":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}},"效":{"docs":{},"了":{"docs":{},"!":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}}}}}},"的":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},"必":{"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.0035714285714285713}}}}}}}}}}}}},"全":{"docs":{},"路":{"docs":{},"径":{"docs":{},"作":{"docs":{},"为":{"docs":{},"它":{"docs":{},"的":{"docs":{},"值":{"docs":{},".":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}},"报":{"docs":{},"错":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"请":{"docs":{},"检":{"docs":{},"查":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}},"所":{"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.0018726591760299626}}},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},":":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}}}},"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.00625}}}}}}}}}}}}}}}}}},"特":{"docs":{},"殊":{"docs":{},"存":{"docs":{},"档":{"docs":{},"中":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"私":{"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.003278688524590164}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"宽":{"docs":{},"度":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"居":{"docs":{},"中":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"后":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"h":{"docs":{},"i":{"docs":{},"\"":{"docs":{},")":{"docs":{},"会":{"docs":{},"显":{"docs":{},"示":{"docs":{},"在":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"l":{"docs":{},"d":{"docs":{},"\"":{"docs":{},")":{"docs":{},"的":{"docs":{},"中":{"docs":{},"间":{"docs":{},"部":{"docs":{},"分":{"docs":{},"。":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"坐":{"docs":{},"标":{"docs":{},"原":{"docs":{},"点":{"docs":{},"为":{"docs":{},"矩":{"docs":{},"形":{"docs":{},"的":{"docs":{},"左":{"docs":{},"侧":{"docs":{},"顶":{"docs":{},"点":{"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":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"坐":{"docs":{},"标":{"docs":{},"转":{"docs":{},"换":{"docs":{},"公":{"docs":{},"式":{"docs":{},"为":{"docs":{},":":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"定":{"docs":{},"义":{"docs":{},":":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}},"职":{"docs":{},"责":{"docs":{},"都":{"docs":{},"是":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"只":{"docs":{},"是":{"docs":{},"语":{"docs":{},"言":{"docs":{},"载":{"docs":{},"体":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"大":{"docs":{},"小":{"docs":{},"了":{"docs":{},",":{"docs":{},"于":{"docs":{},"是":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}},",":{"docs":{},"那":{"docs":{},"么":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}},"概":{"docs":{},"念":{"docs":{},":":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}},"包":{"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":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}},"桥":{"docs":{},"梁":{"docs":{},"。":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}},"目":{"docs":{},"前":{"docs":{},"混":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"程":{"docs":{},"序":{"docs":{},"主":{"docs":{},"要":{"docs":{},"有":{"docs":{},"两":{"docs":{},"种":{"docs":{},"运":{"docs":{},"行":{"docs":{},"方":{"docs":{},"式":{"docs":{},":":{"docs":{},"静":{"docs":{},"态":{"docs":{},"编":{"docs":{},"译":{"docs":{},"与":{"docs":{},"动":{"docs":{},"态":{"docs":{},"解":{"docs":{},"释":{"docs":{},"。":{"docs":{},"静":{"docs":{},"态":{"docs":{},"编":{"docs":{},"译":{"docs":{},"的":{"docs":{},"程":{"docs":{},"序":{"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}},"录":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}},"相":{"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.0035714285714285713}}}}}}}}}}}}}}}},"反":{"docs":{},",":{"docs":{},"f":{"docs":{},"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"同":{"docs":{},",":{"docs":{},"故":{"docs":{},"不":{"docs":{},"再":{"docs":{},"赘":{"docs":{},"述":{"docs":{},"。":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}},"似":{"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":{},"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":{},"个":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"示":{"docs":{},"例":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.006134969325153374},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.010582010582010581},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0034904013961605585},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0045871559633027525},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}},":":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}},"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}},"登":{"docs":{},"录":{"docs":{},"输":{"docs":{},"入":{"docs":{},"框":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"渐":{"docs":{},"变":{"docs":{},"按":{"docs":{},"钮":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}}}}}},"五":{"docs":{},"子":{"docs":{},"棋":{"docs":{},"/":{"docs":{},"盘":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}}},"中":{"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":{},",":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"源":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.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":{},"删":{"docs":{},"除":{"docs":{},"\"":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"点":{"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/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{},":":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}},"而":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"的":{"docs":{},"重":{"docs":{},"绘":{"docs":{},"和":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"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":{},"改":{"docs":{},"变":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"类":{"docs":{},"型":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"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":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.00425531914893617}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"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.00425531914893617}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"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":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"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":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"就":{"docs":{},"会":{"docs":{},"被":{"docs":{},"重":{"docs":{},"新":{"docs":{},"构":{"docs":{},"建":{"docs":{},"。":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"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":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"自":{"docs":{},"绘":{"docs":{"chapter10/intro.html":{"ref":"chapter10/intro.html","tf":0.04}},"u":{"docs":{},"i":{"docs":{},"+":{"docs":{},"原":{"docs":{},"生":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}},"(":{"docs":{},"q":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}}}}}},"控":{"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":{},"组":{"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":{},"来":{"docs":{},"的":{"docs":{},",":{"docs":{},"只":{"docs":{},"不":{"docs":{},"过":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"的":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"被":{"docs":{},"封":{"docs":{},"装":{"docs":{},"起":{"docs":{},"来":{"docs":{},"了":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"有":{"docs":{},"兴":{"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":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"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":{},"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":{},"助":{"docs":{},"读":{"docs":{},"者":{"docs":{},"加":{"docs":{},"深":{"docs":{},"印":{"docs":{},"象":{"docs":{},"。":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}},"组":{"docs":{},"件":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}},"实":{"docs":{},"例":{"docs":{},":":{"docs":{},"圆":{"docs":{},"形":{"docs":{},"背":{"docs":{},"景":{"docs":{},"渐":{"docs":{},"变":{"docs":{},"进":{"docs":{},"度":{"docs":{},"条":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}}}}},"定":{"docs":{},"义":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"外":{"docs":{},"观":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}}}},"样":{"docs":{},"式":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}},"尺":{"docs":{},"寸":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}},"进":{"docs":{},"度":{"docs":{},"指":{"docs":{},"示":{"docs":{},"器":{"docs":{},"样":{"docs":{},"式":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}}}}}},"组":{"docs":{},"件":{"docs":{},"样":{"docs":{},"式":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}},"方":{"docs":{},"法":{"docs":{},"简":{"docs":{},"介":{"docs":{"chapter10/intro.html":{"ref":"chapter10/intro.html","tf":0.04}}}}}}}},"遮":{"docs":{},"罩":{"docs":{},"颜":{"docs":{},"色":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}},"通":{"docs":{},"知":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}},"路":{"docs":{},"由":{"docs":{},"过":{"docs":{},"渡":{"docs":{},"动":{"docs":{},"画":{"docs":{"chapter9/":{"ref":"chapter9/","tf":0.09090909090909091}}}}}},"切":{"docs":{},"换":{"docs":{},"动":{"docs":{},"画":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"方":{"docs":{},"法":{"docs":{},"简":{"docs":{},"介":{"docs":{"chapter10/":{"ref":"chapter10/","tf":0.16666666666666666}}}}}}}}}}}},"编":{"docs":{},"解":{"docs":{},"码":{"docs":{},"器":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.011494252873563218}}}}}}}},"动":{"docs":{},"化":{"docs":{},"生":{"docs":{},"成":{"docs":{},"模":{"docs":{},"板":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}},"生":{"docs":{},"成":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}},"填":{"docs":{},"充":{"docs":{},"上":{"docs":{},"次":{"docs":{},"登":{"docs":{},"录":{"docs":{},"的":{"docs":{},"用":{"docs":{},"户":{"docs":{},"名":{"docs":{},",":{"docs":{},"填":{"docs":{},"充":{"docs":{},"后":{"docs":{},"将":{"docs":{},"焦":{"docs":{},"点":{"docs":{},"定":{"docs":{},"位":{"docs":{},"到":{"docs":{},"密":{"docs":{},"码":{"docs":{},"输":{"docs":{},"入":{"docs":{},"框":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"至":{"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.0035714285714285713}}}}}}},"我":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"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":{"chapter13/intl.html":{"ref":"chapter13/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":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"迷":{"docs":{},"你":{"docs":{},"的":{"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":{},"上":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"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":{},"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":{},"a":{"docs":{},"p":{"docs":{},"i":{"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":{},"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":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"真":{"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"观":{"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.0035714285714285713}}}}}}}}}}}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}},"语":{"docs":{},"法":{"docs":{},"是":{"docs":{},"基":{"docs":{},"于":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}},"而":{"docs":{},"创":{"docs":{},"造":{"docs":{},"。":{"docs":{},"与":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}}},"中":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"义":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}},"化":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}},"更":{"docs":{},"明":{"docs":{},"确":{"docs":{},"。":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}},"不":{"docs":{},"明":{"docs":{},"确":{"docs":{},";":{"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":{},"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":{},"c":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"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":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"标":{"docs":{},"签":{"docs":{},"(":{"docs":{},"用":{"docs":{},"于":{"docs":{},"读":{"docs":{},"屏":{"docs":{},"软":{"docs":{},"件":{"docs":{},")":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}},"即":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"言":{"docs":{},"选":{"docs":{},"择":{"docs":{},"页":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}}}}},"调":{"docs":{},"用":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.004026845637583893},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}},"系":{"docs":{},"统":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"渲":{"docs":{},"染":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}}}}},"函":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}},"时":{"docs":{},",":{"docs":{},"将":{"docs":{},"s":{"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":{},"换":{"docs":{},"成":{"docs":{},"m":{"docs":{},"y":{"docs":{},"s":{"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":{},"可":{"docs":{},":":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}}}}}},"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.006060606060606061}}}}}}}}}}}}}}}}},"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":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"获":{"docs":{},"得":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},"。":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"试":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter2/":{"ref":"chapter2/","tf":0.1}},"应":{"docs":{},"用":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}}}}}}}},"动":{"docs":{},"画":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}},"最":{"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.001519756838905775}}}},"docs":{}}},"docs":{}},"docs":{}}}}}}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"层":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}}}},"性":{"docs":{},"能":{"docs":{},"问":{"docs":{},"题":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}}},"模":{"docs":{},"式":{"docs":{},"断":{"docs":{},"言":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}}}},"度":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"跨":{"docs":{},"平":{"docs":{},"台":{"docs":{},"技":{"docs":{},"术":{"docs":{},"简":{"docs":{},"介":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}},"自":{"docs":{},"绘":{"docs":{},"引":{"docs":{},"擎":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01}}}}}}}},"组":{"docs":{},"件":{"docs":{},"状":{"docs":{},"态":{"docs":{},"共":{"docs":{},"享":{"docs":{},"(":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":5.001818181818182}}}}}}}}}}}}}}}}}}},"这":{"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":{},"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}},"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"纯":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.02}}},"“":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"封":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"便":{"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":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"种":{"docs":{},"写":{"docs":{},"法":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}},"常":{"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":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}}}}}}}}}}}},"由":{"docs":{},"于":{"docs":{},"要":{"docs":{},"去":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}},"因":{"docs":{},"为":{"docs":{},"单":{"docs":{},"词":{"docs":{},"对":{"docs":{},"是":{"docs":{},"在":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}}}}}}}}},"来":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"根":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}},"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"第":{"docs":{},"二":{"docs":{},"种":{"docs":{},"写":{"docs":{},"法":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}}},"一":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"任":{"docs":{},"意":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}},"完":{"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"问":{"docs":{},"题":{"docs":{},"是":{"docs":{},"由":{"docs":{},"于":{"docs":{},"无":{"docs":{},"法":{"docs":{},"连":{"docs":{},"接":{"docs":{},"到":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}}}}},"也":{"docs":{},"是":{"docs":{},"最":{"docs":{},"常":{"docs":{},"见":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},"之":{"docs":{},"一":{"docs":{},",":{"docs":{},"当":{"docs":{},"你":{"docs":{},"发":{"docs":{},"现":{"docs":{},"自":{"docs":{},"己":{"docs":{},"无":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"关":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"些":{"docs":{},"函":{"docs":{},"数":{"docs":{},"被":{"docs":{},"称":{"docs":{},"为":{"docs":{},"异":{"docs":{},"步":{"docs":{},"函":{"docs":{},"数":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"具":{"docs":{},"有":{"docs":{},"弹":{"docs":{},"性":{"docs":{},"空":{"docs":{},"间":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"例":{"docs":{},"子":{"docs":{},"功":{"docs":{},"能":{"docs":{},"是":{"docs":{},"相":{"docs":{},"似":{"docs":{},"的":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}},"文":{"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.00390625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"错":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"样":{"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.0024330900243309003}}}}}}}}}}}}},"的":{"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":{},"。":{"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":{},"开":{"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"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.003278688524590164}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"结":{"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.003278688524590164}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"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":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"默":{"docs":{},"认":{"docs":{},"值":{"docs":{},"是":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"处":{"docs":{},"理":{"docs":{},"那":{"docs":{},"些":{"docs":{},"f":{"docs":{},"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.003278688524590164}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"docs":{},"只":{"docs":{},"能":{"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.0017452006980802793}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"最":{"docs":{},"初":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"改":{"docs":{},"为":{"docs":{},":":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866}}}}}}}}}}}}},"调":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"现":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"当":{"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":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"会":{"docs":{},"较":{"docs":{},"好":{"docs":{},",":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}},"会":{"docs":{},"将":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"包":{"docs":{},"安":{"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.00625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"意":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"种":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}},"式":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"拼":{"docs":{},"装":{"docs":{},"其":{"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":{},"它":{"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":{},"成":{"docs":{},"。":{"docs":{"chapter10/intro.html":{"ref":"chapter10/intro.html","tf":0.04}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"个":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}}}},"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"平":{"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.008264462809917356}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"特":{"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"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":{"chapter13/intl.html":{"ref":"chapter13/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.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":{},"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"docs":{},"是":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"要":{"docs":{},"用":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}},"应":{"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.001519756838905775}}}}}}}}}}}}}}}}}},"两":{"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":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"段":{"docs":{},"代":{"docs":{},"码":{"docs":{},"有":{"docs":{},"两":{"docs":{},"点":{"docs":{},"可":{"docs":{},"以":{"docs":{},"优":{"docs":{},"化":{"docs":{},":":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}},"里":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"使":{"docs":{},"用":{"docs":{},"文":{"docs":{},"件":{"docs":{},"来":{"docs":{},"保":{"docs":{},"存":{"docs":{},"数":{"docs":{},"据":{"docs":{},":":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}}}}}},"时":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"触":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"与":{"docs":{},"在":{"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"句":{"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":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}},"进":{"docs":{},"入":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},"了":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}},"正":{"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.0035714285714285713}}}}}}}}}}}}},"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.0013422818791946308}}}}}}}}}}}}}}}}},"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.001519756838905775}}}}}}}}}}}}}},"度":{"docs":{},"指":{"docs":{},"示":{"docs":{},"器":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}},"色":{"docs":{},"动":{"docs":{},"画":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}},"条":{"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":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}},"docs":{}}}}}}}}}}},"docs":{}}}}}},"背":{"docs":{},"景":{"docs":{},"色":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}},"行":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}},"重":{"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":{},"并":{"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.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"关":{"docs":{},"联":{"docs":{},",":{"docs":{},"即":{"docs":{},"创":{"docs":{},"建":{"docs":{},"出":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}}}},"阶":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}}}},"速":{"docs":{},"度":{"docs":{},"快":{"docs":{},"、":{"docs":{},"性":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"采":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"语":{"docs":{},"言":{"docs":{},"开":{"docs":{},"发":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01}}}}}}}}}}}},"针":{"docs":{},"对":{"docs":{},"原":{"docs":{},"生":{"docs":{},"开":{"docs":{},"发":{"docs":{},"面":{"docs":{},"临":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"人":{"docs":{},"们":{"docs":{},"一":{"docs":{},"直":{"docs":{},"都":{"docs":{},"在":{"docs":{},"努":{"docs":{},"力":{"docs":{},"寻":{"docs":{},"找":{"docs":{},"好":{"docs":{},"的":{"docs":{},"解":{"docs":{},"决":{"docs":{},"方":{"docs":{},"案":{"docs":{},",":{"docs":{},"而":{"docs":{},"时":{"docs":{},"至":{"docs":{},"今":{"docs":{},"日":{"docs":{},",":{"docs":{},"已":{"docs":{},"经":{"docs":{},"有":{"docs":{},"很":{"docs":{},"多":{"docs":{},"跨":{"docs":{},"平":{"docs":{},"台":{"docs":{},"框":{"docs":{},"架":{"docs":{},"(":{"docs":{},"注":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"首":{"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.0035714285714285713}}}}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}},",":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"一":{"docs":{},"个":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}}}}}}}}}}}}}}}}}}}},"我":{"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.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"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":{},"性":{"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":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"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":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"构":{"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":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"添":{"docs":{},"加":{"docs":{},"需":{"docs":{},"要":{"docs":{},"导":{"docs":{},"入":{"docs":{},"的":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"。":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028}}}}}}}}}}}},"在":{"docs":{},"项":{"docs":{},"目":{"docs":{},"根":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"i":{"1":{"0":{"docs":{},"n":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}},"docs":{}},"docs":{}}}}}}}}}}}}}},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},":":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}}}}}}}}}},"打":{"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"次":{"docs":{},"推":{"docs":{},"出":{"docs":{},"了":{"docs":{},"一":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"页":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}},"高":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}},"性":{"docs":{},"能":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.02}}}},"度":{"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.004201680672268907}}}}},"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.0035714285714285713}}}}},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}},"使":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}},"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":{},"[":{"0":{"docs":{},".":{"0":{"docs":{},",":{"1":{"docs":{},".":{"0":{"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":{},"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.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}},"有":{"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":{},"组":{"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":{},"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":{},"数":{"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":{},"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":{},"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.002688172043010753}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"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":{},"选":{"docs":{},"框":{"docs":{},"不":{"docs":{},"选":{"docs":{},"中":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}},"语":{"docs":{},"言":{"docs":{},"区":{"docs":{},"域":{"docs":{},"不":{"docs":{},"对":{"docs":{"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02}}}}}}}}}},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}}},"a":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01}}}}}}},"如":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}},"主":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}},"或":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},"面":{"docs":{},"讨":{"docs":{},"论":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}}}}},"我":{"docs":{},"们":{"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/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}},"非":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"0":{"0":{"0":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}},"docs":{}},"docs":{}},"9":{"0":{"docs":{},"d":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}},"1":{"4":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}},"docs":{}},"docs":{}},"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},"e":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}}}}}},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}}}},"与":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}},"受":{"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.0018587360594795538}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"些":{"docs":{},"回":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"桥":{"docs":{},"梁":{"docs":{},"。":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}},",":{"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.0018587360594795538}}}}}}}}}}}}}}},"定":{"docs":{},"义":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}}}},"渲":{"docs":{},"染":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"i":{"docs":{},"m":{"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":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}},"中":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},"。":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"类":{"docs":{},"部":{"docs":{},"分":{"docs":{},"定":{"docs":{},"义":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}},"创":{"docs":{},"建":{"docs":{},",":{"docs":{},"不":{"docs":{},"应":{"docs":{},"该":{"docs":{},"手":{"docs":{},"动":{"docs":{},"实":{"docs":{},"例":{"docs":{},"化":{"docs":{},"此":{"docs":{},"类":{"docs":{},"或":{"docs":{},"直":{"docs":{},"接":{"docs":{},"继":{"docs":{},"承":{"docs":{},"此":{"docs":{},"类":{"docs":{},"。":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}},"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.00625}}}}}}}}}}}}}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}},"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.0018726591760299626}}}}}}},"{":{"docs":{},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}}}}}}},"d":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}},":":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},":":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.019801980198019802},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010309278350515464},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.01440329218106996}},"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.004201680672268907}}}}}}}}}}}}},"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.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}},",":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.005698005698005698}}},";":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.005698005698005698}}},"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.0018587360594795538}}}}}}}}}}},"u":{"docs":{},"m":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0045871559633027525}}},"的":{"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}},"(":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}}}}},"{":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}}}}},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101},"chapter13/intl.html":{"ref":"chapter13/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.0013477088948787063}}}}}}}}},",":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.007339449541284404}}}}}},"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.007407407407407408}}}}}}}}}}}}}}},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}},"e":{"docs":{},"(":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.006711409395973154},"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.052083333333333336}}}}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609}},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0026954177897574125},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.029585798816568046},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}},"{":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609}}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},":":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}},"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}}}}}}}}}}}}}},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},"b":{"docs":{},"y":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}},"d":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0170316301703163},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.009302325581395349},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.012578616352201259},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.018255578093306288},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.02702702702702703},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.005390835579514825},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.00881057268722467},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.011834319526627219},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00808080808080808},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.013605442176870748},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.008064516129032258},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.008097165991902834},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.012269938650306749},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.024390243902439025},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.01935483870967742},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.012727272727272728},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.00847457627118644},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0025041736227045075},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.019197207678883072},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.01749271137026239},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.015463917525773196},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.017543859649122806},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.012605042016806723},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00823045267489712},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.014778325123152709},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.019933554817275746},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.00909090909090909},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.005442176870748299},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.011299435028248588},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0045871559633027525},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.009302325581395349},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.024242424242424242},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.005649717514124294},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.004694835680751174},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.015151515151515152},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.007058823529411765},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.007692307692307693},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.012658227848101266}}},"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.0013477088948787063}}}}}}}}},"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.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},":":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}},"i":{"docs":{},"t":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}}}},"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.006557377049180328},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}},":":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}},"(":{"docs":{},"'":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}},".":{"docs":{},".":{"docs":{},".":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}}}},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.013114754098360656},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}},"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.003278688524590164}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}},"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}},")":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}},"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.0049504950495049506},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684}},"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.0049504950495049506}}}}}},"docs":{}}},"5":{"docs":{},".":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}},"docs":{}}},"6":{"docs":{},".":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}},"docs":{}},")":{"docs":{},",":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}},"8":{"docs":{},")":{"docs":{},",":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}},"docs":{}},"2":{"0":{"docs":{},".":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.026490066225165563},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}},"docs":{}}},"docs":{}},"8":{"docs":{},".":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}},"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.0013477088948787063},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001669449081803005},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.004705882352941176},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684}}}}}}},"b":{"docs":{},"o":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},":":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}}}},"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.0013477088948787063},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001669449081803005},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}}}}}}}}},"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.011627906976744186},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.0035294117647058825}}}}}}}}}}}}}}}}}}}}}}},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},";":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}}},",":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}}},")":{"docs":{},";":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602}}}}}}}},"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.010526315789473684}}}}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}}}},"docs":{}}},"4":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}},"(":{"0":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}},"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.010526315789473684},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}}},"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":{},"是":{"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.010526315789473684}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"c":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}}}}}},",":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}},"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.003278688524590164},"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}},"{":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}},")":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.01694915254237288}}},",":{"docs":{},"在":{"docs":{},"移":{"docs":{},"动":{"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.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.014814814814814815}},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}}},"=":{"docs":{},">":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}}}},"始":{"docs":{},"终":{"docs":{},"返":{"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.007407407407407408}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"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.014814814814814815}}}}}}}}}}}}}}}}}},"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.007407407407407408}},"(":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}},"{":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.01818181818181818},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0037174721189591076}},")":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0058309037900874635}},".":{"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":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001669449081803005}}}}}}}}}}}}}}}}}}}},")":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}},".":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},";":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}},"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},",":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}},"_":{"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.0018587360594795538}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}},"和":{"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}}}}}}}}}}}}}}},"与":{"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.006060606060606061}}}}}}}}}}}}}}},"就":{"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"生":{"docs":{},"命":{"docs":{},"周":{"docs":{},"期":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}}}}}}}}}},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}},"]":{"docs":{},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}}}},")":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0034904013961605585}},")":{"docs":{},".":{"docs":{},"t":{"docs":{},"o":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}},")":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}}}}}}},"{":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}},".":{"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.002688172043010753}}}}}}}}}}}}}}}}}}}}}}}},"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.0017452006980802793}}}},"y":{"docs":{},";":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}},"a":{"docs":{},"s":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}}}},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}},";":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}},"初":{"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.01}}}}}}}}}},"始":{"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.001519756838905775}}}}}}}}}}}}},"数":{"docs":{},"据":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}}}},"完":{"docs":{},"成":{"docs":{},"后":{"docs":{},"才":{"docs":{},"会":{"docs":{},"加":{"docs":{},"载":{"docs":{},"u":{"docs":{},"i":{"docs":{},"(":{"docs":{},"m":{"docs":{},"y":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},")":{"docs":{},",":{"docs":{},"m":{"docs":{},"y":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}}}}}}},"博":{"docs":{},"客":{"docs":{},":":{"docs":{},"随":{"docs":{},"着":{"docs":{},"f":{"docs":{},"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":{},"、":{"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"官":{"docs":{},"网":{"docs":{},":":{"docs":{},"阅":{"docs":{},"读":{"docs":{},"f":{"docs":{},"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"底":{"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"部":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"导":{"docs":{},"航":{"docs":{},"栏":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}},"导":{"docs":{},"航":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}},"栏":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}},"打":{"docs":{},"一":{"docs":{},"个":{"docs":{},"圆":{"docs":{},"形":{"docs":{},"的":{"docs":{},"洞":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}}}}},"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":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}},"有":{"docs":{},"了":{"docs":{},"资":{"docs":{},"料":{"docs":{},"和":{"docs":{},"社":{"docs":{},"区":{"docs":{},"后":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"我":{"docs":{},"们":{"docs":{},"学":{"docs":{},"习":{"docs":{},"者":{"docs":{},"自":{"docs":{},"身":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"最":{"docs":{},"重":{"docs":{},"要":{"docs":{},"的":{"docs":{},"还":{"docs":{},"是":{"docs":{},"要":{"docs":{},"多":{"docs":{},"动":{"docs":{},"手":{"docs":{},"、":{"docs":{},"多":{"docs":{},"实":{"docs":{},"践":{"docs":{},",":{"docs":{},"在":{"docs":{},"本":{"docs":{},"书":{"docs":{},"后":{"docs":{},"面":{"docs":{},"的":{"docs":{},"章":{"docs":{},"节":{"docs":{},"中":{"docs":{},",":{"docs":{},"希":{"docs":{},"望":{"docs":{},"读":{"docs":{},"者":{"docs":{},"能":{"docs":{},"够":{"docs":{},"亲":{"docs":{},"自":{"docs":{},"动":{"docs":{},"手":{"docs":{},"写":{"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"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":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"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":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"上":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"全":{"docs":{},"局":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"还":{"docs":{},"需":{"docs":{},"要":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"如":{"docs":{},"何":{"docs":{},"跨":{"docs":{},"组":{"docs":{},"件":{"docs":{},"共":{"docs":{},"享":{"docs":{},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{},"当":{"docs":{},"然":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"要":{"docs":{},"共":{"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":{},"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":{},"更":{"docs":{},"新":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"使":{"docs":{},"用":{"docs":{},"全":{"docs":{},"局":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"我":{"docs":{},"们":{"docs":{},"必":{"docs":{},"须":{"docs":{},"得":{"docs":{},"去":{"docs":{},"手":{"docs":{},"动":{"docs":{},"处":{"docs":{},"理":{"docs":{},"状":{"docs":{},"态":{"docs":{},"变":{"docs":{},"动":{"docs":{},"通":{"docs":{},"知":{"docs":{},"、":{"docs":{},"接":{"docs":{},"收":{"docs":{},"机":{"docs":{},"制":{"docs":{},"以":{"docs":{},"及":{"docs":{},"变":{"docs":{},"量":{"docs":{},"和":{"docs":{},"组":{"docs":{},"件":{"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":{},"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":{},"关":{"docs":{},"的":{"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":{},"、":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"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":{},"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":{},"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":{},"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":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"f":{"docs":{},"i":{"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":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"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":{},"然":{"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":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"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":{},"下":{"docs":{},":":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"关":{"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.0013422818791946308}}}}}}}}}}}}}}},"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":{},"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"些":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"会":{"docs":{},"遇":{"docs":{},"到":{"docs":{},"无":{"docs":{},"论":{"docs":{},"异":{"docs":{},"步":{"docs":{},"任":{"docs":{},"务":{"docs":{},"执":{"docs":{},"行":{"docs":{},"成":{"docs":{},"功":{"docs":{},"或":{"docs":{},"失":{"docs":{},"败":{"docs":{},"都":{"docs":{},"需":{"docs":{},"要":{"docs":{},"做":{"docs":{},"一":{"docs":{},"些":{"docs":{},"事":{"docs":{},"的":{"docs":{},"场":{"docs":{},"景":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"在":{"docs":{},"网":{"docs":{},"络":{"docs":{},"请":{"docs":{},"求":{"docs":{},"前":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"加":{"docs":{},"载":{"docs":{},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{},",":{"docs":{},"在":{"docs":{},"请":{"docs":{},"求":{"docs":{},"结":{"docs":{},"束":{"docs":{},"后":{"docs":{},"关":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"等":{"docs":{},"待":{"docs":{},"多":{"docs":{},"个":{"docs":{},"异":{"docs":{},"步":{"docs":{},"任":{"docs":{},"务":{"docs":{},"都":{"docs":{},"执":{"docs":{},"行":{"docs":{},"结":{"docs":{},"束":{"docs":{},"后":{"docs":{},"才":{"docs":{},"进":{"docs":{},"行":{"docs":{},"一":{"docs":{},"些":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"我":{"docs":{},"们":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"界":{"docs":{},"面":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"先":{"docs":{},"分":{"docs":{},"别":{"docs":{},"从":{"docs":{},"两":{"docs":{},"个":{"docs":{},"网":{"docs":{},"络":{"docs":{},"接":{"docs":{},"口":{"docs":{},"获":{"docs":{},"取":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"获":{"docs":{},"取":{"docs":{},"成":{"docs":{},"功":{"docs":{},"后":{"docs":{},",":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"需":{"docs":{},"要":{"docs":{},"一":{"docs":{},"些":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"的":{"docs":{},"动":{"docs":{},"画":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"动":{"docs":{},"画":{"docs":{},"可":{"docs":{},"能":{"docs":{},"由":{"docs":{},"一":{"docs":{},"个":{"docs":{},"动":{"docs":{},"画":{"docs":{},"序":{"docs":{},"列":{"docs":{},"或":{"docs":{},"重":{"docs":{},"叠":{"docs":{},"的":{"docs":{},"动":{"docs":{},"画":{"docs":{},"组":{"docs":{},"成":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},":":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"柱":{"docs":{},"状":{"docs":{},"图":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{},"高":{"docs":{},"度":{"docs":{},"增":{"docs":{},"长":{"docs":{},"的":{"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":{},"含":{"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.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":{},"易":{"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":{},"w":{"docs":{},"i":{"docs":{},"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":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}},"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.006024096385542169}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"底":{"docs":{},"部":{"docs":{},"导":{"docs":{},"航":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}},"抽":{"docs":{},"屉":{"docs":{},"菜":{"docs":{},"单":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}},"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.006211180124223602}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"各":{"docs":{},"种":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"异":{"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.003278688524590164}}}}}}}}}}}},"时":{"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"两":{"docs":{},"点":{"docs":{},"需":{"docs":{},"要":{"docs":{},"说":{"docs":{},"明":{"docs":{},":":{"docs":{"chapter13/intl.html":{"ref":"chapter13/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.0018832391713747645}}}}}}}}}}}}}},"缓":{"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":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"继":{"docs":{},"续":{"docs":{},"往":{"docs":{},"下":{"docs":{},"走":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}},"源":{"docs":{},"码":{"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"出":{"docs":{},"只":{"docs":{},"有":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}},"很":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"看":{"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"完":{"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"社":{"docs":{},"区":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01}}}},"类":{"docs":{},"型":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},"安":{"docs":{},"全":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01}}}},",":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},"一":{"docs":{},"旦":{"docs":{},"确":{"docs":{},"定":{"docs":{},"后":{"docs":{},"则":{"docs":{},"不":{"docs":{},"能":{"docs":{},"再":{"docs":{},"更":{"docs":{},"改":{"docs":{},"其":{"docs":{},"类":{"docs":{},"型":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}}}}}}}}}}}},"似":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"原":{"docs":{},"生":{"docs":{},"开":{"docs":{},"发":{"docs":{},",":{"docs":{},"f":{"docs":{},"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"同":{"docs":{},",":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}}},"中":{"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"还":{"docs":{},"定":{"docs":{},"义":{"docs":{},"了":{"docs":{},"许":{"docs":{},"多":{"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":{},"s":{"docs":{},"类":{"docs":{},"定":{"docs":{},"义":{"docs":{},"。":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.006085192697768763}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"预":{"docs":{},"置":{"docs":{},"的":{"docs":{},"枚":{"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.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}},"资":{"docs":{},"源":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01}},"管":{"docs":{},"理":{"docs":{"chapter2/":{"ref":"chapter2/","tf":0.1},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}}}}}},"项":{"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.01}}}}}}}}}},"信":{"docs":{},"息":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}},"列":{"docs":{},"表":{"docs":{},"项":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}},"占":{"docs":{},"用":{"docs":{},"的":{"docs":{},"存":{"docs":{},"储":{"docs":{},"大":{"docs":{},"小":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}},"拥":{"docs":{},"有":{"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":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}}},"$":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}},"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.0013422818791946308}},"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0056022408963585435}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}}}},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},"'":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}},"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.003278688524590164}}}}}}}}},"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.003278688524590164}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}}}}},"v":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}},"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.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},".":{"docs":{},"t":{"docs":{},"o":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"}":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}},";":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.005454545454545455}}}}}}}}}}}}}}}}}}}}},"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":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}},"'":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"}":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}},"'":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"}":{"docs":{},".":{"docs":{},"'":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"}":{"docs":{},"!":{"docs":{},"'":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}},"[":{"docs":{},"'":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"'":{"docs":{},"]":{"docs":{},"}":{"docs":{},".":{"docs":{},"'":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"'":{"docs":{},"]":{"docs":{},"}":{"docs":{},"!":{"docs":{},"'":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"\"":{"docs":{},"}":{"docs":{},",":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.005698005698005698}}}}}}}}},"&":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}},"&":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0055762081784386614},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0035211267605633804},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}},"#":{"docs":{},"x":{"docs":{},"e":{"0":{"0":{"0":{"docs":{},";":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}},"docs":{}},"docs":{}},"9":{"0":{"docs":{},"d":{"docs":{},";":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}},"1":{"4":{"docs":{},";":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}},"docs":{}},"docs":{}},"docs":{}}}}},"'":{"0":{"docs":{},".":{"1":{"docs":{},".":{"1":{"docs":{},"'":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}},"docs":{}}},"4":{"docs":{},".":{"3":{"docs":{},"'":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}},"docs":{}}},"docs":{}}},"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}},"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/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},".":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"'":{"docs":{},",":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}},"o":{"docs":{},"w":{"docs":{},"d":{"docs":{},"y":{"docs":{},"'":{"docs":{},")":{"docs":{},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}},",":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}}},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.005369127516778523},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801}}}}},"$":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}},"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.0020964360587002098}},"e":{"docs":{},"'":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}}}}}}}}}}}},"_":{"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.004866180048661801}}}}}},"'":{"docs":{},",":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}},"{":{"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":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}}}}}},"e":{"docs":{},".":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"}":{"docs":{},"'":{"docs":{},".":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}}}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{},"'":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"'":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}},"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.0018832391713747645}}}}}}}}}}}}}}}}}},"s":{"docs":{},"m":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.009302325581395349}}}}},"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}},"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}},"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}},"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}},"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}},"_":{"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.009732360097323601},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.009302325581395349},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"'":{"docs":{},"}":{"docs":{},")":{"docs":{},";":{"docs":{"chapter13/intl.html":{"ref":"chapter13/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.004866180048661801},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"'":{"docs":{},",":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.006085192697768763}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}},"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.004866180048661801},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.009852216748768473},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}},"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.004807692307692308}},";":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}}}}}}}}}}}}}},"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.0020964360587002098}}}}}}}}}}}}}}}}}},"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.0020964360587002098},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}}}}}}}},"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.0017452006980802793}}}}}}}}}}}}}}}}}},"_":{"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.00625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"/":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},"/":{"docs":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.005813953488372093}}}}}}}}}}}}}}}},"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":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.007339449541284404}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"'":{"docs":{},":":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}},"_":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"'":{"docs":{},":":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"g":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}},"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.004807692307692308}},";":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}},"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.001519756838905775}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"'":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064}},";":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}}}}}}}},"i":{"docs":{},"o":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}},"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.009615384615384616}}}}}}}}},"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.00390625}}}}}}}}}}}},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"'":{"docs":{},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.00510204081632653}}}}}}}}},"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":{"chapter13/intl.html":{"ref":"chapter13/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.003278688524590164}}}}}},"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.0018587360594795538}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"'":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.006085192697768763}}}}}}}}},"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.01171875}}}}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"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":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.005813953488372093},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}},"'":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}},"%":{"docs":{},"s":{"docs":{},".":{"docs":{},"g":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"'":{"docs":{},":":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"'":{"docs":{},":":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"g":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.003669724770642202}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"'":{"docs":{},":":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}}}},"'":{"docs":{},")":{"docs":{"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02}},",":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.013888888888888888},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},";":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}},"r":{"docs":{},"l":{"docs":{},"_":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"'":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}},"n":{"docs":{},"k":{"docs":{},"n":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}}}}}},"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"_":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"'":{"docs":{},")":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}},",":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}}}},"s":{"docs":{},"i":{"docs":{},"c":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}},"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":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.008403361344537815}}}}}},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}},"e":{"docs":{},"'":{"docs":{},",":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}}},"[":{"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.0018587360594795538}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"'":{"docs":{},")":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}},"*":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.010309278350515464},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.009900990099009901},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.00816326530612245},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.008264462809917356},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.004694835680751174}},"*":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616}}},"/":{"docs":{},"*":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}},";":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308},"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.006134969325153374},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.003669724770642202},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}},">":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.013422818791946308},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0026954177897574125},"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":0.08},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.022792022792022793},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.012539184952978056},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.028925619834710745},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.009416195856873822},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.007042253521126761}},"=":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028}}}},"[":{"0":{"docs":{},"]":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}},".":{"0":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}},"docs":{}}},"1":{"docs":{},"]":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}},"2":{"docs":{},"]":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}},"3":{"docs":{},"]":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}},"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308},"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.0069767441860465115},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.0078125},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.01020408163265306},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.008086253369272238},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0411522633744856},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.01775147928994083},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.01485148514851485},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015625},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00851063829787234},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.012903225806451613},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.012121212121212121},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.02040816326530612},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.008064516129032258},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.012145748987854251},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.014124293785310734},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.015025041736227046},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.008726003490401396},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.006802721088435374},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.013888888888888888},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.04},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.011764705882352941},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}},"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.004559270516717325}}}}},"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.004559270516717325}}}}}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"]":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.00303951367781155}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}},"]":{"docs":{},",":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}}},";":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.008547008547008548},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0037174721189591076}}}},"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.006622516556291391},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.004081632653061225}}}}}},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"b":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"[":{"3":{"0":{"0":{"docs":{},"]":{"docs":{},",":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}},"docs":{}},"docs":{}},"docs":{}}}}}},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{},",":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}}}}}},"b":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}},"[":{"7":{"0":{"0":{"docs":{},"]":{"docs":{},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.004081632653061225}}}}},"docs":{}},"docs":{}},"docs":{}}}}}},"t":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.004081632653061225}}}}}}}}},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"]":{"docs":{},".":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}}},"\"":{"docs":{},"新":{"docs":{},"闻":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}},"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.002688172043010753}}}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"]":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"]":{"docs":{},")":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}}}}}}},"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.007407407407407408}}}}}}}}}}}}}}},"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":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}},"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.008264462809917356}}}}}}}}}}}}}}}},"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"'":{"docs":{},"e":{"docs":{},"n":{"docs":{},"'":{"docs":{},",":{"docs":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"]":{"docs":{},",":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}}}}},"_":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"]":{"docs":{},".":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"]":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308},"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.00847457627118644},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}},")":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}},".":{"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.0018726591760299626}}}}}}}}}}}}}}}},"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.0018726591760299626}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.005376344086021506},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}},",":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004651162790697674},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.007653061224489796},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.008086253369272238},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0411522633744856},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.01775147928994083},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.01485148514851485},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015625},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00851063829787234},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.012903225806451613},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.012121212121212121},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.02040816326530612},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.012145748987854251},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005649717514124294},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.015025041736227046},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.006980802792321117},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.006802721088435374},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.013888888888888888},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.04},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.010588235294117647},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}},".":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"(":{"docs":{},"(":{"docs":{},"e":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}}}}}}}},";":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}},"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"8":{"6":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},"_":{"6":{"4":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},"docs":{}},"docs":{}},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}},"docs":{}},"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.003745318352059925},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.008264462809917356}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}},")":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}},"~":{"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.0013422818791946308}}}}}}}}}}}}}},"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.0013422818791946308}}}}}}}},"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.0013422818791946308}}},"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.0013422818791946308}}}}}}}}}},"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.0026845637583892616}}},"’":{"docs":{},",":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616}}}}}}}}}}},"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.0013422818791946308}}}}}}}}}}},"o":{"docs":{},"k":{"docs":{},"’":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}},"•":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616}}},"✗":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},"之":{"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":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}},"所":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"仔":{"docs":{},"细":{"docs":{},"检":{"docs":{},"查":{"docs":{},"命":{"docs":{},"令":{"docs":{},"行":{"docs":{},"输":{"docs":{},"出":{"docs":{},"以":{"docs":{},"获":{"docs":{},"取":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"以":{"docs":{},"启":{"docs":{},"用":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}},"获":{"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.0013422818791946308}}}}}}}}}}}}}}}}},"下":{"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.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}},"步":{"docs":{},"骤":{"docs":{},"与":{"docs":{},"上":{"docs":{},"面":{"docs":{},"使":{"docs":{},"用":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"项":{"docs":{},"目":{"docs":{},"中":{"docs":{},"使":{"docs":{},"用":{"docs":{},"这":{"docs":{},"些":{"docs":{},"新":{"docs":{},"的":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"项":{"docs":{},".":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}},"任":{"docs":{},"何":{"0":{"docs":{},".":{"4":{"docs":{},".":{"docs":{},"x":{"docs":{},"(":{"docs":{},"x":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}},"docs":{}}},"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}},"意":{"docs":{},"弧":{"docs":{},"度":{"docs":{},";":{"docs":{},"进":{"docs":{},"度":{"docs":{},"条":{"docs":{},"可":{"docs":{},"以":{"docs":{},"不":{"docs":{},"是":{"docs":{},"整":{"docs":{},"圆":{"docs":{},"。":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}}}}}}},"体":{"docs":{},"验":{"docs":{},"热":{"docs":{},"重":{"docs":{},"载":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616}}}}}},"积":{"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.002551020408163265}}}}}}}}}}}}}}}},"你":{"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.0026845637583892616}}}}}}}}}}}}}}}}}}}}}},"看":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}},"通":{"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"能":{"docs":{},"多":{"docs":{},"次":{"docs":{},"看":{"docs":{},"到":{"docs":{},"过":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403}}}}}}}}}},"使":{"docs":{},"用":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}},"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"镜":{"docs":{},"像":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}},"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}},"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.002577319587628866}}}}}}}}}}}}}}}}}},"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.0018726591760299626}}}}}}}}}}}}}}}}},"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.006024096385542169}}}}}}}}}}}}}}}}}}}}},"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.006211180124223602}}}}}}}}}},"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.00625}}}}}}}}}}}}}}}}}}}}}}}}},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}}}}},"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"些":{"docs":{},"专":{"docs":{},"门":{"docs":{},"用":{"docs":{},"于":{"docs":{},"状":{"docs":{},"态":{"docs":{},"管":{"docs":{},"理":{"docs":{},"的":{"docs":{},"包":{"docs":{},",":{"docs":{},"如":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"、":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"x":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"上":{"docs":{},"查":{"docs":{},"看":{"docs":{},"其":{"docs":{},"详":{"docs":{},"细":{"docs":{},"信":{"docs":{},"息":{"docs":{},"。":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"字":{"docs":{},"体":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}}},"文":{"docs":{},"本":{"docs":{},"样":{"docs":{},"式":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}}}}},"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.006024096385542169}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}}}}}}}}}}}}}}}}}}},"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.002551020408163265}}}}}}}},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"字":{"docs":{},"体":{"docs":{},"图":{"docs":{},"标":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}}}}}},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856}}}}}}}},"复":{"docs":{},"杂":{"docs":{},"。":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}}}}},"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.0032258064516129032}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"l":{"docs":{},"包":{"docs":{"chapter13/":{"ref":"chapter13/","tf":0.25},"chapter13/intl.html":{"ref":"chapter13/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":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"包":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"添":{"docs":{},"加":{"docs":{},"两":{"docs":{},"个":{"docs":{},"依":{"docs":{},"赖":{"docs":{},":":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"插":{"docs":{},"件":{"docs":{},"生":{"docs":{},"成":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}},"缩":{"docs":{},"放":{"docs":{},"动":{"docs":{},"画":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}},"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":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter11/":{"ref":"chapter11/","tf":0.08333333333333333},"chapter11/socket.html":{"ref":"chapter11/socket.html","tf":0.02857142857142857}}}}}}},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{},"实":{"docs":{},"现":{"docs":{},"i":{"docs":{},"o":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"平":{"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":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.011494252873563218}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}}}}}},"添":{"docs":{},"加":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"平":{"docs":{},"台":{"docs":{},"特":{"docs":{},"定":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}}}}},"打":{"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}},"例":{"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.0013422818791946308}}}}}}}}}}},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},",":{"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"假":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"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.004807692307692308}}}}}}}}}}}}}}}}},"在":{"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.001519756838905775}}}},"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/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"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.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}},"子":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}},"依":{"docs":{},"赖":{"docs":{},"下":{"docs":{},"面":{"docs":{},"这":{"docs":{},"些":{"docs":{},"命":{"docs":{},"令":{"docs":{},"行":{"docs":{},"工":{"docs":{},"具":{"docs":{},".":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616}}}}}}}}}}}},"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.00625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"本":{"docs":{},"地":{"docs":{},"包":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}}}}},"包":{"docs":{},"中":{"docs":{},"的":{"docs":{},"资":{"docs":{},"源":{"docs":{},"图":{"docs":{},"片":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}}}}}}}}},"登":{"docs":{},"录":{"docs":{},"状":{"docs":{},"态":{"docs":{},"的":{"docs":{},"页":{"docs":{},"面":{"docs":{},":":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}},"改":{"docs":{},"变":{"docs":{},"时":{"docs":{},",":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"配":{"docs":{},"置":{"docs":{},"信":{"docs":{},"息":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"发":{"docs":{},"生":{"docs":{},"改":{"docs":{},"变":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}},"然":{"docs":{},"使":{"docs":{},"用":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"组":{"docs":{},"件":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}}}}},"列":{"docs":{},"表":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},"此":{"docs":{},"时":{"docs":{},"的":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}},"项":{"docs":{},"组":{"docs":{},"件":{"docs":{},"我":{"docs":{},"们":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{},"s":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"o":{"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":{},"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":{},"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":{},"会":{"docs":{},"打":{"docs":{},"印":{"docs":{},"出":{"docs":{},"它":{"docs":{},"。":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"加":{"docs":{},"载":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}},"中":{"docs":{},",":{"docs":{},"参":{"docs":{},"数":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}},"下":{"docs":{},"拉":{"docs":{},"刷":{"docs":{},"新":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"删":{"docs":{},"除":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"(":{"docs":{},"拦":{"docs":{},"截":{"docs":{},"器":{"docs":{},"中":{"docs":{},"会":{"docs":{},"读":{"docs":{},"取":{"docs":{},"这":{"docs":{},"些":{"docs":{},"信":{"docs":{},"息":{"docs":{},")":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}}}}},"创":{"docs":{},"建":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}},"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.0026845637583892616}},"模":{"docs":{},"板":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}}}},"平":{"docs":{},"台":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}}}}}}}}}}},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"延":{"docs":{},"时":{"docs":{},"任":{"docs":{},"务":{"docs":{},"(":{"docs":{},"实":{"docs":{},"际":{"docs":{},"场":{"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.0018726591760299626}}}}}}}}}}}}}}},"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.002325581395348837}}}}}}}}}}}}}}}}},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"项":{"docs":{},"目":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}}}}}},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"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":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0013477088948787063}}}}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}},"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.006060606060606061}}}}}}}}}}}}}}}}}},"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.00202020202020202}}}}}}}}},"进":{"docs":{},"度":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"后":{"docs":{},"面":{"docs":{},"实":{"docs":{},"现":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}}}}},"刷":{"docs":{},"新":{"docs":{},"当":{"docs":{},"前":{"docs":{},"终":{"docs":{},"端":{"docs":{},"窗":{"docs":{},"口":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}},"页":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"升":{"docs":{},"级":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},"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.0013422818791946308}}}}}}}}}}},"即":{"docs":{},"可":{"docs":{},"解":{"docs":{},"决":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}},"\"":{"docs":{},"漂":{"docs":{},"浮":{"docs":{},"\"":{"docs":{},"按":{"docs":{},"钮":{"docs":{},",":{"docs":{},"它":{"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":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}},"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":{},"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"去":{"docs":{},"f":{"docs":{},"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"官":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"另":{"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":{},"函":{"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":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"还":{"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":{},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"和":{"docs":{},"o":{"docs":{},"n":{"docs":{},"u":{"docs":{},"n":{"docs":{},"k":{"docs":{},"n":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"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":{},"单":{"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":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"过":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"将":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"o":{"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":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},"r":{"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":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"类":{"docs":{},"中":{"docs":{},"有":{"docs":{},"设":{"docs":{},"置":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"上":{"docs":{},"限":{"docs":{},"的":{"docs":{},"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":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"图":{"docs":{},"片":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"是":{"docs":{},"在":{"docs":{},"内":{"docs":{},"存":{"docs":{},"中":{"docs":{},",":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"进":{"docs":{},"行":{"docs":{},"本":{"docs":{},"地":{"docs":{},"文":{"docs":{},"件":{"docs":{},"持":{"docs":{},"久":{"docs":{},"化":{"docs":{},"存":{"docs":{},"储":{"docs":{},",":{"docs":{},"这":{"docs":{},"也":{"docs":{},"是":{"docs":{},"为":{"docs":{},"什":{"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/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.00202020202020202}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"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":{},"数":{"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":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"是":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"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":{},"一":{"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":{},"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":{},"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"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":{},"变":{"docs":{},"监":{"docs":{},"听":{"docs":{},"器":{"docs":{},"。":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"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":{},"变":{"docs":{},"量":{"docs":{},")":{"docs":{},"发":{"docs":{},"出":{"docs":{},"的":{"docs":{},",":{"docs":{},"在":{"docs":{},"创":{"docs":{},"建":{"docs":{},"该":{"docs":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},"实":{"docs":{},"例":{"docs":{},"时":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"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":{},"部":{"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/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"启":{"docs":{},"动":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.004026845637583893},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.008264462809917356},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}},"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.0026845637583892616}}}}}}}}},"您":{"docs":{},"的":{"docs":{},"设":{"docs":{},"备":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}},"屏":{"docs":{},"幕":{"docs":{},"将":{"docs":{},"永":{"docs":{},"远":{"docs":{},"持":{"docs":{},"续":{"docs":{},"显":{"docs":{},"示":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}}}}}}}}}}}}}},"命":{"docs":{},"令":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},"以":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}},"查":{"docs":{},"看":{"docs":{},"是":{"docs":{},"否":{"docs":{},"都":{"docs":{},"准":{"docs":{},"备":{"docs":{},"o":{"docs":{},"k":{"docs":{},"了":{"docs":{},":":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}},"来":{"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":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"和":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"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":{},"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":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"自":{"docs":{},"动":{"docs":{},"化":{"docs":{},"测":{"docs":{},"试":{"docs":{},"包":{"docs":{},"等":{"docs":{},"。":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"创":{"docs":{},"建":{"docs":{},":":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}},"执":{"docs":{},"行":{"docs":{},"成":{"docs":{},"功":{"docs":{},"后":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"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":{},"下":{"docs":{},"会":{"docs":{},"生":{"docs":{},"成":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"名":{"docs":{},"路":{"docs":{},"由":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}},"参":{"docs":{},"数":{"docs":{},"传":{"docs":{},"递":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}},"中":{"docs":{},"测":{"docs":{},"试":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}},"安":{"docs":{},"卓":{"docs":{},"包":{"docs":{},"配":{"docs":{},"置":{"docs":{},"问":{"docs":{},"题":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}},"装":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616}},"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.0026845637583892616}}}}}}}}},"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.0013422818791946308}},"和":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"插":{"docs":{},"件":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}},"插":{"docs":{},"件":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}},"之":{"docs":{},"后":{"docs":{},"重":{"docs":{},"新":{"docs":{},"运":{"docs":{},"行":{"docs":{},"即":{"docs":{},"可":{"docs":{},",":{"docs":{},"如":{"docs":{},"图":{"1":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},"docs":{}}}}}}}}}}}},"步":{"docs":{},"骤":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}},"目":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"遇":{"docs":{},"到":{"docs":{},"问":{"docs":{},"题":{"docs":{},"?":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}},"定":{"docs":{},"位":{"docs":{},"到":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}},"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.0013422818791946308}}}}}}}}},"您":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.008264462809917356}}}},"参":{"docs":{},"考":{"docs":{},"系":{"docs":{},"统":{"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":{},"以":{"docs":{},"是":{"docs":{},"父":{"docs":{},"容":{"docs":{},"器":{"docs":{},"矩":{"docs":{},"形":{"docs":{},"的":{"docs":{},"四":{"docs":{},"个":{"docs":{},"顶":{"docs":{},"点":{"docs":{},";":{"docs":{},"而":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"则":{"docs":{},"需":{"docs":{},"要":{"docs":{},"先":{"docs":{},"通":{"docs":{},"过":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"义":{"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.0018726591760299626}}}},"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/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}}}}}}},"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/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"背":{"docs":{},"景":{"docs":{},"蓝":{"docs":{},"色":{"docs":{},",":{"docs":{},"两":{"docs":{},"边":{"docs":{},"圆":{"docs":{},"角":{"docs":{},"的":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"。":{"docs":{},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"图":{"3":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}},"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.0013477088948787063}}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"类":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"表":{"docs":{},"示":{"docs":{},"商":{"docs":{},"品":{"docs":{},"信":{"docs":{},"息":{"docs":{},":":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}},"保":{"docs":{},"存":{"docs":{},"购":{"docs":{},"物":{"docs":{},"车":{"docs":{},"内":{"docs":{},"商":{"docs":{},"品":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"c":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"类":{"docs":{},":":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}},"通":{"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.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}},"路":{"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.006211180124223602}}}}}}}}}}}}},"\"":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"两":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"事":{"docs":{},"件":{"docs":{},":":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}},"制":{"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":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"现":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}},"快":{"docs":{},"速":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"周":{"docs":{},"期":{"docs":{},",":{"docs":{},"热":{"docs":{},"重":{"docs":{},"载":{"docs":{},"就":{"docs":{},"是":{"docs":{},"无":{"docs":{},"需":{"docs":{},"重":{"docs":{},"启":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"就":{"docs":{},"能":{"docs":{},"实":{"docs":{},"时":{"docs":{},"加":{"docs":{},"载":{"docs":{},"修":{"docs":{},"改":{"docs":{},"后":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"并":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"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":{},"中":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"应":{"docs":{},"用":{"docs":{},"语":{"docs":{},"言":{"docs":{},"的":{"docs":{},"组":{"docs":{},"件":{"docs":{},"的":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"_":{"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/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"交":{"docs":{},"互":{"docs":{},"式":{"docs":{},"行":{"docs":{},"为":{"docs":{},"。":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}},"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.0049504950495049506}}}}}}}}}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001669449081803005},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294},"chapter15/login_page.html":{"ref":"chapter15/login_page.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":{},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"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":{},"可":{"docs":{},"以":{"docs":{},"返":{"docs":{},"回":{"docs":{},"一":{"docs":{},"个":{"docs":{},"结":{"docs":{},"果":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{},"现":{"docs":{},"在":{"docs":{},",":{"docs":{},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{},"我":{"docs":{},"们":{"docs":{},"已":{"docs":{},"经":{"docs":{},"构":{"docs":{},"建":{"docs":{},"好":{"docs":{},"了":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"如":{"docs":{},"何":{"docs":{},"将":{"docs":{},"它":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"来":{"docs":{},"呢":{"docs":{},"?":{"docs":{},"还":{"docs":{},"有":{"docs":{},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{},"返":{"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":{},"o":{"docs":{},"w":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"。":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"省":{"docs":{},"略":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}}}}}},"很":{"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":{},"p":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"方":{"docs":{},"法":{"docs":{},"打":{"docs":{},"开":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"的":{"docs":{},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{},"路":{"docs":{},"由":{"docs":{},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"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":{},"由":{"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":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter10/intro.html":{"ref":"chapter10/intro.html","tf":0.04}}}}}}}}}}}}}},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"大":{"docs":{},"致":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}},":":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"u":{"docs":{},"n":{"docs":{},"k":{"docs":{},":":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"类":{"docs":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter13/":{"ref":"chapter13/","tf":0.25},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894}},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"类":{"docs":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894}}}}}}}}}}}}}}}},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},"账":{"docs":{},"号":{"docs":{},"登":{"docs":{},"录":{"docs":{},"、":{"docs":{},"退":{"docs":{},"出":{"docs":{},"登":{"docs":{},"录":{"docs":{},"功":{"docs":{},"能":{"docs":{"chapter15/intro.html":{"ref":"chapter15/intro.html","tf":0.05}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}},"例":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}},"方":{"docs":{},"法":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}},":":{"docs":{},"无":{"docs":{},"限":{"docs":{},"加":{"docs":{},"载":{"docs":{},"列":{"docs":{},"表":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}}}},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter10/":{"ref":"chapter10/","tf":0.16666666666666666}}}}}}}}},"圆":{"docs":{},"形":{"docs":{},"渐":{"docs":{},"变":{"docs":{},"进":{"docs":{},"度":{"docs":{},"条":{"docs":{"chapter10/":{"ref":"chapter10/","tf":0.16666666666666666}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"分":{"docs":{},"块":{"docs":{},"下":{"docs":{},"载":{"docs":{"chapter11/":{"ref":"chapter11/","tf":0.08333333333333333},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}}},"转":{"docs":{},"化":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},".":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}},"的":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}},"际":{"docs":{},"上":{"docs":{},",":{"docs":{},"f":{"docs":{},"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":{},":":{"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":{},"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":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"空":{"docs":{},"间":{"docs":{},",":{"docs":{},"而":{"docs":{},"纵":{"docs":{},"轴":{"docs":{},"的":{"docs":{},"长":{"docs":{},"度":{"docs":{},"则":{"docs":{},"取":{"docs":{},"决":{"docs":{},"于":{"docs":{},"他":{"docs":{},"们":{"docs":{},"最":{"docs":{},"大":{"docs":{},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{},"的":{"docs":{},"长":{"docs":{},"度":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"我":{"docs":{},"们":{"docs":{},"想":{"docs":{},"让":{"docs":{},"本":{"docs":{},"例":{"docs":{},"中":{"docs":{},"的":{"docs":{},"两":{"docs":{},"个":{"docs":{},"文":{"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.00411522633744856}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"方":{"docs":{},"法":{"docs":{},"正":{"docs":{},"是":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"l":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"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":{},"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":{},"f":{"docs":{},"a":{"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":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"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":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"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":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},".":{"docs":{},"b":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"8":{"7":{"docs":{},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}},"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":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"和":{"docs":{},"s":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"都":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"类":{"docs":{},"。":{"docs":{},"由":{"docs":{},"于":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"和":{"docs":{},"s":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"中":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"c":{"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":{},"致":{"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":{},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"本":{"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":{},"它":{"docs":{},"是":{"docs":{},"一":{"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":{},"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":{},"封":{"docs":{},"装":{"docs":{},"一":{"docs":{},"个":{"docs":{},"富":{"docs":{},"文":{"docs":{},"本":{"docs":{},"展":{"docs":{},"示":{"docs":{},"组":{"docs":{},"件":{"docs":{},"m":{"docs":{},"y":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"h":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"业":{"docs":{},"务":{"docs":{},"中":{"docs":{},",":{"docs":{},"在":{"docs":{},"正":{"docs":{},"式":{"docs":{},"向":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"提":{"docs":{},"交":{"docs":{},"数":{"docs":{},"据":{"docs":{},"前":{"docs":{},",":{"docs":{},"都":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"运":{"docs":{},"行":{"docs":{},"结":{"docs":{},"果":{"docs":{},"如":{"docs":{},"图":{"4":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856}}},"docs":{}}}}},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"图":{"4":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}},"docs":{}}}}}}},"偏":{"docs":{},"移":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}},"开":{"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":{},"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":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"对":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"所":{"docs":{},"有":{"docs":{},"终":{"docs":{},"端":{"docs":{},"会":{"docs":{},"话":{"docs":{},"永":{"docs":{},"久":{"docs":{},"修":{"docs":{},"改":{"docs":{},"此":{"docs":{},"变":{"docs":{},"量":{"docs":{},"的":{"docs":{},"步":{"docs":{},"骤":{"docs":{},"是":{"docs":{},"和":{"docs":{},"特":{"docs":{},"定":{"docs":{},"计":{"docs":{},"算":{"docs":{},"机":{"docs":{},"系":{"docs":{},"统":{"docs":{},"相":{"docs":{},"关":{"docs":{},"的":{"docs":{},"。":{"docs":{},"通":{"docs":{},"常":{"docs":{},",":{"docs":{},"您":{"docs":{},"会":{"docs":{},"在":{"docs":{},"打":{"docs":{},"开":{"docs":{},"新":{"docs":{},"窗":{"docs":{},"口":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"只":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},",":{"docs":{},"希":{"docs":{},"望":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"跟":{"docs":{},"着":{"docs":{},"笔":{"docs":{},"者":{"docs":{},"一":{"docs":{},"起":{"docs":{},"亲":{"docs":{},"自":{"docs":{},"动":{"docs":{},"手":{"docs":{},"来":{"docs":{},"写":{"docs":{},"一":{"docs":{},"下":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"不":{"docs":{},"仅":{"docs":{},"可":{"docs":{},"以":{"docs":{},"加":{"docs":{},"深":{"docs":{},"印":{"docs":{},"象":{"docs":{},",":{"docs":{},"而":{"docs":{},"且":{"docs":{},"也":{"docs":{},"会":{"docs":{},"对":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"的":{"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":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},",":{"docs":{},"它":{"docs":{},"会":{"docs":{},"输":{"docs":{},"出":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}}}}}}}}}},"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"些":{"docs":{},"组":{"docs":{},"件":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"混":{"docs":{},"合":{"docs":{},"管":{"docs":{},"理":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"会":{"docs":{},"非":{"docs":{},"常":{"docs":{},"有":{"docs":{},"用":{"docs":{},"。":{"docs":{},"在":{"docs":{},"这":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"组":{"docs":{},"件":{"docs":{},"自":{"docs":{},"身":{"docs":{},"管":{"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/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"复":{"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":{},"u":{"docs":{},"i":{"docs":{},"外":{"docs":{},"观":{"docs":{},"。":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"父":{"docs":{},"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/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"线":{"docs":{},"性":{"docs":{},"布":{"docs":{},"局":{"docs":{},",":{"docs":{},"有":{"docs":{},"主":{"docs":{},"轴":{"docs":{},"和":{"docs":{},"纵":{"docs":{},"轴":{"docs":{},"之":{"docs":{},"分":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"布":{"docs":{},"局":{"docs":{},"是":{"docs":{},"沿":{"docs":{},"水":{"docs":{},"平":{"docs":{},"方":{"docs":{},"向":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"主":{"docs":{},"轴":{"docs":{},"就":{"docs":{},"是":{"docs":{},"指":{"docs":{},"水":{"docs":{},"平":{"docs":{},"方":{"docs":{},"向":{"docs":{},",":{"docs":{},"而":{"docs":{},"纵":{"docs":{},"轴":{"docs":{},"即":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},";":{"docs":{},"如":{"docs":{},"果":{"docs":{},"布":{"docs":{},"局":{"docs":{},"沿":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"主":{"docs":{},"轴":{"docs":{},"就":{"docs":{},"是":{"docs":{},"指":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},",":{"docs":{},"而":{"docs":{},"纵":{"docs":{},"轴":{"docs":{},"就":{"docs":{},"是":{"docs":{},"水":{"docs":{},"平":{"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.00411522633744856}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"自":{"docs":{},"签":{"docs":{},"名":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"将":{"docs":{},"其":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"本":{"docs":{},"地":{"docs":{},"证":{"docs":{},"书":{"docs":{},"信":{"docs":{},"任":{"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"纯":{"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"问":{"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.006060606060606061}}}}}}}}}}}}}}}}}}}}},"docs":{}}}},"此":{"docs":{},"方":{"docs":{},"法":{"docs":{},"做":{"docs":{},"了":{"docs":{},"优":{"docs":{},"化":{"docs":{},",":{"docs":{},"使":{"docs":{},"重":{"docs":{},"新":{"docs":{},"执":{"docs":{},"行":{"docs":{},"变":{"docs":{},"的":{"docs":{},"很":{"docs":{},"快":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"你":{"docs":{},"可":{"docs":{},"以":{"docs":{},"重":{"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"象":{"docs":{},"加":{"docs":{},"载":{"docs":{},":":{"docs":{},"每":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"并":{"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":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}},":":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}},"齐":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"与":{"docs":{},"相":{"docs":{},"对":{"docs":{},"定":{"docs":{},"位":{"docs":{},"(":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},")":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}}},"应":{"docs":{},"的":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":0.04}}}}}}}}}},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"订":{"docs":{},"阅":{"docs":{},"者":{"docs":{},"队":{"docs":{},"列":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}}}}}}}}}},"请":{"docs":{},"求":{"docs":{},"头":{"docs":{},"中":{"docs":{},"的":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}},"话":{"docs":{},"框":{"docs":{},"u":{"docs":{},"i":{"docs":{},"的":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}},"内":{"docs":{},"容":{"docs":{},"组":{"docs":{},"件":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}},"外":{"docs":{},"形":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}},"实":{"docs":{},"现":{"docs":{},"原":{"docs":{},"理":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}},"打":{"docs":{},"开":{"docs":{},"/":{"docs":{},"关":{"docs":{},"闭":{"docs":{},"的":{"docs":{},"动":{"docs":{},"画":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}},"时":{"docs":{},"长":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}},"动":{"docs":{},"画":{"docs":{},"及":{"docs":{},"遮":{"docs":{},"罩":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}},"操":{"docs":{},"作":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"组":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}},"本":{"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":{},"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":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"状":{"docs":{},"态":{"docs":{},"管":{"docs":{},"理":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}},"的":{"docs":{},"阴":{"docs":{},"影":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}},"背":{"docs":{},"景":{"docs":{},"色":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}},"详":{"docs":{},"解":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}},"新":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"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":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}}}}}}}}}}}},"旧":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"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":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"图":{"docs":{},"片":{"docs":{},"数":{"docs":{},"据":{"docs":{},"进":{"docs":{},"行":{"docs":{},"解":{"docs":{},"码":{"docs":{},"。":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}},"图":{"docs":{},"片":{"docs":{},"数":{"docs":{},"据":{"docs":{},"进":{"docs":{},"行":{"docs":{},"解":{"docs":{},"码":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}},"前":{"docs":{},"面":{"docs":{},"章":{"docs":{},"节":{"docs":{},"所":{"docs":{},"学":{"docs":{},"内":{"docs":{},"容":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"应":{"docs":{},"用":{"docs":{},"及":{"docs":{},"总":{"docs":{},"结":{"docs":{},"。":{"docs":{"chapter15/intro.html":{"ref":"chapter15/intro.html","tf":0.05}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"当":{"docs":{},"前":{"docs":{},"语":{"docs":{},"言":{"docs":{},"进":{"docs":{},"行":{"docs":{},"高":{"docs":{},"亮":{"docs":{},"显":{"docs":{},"示":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}}}}}}}}}}}}}},"工":{"docs":{},"具":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616}}},"版":{"docs":{},"本":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}},"来":{"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"欲":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"作":{"docs":{},"原":{"docs":{},"理":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.009302325581395349}}}}}},"带":{"docs":{},"\"":{"docs":{},"*":{"docs":{},"\"":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}},"图":{"docs":{},"标":{"docs":{},"的":{"docs":{},"按":{"docs":{},"钮":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}}}}},"领":{"docs":{},"读":{"docs":{},"者":{"docs":{},"了":{"docs":{},"解":{"docs":{},"如":{"docs":{},"何":{"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":{},"f":{"docs":{},"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":{"chapter15/intro.html":{"ref":"chapter15/intro.html","tf":0.05}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"常":{"docs":{},"见":{"docs":{},"配":{"docs":{},"置":{"docs":{},"问":{"docs":{},"题":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}},"规":{"docs":{},">":{"docs":{},"设":{"docs":{},"备":{"docs":{},"管":{"docs":{},"理":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}},"方":{"docs":{},"法":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}},"用":{"docs":{},"于":{"docs":{},"会":{"docs":{},"多":{"docs":{},"次":{"docs":{},"读":{"docs":{},"取":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"异":{"docs":{},"步":{"docs":{},"任":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"并":{"docs":{},"信":{"docs":{},"任":{"docs":{},"您":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}},"在":{"docs":{},"那":{"docs":{},"里":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}},"每":{"docs":{},"次":{"docs":{},"收":{"docs":{},"到":{"docs":{},"消":{"docs":{},"息":{"docs":{},"时":{"docs":{},"通":{"docs":{},"知":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"重":{"docs":{},"新":{"docs":{},"构":{"docs":{},"建":{"docs":{},"界":{"docs":{},"面":{"docs":{},"。":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}}}}}}}}}}}}}}},"选":{"docs":{},"择":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}},"非":{"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.004807692307692308}}}}}}}}}}}}},"将":{"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.001519756838905775}}}}}}}}}}}}}}}}}},"没":{"docs":{},"有":{"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":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"用":{"docs":{},"一":{"docs":{},"个":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"来":{"docs":{},"显":{"docs":{},"示":{"docs":{},"它":{"docs":{},"们":{"docs":{},"。":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}}}},"混":{"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":{},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"库":{"docs":{},"造":{"docs":{},"成":{"docs":{},"的":{"docs":{},",":{"docs":{},"解":{"docs":{},"决":{"docs":{},"方":{"docs":{},"法":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}}}},"中":{"docs":{},"的":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"都":{"docs":{},"有":{"docs":{},"如":{"docs":{},"下":{"docs":{},"相":{"docs":{},"同":{"docs":{},"点":{"docs":{},":":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}}}}}}}}}}}}},"建":{"docs":{},"议":{"docs":{},"使":{"docs":{},"用":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}},"当":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"按":{"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"从":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"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/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"不":{"docs":{},"可":{"docs":{},"变":{"docs":{},"的":{"docs":{},"规":{"docs":{},"则":{"docs":{},"被":{"docs":{},"违":{"docs":{},"反":{"docs":{},"时":{"docs":{},",":{"docs":{},"它":{"docs":{},"被":{"docs":{},"报":{"docs":{},"告":{"docs":{},"给":{"docs":{},"控":{"docs":{},"制":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"路":{"docs":{},"由":{"docs":{},"中":{"docs":{},"包":{"docs":{},"含":{"docs":{},"多":{"docs":{},"个":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"组":{"docs":{},"件":{"docs":{},"时":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"发":{"docs":{},"现":{"docs":{},"在":{"docs":{},"进":{"docs":{},"行":{"docs":{},"一":{"docs":{},"些":{"docs":{},"跳":{"docs":{},"转":{"docs":{},"或":{"docs":{},"切":{"docs":{},"换":{"docs":{},"操":{"docs":{},"作":{"docs":{},"后":{"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":{},"的":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"组":{"docs":{},"件":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}}}}},"在":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"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":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.011494252873563218}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"发":{"docs":{},"送":{"docs":{},"和":{"docs":{},"接":{"docs":{},"收":{"docs":{},"值":{"docs":{},"时":{"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/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.011494252873563218}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"它":{"docs":{},"被":{"docs":{},"启":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"调":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"应":{"docs":{},"用":{"docs":{},"中":{"docs":{},"需":{"docs":{},"要":{"docs":{},"一":{"docs":{},"些":{"docs":{},"跨":{"docs":{},"组":{"docs":{},"件":{"docs":{},"(":{"docs":{},"包":{"docs":{},"括":{"docs":{},"跨":{"docs":{},"路":{"docs":{},"由":{"docs":{},")":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"需":{"docs":{},"要":{"docs":{},"同":{"docs":{},"步":{"docs":{},"时":{"docs":{},",":{"docs":{},"上":{"docs":{},"面":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"便":{"docs":{},"很":{"docs":{},"难":{"docs":{},"胜":{"docs":{},"任":{"docs":{},"了":{"docs":{},"。":{"docs":{},"比":{"docs":{},"如":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"设":{"docs":{},"置":{"docs":{},"页":{"docs":{},",":{"docs":{},"里":{"docs":{},"面":{"docs":{},"可":{"docs":{},"以":{"docs":{},"设":{"docs":{},"置":{"docs":{},"应":{"docs":{},"用":{"docs":{},"的":{"docs":{},"语":{"docs":{},"言":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"为":{"docs":{},"了":{"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":{},"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":{},"组":{"docs":{},"件":{"docs":{},"之":{"docs":{},"间":{"docs":{},"的":{"docs":{},"通":{"docs":{},"信":{"docs":{},"。":{"docs":{},"目":{"docs":{},"前":{"docs":{},"主":{"docs":{},"要":{"docs":{},"有":{"docs":{},"两":{"docs":{},"种":{"docs":{},"办":{"docs":{},"法":{"docs":{},":":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"检":{"docs":{},"测":{"docs":{},"到":{"docs":{},"点":{"docs":{},"击":{"docs":{},"时":{"docs":{},",":{"docs":{},"它":{"docs":{},"会":{"docs":{},"通":{"docs":{},"知":{"docs":{},"父":{"docs":{},"组":{"docs":{},"件":{"docs":{},"。":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}},"点":{"docs":{},"击":{"docs":{},"时":{"docs":{},",":{"docs":{},"将":{"docs":{},"状":{"docs":{},"态":{"docs":{},"的":{"docs":{},"改":{"docs":{},"变":{"docs":{},"传":{"docs":{},"递":{"docs":{},"给":{"docs":{},"父":{"docs":{},"组":{"docs":{},"件":{"docs":{},"。":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}},"盒":{"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/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"状":{"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/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}}}}}}}}},"所":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}},"组":{"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":{},"特":{"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":{},"组":{"docs":{},"件":{"docs":{},"(":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.02631578947368421}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"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":{},"可":{"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":{},"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.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"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":{},"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.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"前":{"docs":{},"没":{"docs":{},"有":{"docs":{},"异":{"docs":{},"步":{"docs":{},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"[":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"]":{"docs":{},"的":{"docs":{},"[":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"]":{"docs":{},"为":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"时":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"进":{"docs":{},"度":{"docs":{},",":{"docs":{},"取":{"docs":{},"值":{"docs":{},"范":{"docs":{},"围":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}},"系":{"docs":{},"统":{"docs":{},"字":{"docs":{},"体":{"docs":{},"缩":{"docs":{},"放":{"docs":{},"比":{"docs":{},"例":{"docs":{},"。":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}}},"默":{"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.0018587360594795538}}}}}}}}}}}}}},"设":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"页":{"docs":{},"号":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}},"指":{"docs":{},"针":{"docs":{},"按":{"docs":{},"下":{"docs":{},"时":{"docs":{},",":{"docs":{},"f":{"docs":{},"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.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"同":{"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.0017452006980802793}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"然":{"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":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},"时":{"docs":{},"(":{"docs":{},"类":{"docs":{},"型":{"docs":{},"或":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"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":{},"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":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"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":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"定":{"docs":{},"义":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"p":{"docs":{},"语":{"docs":{},"言":{"docs":{},"选":{"docs":{},"为":{"docs":{},"跟":{"docs":{},"随":{"docs":{},"系":{"docs":{},"统":{"docs":{},"(":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"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":{},"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":{},"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":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"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":{},"f":{"docs":{},"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":{},"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":{"chapter10/intro.html":{"ref":"chapter10/intro.html","tf":0.04}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"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":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"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":{},"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"绘":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter13/intl.html":{"ref":"chapter13/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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"docs":{},"父":{"docs":{},"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"祖":{"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.006060606060606061}}}}}}}}}}}}}}}}}}},"绘":{"docs":{},"制":{"docs":{},"区":{"docs":{},"域":{"docs":{},"大":{"docs":{},"小":{"docs":{},"改":{"docs":{},"变":{"docs":{},"回":{"docs":{},"调":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.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":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"您":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}},"也":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"设":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}},"直":{"docs":{},"接":{"docs":{},"使":{"docs":{},"用":{"docs":{},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"p":{"docs":{},"a":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"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":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"还":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}},"现":{"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"/":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"源":{"docs":{},"码":{"docs":{},"中":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"打":{"docs":{},"开":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},"(":{"docs":{},"或":{"docs":{},"创":{"docs":{},"建":{"docs":{},")":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}},"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":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}}}}}}}}},"插":{"docs":{},"件":{"docs":{},"首":{"docs":{},"选":{"docs":{},"项":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}},"终":{"docs":{},"端":{"docs":{},"并":{"docs":{},"运":{"docs":{},"行":{"docs":{},"如":{"docs":{},"下":{"docs":{},"这":{"docs":{},"些":{"docs":{},"命":{"docs":{},"令":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}}}}},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}},"`":{"docs":{},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"`":{"docs":{},",":{"docs":{},"并":{"docs":{},"等":{"docs":{},"待":{"docs":{},"返":{"docs":{},"回":{"docs":{},"结":{"docs":{},"果":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}}}}}}}}}},"抽":{"docs":{},"屉":{"docs":{},"菜":{"docs":{},"单":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"连":{"docs":{},"接":{"docs":{},",":{"docs":{},"设":{"docs":{},"置":{"docs":{},"请":{"docs":{},"求":{"docs":{},"头":{"docs":{},":":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}},"一":{"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":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}}}},"包":{"docs":{},"包":{"docs":{},"中":{"docs":{},"的":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}}}}}}},"找":{"docs":{},"到":{"docs":{},"下":{"docs":{},"面":{"docs":{},"这":{"docs":{},"一":{"docs":{},"部":{"docs":{},"分":{"docs":{},",":{"docs":{},"并":{"docs":{},"加":{"docs":{},"上":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}}}}},"指":{"docs":{},"定":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}},"放":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}},"示":{"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":{},"颜":{"docs":{},"色":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"指":{"docs":{},"定":{"docs":{},"动":{"docs":{},"画":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"我":{"docs":{},"们":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"对":{"docs":{},"进":{"docs":{},"度":{"docs":{},"条":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"执":{"docs":{},"行":{"docs":{},"动":{"docs":{},"画":{"docs":{},",":{"docs":{},"换":{"docs":{},"言":{"docs":{},"之":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"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":{},"w":{"docs":{},"a":{"docs":{},"y":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},"p":{"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":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"针":{"docs":{},"按":{"docs":{},"下":{"docs":{},"事":{"docs":{},"件":{"docs":{},"(":{"docs":{},"以":{"docs":{},"及":{"docs":{},"该":{"docs":{},"指":{"docs":{},"针":{"docs":{},"的":{"docs":{},"后":{"docs":{},"续":{"docs":{},"事":{"docs":{},"件":{"docs":{},")":{"docs":{},"然":{"docs":{},"后":{"docs":{},"被":{"docs":{},"分":{"docs":{},"发":{"docs":{},"到":{"docs":{},"由":{"docs":{},"命":{"docs":{},"中":{"docs":{},"测":{"docs":{},"试":{"docs":{},"发":{"docs":{},"现":{"docs":{},"的":{"docs":{},"最":{"docs":{},"内":{"docs":{},"部":{"docs":{},"的":{"docs":{},"组":{"docs":{},"件":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"从":{"docs":{},"那":{"docs":{},"里":{"docs":{},"开":{"docs":{},"始":{"docs":{},",":{"docs":{},"事":{"docs":{},"件":{"docs":{},"会":{"docs":{},"在":{"docs":{},"组":{"docs":{},"件":{"docs":{},"树":{"docs":{},"中":{"docs":{},"向":{"docs":{},"上":{"docs":{},"冒":{"docs":{},"泡":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"事":{"docs":{},"件":{"docs":{},"会":{"docs":{},"从":{"docs":{},"最":{"docs":{},"内":{"docs":{},"部":{"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":{},"相":{"docs":{},"似":{"docs":{},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"接":{"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.0013422818791946308}}}}}}}}}}}}},"我":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"看":{"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"显":{"docs":{},"示":{"docs":{},"随":{"docs":{},"机":{"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":{},"图":{"2":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}}},"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":{},"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter13/intl.html":{"ref":"chapter13/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/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"调":{"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":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"添":{"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}},"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"执":{"docs":{},"行":{"docs":{},"整":{"docs":{},"个":{"docs":{},"任":{"docs":{},"务":{"docs":{},"流":{"docs":{},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}}}},"在":{"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}}}}},"和":{"docs":{},"f":{"docs":{},"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}},"覆":{"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"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":{},"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.006622516556291391}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"_":{"docs":{},"m":{"docs":{},"y":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"h":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"中":{"docs":{},"要":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},":":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"以":{"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"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":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894}}}}}}}}}}}}}}}}}}}}}},"需":{"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":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}},"实":{"docs":{},"现":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}}}}}}}}}}}}},"收":{"docs":{},"一":{"docs":{},"个":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"参":{"docs":{},"数":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}},"图":{"docs":{},"片":{"docs":{},"数":{"docs":{},"据":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}},"口":{"docs":{},"决":{"docs":{},"定":{"docs":{},"是":{"docs":{},"否":{"docs":{},"重":{"docs":{},"新":{"docs":{},"剪":{"docs":{},"裁":{"docs":{},"。":{"docs":{},"如":{"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":{},"能":{"docs":{},"开":{"docs":{},"销":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"剪":{"docs":{},"裁":{"docs":{},"区":{"docs":{},"域":{"docs":{},"会":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},"(":{"docs":{},"比":{"docs":{},"如":{"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":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"提":{"docs":{},"供":{"docs":{},"代":{"docs":{},"码":{"docs":{},"分":{"docs":{},"析":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"l":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"签":{"docs":{},"名":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"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":{},"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":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"命":{"docs":{},"令":{"docs":{},"行":{"docs":{},"转":{"docs":{},"化":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"方":{"docs":{},"便":{"docs":{},"集":{"docs":{},"成":{"docs":{},"到":{"docs":{},"c":{"docs":{},"i":{"docs":{},"等":{"docs":{},"非":{"docs":{},"u":{"docs":{},"i":{"docs":{},"环":{"docs":{},"境":{"docs":{},"的":{"docs":{},"场":{"docs":{},"景":{"docs":{},"。":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}},"图":{"docs":{},"片":{"docs":{},"数":{"docs":{},"据":{"docs":{},"源":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}},"四":{"docs":{},"套":{"docs":{},"可":{"docs":{},"选":{"docs":{},"主":{"docs":{},"题":{"docs":{},"色":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}},"示":{"docs":{},"文":{"docs":{},"案":{"docs":{},"”":{"docs":{},"我":{"docs":{},"是":{"docs":{},"提":{"docs":{},"示":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"“":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"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":{},"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":{},"…":{"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":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"语":{"docs":{"chapter13/intl.html":{"ref":"chapter13/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":{},"证":{"docs":{},"各":{"docs":{},"个":{"docs":{},"表":{"docs":{},"单":{"docs":{},"字":{"docs":{},"段":{"docs":{},"是":{"docs":{},"否":{"docs":{},"合":{"docs":{},"法":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}},"插":{"docs":{},"件":{"docs":{},"并":{"docs":{},"点":{"docs":{},"击":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"一":{"docs":{},"种":{"docs":{},"平":{"docs":{},"台":{"docs":{},"透":{"docs":{},"明":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"来":{"docs":{},"访":{"docs":{},"问":{"docs":{},"设":{"docs":{},"备":{"docs":{},"文":{"docs":{},"件":{"docs":{},"系":{"docs":{},"统":{"docs":{},"上":{"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/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"开":{"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":{"chapter12/":{"ref":"chapter12/","tf":0.2}}}}}}}}}}}}},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"端":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{"chapter12/":{"ref":"chapter12/","tf":0.2}}}}}}}}}}},"平":{"docs":{},"台":{"docs":{},"通":{"docs":{},"道":{"docs":{},"简":{"docs":{},"介":{"docs":{"chapter12/":{"ref":"chapter12/","tf":0.2},"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.011494252873563218}}}}}}}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"端":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"实":{"docs":{},"现":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"端":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"实":{"docs":{},"现":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}},"包":{"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"槽":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616}}},"绘":{"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.0013422818791946308}}}}}}}}}}}}}},"多":{"docs":{},"种":{"docs":{},"背":{"docs":{},"景":{"docs":{},"渐":{"docs":{},"变":{"docs":{},"色":{"docs":{},"。":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}},"语":{"docs":{},"言":{"docs":{"chapter15/intro.html":{"ref":"chapter15/intro.html","tf":0.05}}}}},"文":{"docs":{},"件":{"docs":{},"数":{"docs":{},"组":{"docs":{},"上":{"docs":{},"传":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}},"国":{"docs":{},"际":{"docs":{},"化":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}},"、":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"包":{"docs":{},"的":{"docs":{},"使":{"docs":{},"用":{"docs":{"chapter15/intro.html":{"ref":"chapter15/intro.html","tf":0.05}}}}}}}}}}}}}},"换":{"docs":{},"肤":{"docs":{"chapter15/intro.html":{"ref":"chapter15/intro.html","tf":0.05}}}}}},"查":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}},"找":{"docs":{},",":{"docs":{},"一":{"docs":{},"直":{"docs":{},"向":{"docs":{},"上":{"docs":{},"查":{"docs":{},"找":{"docs":{},"到":{"docs":{},"是":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}}}}}}},"根":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"以":{"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":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"部":{"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.001519756838905775}}}}}}}}}}}}}}}}}}},"注":{"docs":{},"意":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.009615384615384616},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.011494252873563218}}},",":{"docs":{},"f":{"docs":{},"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.0026845637583892616}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"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.04}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"官":{"docs":{},"方":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"对":{"docs":{},"w":{"docs":{},"i":{"docs":{},"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":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"只":{"docs":{},"会":{"docs":{},"对":{"docs":{},"命":{"docs":{},"名":{"docs":{},"路":{"docs":{},"由":{"docs":{},"生":{"docs":{},"效":{"docs":{},"。":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.004807692307692308}}}}}}}}}}},"登":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"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":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"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":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"实":{"docs":{},"现":{"docs":{},"改":{"docs":{},"成":{"docs":{},"调":{"docs":{},"用":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"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":{},"后":{"docs":{},",":{"docs":{},"点":{"docs":{},"击":{"docs":{},"\"":{"docs":{},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"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":{},"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":{},"实":{"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":{},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"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":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"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":{},"构":{"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":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},".":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"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":{},"出":{"docs":{},"现":{"docs":{},"。":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}},"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}},"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":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"和":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}},"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":{},"值":{"docs":{},"和":{"docs":{},"资":{"docs":{},"源":{"docs":{},"“":{"docs":{},"是":{"docs":{},"指":{"docs":{},"我":{"docs":{},"们":{"docs":{},"针":{"docs":{},"对":{"docs":{},"不":{"docs":{},"同":{"docs":{},"语":{"docs":{},"言":{"docs":{},"准":{"docs":{},"备":{"docs":{},"的":{"docs":{},"不":{"docs":{},"同":{"docs":{},"资":{"docs":{},"源":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"资":{"docs":{},"源":{"docs":{},"一":{"docs":{},"般":{"docs":{},"是":{"docs":{},"指":{"docs":{},"文":{"docs":{},"案":{"docs":{},"(":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},")":{"docs":{},",":{"docs":{},"当":{"docs":{},"然":{"docs":{},"也":{"docs":{},"会":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"其":{"docs":{},"他":{"docs":{},"的":{"docs":{},"资":{"docs":{},"源":{"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":{},"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"代":{"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":{},"根":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"到":{"docs":{},"根":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.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":{},"源":{"docs":{},"码":{"docs":{},"结":{"docs":{},"构":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},"无":{"docs":{},"论":{"docs":{},"采":{"docs":{},"取":{"docs":{},"何":{"docs":{},"种":{"docs":{},"源":{"docs":{},"码":{"docs":{},"组":{"docs":{},"织":{"docs":{},"结":{"docs":{},"构":{"docs":{},",":{"docs":{},"但":{"docs":{},"清":{"docs":{},"晰":{"docs":{},"和":{"docs":{},"解":{"docs":{},"耦":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"通":{"docs":{},"用":{"docs":{},"原":{"docs":{},"则":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"应":{"docs":{},"该":{"docs":{},"让":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"结":{"docs":{},"构":{"docs":{},"清":{"docs":{},"晰":{"docs":{},",":{"docs":{},"以":{"docs":{},"便":{"docs":{},"交":{"docs":{},"流":{"docs":{},"和":{"docs":{},"维":{"docs":{},"护":{"docs":{},"。":{"docs":{"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.015151515151515152}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506},"chapter13/intl.html":{"ref":"chapter13/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/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"本":{"docs":{},"节":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"的":{"docs":{},"安":{"docs":{},"装":{"docs":{},"方":{"docs":{},"式":{"docs":{},"随":{"docs":{},"着":{"docs":{},"f":{"docs":{},"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":{},"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":{},"安":{"docs":{},"装":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"由":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"包":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"里":{"docs":{},"需":{"docs":{},"要":{"docs":{},"提":{"docs":{},"醒":{"docs":{},"读":{"docs":{},"者":{"docs":{},",":{"docs":{},"在":{"docs":{},"登":{"docs":{},"录":{"docs":{},"场":{"docs":{},"景":{"docs":{},"中":{"docs":{},",":{"docs":{},"保":{"docs":{},"护":{"docs":{},"用":{"docs":{},"户":{"docs":{},"账":{"docs":{},"号":{"docs":{},"安":{"docs":{},"全":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"非":{"docs":{},"常":{"docs":{},"重":{"docs":{},"要":{"docs":{},"且":{"docs":{},"永":{"docs":{},"恒":{"docs":{},"的":{"docs":{},"话":{"docs":{},"题":{"docs":{},",":{"docs":{},"在":{"docs":{},"实":{"docs":{},"际":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},"应":{"docs":{},"严":{"docs":{},"格":{"docs":{},"杜":{"docs":{},"绝":{"docs":{},"直":{"docs":{},"接":{"docs":{},"明":{"docs":{},"文":{"docs":{},"存":{"docs":{},"储":{"docs":{},"用":{"docs":{},"户":{"docs":{},"账":{"docs":{},"密":{"docs":{},"的":{"docs":{},"行":{"docs":{},"为":{"docs":{},"。":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"要":{"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.0064516129032258064}}}}}}}}}}}}}}}}}}}}},"上":{"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":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"路":{"docs":{},"由":{"docs":{},"中":{"docs":{},"包":{"docs":{},"含":{"docs":{},"多":{"docs":{},"个":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"组":{"docs":{},"件":{"docs":{},"时":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"要":{"docs":{},"分":{"docs":{},"别":{"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":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"组":{"docs":{},"件":{"docs":{},"本":{"docs":{},"身":{"docs":{},"没":{"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":{},"可":{"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":{},"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":{},"可":{"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":{},"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.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}},"如":{"docs":{},"果":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"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":{},"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":{},"容":{"docs":{},"包":{"docs":{},"裹":{"docs":{},"起":{"docs":{},"来":{"docs":{},"。":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"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.0017452006980802793}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.007407407407407408}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"代":{"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.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"新":{"docs":{},"旧":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"类":{"docs":{},"型":{"docs":{},"相":{"docs":{},"同":{"docs":{},",":{"docs":{},"则":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"必":{"docs":{},"须":{"docs":{},"不":{"docs":{},"相":{"docs":{},"等":{"docs":{},"。":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}}}}}}}}},"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.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"册":{"docs":{},"路":{"docs":{},"由":{"docs":{},"表":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894}}}}}}}}}},",":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"命":{"docs":{},"名":{"docs":{},"路":{"docs":{},"由":{"docs":{},"表":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}},"释":{"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":{"chapter13/intl.html":{"ref":"chapter13/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":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"添":{"docs":{},"加":{"docs":{},"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.0013422818791946308}}}}}}}}}}}}}}}}}}}},"以":{"docs":{},"下":{"docs":{},"路":{"docs":{},"径":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}},"到":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}},"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.00390625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"购":{"docs":{},"物":{"docs":{},"车":{"docs":{},"。":{"docs":{},"这":{"docs":{},"是":{"docs":{},"唯":{"docs":{},"一":{"docs":{},"一":{"docs":{},"种":{"docs":{},"能":{"docs":{},"从":{"docs":{},"外":{"docs":{},"部":{"docs":{},"改":{"docs":{},"变":{"docs":{},"购":{"docs":{},"物":{"docs":{},"车":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}},"固":{"docs":{},"定":{"docs":{},"列":{"docs":{},"表":{"docs":{},"头":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}}},"后":{"docs":{},",":{"docs":{},"执":{"docs":{},"行":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}}},"回":{"docs":{},"调":{"docs":{},"。":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}},"缓":{"docs":{},"存":{"docs":{},"插":{"docs":{},"件":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}},"点":{"docs":{},"击":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},"第":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"二":{"docs":{},"个":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"可":{"docs":{},"以":{"docs":{},"关":{"docs":{},"闭":{"docs":{},"键":{"docs":{},"盘":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}}}}}}}}},"按":{"docs":{},"钮":{"docs":{},",":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"该":{"docs":{},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}},"则":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"文":{"docs":{},"本":{"docs":{},"会":{"docs":{},"随":{"docs":{},"机":{"docs":{},"排":{"docs":{},"序":{"docs":{},"。":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}}}}}}}}}}}}}}},"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.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"、":{"docs":{},"双":{"docs":{},"击":{"docs":{},"、":{"docs":{},"长":{"docs":{},"按":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}}},"“":{"docs":{},"获":{"docs":{},"取":{"docs":{},"百":{"docs":{},"度":{"docs":{},"首":{"docs":{},"页":{"docs":{},"”":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"后":{"docs":{},",":{"docs":{},"会":{"docs":{},"请":{"docs":{},"求":{"docs":{},"百":{"docs":{},"度":{"docs":{},"首":{"docs":{},"页":{"docs":{},",":{"docs":{},"请":{"docs":{},"求":{"docs":{},"成":{"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"或":{"docs":{},"指":{"docs":{},"针":{"docs":{},"事":{"docs":{},"件":{"docs":{},"回":{"docs":{},"调":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}}},"其":{"docs":{},"它":{"docs":{},"主":{"docs":{},"题":{"docs":{},"色":{"docs":{},"块":{"docs":{},"后":{"docs":{},",":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"主":{"docs":{},"题":{"docs":{},"色":{"docs":{},"立":{"docs":{},"马":{"docs":{},"切":{"docs":{},"换":{"docs":{},"生":{"docs":{},"效":{"docs":{},"。":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}}}}}}}},"热":{"docs":{},"重":{"docs":{},"载":{"docs":{},"失":{"docs":{},"效":{"docs":{},"问":{"docs":{},"题":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}},"按":{"docs":{},"钮":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616}}}},"(":{"docs":{},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}},"应":{"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.002325581395348837}}}}}}}}}}}}}}}}},"环":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}},"理":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"解":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"硬":{"docs":{},"件":{"docs":{},"加":{"docs":{},"速":{"docs":{},".":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}},"绘":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}},"项":{"docs":{},"目":{"docs":{},"的":{"docs":{},"构":{"docs":{},"建":{"docs":{},"没":{"docs":{},"有":{"docs":{},"错":{"docs":{},"误":{"docs":{},"。":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.008264462809917356}}}}}}}}}}}}}}}}},"与":{"docs":{},"在":{"docs":{},"f":{"docs":{},"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}},"定":{"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.0013422818791946308}}}}}}}}}}}},"磁":{"docs":{},"盘":{"docs":{},"空":{"docs":{},"间":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616}}}}}}},"等":{"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.0013422818791946308}}}}}}}}},"项":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}},"连":{"docs":{},"接":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},":":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}},"回":{"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.0018587360594795538}}}}}}}}},"渲":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}},"系":{"docs":{},"统":{"docs":{},"要":{"docs":{},"求":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616}}}},"可":{"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":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"字":{"docs":{},"体":{"docs":{},"缩":{"docs":{},"放":{"docs":{},"变":{"docs":{},"化":{"docs":{},"回":{"docs":{},"调":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}}}}}},"组":{"docs":{},"件":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}},"的":{"docs":{},"简":{"docs":{},"单":{"docs":{},"演":{"docs":{},"示":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}},"宽":{"docs":{},"高":{"docs":{},"。":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}},"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.00202020202020202}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}},",":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}}}}},"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":{},"次":{"docs":{},"排":{"docs":{},"列":{"docs":{},";":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"先":{"docs":{},"引":{"docs":{},"入":{"docs":{},"它":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}}}}}}},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"对":{"docs":{},"输":{"docs":{},"入":{"docs":{},"框":{"docs":{},"进":{"docs":{},"行":{"docs":{},"分":{"docs":{},"组":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"进":{"docs":{},"行":{"docs":{},"一":{"docs":{},"些":{"docs":{},"统":{"docs":{},"一":{"docs":{},"操":{"docs":{},"作":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"和":{"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.00202020202020202}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"结":{"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":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"和":{"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.00202020202020202}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"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.00202020202020202}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"并":{"docs":{},"提":{"docs":{},"到":{"docs":{},"f":{"docs":{},"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":{},"是":{"1":{"0":{"0":{"0":{"docs":{},",":{"docs":{},"最":{"docs":{},"大":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"空":{"docs":{},"间":{"docs":{},"为":{"1":{"0":{"0":{"docs":{},"m":{"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":{},"存":{"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":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"库":{"docs":{},"中":{"docs":{},"有":{"docs":{},"一":{"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":{},"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":{},"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":{},"组":{"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":{},"组":{"docs":{},"件":{"docs":{},"风":{"docs":{},"格":{"docs":{},"的":{"docs":{},"页":{"docs":{},"面":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"提":{"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":{},"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":{},"都":{"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.006024096385542169}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"态":{"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":{},"发":{"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.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"两":{"docs":{},"种":{"docs":{},"进":{"docs":{},"度":{"docs":{},"指":{"docs":{},"示":{"docs":{},"器":{"docs":{},":":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"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":{},"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":{},"户":{"docs":{},"任":{"docs":{},"务":{"docs":{},"进":{"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/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"会":{"docs":{},"在":{"docs":{},"很":{"docs":{},"多":{"docs":{},"组":{"docs":{},"件":{"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":{},"组":{"docs":{},"件":{"docs":{},"时":{"docs":{},",":{"docs":{},"便":{"docs":{},"不":{"docs":{},"再":{"docs":{},"赘":{"docs":{},"述":{"docs":{},"。":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"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":{},"分":{"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":{},"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":{},"以":{"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.002824858757062147}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"本":{"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":{},"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"提":{"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}},"开":{"docs":{},"始":{"docs":{},",":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}}},"那":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856}}},"可":{"docs":{},"以":{"docs":{},"调":{"docs":{},"整":{"docs":{},"子":{"docs":{},"组":{"docs":{},"件":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"可":{"docs":{},"以":{"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/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"本":{"docs":{},"身":{"docs":{},"宽":{"docs":{},"高":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},";":{"docs":{},"它":{"docs":{},"们":{"docs":{},"是":{"docs":{},"两":{"docs":{},"个":{"docs":{},"缩":{"docs":{},"放":{"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":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"来":{"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.006622516556291391}}}}}}}}}}}}}}}}}}}}},"名":{"docs":{},"称":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}},"中":{"docs":{},";":{"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":{},"g":{"docs":{},"c":{"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":{},"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.002688172043010753}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"docs":{},"连":{"docs":{},"接":{"docs":{},"到":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},",":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}}}},"一":{"docs":{},"般":{"docs":{},"位":{"docs":{},"于":{"docs":{},"w":{"docs":{},"i":{"docs":{},"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"会":{"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":{},"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":{},"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"并":{"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"支":{"docs":{},"持":{"docs":{},"多":{"docs":{},"语":{"docs":{},"言":{"docs":{},"。":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}},"自":{"docs":{},"己":{"docs":{},"指":{"docs":{},"定":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}}}},"合":{"docs":{},"其":{"docs":{},"它":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter10/intro.html":{"ref":"chapter10/intro.html","tf":0.04}}}}}}}}}},"现":{"docs":{},"有":{"docs":{},"组":{"docs":{},"件":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}}},"实":{"docs":{},"例":{"docs":{},":":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}}}}}},"缺":{"docs":{},"少":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"库":{"docs":{},"问":{"docs":{},"题":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}},"点":{"docs":{},":":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}}}}},"获":{"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.0026845637583892616}}}}}}}},"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.0013477088948787063}}}}}}}}}}}}},"项":{"docs":{},"目":{"docs":{},"所":{"docs":{},"有":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"包":{"docs":{},"的":{"docs":{},"最":{"docs":{},"新":{"docs":{},"版":{"docs":{},"本":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}}}},"信":{"docs":{},"息":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"文":{"docs":{},"档":{"docs":{},",":{"docs":{},"定":{"docs":{},"义":{"docs":{},"出":{"docs":{},"最":{"docs":{},"终":{"docs":{},"的":{"docs":{},"“":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},".":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"”":{"docs":{},"文":{"docs":{},"件":{"docs":{},"结":{"docs":{},"构":{"docs":{},",":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"输":{"docs":{},"入":{"docs":{},"内":{"docs":{},"容":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}},"有":{"docs":{},"两":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}}}}}}},"一":{"docs":{},"下":{"docs":{},",":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}},"应":{"docs":{},"用":{"docs":{},"目":{"docs":{},"录":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}},"当":{"docs":{},"前":{"docs":{},"区":{"docs":{},"域":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"的":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"表":{"docs":{},"示":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}}}}},"主":{"docs":{},"题":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"为":{"docs":{},"设":{"docs":{},"置":{"docs":{},"主":{"docs":{},"题":{"docs":{},",":{"docs":{},"则":{"docs":{},"默":{"docs":{},"认":{"docs":{},"使":{"docs":{},"用":{"docs":{},"蓝":{"docs":{},"色":{"docs":{},"主":{"docs":{},"题":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}},"用":{"docs":{},"户":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"语":{"docs":{},"言":{"docs":{},"配":{"docs":{},"置":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"类":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"为":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},",":{"docs":{},"则":{"docs":{},"语":{"docs":{},"言":{"docs":{},"跟":{"docs":{},"随":{"docs":{},"系":{"docs":{},"统":{"docs":{},"语":{"docs":{},"言":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"就":{"docs":{},"会":{"docs":{},"更":{"docs":{},"新":{"docs":{},"。":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}},",":{"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":{},"一":{"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":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"改":{"docs":{},"变":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},"一":{"docs":{},"个":{"docs":{},"动":{"docs":{},"画":{"docs":{},"帧":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}},"得":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"菜":{"docs":{},"单":{"docs":{},"下":{"docs":{},"设":{"docs":{},"置":{"docs":{},"设":{"docs":{},"备":{"docs":{},"比":{"docs":{},"例":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}},"中":{"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.0013422818791946308}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}},"图":{"docs":{},"标":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}},"文":{"docs":{},"本":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}},"要":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}},"准":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"设":{"docs":{},"备":{"docs":{},"上":{"docs":{},"运":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"升":{"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.0013422818791946308}}}}}}}}}}},"安":{"docs":{},"装":{"docs":{},"并":{"docs":{},"运":{"docs":{},"行":{"docs":{},"f":{"docs":{},"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.0026845637583892616}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"启":{"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.004807692307692308}}}}}}}}}}}}},"图":{"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.004807692307692308}}}}}}}}}}}}}}}}}},"字":{"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.00390625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"开":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"查":{"docs":{},"更":{"docs":{},"改":{"docs":{},",":{"docs":{},"请":{"docs":{},"调":{"docs":{},"用":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}},"看":{"docs":{},"您":{"docs":{},"的":{"docs":{},"更":{"docs":{},"改":{"docs":{},",":{"docs":{},"请":{"docs":{},"调":{"docs":{},"用":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}}},"想":{"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.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"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":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}},"加":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"图":{"docs":{},"片":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}}}}}}}}}}},"包":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"了":{"docs":{},"解":{"docs":{},"您":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"此":{"docs":{},"功":{"docs":{},"能":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.00390625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0049504950495049506}}}}}}}},"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"由":{"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":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"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":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"关":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}},"执":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"找":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"收":{"docs":{},"集":{"docs":{},"有":{"docs":{},"关":{"docs":{},"f":{"docs":{},"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"获":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"调":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"转":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"创":{"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":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"序":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"现":{"docs":{},"上":{"docs":{},"面":{"docs":{},"这":{"docs":{},"些":{"docs":{},"功":{"docs":{},"能":{"docs":{},"会":{"docs":{},"涉":{"docs":{},"及":{"docs":{},"到":{"docs":{},"如":{"docs":{},"下":{"docs":{},"技":{"docs":{},"术":{"docs":{},"点":{"docs":{},":":{"docs":{"chapter15/intro.html":{"ref":"chapter15/intro.html","tf":0.05}}}}}}}}}}}}}}}}}}}}},"解":{"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.0013422818791946308}}}}}}}}}}}}}}}}},"释":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},":":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856}},"第":{"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":{},"组":{"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":{},"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.00411522633744856}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"析":{"docs":{},"文":{"docs":{},"本":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"“":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"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":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"决":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"冲":{"docs":{},"突":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}},"让":{"docs":{},"您":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"继":{"docs":{},"续":{"docs":{},"运":{"docs":{},"行":{"docs":{},".":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}},"我":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"支":{"docs":{},"持":{"docs":{},"多":{"docs":{},"语":{"docs":{},"言":{"docs":{"chapter13/":{"ref":"chapter13/","tf":0.25},"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}},"该":{"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.0013422818791946308}}}}}}}}}}}}}},"检":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}},"组":{"docs":{},"件":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{},"由":{"docs":{},"于":{"docs":{},"我":{"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":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"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":{},"组":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"计":{"docs":{},"数":{"docs":{},"器":{"docs":{},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},",":{"docs":{},"每":{"docs":{},"点":{"docs":{},"击":{"docs":{},"一":{"docs":{},"次":{"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.0024330900243309003}}}},"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"图":{"docs":{},"仅":{"docs":{},"在":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"时":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"标":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"子":{"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.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}},"子":{"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.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"用":{"docs":{},"于":{"docs":{},"在":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"中":{"docs":{},"获":{"docs":{},"取":{"docs":{},"模":{"docs":{},"板":{"docs":{},"类":{"docs":{},"型":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}},"添":{"docs":{},"加":{"docs":{},"用":{"docs":{},"户":{"docs":{},"凭":{"docs":{},"据":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}},"只":{"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":{},"击":{"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":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"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":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},".":{"docs":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"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":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"直":{"docs":{},"接":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"负":{"docs":{},"责":{"docs":{},"创":{"docs":{},"建":{"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":{},"t":{"docs":{},"o":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"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":{},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"进":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"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":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},")":{"docs":{},"静":{"docs":{},"态":{"docs":{},"方":{"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":{},"e":{"docs":{},"d":{"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":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},")":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"实":{"docs":{},"现":{"docs":{},"该":{"docs":{},"类":{"docs":{},"对":{"docs":{},"应":{"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":{},"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":{},"类":{"docs":{},":":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{},"样":{"docs":{},"式":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}},"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":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"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":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"应":{"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":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"调":{"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":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"接":{"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":{},"e":{"docs":{},"r":{"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":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"中":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"图":{"docs":{},"片":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"而":{"docs":{},"图":{"docs":{},"片":{"docs":{},"数":{"docs":{},"据":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},",":{"docs":{},"而":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"的":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"便":{"docs":{},"是":{"docs":{},"调":{"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":{},"片":{"docs":{},"数":{"docs":{},"据":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"。":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"用":{"docs":{},"户":{"docs":{},"关":{"docs":{},"注":{"docs":{},"的":{"docs":{},"人":{"docs":{},"数":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}},"项":{"docs":{},"目":{"docs":{},"是":{"docs":{},"否":{"docs":{},"为":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"的":{"docs":{},"项":{"docs":{},"目":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}},"的":{"docs":{},"开":{"docs":{},"源":{"docs":{},"许":{"docs":{},"可":{"docs":{},"证":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}},"跟":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}},"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.001519756838905775}}}}}}}}}},"输":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"转":{"docs":{},"到":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}},"输":{"docs":{},"入":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.005369127516778523}},"项":{"docs":{},"目":{"docs":{},"名":{"docs":{},"称":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}},"框":{"docs":{},"和":{"docs":{},"表":{"docs":{},"单":{"docs":{"chapter3/":{"ref":"chapter3/","tf":0.1}}}}},"内":{"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.0013477088948787063}}}}}}}}}}}}}}}}}},"及":{"docs":{},"表":{"docs":{},"单":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}}},"运":{"docs":{},"行":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.008053691275167786}},"启":{"docs":{},"动":{"docs":{},"你":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}},"上":{"docs":{},"面":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"点":{"docs":{},"击":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"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":{},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"页":{"docs":{},",":{"docs":{},"运":{"docs":{},"行":{"docs":{},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"图":{"2":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"两":{"docs":{},"个":{"docs":{},"示":{"docs":{},"例":{"docs":{},",":{"docs":{},"图":{"docs":{},"片":{"docs":{},"加":{"docs":{},"载":{"docs":{},"成":{"docs":{},"功":{"docs":{},"后":{"docs":{},"如":{"docs":{},"图":{"3":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}},"docs":{}}}}}}}}}}}}}}}}},"后":{"docs":{},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"图":{"3":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.00510204081632653},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}},"5":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}},"6":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}},"7":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001669449081803005}}},"8":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}}},"docs":{}}}}},",":{"docs":{},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"图":{"3":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}},"docs":{}}}}},"和":{"docs":{},"上":{"docs":{},"图":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"完":{"docs":{},"美":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"!":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}}}}}}}}}},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"任":{"docs":{},"意":{"docs":{},"方":{"docs":{},"向":{"docs":{},"拖":{"docs":{},"动":{"docs":{},"了":{"docs":{},",":{"docs":{},"运":{"docs":{},"行":{"docs":{},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"图":{"8":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}},"docs":{}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"截":{"docs":{},"取":{"docs":{},"动":{"docs":{},"画":{"docs":{},"执":{"docs":{},"行":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"的":{"docs":{},"一":{"docs":{},"帧":{"docs":{},",":{"docs":{},"如":{"docs":{},"图":{"9":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856}}},"docs":{}}}}}}}}}}}}}}}}},"一":{"docs":{},"切":{"docs":{},"都":{"docs":{},"将":{"docs":{},"自":{"docs":{},"动":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"现":{"docs":{},"在":{"docs":{},"好":{"docs":{},"多":{"docs":{},"了":{"docs":{},",":{"docs":{},"不":{"docs":{},"是":{"docs":{},"吗":{"docs":{},"?":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}},"界":{"docs":{},"面":{"docs":{},"如":{"docs":{},"图":{"7":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}},"docs":{}}}}},"点":{"docs":{},"击":{"docs":{},"右":{"docs":{},"下":{"docs":{},"角":{"docs":{},"悬":{"docs":{},"浮":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"则":{"docs":{},"可":{"docs":{},"以":{"docs":{},"切":{"docs":{},"换":{"docs":{},"主":{"docs":{},"题":{"docs":{},",":{"docs":{},"如":{"docs":{},"图":{"7":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}},"docs":{}}}}}}}}}}}}}}}}}}}}},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"图":{"1":{"4":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}},"5":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}},"docs":{}},"3":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.0078125},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.00510204081632653},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0026954177897574125},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.01762114537444934}}},"4":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.012345679012345678},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.009900990099009901},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}},"5":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.01276595744680851},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.012903225806451613},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.013605442176870748}}},"6":{"docs":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.005376344086021506}}},"7":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001669449081803005}}},"8":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0034904013961605585},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}},"docs":{},":":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}},"下":{"docs":{},"图":{"6":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}},"docs":{}}}},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}},"见":{"docs":{},"图":{"4":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125}}},"docs":{}}}}},"结":{"docs":{},"果":{"docs":{},"如":{"docs":{},"图":{"6":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}},"7":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}},"docs":{}}}}},"示":{"docs":{},"例":{"docs":{},"后":{"docs":{},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"图":{"7":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}},"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":{},"数":{"docs":{},"字":{"docs":{},"会":{"docs":{},"逐":{"docs":{},"渐":{"docs":{},"放":{"docs":{},"大":{"docs":{},",":{"docs":{},"我":{"docs":{},"截":{"docs":{},"取":{"docs":{},"了":{"docs":{},"动":{"docs":{},"画":{"docs":{},"执":{"docs":{},"行":{"docs":{},"过":{"docs":{},"程":{"docs":{},"的":{"docs":{},"一":{"docs":{},"帧":{"docs":{},",":{"docs":{},"如":{"docs":{},"图":{"9":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{},"生":{"docs":{},"成":{"docs":{},"程":{"docs":{},"序":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}},"此":{"docs":{},"命":{"docs":{},"令":{"docs":{},"后":{"docs":{},",":{"docs":{},"会":{"docs":{},"将":{"docs":{},"我":{"docs":{},"们":{"docs":{},"之":{"docs":{},"前":{"docs":{},"通":{"docs":{},"过":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{"chapter13/intl.html":{"ref":"chapter13/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.0013422818791946308}}}}},"真":{"docs":{},"机":{"docs":{},"设":{"docs":{},"备":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}}}},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"模":{"docs":{},"拟":{"docs":{},"器":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}},"真":{"docs":{},"机":{"docs":{},"设":{"docs":{},"备":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}},"不":{"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.0013422818791946308}}}}}}}}}}},"的":{"docs":{},"设":{"docs":{},"备":{"docs":{},"名":{"docs":{},"是":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}},"设":{"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.0013422818791946308}}}}}}}}}}}}}}},"到":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}},"。":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}}}}}}},"追":{"docs":{},"加":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}},"选":{"docs":{},"择":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.006711409395973154},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.01652892561983471}},"一":{"docs":{},"个":{"docs":{},"设":{"docs":{},"备":{"docs":{},"并":{"docs":{},"选":{"docs":{},"择":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}},"运":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"过":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}},"检":{"docs":{},"查":{"docs":{},"模":{"docs":{},"拟":{"docs":{},"器":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}},"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"上":{"docs":{},"传":{"docs":{},"多":{"docs":{},"个":{"docs":{},"文":{"docs":{},"件":{"docs":{},":":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}}}}}}},"上":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"示":{"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.00425531914893617}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"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":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0024330900243309003}}}}}}},"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.002577319587628866}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"路":{"docs":{},"由":{"docs":{},"名":{"docs":{},"打":{"docs":{},"开":{"docs":{},"新":{"docs":{},"路":{"docs":{},"由":{"docs":{},"页":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}},"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.004807692307692308}}}}}}}}}}},"它":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"个":{"docs":{},"示":{"docs":{},"例":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"图":{"docs":{},"标":{"docs":{},"就":{"docs":{},"像":{"docs":{},"使":{"docs":{},"用":{"docs":{},"文":{"docs":{},"本":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"这":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"需":{"docs":{},"要":{"docs":{},"我":{"docs":{},"们":{"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":{},"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.002551020408163265}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"种":{"docs":{},"组":{"docs":{},"件":{"docs":{},"组":{"docs":{},"合":{"docs":{},"的":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"失":{"docs":{},"去":{"docs":{},"了":{"docs":{},"大":{"docs":{},"部":{"docs":{},"分":{"docs":{},"静":{"docs":{},"态":{"docs":{},"类":{"docs":{},"型":{"docs":{},"语":{"docs":{},"言":{"docs":{},"特":{"docs":{},"性":{"docs":{},":":{"docs":{},"类":{"docs":{},"型":{"docs":{},"安":{"docs":{},"全":{"docs":{},"、":{"docs":{},"自":{"docs":{},"动":{"docs":{},"补":{"docs":{},"全":{"docs":{},"和":{"docs":{},"最":{"docs":{},"重":{"docs":{},"要":{"docs":{},"的":{"docs":{},"编":{"docs":{},"译":{"docs":{},"时":{"docs":{},"异":{"docs":{},"常":{"docs":{},"。":{"docs":{},"这":{"docs":{},"样":{"docs":{},"一":{"docs":{},"来":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"组":{"docs":{},"件":{"docs":{},"来":{"docs":{},"管":{"docs":{},"理":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"当":{"docs":{},"用":{"docs":{},"户":{"docs":{},"点":{"docs":{},"击":{"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":{},"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":{},"思":{"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.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"_":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}},"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"得":{"docs":{},"构":{"docs":{},"建":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"的":{"docs":{},"`":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"`":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0013477088948787063}}}}}}},"直":{"docs":{},"接":{"docs":{},"获":{"docs":{},"取":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}},"获":{"docs":{},"取":{"docs":{},"输":{"docs":{},"入":{"docs":{},"框":{"docs":{},"内":{"docs":{},"容":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}}}}}}}}}},"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"后":{"docs":{},"再":{"docs":{},"提":{"docs":{},"交":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}}}},"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.00202020202020202}}}}}}}}}}}}}}}}}}}}},"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":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"页":{"docs":{},"还":{"docs":{},"没":{"docs":{},"有":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{},"由":{"docs":{},"于":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"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":{},"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.00202020202020202}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"w":{"docs":{},"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":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"组":{"docs":{},"件":{"docs":{},"关":{"docs":{},"联":{"docs":{},"后":{"docs":{},"才":{"docs":{},"可":{"docs":{},"以":{"docs":{},"。":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"组":{"docs":{},"合":{"docs":{},"现":{"docs":{},"有":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"实":{"docs":{},"现":{"docs":{"chapter10/":{"ref":"chapter10/","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":{},"要":{"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":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}},"发":{"docs":{},"起":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"请":{"docs":{},"求":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"分":{"docs":{},"块":{"docs":{},"请":{"docs":{},"求":{"docs":{},"检":{"docs":{},"测":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"是":{"docs":{},"否":{"docs":{},"支":{"docs":{},"持":{"docs":{},"分":{"docs":{},"块":{"docs":{},"传":{"docs":{},"输":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}}}}}}}}}}}}}},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}},"在":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"项":{"docs":{},"目":{"docs":{},"根":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"运":{"docs":{},"行":{"docs":{},":":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}},"了":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"方":{"docs":{},"法":{"docs":{},"可":{"docs":{},"以":{"docs":{},"得":{"docs":{},"到":{"docs":{},"一":{"docs":{},"个":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"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":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"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":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"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":{},"的":{"docs":{},"监":{"docs":{},"听":{"docs":{},"器":{"docs":{},"_":{"docs":{},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},",":{"docs":{},"而":{"docs":{},"_":{"docs":{},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"中":{"docs":{},"只":{"docs":{},"更":{"docs":{},"新":{"docs":{},"了":{"docs":{},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"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":{},"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":{},"件":{"docs":{},",":{"docs":{},"每":{"docs":{},"一":{"docs":{},"次":{"docs":{},"都":{"docs":{},"会":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"解":{"docs":{},"码":{"docs":{},"后":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},"帧":{"docs":{},"。":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"常":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"组":{"docs":{},"件":{"docs":{},"的":{"docs":{},"子":{"docs":{},"组":{"docs":{},"件":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"非":{"docs":{},"常":{"docs":{},"多":{"docs":{},"、":{"docs":{},"占":{"docs":{},"用":{"docs":{},"的":{"docs":{},"总":{"docs":{},"高":{"docs":{},"度":{"docs":{},"也":{"docs":{},"会":{"docs":{},"非":{"docs":{},"常":{"docs":{},"大":{"docs":{},";":{"docs":{},"如":{"docs":{},"果":{"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":{},"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":{},"滚":{"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":{},"以":{"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":{},"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":{},"为":{"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":{},"件":{"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":{},"模":{"docs":{},"型":{"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":{},"模":{"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":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.02631578947368421}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"会":{"docs":{},"将":{"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.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"知":{"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":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{"chapter8/":{"ref":"chapter8/","tf":0.125}}}}}}},"冒":{"docs":{},"泡":{"docs":{},"原":{"docs":{},"理":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}},"和":{"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":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"上":{"docs":{},"层":{"docs":{},"节":{"docs":{},"点":{"docs":{},"任":{"docs":{},"意":{"docs":{},"位":{"docs":{},"置":{"docs":{},"来":{"docs":{},"监":{"docs":{},"听":{"docs":{},"通":{"docs":{},"知":{"docs":{},"/":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"终":{"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.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"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":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"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":{},"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":{},"上":{"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":{},"泡":{"docs":{},"(":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"用":{"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":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"道":{"docs":{},"的":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"和":{"docs":{},"宿":{"docs":{},"主":{"docs":{},"通":{"docs":{},"过":{"docs":{},"通":{"docs":{},"道":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},"中":{"docs":{},"传":{"docs":{},"递":{"docs":{},"的":{"docs":{},"通":{"docs":{},"道":{"docs":{},"名":{"docs":{},"称":{"docs":{},"进":{"docs":{},"行":{"docs":{},"连":{"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/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"遵":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}},"部":{"docs":{},"分":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}},"配":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}},"与":{"docs":{},"使":{"docs":{},"用":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}},"重":{"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.0013422818791946308}}}}}}}}},"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.0013422818791946308}}}}}}}}}}}}}}}}},"新":{"docs":{},"启":{"docs":{},"动":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}},"运":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}},"绘":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}},"需":{"docs":{},"要":{"docs":{},"安":{"docs":{},"装":{"docs":{},"两":{"docs":{},"个":{"docs":{},"插":{"docs":{},"件":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}},"说":{"docs":{},"明":{"docs":{},":":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}},"一":{"docs":{},"个":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"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":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"g":{"docs":{},"e":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"该":{"docs":{},"参":{"docs":{},"数":{"docs":{},"类":{"docs":{},"型":{"docs":{},"为":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"。":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"注":{"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":{},"在":{"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":{},"持":{"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":{},"含":{"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":{},"非":{"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":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"组":{"docs":{},"件":{"docs":{},",":{"docs":{},"如":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"。":{"docs":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"由":{"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":{},"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":{},"个":{"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":{"chapter15/intro.html":{"ref":"chapter15/intro.html","tf":0.05}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"目":{"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":{},"o":{"docs":{},"a":{"docs":{},"u":{"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":{},"因":{"docs":{},"此":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"保":{"docs":{},"存":{"docs":{},"用":{"docs":{},"户":{"docs":{},"的":{"docs":{},"密":{"docs":{},"码":{"docs":{},"。":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"由":{"docs":{},"于":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"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":{},"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":{},"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":{},"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":{},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"docs":{},"三":{"docs":{},"点":{"docs":{},":":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}},"显":{"docs":{},"式":{"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":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},",":{"docs":{},"当":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"内":{"docs":{},"部":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"c":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"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":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"子":{"docs":{},"类":{"docs":{},"实":{"docs":{},"现":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}},"验":{"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.0013422818791946308}}}}}}}}}}}}}}}},"“":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}},"配":{"docs":{},"置":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}},"无":{"docs":{},"误":{"docs":{},"后":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"运":{"docs":{},"行":{"docs":{},"发":{"docs":{},"布":{"docs":{},"命":{"docs":{},"令":{"docs":{},"了":{"docs":{},":":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}},"~":{"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.0013422818791946308}}}}}}}}}}}}},"z":{"docs":{},"s":{"docs":{},"h":{"docs":{},"r":{"docs":{},"c":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}},"!":{"docs":{},"=":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0056179775280898875},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0064516129032258064},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0025041736227045075},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.006644518272425249},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.008547008547008548},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.015065913370998116},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0055762081784386614},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.012910798122065728},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.01893939393939394},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.005813953488372093},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.007692307692307693}}},"_":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0025041736227045075}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"g":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"f":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},",":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}},"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.003067484662576687}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}},"p":{"docs":{},"w":{"docs":{},"d":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},",":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}},";":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}}}},"\"":{"0":{"docs":{},"%":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}}}},"1":{"2":{"3":{"4":{"5":{"6":{"7":{"8":{"9":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"2":{"0":{"0":{"8":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.008097165991902834}}},"docs":{}},"1":{"1":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.012145748987854251}}},"8":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.008403361344537815}}},"docs":{}},"docs":{}},"docs":{}},"5":{"docs":{},".":{"2":{"0":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}}}}},"docs":{}},"docs":{}}},"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.00510204081632653},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}},"\"":{"docs":{},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.003745318352059925},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}},")":{"docs":{},")":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.003745318352059925},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}},"\"":{"docs":{},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}},"i":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.018726591760299626}},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}}}},"w":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.008403361344537815}},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter13/intl.html":{"ref":"chapter13/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.00390625}}}}}}}}}}}}}}}}}}}}},"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.002551020408163265}}}},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}},"docs":{}}}}},"docs":{}},"docs":{}},"docs":{}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}},"p":{"docs":{},"i":{"docs":{},".":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"/":{"docs":{},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"/":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"/":{"docs":{},"o":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"_":{"docs":{},"h":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"y":{"docs":{},".":{"docs":{},"g":{"docs":{},"i":{"docs":{},"f":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"\"":{"docs":{},",":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},".":{"docs":{},"d":{"docs":{},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"u":{"docs":{},"d":{"docs":{},".":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"n":{"docs":{},"/":{"docs":{},"h":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"9":{"docs":{},".":{"0":{"docs":{},".":{"2":{"docs":{},".":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"o":{"docs":{},"s":{"docs":{},"x":{"docs":{},"_":{"6":{"4":{"docs":{},".":{"docs":{},"d":{"docs":{},"m":{"docs":{},"g":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}},"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":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"/":{"docs":{},"$":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}},"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.002325581395348837}}}},":":{"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":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}}}},"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.004651162790697674}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}},"d":{"docs":{},"e":{"docs":{},"_":{"docs":{},"i":{"docs":{},"d":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.009433962264150943},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.012844036697247707},"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.012145748987854251}}}}}},"n":{"docs":{},"c":{"docs":{},"y":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}},"u":{"docs":{},"m":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}},"t":{"docs":{},"i":{"docs":{},"p":{"2":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}},"docs":{}},"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.001519756838905775}}}}}}}}}}}}}}}}}}},"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"l":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.008403361344537815}},"e":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.008403361344537815}}}}}}}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}},"m":{"docs":{},"p":{"0":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.005698005698005698}}}}}},"docs":{},"$":{"docs":{},"n":{"docs":{},"o":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.005698005698005698}}}}}}}}},"x":{"docs":{},"t":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.014005602240896359}}}}}}},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.014005602240896359},"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"\"":{"docs":{},":":{"5":{"6":{"7":{"8":{"docs":{},",":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"s":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}},":":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}},"r":{"docs":{},"e":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}},"i":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"\"":{"docs":{},":":{"docs":{},"\"":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"是":{"docs":{},"提":{"docs":{},"示":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}},"从":{"docs":{},"互":{"docs":{},"联":{"docs":{},"网":{"docs":{},"上":{"docs":{},"获":{"docs":{},"取":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}}}}}}}},"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.00625},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/intl.html":{"ref":"chapter13/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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}},"应":{"docs":{},"用":{"docs":{},"\"":{"docs":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894}},",":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0056022408963585435}}}}}}}}}}}},"i":{"docs":{},"l":{"docs":{},"e":{"1":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}},"2":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}},"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}},"s":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}},"[":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}},"r":{"docs":{},"k":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}},"s":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"_":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}},"d":{"docs":{},"u":{"docs":{},"m":{"docs":{},"p":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}},"c":{"3":{"8":{"0":{"docs":{},"d":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}},"docs":{}},"docs":{}},"docs":{}},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.014005602240896359},"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"_":{"docs":{},"b":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}},"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"\"":{"docs":{},":":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}},"_":{"docs":{},"u":{"docs":{},"s":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}}}}}}},"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.003278688524590164}}}}}},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}},":":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.007339449541284404},"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}},"\"":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{},":":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}},"x":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter13/intl.html":{"ref":"chapter13/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.001519756838905775}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}},"z":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"a":{"docs":{},"/":{"5":{"docs":{},".":{"0":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}},"{":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}},"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.002551020408163265}}}}}}}}}}}}}}},"p":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}},"x":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"\"":{"docs":{},":":{"1":{"0":{"0":{"0":{"docs":{},",":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"\"":{"docs":{},":":{"1":{"0":{"0":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}},"d":{"docs":{},"c":{"6":{"docs":{},"t":{"docs":{},"g":{"docs":{},"l":{"docs":{},"j":{"docs":{},"z":{"docs":{},"w":{"5":{"docs":{},"z":{"docs":{},"z":{"docs":{},"w":{"1":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"=":{"docs":{},"=":{"docs":{},"\"":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}},"docs":{}}}}},"docs":{}}}}}}}},"docs":{}}},"i":{"docs":{},"t":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}},"\"":{"docs":{},",":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.008097165991902834}}}}}}},"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.003278688524590164}}}}}}}}}}}},"p":{"docs":{},"u":{"docs":{},"t":{"1":{"docs":{},"\"":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}},"2":{"docs":{},"\"":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}},"docs":{}}}}},"m":{"docs":{},"g":{"docs":{},"s":{"docs":{},"/":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}}}}}}}}}}},"d":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}},"*":{"4":{"docs":{},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}}},"6":{"docs":{},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}}},"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.00390625}}}}}}}}},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"\"":{"docs":{},":":{"docs":{},"\"":{"docs":{},"$":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"_":{"docs":{},"a":{"docs":{},"t":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.008097165991902834}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}},"r":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}},":":{"docs":{},"\"":{"docs":{},"$":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}},"/":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}},"p":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"1":{"docs":{},".":{"docs":{},"t":{"docs":{},"x":{"docs":{},"t":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}},"2":{"docs":{},".":{"docs":{},"t":{"docs":{},"x":{"docs":{},"t":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}},"docs":{},".":{"docs":{},"t":{"docs":{},"x":{"docs":{},"t":{"docs":{},"\"":{"docs":{},")":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}},",":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"_":{"docs":{},"a":{"docs":{},"t":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.008097165991902834}}}}}}}}}}}}},"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}},"\"":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}},"\\":{"docs":{},"u":{"docs":{},"e":{"9":{"1":{"4":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}},"docs":{}},"docs":{}},"docs":{}}}},"密":{"docs":{},"码":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.004043126684636119}}}},"不":{"docs":{},"能":{"docs":{},"少":{"docs":{},"于":{"6":{"docs":{},"位":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}},"docs":{}}}}}}},"您":{"docs":{},"的":{"docs":{},"登":{"docs":{},"录":{"docs":{},"密":{"docs":{},"码":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.004043126684636119}}}}}}}}}},"用":{"docs":{},"户":{"docs":{},"名":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.004043126684636119}}}},"不":{"docs":{},"能":{"docs":{},"为":{"docs":{},"空":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}}},"或":{"docs":{},"邮":{"docs":{},"箱":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.004043126684636119}}}}}}}}}},"电":{"docs":{},"子":{"docs":{},"邮":{"docs":{},"件":{"docs":{},"地":{"docs":{},"址":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}}}},"池":{"docs":{},"信":{"docs":{},"息":{"docs":{},"不":{"docs":{},"可":{"docs":{},"用":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}},")":{"docs":{},",":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.04526748971193416}}},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.003669724770642202}}}},",":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856}}},"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.00202020202020202},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.009433962264150943}}}}}}}}}},"历":{"docs":{},"史":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}},"图":{"docs":{},"片":{"docs":{},"\"":{"docs":{},"]":{"docs":{},";":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}},"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.014492753623188406}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.017543859649122806}}}},"_":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}},"d":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0045871559633027525}}}}}}}},"g":{"docs":{},"e":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.009433962264150943}}}}}},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"/":{"docs":{},"v":{"docs":{},"n":{"docs":{},"d":{"docs":{},".":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"s":{"docs":{},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}},"y":{"docs":{},"m":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"#":{"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.002688172043010753}}}}}}}}}}}}}}},".":{"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}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"/":{"docs":{},"h":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"9":{"docs":{},".":{"0":{"docs":{},".":{"2":{"docs":{},".":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"o":{"docs":{},"s":{"docs":{},"x":{"docs":{},"_":{"6":{"4":{"docs":{},".":{"docs":{},"d":{"docs":{},"m":{"docs":{},"g":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}},"$":{"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.003067484662576687}}}}}}}}}},"_":{"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":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}},"标":{"docs":{},"题":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005649717514124294}}}}}}},"中":{"docs":{},"文":{"docs":{},"简":{"docs":{},"体":{"docs":{},"\"":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}},"美":{"docs":{},"国":{"docs":{},"英":{"docs":{},"语":{"docs":{},"\"":{"docs":{},"}":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}},"你":{"docs":{},"好":{"docs":{},"世":{"docs":{},"界":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0034904013961605585}}}}}}}}},"点":{"docs":{},"我":{"docs":{},"变":{"docs":{},"色":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}}},";":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0058309037900874635}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}},"i":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"h":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.014005602240896359}}}}}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"\"":{"docs":{},":":{"docs":{},"\"":{"docs":{},"$":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"_":{"docs":{},"a":{"docs":{},"t":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}},"x":{"docs":{},"x":{"docs":{},"\"":{"docs":{},":":{"docs":{},"\"":{"docs":{},"x":{"docs":{},"x":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}},"y":{"docs":{},"y":{"docs":{},"\"":{"docs":{},":":{"docs":{},"\"":{"docs":{},"d":{"docs":{},"d":{"docs":{},"\"":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}},"正":{"docs":{},"在":{"docs":{},"请":{"docs":{},"求":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}},"请":{"docs":{},"求":{"docs":{},"失":{"docs":{},"败":{"docs":{},":":{"docs":{},"$":{"docs":{},"e":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}},"b":{"docs":{},"y":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"=":{"docs":{},"$":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.005698005698005698}}}}}}}}}}}}},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}},"s":{"docs":{},"s":{"docs":{},"\"":{"docs":{},":":{"docs":{},"\"":{"docs":{},"$":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028}}}}}}}},"i":{"docs":{},"o":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}},"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":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}},":":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0056022408963585435}}}}}}}}}}}}}}}}}}}}}}}}}},"+":{"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":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}}}}}},"网":{"docs":{},"络":{"docs":{},"不":{"docs":{},"通":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}},"j":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}},"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":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"h":{"docs":{},"n":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.007339449541284404}},"@":{"docs":{},"e":{"docs":{},"x":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"\"":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}},",":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.005504587155963303}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.003669724770642202}}},":":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"u":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},")":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"\"":{"docs":{},":":{"docs":{},"\"":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"\"":{"docs":{},":":{"docs":{},"\"":{"docs":{},"\"":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.003669724770642202}}}}}}}},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"a":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}},"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}},";":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}},",":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}},"p":{"docs":{},"d":{"docs":{},"x":{"docs":{},"_":{"docs":{},"i":{"docs":{},"d":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}},"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}},"z":{"docs":{},"h":{"docs":{},"\"":{"docs":{},")":{"docs":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894}}}},"_":{"docs":{},"c":{"docs":{},"n":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}}}}}}}},"@":{"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":{"chapter13/intl.html":{"ref":"chapter13/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":{"chapter13/intl.html":{"ref":"chapter13/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":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0056022408963585435}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter13/intl.html":{"ref":"chapter13/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":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0056022408963585435}}}}}}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}},"o":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}},"/":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}},"@":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"_":{"docs":{},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}},"_":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}},"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.0018726591760299626}},"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.003745318352059925}}}}}}}}}}}}}}}}}}}}}}}},"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.0018587360594795538}}},".":{"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.0018587360594795538}}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"(":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0018587360594795538}},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}},"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.0018832391713747645}}}}}}}}}}}},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"f":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.007692307692307693}},"s":{"docs":{},",":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}},"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.0024330900243309003}}}}}}}}}}}}}},"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.001519756838905775}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}},"l":{"docs":{},"e":{"docs":{},"r":{"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":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}}}}}}}}}},"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":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.010884353741496598}}},")":{"docs":{},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}}},";":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.016227180527383367}},"e":{"docs":{},",":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.004056795131845842}}},"确":{"docs":{},"定":{"docs":{},"颜":{"docs":{},"色":{"docs":{},":":{"docs":{},"绿":{"docs":{},"色":{"docs":{},"为":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856}},"e":{"docs":{},"r":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0072992700729927005},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}},"+":{"docs":{},"+":{"docs":{},";":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}},"=":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}},"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.0041928721174004195}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.008403361344537815},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}},".":{"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.003067484662576687}}}}}}}}}}}}}}},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"(":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}},".":{"0":{"docs":{},",":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}},"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.003067484662576687},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}}}},"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.004201680672268907}}}}}}}}}}}}}}}}}}}}},"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.004201680672268907}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}},";":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}},"s":{"docs":{},")":{"docs":{},",":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}},".":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}}}}},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}},"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.0018832391713747645}}}}}}}},"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.013513513513513514}}},"=":{"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.013513513513513514}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"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":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},"e":{"docs":{},".":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"s":{"docs":{},".":{"docs":{},"f":{"docs":{},"i":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"(":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}}}}}}}}}}}}}}},"[":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"]":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}},"d":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0035211267605633804}},"e":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"b":{"docs":{},"y":{"docs":{},"t":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}}}}}}}}}}}}}}}},"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.004866180048661801},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}},",":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}},"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.005376344086021506}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}}}}}}}}}}}}}},"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.008097165991902834}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0064516129032258064}},"s":{"docs":{},"[":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"]":{"docs":{},";":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0064516129032258064}}}}}}}}}}}}}}}},"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.0064516129032258064}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"(":{"docs":{},"u":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"8":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}},"s":{"docs":{},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.008097165991902834}},",":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}},"s":{"docs":{},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"(":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"0":{"docs":{},",":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}},"docs":{}}}}}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}},"=":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0035211267605633804}},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}},"?":{"docs":{},".":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"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":{},")":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"_":{"docs":{},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}}}}}}}}}}}}}},"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.009732360097323601},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801}}}}},"类":{"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":{},"m":{"docs":{},"y":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"h":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.009966777408637873}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}},"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.001519756838905775}}},"]":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}}},"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.001519756838905775}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}},"x":{"docs":{},"i":{"docs":{},"m":{"docs":{},"u":{"docs":{},"m":{"docs":{},"s":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}},"b":{"docs":{},"y":{"docs":{},"t":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0035211267605633804}}}}}}}}}}}}}}},"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.001519756838905775}}}}}}}}}},"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.0058309037900874635}}}}}}}}}}}}}}}}}}}}}},"=":{"docs":{},"\"":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0058309037900874635}}}}}}}}},"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.001519756838905775}}}}}},"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.0026954177897574125}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"m":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}},"=":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}},"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.0026954177897574125}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.011299435028248588}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}}}}}}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"(":{"docs":{},"_":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}},"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.001519756838905775}}}}}}}}}}}}},"n":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.018072289156626505}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}},"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.00202020202020202}}}}}},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}},",":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0034904013961605585}}}},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}},"s":{"docs":{},",":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}},".":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"(":{"docs":{},"{":{"docs":{},"\"":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"(":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}},";":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.004081632653061225}},")":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}},"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.001519756838905775}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}},")":{"docs":{},",":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}},"=":{"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.0017452006980802793}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}},"t":{"docs":{},"h":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.004173622704507512}},"e":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0025041736227045075}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}},"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.002688172043010753}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}}}}}}}}}},"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":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.009302325581395349}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}}}}}}}}}}}}},"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.003278688524590164}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"(":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001669449081803005}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"(":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}},"o":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},".":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"s":{"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":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0034904013961605585}},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0034904013961605585}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.006085192697768763}}}},",":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.006085192697768763}}},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.004056795131845842}}}}}}},",":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.004056795131845842}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}},",":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}},"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/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}},",":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}},"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/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}},",":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}},"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.0018587360594795538}}}}}},":":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"u":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"s":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"d":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.010141987829614604}}}}}}}}}},"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0045871559633027525}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}},"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/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.004056795131845842}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.004056795131845842}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}},"c":{"docs":{},"类":{"docs":{},":":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}}}}},"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.0013477088948787063},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}},".":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}},"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.006134969325153374}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.00881057268722467}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.007575757575757576}},"e":{"docs":{},".":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}},"e":{"docs":{},")":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}},".":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"_":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}}}}},";":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}},"e":{"docs":{},",":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}},"u":{"docs":{},"s":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}},"?":{"docs":{},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},")":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}},";":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"f":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}},"s":{"docs":{},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}},"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.004201680672268907}},";":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}},"e":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}},"s":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"(":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}},"[":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"]":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},"?":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.006085192697768763}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}},"c":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.006085192697768763}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"g":{"docs":{},"n":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}},"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.00390625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0034904013961605585}},"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.0017452006980802793}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.00202020202020202}},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.006060606060606061}}},".":{"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.00202020202020202}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}}}}}}}},"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.0032258064516129032}},"(":{"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.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"x":{"docs":{},"t":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.009174311926605505},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.013953488372093023}},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.006644518272425249}},",":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}},";":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}},">":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.00847457627118644}},")":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}},"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.005649717514124294}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}}}}}}}}}}},"s":{"docs":{},";":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}},"o":{"docs":{},"g":{"docs":{},"g":{"docs":{},"l":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.005235602094240838}}}}},"p":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.010471204188481676}},",":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.005235602094240838}}}}},"w":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00823045267489712}},".":{"docs":{},"e":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{},";":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.009966777408637873}},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.006644518272425249}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.006644518272425249}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}}}}},"s":{"docs":{},",":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.006644518272425249}}}}}}}},"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.02702702702702703}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.013513513513513514}}}}}}}}},"=":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}},"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.0013477088948787063}},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}},".":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0013477088948787063}}}}}}}}},"=":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.00404040404040404}},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}}}}}}},"n":{"docs":{},"d":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}},",":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}},"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.006060606060606061}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}}}}}}}}}}}}},"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.0017452006980802793}}}}}}}}}}}}},"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.010309278350515464}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.006134969325153374}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"b":{"docs":{},"o":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"a":{"docs":{},"l":{"docs":{},"b":{"docs":{},"o":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}},";":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}}}}}}}}}}}}},"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.007407407407407408}},";":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.008403361344537815}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"t":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}}}}}}}},"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.0026954177897574125},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0026954177897574125},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}},".":{"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.0013477088948787063}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"(":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}},"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.00202020202020202}},".":{"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.00202020202020202}}}}}}}}}}}}}}}}}}}}}}}}}}}},"=":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}}}},"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":{},"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.0034904013961605585}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0017452006980802793}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}},")":{"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":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}}}},"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":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}},",":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},"_":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}},"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":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.009852216748768473}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}},"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":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}},"{":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}},";":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}}}}},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}}},":":{"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.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}},".":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter11/socket.html":{"ref":"chapter11/socket.html","tf":0.02857142857142857}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"chapter11/socket.html":{"ref":"chapter11/socket.html","tf":0.02857142857142857}}}}}}},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"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.0018587360594795538}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}},"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.012195121951219513}},";":{"docs":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513}}}}}}}}}}}}}}},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.010471204188481676}},",":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.005235602094240838}}},"b":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}},",":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.009174311926605505}},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"(":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},",":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},";":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.007692307692307693}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}},"_":{"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.00967741935483871}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}},"e":{"docs":{},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}}}}}}}}}},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"(":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"u":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},")":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}},"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.004201680672268907}}}}}}}}}}}}}}},",":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}}}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"d":{"docs":{},"y":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},"方":{"docs":{},"法":{"docs":{},"来":{"docs":{},"构":{"docs":{},"建":{"docs":{},"主":{"docs":{},"页":{"docs":{},"内":{"docs":{},"容":{"docs":{},",":{"docs":{},"_":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"d":{"docs":{},"y":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"实":{"docs":{},"现":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"u":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}}}}}}}}},"中":{"docs":{},"文":{"docs":{},"简":{"docs":{},"体":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}}}}}}},"g":{"docs":{},"m":{"docs":{},".":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},",":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.014285714285714285}}}}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"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":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},";":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}}}}}}},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}},"[":{"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.014814814814814815}},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"(":{"docs":{},"f":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}}}}}}}}}},";":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.014814814814814815}}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}},"e":{"docs":{},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}}},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"(":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}},"docs":{}}}}}}}}}}}}}},")":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}},"$":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.003669724770642202}}}}}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.003669724770642202}}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"s":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}},"b":{"docs":{},"y":{"docs":{},"t":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},"e":{"docs":{},"s":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}},"…":{"docs":{},"}":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"指":{"docs":{},"定":{"docs":{},"命":{"docs":{},"名":{"docs":{},"参":{"docs":{},"数":{"docs":{},"。":{"docs":{},"例":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}}}}}}}}}},"/":{"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.004807692307692308}}}}}}}}}}}}}}}},"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.004807692307692308}}}}}}}}}}}}}}}},"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.004807692307692308}}}}}}}}}}}}}}}},"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.004807692307692308}}}}}}}}}}}}}}}}}}}}},"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}},"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.004807692307692308}}}}}}}}}}}}}},"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.004807692307692308}}}}}}}}}}}}}},"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.004807692307692308}}}}}}}}}}}}}}}},"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.004807692307692308}}}}}}}}}}},"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.004807692307692308}}}}}}},"2":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}}}}}}},"3":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}}}}}}},"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.004807692307692308}}}}}}}}}}}}},"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.004807692307692308}}}}}}}}}}}}},"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.004807692307692308}}}}}}}}}}}}}},"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.009615384615384616}}}}}}}}}}}}}}},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},".":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.014423076923076924}}}}}},"会":{"docs":{},"输":{"docs":{},"出":{"docs":{},"这":{"docs":{},"样":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"(":{"docs":{},"精":{"docs":{},"确":{"docs":{},"的":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{},"很":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"就":{"docs":{},"不":{"docs":{},"赘":{"docs":{},"述":{"docs":{},"了":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}},"首":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"创":{"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":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"返":{"docs":{},"回":{"docs":{},"。":{"docs":{},"因":{"docs":{},"为":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"中":{"docs":{},"在":{"docs":{},"判":{"docs":{},"断":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"(":{"docs":{},"此":{"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":{},"“":{"docs":{},"=":{"docs":{},"=":{"docs":{},"”":{"docs":{},"运":{"docs":{},"算":{"docs":{},"符":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"定":{"docs":{},"义":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"的":{"docs":{},"逻":{"docs":{},"辑":{"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":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"关":{"docs":{},"键":{"docs":{},"地":{"docs":{},"方":{"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":{"5":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.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":{},"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":{},"地":{"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":{},"新":{"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":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.018072289156626505},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}},"中":{"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.00202020202020202}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}}},"运":{"docs":{},"行":{"docs":{},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"图":{"5":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}},"docs":{}}}}},"后":{"docs":{},",":{"docs":{},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"图":{"7":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}},"docs":{}}}}}}}}},"比":{"docs":{},"较":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"参":{"docs":{},"照":{"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.002688172043010753}}}}}}},"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":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}},"组":{"docs":{},"织":{"docs":{},"问":{"docs":{},"题":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}},"解":{"docs":{},"释":{"docs":{},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}},":":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}},"大":{"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":{},"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":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"部":{"docs":{},"分":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}},"表":{"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":{},"(":{"1":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}},"当":{"docs":{},"前":{"docs":{},"块":{"docs":{},"的":{"docs":{},"起":{"docs":{},"始":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"代":{"docs":{},"表":{"docs":{},"结":{"docs":{},"束":{"docs":{},"位":{"docs":{},"置":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}}}}}}}}}},"是":{"docs":{},"第":{"docs":{},"几":{"docs":{},"块":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}},"理":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}},"保":{"docs":{},"存":{"docs":{},"用":{"docs":{},"户":{"docs":{},"信":{"docs":{},"息":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"中":{"docs":{},"需":{"docs":{},"要":{"docs":{},"跨":{"docs":{},"组":{"docs":{},"件":{"docs":{},"共":{"docs":{},"享":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"类":{"docs":{"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.015151515151515152}}}}}}}}}}}}}}}}},"当":{"docs":{},"前":{"docs":{},"列":{"docs":{},"表":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}},"其":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},"在":{"docs":{},"很":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"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":{},"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":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"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":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"框":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"通":{"docs":{},"过":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"+":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"来":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},"载":{"docs":{},"速":{"docs":{},"度":{"docs":{},"的":{"docs":{},"主":{"docs":{},"要":{"docs":{},"瓶":{"docs":{},"颈":{"docs":{},"是":{"docs":{},"取":{"docs":{},"决":{"docs":{},"于":{"docs":{},"网":{"docs":{},"络":{"docs":{},"速":{"docs":{},"度":{"docs":{},"和":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"的":{"docs":{},"出":{"docs":{},"口":{"docs":{},"速":{"docs":{},"度":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"是":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},"数":{"docs":{},"据":{"docs":{},"源":{"docs":{},",":{"docs":{},"分":{"docs":{},"块":{"docs":{},"下":{"docs":{},"载":{"docs":{},"的":{"docs":{},"意":{"docs":{},"义":{"docs":{},"并":{"docs":{},"不":{"docs":{},"大":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"是":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},",":{"docs":{},"出":{"docs":{},"口":{"docs":{},"速":{"docs":{},"度":{"docs":{},"确":{"docs":{},"定":{"docs":{},"的":{"docs":{},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"取":{"docs":{},"决":{"docs":{},"于":{"docs":{},"网":{"docs":{},"速":{"docs":{},",":{"docs":{},"而":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},"正":{"docs":{},"式":{"docs":{},"同":{"docs":{},"源":{"docs":{},"分":{"docs":{},"块":{"docs":{},"下":{"docs":{},"载":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"己":{"docs":{},"对":{"docs":{},"比":{"docs":{},"一":{"docs":{},"下":{"docs":{},"分":{"docs":{},"块":{"docs":{},"和":{"docs":{},"不":{"docs":{},"分":{"docs":{},"块":{"docs":{},"的":{"docs":{},"的":{"docs":{},"下":{"docs":{},"载":{"docs":{},"速":{"docs":{},"度":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},"多":{"docs":{},"个":{"docs":{},"下":{"docs":{},"载":{"docs":{},"源":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"每":{"docs":{},"个":{"docs":{},"下":{"docs":{},"载":{"docs":{},"源":{"docs":{},"的":{"docs":{},"出":{"docs":{},"口":{"docs":{},"带":{"docs":{},"宽":{"docs":{},"都":{"docs":{},"是":{"docs":{},"有":{"docs":{},"限":{"docs":{},"制":{"docs":{},"的":{"docs":{},",":{"docs":{},"这":{"docs":{},"时":{"docs":{},"分":{"docs":{},"块":{"docs":{},"下":{"docs":{},"载":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"更":{"docs":{},"快":{"docs":{},"一":{"docs":{},"下":{"docs":{},",":{"docs":{},"之":{"docs":{},"所":{"docs":{},"以":{"docs":{},"说":{"docs":{},"“":{"docs":{},"可":{"docs":{},"能":{"docs":{},"”":{"docs":{},",":{"docs":{},"是":{"docs":{},"由":{"docs":{},"于":{"docs":{},"这":{"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":{},"g":{"docs":{},"/":{"docs":{},"s":{"docs":{},",":{"docs":{},"而":{"docs":{},"我":{"docs":{},"们":{"docs":{},"设":{"docs":{},"备":{"docs":{},"所":{"docs":{},"连":{"docs":{},"网":{"docs":{},"络":{"docs":{},"的":{"docs":{},"峰":{"docs":{},"值":{"docs":{},"假":{"docs":{},"设":{"docs":{},"只":{"docs":{},"有":{"8":{"0":{"0":{"docs":{},"m":{"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":{},",":{"docs":{},"下":{"docs":{},"载":{"docs":{},"速":{"docs":{},"度":{"docs":{},"依":{"docs":{},"然":{"docs":{},"不":{"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":{},"b":{"docs":{},",":{"docs":{},"速":{"docs":{},"度":{"docs":{},"a":{"docs":{},"源":{"docs":{},"是":{"docs":{},"b":{"docs":{},"源":{"docs":{},"的":{"3":{"docs":{},"倍":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"采":{"docs":{},"用":{"docs":{},"分":{"docs":{},"块":{"docs":{},"下":{"docs":{},"载":{"docs":{},",":{"docs":{},"两":{"docs":{},"个":{"docs":{},"源":{"docs":{},"各":{"docs":{},"下":{"docs":{},"载":{"docs":{},"一":{"docs":{},"半":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"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":{},"需":{"docs":{},"的":{"docs":{},"时":{"docs":{},"间":{"docs":{},",":{"docs":{},"看":{"docs":{},"看":{"docs":{},"哪":{"docs":{},"个":{"docs":{},"更":{"docs":{},"快":{"docs":{},"。":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"它":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"方":{"docs":{},"式":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}}}}}},"异":{"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.003278688524590164}}}}}}}}}}},"尺":{"docs":{},"寸":{"docs":{},"限":{"docs":{},"制":{"docs":{},"类":{"docs":{},"容":{"docs":{},"器":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}}}}}}}}},"状":{"docs":{},"态":{"docs":{},"管":{"docs":{},"理":{"docs":{},"包":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}},"的":{"docs":{},"值":{"docs":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894}}}}},"中":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}}}}}},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"属":{"docs":{},"性":{"docs":{},"名":{"docs":{},"都":{"docs":{},"是":{"docs":{},"自":{"docs":{},"解":{"docs":{},"释":{"docs":{},"的":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"不":{"docs":{},"赘":{"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.006024096385542169}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},"为":{"docs":{},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{},"的":{"docs":{},"宽":{"docs":{},"度":{"docs":{},",":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"为":{"docs":{},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{},"高":{"docs":{},"度":{"docs":{},"。":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}},"\"":{"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"函":{"docs":{},"数":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}},"作":{"docs":{},"为":{"docs":{},"参":{"docs":{},"数":{"docs":{},"传":{"docs":{},"递":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}},"变":{"docs":{},"量":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}},"内":{"docs":{},"部":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}},"声":{"docs":{},"明":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}},"包":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}},"装":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}},"管":{"docs":{},"理":{"docs":{"chapter2/":{"ref":"chapter2/","tf":0.1},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}}}},"含":{"docs":{},"路":{"docs":{},"由":{"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.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"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.04}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"多":{"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.04}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"图":{"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":{},"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":{},"当":{"docs":{},"前":{"docs":{},"的":{"docs":{},"设":{"docs":{},"备":{"docs":{},"平":{"docs":{},"台":{"docs":{},"、":{"docs":{},"d":{"docs":{},"e":{"docs":{},"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":{},"设":{"docs":{},"备":{"docs":{},"像":{"docs":{},"素":{"docs":{},"比":{"docs":{},"等":{"docs":{},")":{"docs":{},"。":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"也":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"多":{"docs":{},"种":{"docs":{},"风":{"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/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"名":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}},"与":{"docs":{},"插":{"docs":{},"件":{"docs":{"chapter12/":{"ref":"chapter12/","tf":0.2}}}}},"包":{"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":{},"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.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":{},"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":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"案":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}},"变":{"docs":{},"量":{"docs":{},"a":{"docs":{},"不":{"docs":{},"会":{"docs":{},"报":{"docs":{},"错":{"docs":{},",":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}},"b":{"docs":{},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},"会":{"docs":{},"报":{"docs":{},"错":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}}},"只":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}},"声":{"docs":{},"明":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}},"是":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"体":{"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.004807692307692308}}}}}}}}}}}},"换":{"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}}}}}}}}}}},"(":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},")":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064}}}}}}}}}}}}}}},"后":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"否":{"docs":{},"则":{"docs":{},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},"会":{"docs":{},"报":{"docs":{},"错":{"docs":{},"。":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}}}}},",":{"docs":{},"配":{"docs":{},"置":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{},"将":{"docs":{},"出":{"docs":{},"现":{"docs":{},"的":{"docs":{},"主":{"docs":{},"要":{"docs":{},"问":{"docs":{},"题":{"docs":{},"将":{"docs":{},"是":{"docs":{},"调":{"docs":{},"试":{"docs":{},"断":{"docs":{},"言":{"docs":{},",":{"docs":{},"以":{"docs":{},"验":{"docs":{},"证":{"docs":{},"框":{"docs":{},"架":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"回":{"docs":{},"调":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}},"地":{"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.0018726591760299626}}}}}}}}}}}}},"中":{"docs":{},"打":{"docs":{},"印":{"docs":{},"日":{"docs":{},"志":{"docs":{},":":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}},"我":{"docs":{},"们":{"docs":{},"调":{"docs":{},"用":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"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":{},"取":{"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":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"s":{"docs":{},"中":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"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":{},"意":{"docs":{},",":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"(":{"docs":{},"…":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"需":{"docs":{},"要":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{},"参":{"docs":{},"数":{"docs":{},"来":{"docs":{},"判":{"docs":{},"断":{"docs":{},"是":{"docs":{},"否":{"docs":{},"使":{"docs":{},"用":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"。":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"返":{"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}},"绑":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"到":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"客":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"户":{"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"得":{"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}},"异":{"docs":{},"步":{"docs":{},"支":{"docs":{},"持":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}},"u":{"docs":{},"i":{"docs":{},"更":{"docs":{},"新":{"docs":{},"(":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"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":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"任":{"docs":{},"务":{"docs":{},"处":{"docs":{},"于":{"docs":{},"等":{"docs":{},"待":{"docs":{},"状":{"docs":{},"态":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}},"已":{"docs":{},"经":{"docs":{},"终":{"docs":{},"止":{"docs":{},".":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}},"执":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}},"完":{"docs":{},"后":{"docs":{},",":{"docs":{},"消":{"docs":{},"息":{"docs":{},"循":{"docs":{},"环":{"docs":{},"机":{"docs":{},"制":{"docs":{},"便":{"docs":{},"启":{"docs":{},"动":{"docs":{},"了":{"docs":{},"。":{"docs":{},"首":{"docs":{},"先":{"docs":{},"会":{"docs":{},"按":{"docs":{},"照":{"docs":{},"先":{"docs":{},"进":{"docs":{},"先":{"docs":{},"出":{"docs":{},"的":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"逐":{"docs":{},"个":{"docs":{},"执":{"docs":{},"行":{"docs":{},"微":{"docs":{},"任":{"docs":{},"务":{"docs":{},"队":{"docs":{},"列":{"docs":{},"中":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"当":{"docs":{},"所":{"docs":{},"有":{"docs":{},"微":{"docs":{},"任":{"docs":{},"务":{"docs":{},"队":{"docs":{},"列":{"docs":{},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{},"后":{"docs":{},"便":{"docs":{},"开":{"docs":{},"始":{"docs":{},"执":{"docs":{},"行":{"docs":{},"事":{"docs":{},"件":{"docs":{},"队":{"docs":{},"列":{"docs":{},"中":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"事":{"docs":{},"件":{"docs":{},"任":{"docs":{},"务":{"docs":{},"执":{"docs":{},"行":{"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.003278688524590164}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"删":{"docs":{},"除":{"docs":{},"操":{"docs":{},"作":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0025041736227045075}}}}}},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"图":{"docs":{},",":{"docs":{},"点":{"docs":{},"击":{"docs":{},"图":{"9":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}},"docs":{}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},".":{"docs":{},"s":{"docs":{},"h":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}}}}},"抛":{"docs":{},"出":{"docs":{},"一":{"docs":{},"个":{"docs":{},"异":{"docs":{},"常":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}},"来":{"docs":{},"模":{"docs":{},"拟":{"docs":{},"两":{"docs":{},"个":{"docs":{},"数":{"docs":{},"据":{"docs":{},"获":{"docs":{},"取":{"docs":{},"的":{"docs":{},"异":{"docs":{},"步":{"docs":{},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"等":{"docs":{},"两":{"docs":{},"个":{"docs":{},"异":{"docs":{},"步":{"docs":{},"任":{"docs":{},"务":{"docs":{},"都":{"docs":{},"执":{"docs":{},"行":{"docs":{},"成":{"docs":{},"功":{"docs":{},"时":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"获":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"临":{"docs":{},"时":{"docs":{},"目":{"docs":{},"录":{"docs":{},";":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}},"。":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"定":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},",":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"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":{},"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":{},"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":{},"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":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"”":{"docs":{},"一":{"docs":{},"章":{"docs":{},"中":{"docs":{},"详":{"docs":{},"细":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"。":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"现":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"全":{"docs":{},"局":{"docs":{},"状":{"docs":{},"态":{"docs":{},"共":{"docs":{},"享":{"docs":{},"。":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}}}}}}}},"这":{"docs":{},"种":{"docs":{},"”":{"docs":{},"出":{"docs":{},"入":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"动":{"docs":{},"画":{"docs":{},"“":{"docs":{},",":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}},",":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"演":{"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":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"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":{},"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":{},"这":{"docs":{},"个":{"docs":{},"订":{"docs":{},"阅":{"docs":{},"者":{"docs":{},"类":{"docs":{},":":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"更":{"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.002577319587628866}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"监":{"docs":{},"听":{"docs":{},"新":{"docs":{},"消":{"docs":{},"息":{"docs":{},",":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"工":{"docs":{},"程":{"docs":{},",":{"docs":{},"如":{"docs":{},"图":{"1":{"2":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}},"执":{"docs":{},"行":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}},"保":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}},"标":{"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":{},"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":{},"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":{},"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":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"绘":{"docs":{},"制":{"docs":{},"溢":{"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":{"4":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}},"赋":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"管":{"docs":{},"理":{"docs":{},"。":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}},"正":{"docs":{},"如":{"docs":{},"上":{"docs":{},"文":{"docs":{},"所":{"docs":{},"述":{"docs":{},",":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}},"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"综":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"比":{"docs":{},"较":{"docs":{},"建":{"docs":{},"议":{"docs":{},"使":{"docs":{},"用":{"docs":{},"命":{"docs":{},"名":{"docs":{},"路":{"docs":{},"由":{"docs":{},",":{"docs":{},"当":{"docs":{},"然":{"docs":{},"这":{"docs":{},"并":{"docs":{},"不":{"docs":{},"是":{"docs":{},"什":{"docs":{},"么":{"docs":{},"金":{"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.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"!":{"docs":{},"=":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}},"路":{"docs":{},"由":{"docs":{},"管":{"docs":{},"理":{"docs":{"chapter2/":{"ref":"chapter2/","tf":0.1},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}},"(":{"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":{},"f":{"docs":{},"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":{},"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.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"传":{"docs":{},"值":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}},"参":{"docs":{},"数":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}},"生":{"docs":{},"成":{"docs":{},"钩":{"docs":{},"子":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}},"表":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}},"的":{"docs":{},"注":{"docs":{},"册":{"docs":{},"方":{"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.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},":":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004651162790697674}}}}}},"a":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403}}},"b":{"docs":{},":":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403}}}}},"径":{"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.00625}}}}}}}}}}}}}}}}}}},")":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004651162790697674},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.024096385542168676},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.017857142857142856},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.014824797843665768},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00823045267489712},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.009900990099009901},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015625},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.015463917525773196},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.05531914893617021},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.03488372093023256},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.025806451612903226},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.010101010101010102},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001669449081803005},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.01694915254237288},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.010471204188481676},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.006172839506172839},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.013888888888888888},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}},",":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0340632603406326},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.02558139534883721},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.009615384615384616},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.004559270516717325},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.014675052410901468},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.02636916835699797},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.03125},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.018072289156626505},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.030612244897959183},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.04177897574123989},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.048458149779735685},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0411522633744856},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.07692307692307693},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.019801980198019802},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.046875},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.03608247422680412},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.031578947368421054},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.02553191489361702},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.05161290322580645},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.059602649006622516},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.03838383838383838},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.061224489795918366},"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.02631578947368421},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.043478260869565216},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.005376344086021506},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.012145748987854251},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.06040268456375839},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.018404907975460124},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.00967741935483871},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.03672316384180791},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0333889816360601},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.05649717514124294},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.02268760907504363},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.02040816326530612},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010309278350515464},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.06140350877192982},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.05042016806722689},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00823045267489712},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.054187192118226604},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.013289036544850499},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.03945578231292517},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.011299435028248588},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.006880733944954129},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.005698005698005698},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.027906976744186046},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.02142857142857143},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.012121212121212121},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.003766478342749529},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.042352941176470586},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.03076923076923077},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.04430379746835443}}},";":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.009732360097323601},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.023255813953488372},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.00303951367781155},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.009836065573770493},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.006289308176100629},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.010141987829614604},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.03515625},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.017857142857142856},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.008086253369272238},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.00881057268722467},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.01646090534979424},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.011834319526627219},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00851063829787234},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.012903225806451613},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00808080808080808},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374},"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.02631578947368421},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.013440860215053764},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.016194331983805668},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.020134228187919462},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.015337423312883436},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.012727272727272728},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005649717514124294},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.010582010582010581},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.027545909849749584},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.012216404886561954},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.014577259475218658},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.01804123711340206},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.024844720496894408},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.03508771929824561},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.029411764705882353},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.01440329218106996},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.009852216748768473},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.016611295681063124},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.00816326530612245},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.006880733944954129},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.009433962264150943},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.005698005698005698},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.013953488372093023},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717},"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.04},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.005868544600938967},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.005813953488372093},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.02},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.02531645569620253}}},"布":{"docs":{},"局":{"docs":{},"模":{"docs":{},"型":{"docs":{},"设":{"docs":{},"计":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}}}}}}}},")":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}},";":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}},";":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064}}},".":{"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.012605042016806723}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}},"{":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004651162790697674},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.03951367781155015},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0041928721174004195},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.02028397565922921},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0026954177897574125},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.010309278350515464},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0064516129032258064},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.005454545454545455},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001669449081803005},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.006172839506172839},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0045871559633027525},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.005813953488372093},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.00823529411764706},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.011538461538461539},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.012658227848101266}},"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.0032258064516129032}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},":":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.012578616352201259},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.010309278350515464},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.006060606060606061},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001669449081803005},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.006172839506172839},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.006644518272425249},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0035211267605633804},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},")":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0035211267605633804}},";":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.006085192697768763},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.006644518272425249},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},"{":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}},"方":{"docs":{},"法":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},"从":{"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":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},"。":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0041928721174004195},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.004056795131845842},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.015463917525773196},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.006060606060606061},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001669449081803005},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005154639175257732},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.0102880658436214},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.006644518272425249},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0035211267605633804},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}}},"}":{"docs":{},")":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}},"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.0013477088948787063}}},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}},":":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"(":{"docs":{},"t":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"(":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"p":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}},"n":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}},"o":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}}}}},"与":{"docs":{},"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}},"分":{"docs":{},"析":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}},"器":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}},"可":{"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.001519756838905775}}}}}}}}}}}}}}}}}},",":{"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.001519756838905775}}}}}}}}}}}}}}}}}},"别":{"docs":{},"指":{"docs":{},"定":{"docs":{},"四":{"docs":{},"个":{"docs":{},"方":{"docs":{},"向":{"docs":{},"的":{"docs":{},"补":{"docs":{},"白":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684}}}}}}}}}}}},"发":{"docs":{},"通":{"docs":{},"知":{"docs":{},"。":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}},"块":{"docs":{},"下":{"docs":{},"载":{"docs":{},"有":{"docs":{},"什":{"docs":{},"么":{"docs":{},"实":{"docs":{},"际":{"docs":{},"的":{"docs":{},"用":{"docs":{},"处":{"docs":{},"吗":{"docs":{},"?":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}}}},"的":{"docs":{},"最":{"docs":{},"终":{"docs":{},"速":{"docs":{},"度":{"docs":{},"受":{"docs":{},"设":{"docs":{},"备":{"docs":{},"所":{"docs":{},"在":{"docs":{},"网":{"docs":{},"络":{"docs":{},"带":{"docs":{},"宽":{"docs":{},"、":{"docs":{},"源":{"docs":{},"出":{"docs":{},"口":{"docs":{},"速":{"docs":{},"度":{"docs":{},"、":{"docs":{},"每":{"docs":{},"个":{"docs":{},"块":{"docs":{},"大":{"docs":{},"小":{"docs":{},"、":{"docs":{},"以":{"docs":{},"及":{"docs":{},"分":{"docs":{},"块":{"docs":{},"的":{"docs":{},"数":{"docs":{},"量":{"docs":{},"等":{"docs":{},"诸":{"docs":{},"多":{"docs":{},"因":{"docs":{},"素":{"docs":{},"影":{"docs":{},"响":{"docs":{},",":{"docs":{},"实":{"docs":{},"际":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"很":{"docs":{},"难":{"docs":{},"保":{"docs":{},"证":{"docs":{},"速":{"docs":{},"度":{"docs":{},"最":{"docs":{},"优":{"docs":{},"。":{"docs":{},"在":{"docs":{},"实":{"docs":{},"际":{"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/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"真":{"docs":{},"的":{"docs":{},"能":{"docs":{},"提":{"docs":{},"高":{"docs":{},"下":{"docs":{},"载":{"docs":{},"速":{"docs":{},"度":{"docs":{},"吗":{"docs":{},"?":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}}}}},"还":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"比":{"docs":{},"较":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"场":{"docs":{},"景":{"docs":{},"是":{"docs":{},"断":{"docs":{},"点":{"docs":{},"续":{"docs":{},"传":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"将":{"docs":{},"文":{"docs":{},"件":{"docs":{},"分":{"docs":{},"为":{"docs":{},"若":{"docs":{},"干":{"docs":{},"个":{"docs":{},"块":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"维":{"docs":{},"护":{"docs":{},"一":{"docs":{},"个":{"docs":{},"下":{"docs":{},"载":{"docs":{},"状":{"docs":{},"态":{"docs":{},"文":{"docs":{},"件":{"docs":{},"用":{"docs":{},"以":{"docs":{},"记":{"docs":{},"录":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"块":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"即":{"docs":{},"使":{"docs":{},"在":{"docs":{},"网":{"docs":{},"络":{"docs":{},"中":{"docs":{},"断":{"docs":{},"后":{"docs":{},",":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"恢":{"docs":{},"复":{"docs":{},"中":{"docs":{},"断":{"docs":{},"前":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"具":{"docs":{},"体":{"docs":{},"实":{"docs":{},"现":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"己":{"docs":{},"尝":{"docs":{},"试":{"docs":{},"一":{"docs":{},"下":{"docs":{},",":{"docs":{},"还":{"docs":{},"是":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"细":{"docs":{},"节":{"docs":{},"需":{"docs":{},"要":{"docs":{},"特":{"docs":{},"别":{"docs":{},"注":{"docs":{},"意":{"docs":{},"的":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"分":{"docs":{},"块":{"docs":{},"大":{"docs":{},"小":{"docs":{},"多":{"docs":{},"少":{"docs":{},"合":{"docs":{},"适":{"docs":{},"?":{"docs":{},"下":{"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/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"子":{"docs":{},"组":{"docs":{},"件":{"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.0024330900243309003}}}}}}}}}}},"为":{"docs":{},"正":{"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/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"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":{},"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":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"导":{"docs":{},"入":{"docs":{},"包":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}},"字":{"docs":{},"体":{"docs":{},"图":{"docs":{},"标":{"docs":{},"文":{"docs":{},"件":{"docs":{},";":{"docs":{},"这":{"docs":{},"一":{"docs":{},"步":{"docs":{},"和":{"docs":{},"导":{"docs":{},"入":{"docs":{},"字":{"docs":{},"体":{"docs":{},"文":{"docs":{},"件":{"docs":{},"相":{"docs":{},"同":{"docs":{},",":{"docs":{},"假":{"docs":{},"设":{"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.002551020408163265}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"并":{"docs":{},"创":{"docs":{},"建":{"docs":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},"实":{"docs":{},"例":{"docs":{},":":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}},"航":{"docs":{},"栏":{"docs":{},"右":{"docs":{},"侧":{"docs":{},"菜":{"docs":{},"单":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}},"边":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"分":{"docs":{},"享":{"docs":{},"按":{"docs":{},"钮":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}}}},"底":{"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.00202020202020202}}}}}}}}}}}}}}}},"阴":{"docs":{},"影":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}},"返":{"docs":{},"回":{"docs":{},"拦":{"docs":{},"截":{"docs":{"chapter7/":{"ref":"chapter7/","tf":0.1111111111111111}},"(":{"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":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513}}}}}}}}}}}}}}}}}}}}}},"应":{"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":{},"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"入":{"docs":{},"口":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}}},"结":{"docs":{},"构":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}}},"或":{"docs":{},"包":{"docs":{},"的":{"docs":{},"描":{"docs":{},"述":{"docs":{},"、":{"docs":{},"简":{"docs":{},"介":{"docs":{},"。":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}}}}}}}}}}},"的":{"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":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.011494252873563218}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"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":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"程":{"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":{},"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":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"信":{"docs":{},"息":{"docs":{},"等":{"docs":{},"。":{"docs":{},"在":{"docs":{},"f":{"docs":{},"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":{},"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":{},"量":{"docs":{},"和":{"docs":{},"共":{"docs":{},"享":{"docs":{},"状":{"docs":{},"态":{"docs":{},"分":{"docs":{},"开":{"docs":{},"单":{"docs":{},"独":{"docs":{},"管":{"docs":{},"理":{"docs":{},"。":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"该":{"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.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"先":{"docs":{},"运":{"docs":{},"行":{"docs":{},"创":{"docs":{},"建":{"docs":{},"的":{"docs":{},"工":{"docs":{},"程":{"docs":{},",":{"docs":{},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"图":{"2":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}},"docs":{}}}}}}}}}}}}},"注":{"docs":{},"册":{"docs":{},"一":{"docs":{},"个":{"docs":{},"路":{"docs":{},"由":{"docs":{},":":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}},"来":{"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.0020964360587002098}}}}}}}}}}}}}},"个":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},":":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}},"看":{"docs":{},"最":{"docs":{},"终":{"docs":{},"要":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},"效":{"docs":{},"果":{"docs":{},"(":{"docs":{},"图":{"1":{"0":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}},"docs":{}},"docs":{}}}}}}}}}}}}},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"全":{"docs":{},"新":{"docs":{},"的":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"工":{"docs":{},"程":{"docs":{},",":{"docs":{},"命":{"docs":{},"名":{"docs":{},"为":{"docs":{},"\"":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"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":{"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.015151515151515152}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"定":{"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.00425531914893617}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"构":{"docs":{},"建":{"docs":{},"显":{"docs":{},"示":{"docs":{},"总":{"docs":{},"价":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},":":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}},"个":{"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.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}},"看":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"i":{"docs":{},"c":{"docs":{},"认":{"docs":{},"证":{"docs":{},"的":{"docs":{},"基":{"docs":{},"本":{"docs":{},"过":{"docs":{},"程":{"docs":{},":":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"t":{"docs":{},"i":{"docs":{},"p":{"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":{},"t":{"docs":{},"i":{"docs":{},"p":{"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":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.003067484662576687}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"计":{"docs":{},"时":{"docs":{},"器":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},":":{"docs":{},"每":{"docs":{},"隔":{"1":{"docs":{},"秒":{"docs":{},",":{"docs":{},"计":{"docs":{},"数":{"docs":{},"加":{"1":{"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":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.002325581395348837}}}}}}}}}}}}}}}}}}}}}},"面":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"了":{"docs":{},"通":{"docs":{},"知":{"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":{},"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":{},"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":{},"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":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"前":{"docs":{},"面":{"docs":{},"章":{"docs":{},"节":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},"中":{"docs":{},"已":{"docs":{},"经":{"docs":{},"使":{"docs":{},"用":{"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":{},"来":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"它":{"docs":{},"。":{"docs":{},"通":{"docs":{},"过":{"docs":{},"查":{"docs":{},"找":{"docs":{},"s":{"docs":{},"d":{"docs":{},"k":{"docs":{},"源":{"docs":{},"码":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"到":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"组":{"docs":{},"件":{"docs":{},"定":{"docs":{},"义":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"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":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"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":{},"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":{},"组":{"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":{},"要":{"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.006622516556291391}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"用":{"docs":{},"户":{"docs":{},"选":{"docs":{},"择":{"docs":{},"删":{"docs":{},"除":{"docs":{},"一":{"docs":{},"个":{"docs":{},"文":{"docs":{},"件":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"询":{"docs":{},"问":{"docs":{},"是":{"docs":{},"否":{"docs":{},"产":{"docs":{},"出":{"docs":{},"此":{"docs":{},"文":{"docs":{},"件":{"docs":{},";":{"docs":{},"在":{"docs":{},"用":{"docs":{},"户":{"docs":{},"选":{"docs":{},"择":{"docs":{},"一":{"docs":{},"个":{"docs":{},"文":{"docs":{},"件":{"docs":{},"夹":{"docs":{},"是":{"docs":{},",":{"docs":{},"应":{"docs":{},"该":{"docs":{},"再":{"docs":{},"让":{"docs":{},"用":{"docs":{},"户":{"docs":{},"确":{"docs":{},"认":{"docs":{},"是":{"docs":{},"否":{"docs":{},"删":{"docs":{},"除":{"docs":{},"子":{"docs":{},"文":{"docs":{},"件":{"docs":{},"夹":{"docs":{},"。":{"docs":{},"为":{"docs":{},"了":{"docs":{},"在":{"docs":{},"用":{"docs":{},"户":{"docs":{},"选":{"docs":{},"择":{"docs":{},"了":{"docs":{},"文":{"docs":{},"件":{"docs":{},"夹":{"docs":{},"时":{"docs":{},"避":{"docs":{},"免":{"docs":{},"二":{"docs":{},"次":{"docs":{},"弹":{"docs":{},"窗":{"docs":{},"确":{"docs":{},"认":{"docs":{},"是":{"docs":{},"否":{"docs":{},"删":{"docs":{},"除":{"docs":{},"子":{"docs":{},"目":{"docs":{},"录":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"确":{"docs":{},"认":{"docs":{},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{},"底":{"docs":{},"部":{"docs":{},"添":{"docs":{},"加":{"docs":{},"一":{"docs":{},"个":{"docs":{},"“":{"docs":{},"同":{"docs":{},"时":{"docs":{},"删":{"docs":{},"除":{"docs":{},"子":{"docs":{},"目":{"docs":{},"录":{"docs":{},"?":{"docs":{},"”":{"docs":{},"的":{"docs":{},"复":{"docs":{},"选":{"docs":{},"框":{"docs":{},",":{"docs":{},"如":{"docs":{},"图":{"7":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}},"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":{},"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":{},"如":{"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":{},"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":{},"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":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"请":{"docs":{},"求":{"docs":{},"头":{"docs":{},"中":{"docs":{},"添":{"docs":{},"加":{"docs":{},"\"":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}}}}}}},"”":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"/":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"“":{"docs":{},"下":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"”":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"_":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"“":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"实":{"docs":{},"现":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"“":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"”":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"“":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"”":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"结":{"docs":{},"构":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"”":{"docs":{},"文":{"docs":{},"件":{"docs":{},"保":{"docs":{},"存":{"docs":{},"上":{"docs":{},"述":{"docs":{},"信":{"docs":{},"息":{"docs":{},"。":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"”":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"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":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"添":{"docs":{},"加":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"打":{"docs":{},"开":{"docs":{},"新":{"docs":{},"路":{"docs":{},"由":{"docs":{},"的":{"docs":{},"按":{"docs":{},"钮":{"docs":{},",":{"docs":{},"并":{"docs":{},"将":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"文":{"docs":{},"字":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"设":{"docs":{},"置":{"docs":{},"为":{"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":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"也":{"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.00625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"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.002551020408163265}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"知":{"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"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.00625}}}}}}}}}}}}}}}}}}},"在":{"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.00411522633744856}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"0":{"docs":{},".":{"2":{"docs":{},",":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},"改":{"docs":{},"为":{"docs":{},":":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}},"图":{"docs":{},"片":{"docs":{},"放":{"docs":{},"大":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},"改":{"docs":{},"为":{"docs":{},"先":{"docs":{},"放":{"docs":{},"大":{"docs":{},"再":{"docs":{},"缩":{"docs":{},"小":{"docs":{},"再":{"docs":{},"放":{"docs":{},"大":{"docs":{},"…":{"docs":{},"…":{"docs":{},"这":{"docs":{},"样":{"docs":{},"的":{"docs":{},"循":{"docs":{},"环":{"docs":{},"动":{"docs":{},"画":{"docs":{},"。":{"docs":{},"要":{"docs":{},"实":{"docs":{},"现":{"docs":{},"这":{"docs":{},"种":{"docs":{},"效":{"docs":{},"果":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"监":{"docs":{},"听":{"docs":{},"动":{"docs":{},"画":{"docs":{},"状":{"docs":{},"态":{"docs":{},"的":{"docs":{},"改":{"docs":{},"变":{"docs":{},"即":{"docs":{},"可":{"docs":{},",":{"docs":{},"即":{"docs":{},":":{"docs":{},"在":{"docs":{},"动":{"docs":{},"画":{"docs":{},"正":{"docs":{},"向":{"docs":{},"执":{"docs":{},"行":{"docs":{},"结":{"docs":{},"束":{"docs":{},"时":{"docs":{},"反":{"docs":{},"转":{"docs":{},"动":{"docs":{},"画":{"docs":{},",":{"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.002577319587628866}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"执":{"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.004201680672268907}}}}}}}}}}}}}}}}}}},"看":{"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.00625}}}}}}}}}}}}}}}}}}}},"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},"类":{"docs":{},"型":{"docs":{},"是":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}}}}}}},"看":{"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.010526315789473684}}}}}}}}}}}}}}}}}}}},"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":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}}}}}}}}}},"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":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}},"这":{"docs":{},"些":{"docs":{},"方":{"docs":{},"法":{"docs":{},"分":{"docs":{},"别":{"docs":{},"做":{"docs":{},"了":{"docs":{},"什":{"docs":{},"么":{"docs":{},":":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}}}}}}},"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":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}},"最":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"发":{"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.003278688524590164}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"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.003278688524590164}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"没":{"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.0017452006980802793}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"调":{"docs":{},"用":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"最":{"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.003278688524590164}}}}}}}}}}}}}}}}}}},"可":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"绘":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"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":{},"组":{"docs":{},"件":{"docs":{},"如":{"docs":{},"何":{"docs":{},"排":{"docs":{},"列":{"docs":{},"(":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"现":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"动":{"docs":{},"画":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"用":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"组":{"docs":{},"件":{"docs":{},"将":{"docs":{},"要":{"docs":{},"共":{"docs":{},"享":{"docs":{},"的":{"docs":{},"w":{"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.008771929824561403}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"无":{"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}}}}}}}}}}}},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"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":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"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":{},"码":{"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.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}},"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.006211180124223602}}}}}}}}}}},"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.006060606060606061}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"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":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"发":{"docs":{},"现":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"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":{},"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":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"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":{},"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":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"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":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"观":{"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/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"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":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}},"先":{"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":{},"(":{"2":{"docs":{},",":{"0":{"docs":{},".":{"0":{"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":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"o":{"docs":{},"的":{"docs":{},"实":{"docs":{},"际":{"docs":{},"偏":{"docs":{},"移":{"docs":{},"坐":{"docs":{},"标":{"docs":{},"为":{"docs":{},"(":{"9":{"0":{"docs":{},",":{"3":{"0":{"docs":{},")":{"docs":{},"。":{"docs":{},"实":{"docs":{},"际":{"docs":{},"运":{"docs":{},"行":{"docs":{},"如":{"docs":{},"图":{"4":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}},"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":{},"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":{},"组":{"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":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"不":{"docs":{},"再":{"docs":{},"赘":{"docs":{},"述":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"如":{"docs":{},"果":{"docs":{},"我":{"docs":{},"们":{"docs":{},"想":{"docs":{},"实":{"docs":{},"现":{"docs":{},"如":{"docs":{},"图":{"5":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}},"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":{},"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":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"组":{"docs":{},"件":{"docs":{},"使":{"docs":{},"用":{"docs":{},"。":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}},"调":{"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":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"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":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"y":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"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":{},"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":{},"。":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"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":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter13/intl.html":{"ref":"chapter13/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":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"运":{"docs":{},"行":{"docs":{},"应":{"docs":{},"用":{"docs":{},"并":{"docs":{},"打":{"docs":{},"开":{"docs":{},"该":{"docs":{},"路":{"docs":{},"由":{"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.0020964360587002098}}}}}}}}}}}}}},"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":{},"图":{"3":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}},"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}},"成":{"docs":{},"功":{"docs":{},"的":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"了":{"docs":{},"下":{"docs":{},"划":{"docs":{},"线":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"和":{"docs":{},"提":{"docs":{},"问":{"docs":{},"文":{"docs":{},"字":{"docs":{},"样":{"docs":{},"式":{"docs":{},",":{"docs":{},"细":{"docs":{},"心":{"docs":{},"的":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"能":{"docs":{},"已":{"docs":{},"经":{"docs":{},"发":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"要":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"图":{"3":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}},"docs":{}}}}}}}}},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"进":{"docs":{},"度":{"docs":{},"条":{"docs":{},"在":{"3":{"docs":{},"秒":{"docs":{},"内":{"docs":{},"从":{"docs":{},"灰":{"docs":{},"色":{"docs":{},"变":{"docs":{},"成":{"docs":{},"蓝":{"docs":{},"色":{"docs":{},"的":{"docs":{},"动":{"docs":{},"画":{"docs":{},":":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}}}}}}}}}}}}},"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.00425531914893617}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}},"页":{"docs":{},"面":{"docs":{},",":{"docs":{},"它":{"docs":{},"包":{"docs":{},"含":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}},"路":{"docs":{},"由":{"docs":{},"换":{"docs":{},"肤":{"docs":{},"功":{"docs":{},"能":{"docs":{},":":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}},",":{"docs":{},"当":{"docs":{},"该":{"docs":{},"路":{"docs":{},"由":{"docs":{},"打":{"docs":{},"开":{"docs":{},"时":{"docs":{},"我":{"docs":{},"们":{"docs":{},"从":{"docs":{},"网":{"docs":{},"上":{"docs":{},"获":{"docs":{},"取":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"获":{"docs":{},"取":{"docs":{},"数":{"docs":{},"据":{"docs":{},"时":{"docs":{},"弹":{"docs":{},"一":{"docs":{},"个":{"docs":{},"加":{"docs":{},"载":{"docs":{},"框":{"docs":{},";":{"docs":{},"获":{"docs":{},"取":{"docs":{},"结":{"docs":{},"束":{"docs":{},"时":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"成":{"docs":{},"功":{"docs":{},"则":{"docs":{},"显":{"docs":{},"示":{"docs":{},"获":{"docs":{},"取":{"docs":{},"到":{"docs":{},"的":{"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":{},"隔":{"3":{"docs":{},"秒":{"docs":{},"后":{"docs":{},"返":{"docs":{},"回":{"docs":{},"一":{"docs":{},"个":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},":":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"获":{"docs":{},"取":{"docs":{},"百":{"docs":{},"度":{"docs":{},"首":{"docs":{},"页":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},",":{"docs":{},"示":{"docs":{},"例":{"docs":{},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"图":{"1":{"1":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}},"docs":{}},"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":{},"w":{"docs":{},"i":{"docs":{},"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.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"对":{"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.0049504950495049506}}}}}}}}}}}}}}}}},"给":{"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":{},"文":{"docs":{},"本":{"docs":{},"组":{"docs":{},"件":{"docs":{},"的":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"调":{"docs":{},"整":{"docs":{},"一":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"会":{"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":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"中":{"docs":{},"已":{"docs":{},"经":{"docs":{},"指":{"docs":{},"定":{"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":{},"要":{"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":{},"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":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"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":{},"个":{"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.011627906976744186}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"过":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"如":{"docs":{},"图":{"5":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}}},"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":{},"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.0017452006980802793}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},"开":{"docs":{},"放":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"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":{},"织":{"docs":{},"下":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"公":{"docs":{},"开":{"docs":{},"的":{"docs":{},"开":{"docs":{},"源":{"docs":{},"项":{"docs":{},"目":{"docs":{},",":{"docs":{},"实":{"docs":{},"现":{"docs":{},":":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"读":{"docs":{},"取":{"docs":{},"响":{"docs":{},"应":{"docs":{},"流":{"docs":{},"来":{"docs":{},"获":{"docs":{},"取":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"返":{"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}},"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":{},"是":{"docs":{},"一":{"docs":{},"个":{"9":{"docs":{},"位":{"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.006060606060606061}}}}}}}}}}}}}}}}},"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.002688172043010753}}}}}}}}}}}}}}}},"介":{"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.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"来":{"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.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"上":{"docs":{},"面":{"docs":{},"实":{"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":{},"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":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"一":{"docs":{},"一":{"docs":{},"讨":{"docs":{},"论":{"docs":{},"。":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"点":{"docs":{},"击":{"docs":{},"”":{"docs":{},"添":{"docs":{},"加":{"docs":{},"商":{"docs":{},"品":{"docs":{},"“":{"docs":{},"按":{"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":{},"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":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"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":{},"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":{},"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":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"根":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"是":{"docs":{},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"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":{},"的":{"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":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"o":{"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":{},"!":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"显":{"docs":{},"示":{"docs":{},"购":{"docs":{},"物":{"docs":{},"车":{"docs":{},"中":{"docs":{},"所":{"docs":{},"有":{"docs":{},"商":{"docs":{},"品":{"docs":{},"总":{"docs":{},"价":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},":":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}},"知":{"docs":{},"道":{"docs":{},",":{"docs":{},"在":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"中":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}}}}}}}},"已":{"docs":{},"经":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"过":{"docs":{},"了":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"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":{},"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":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"风":{"docs":{},"格":{"docs":{},")":{"docs":{},"?":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"知":{"docs":{},"道":{"docs":{},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{},"最":{"docs":{},"终":{"docs":{},"都":{"docs":{},"是":{"docs":{},"由":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"l":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"方":{"docs":{},"法":{"docs":{},"打":{"docs":{},"开":{"docs":{},"的":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"来":{"docs":{},"看":{"docs":{},"看":{"docs":{},"它":{"docs":{},"的":{"docs":{},"具":{"docs":{},"体":{"docs":{},"实":{"docs":{},"现":{"docs":{},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"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":{},"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}},"在":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"以":{"docs":{},"拖":{"docs":{},"动":{"docs":{},"手":{"docs":{},"势":{"docs":{},"为":{"docs":{},"例":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"识":{"docs":{},"别":{"docs":{},"水":{"docs":{},"平":{"docs":{},"和":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},"的":{"docs":{},"拖":{"docs":{},"动":{"docs":{},"手":{"docs":{},"势":{"docs":{},",":{"docs":{},"当":{"docs":{},"用":{"docs":{},"户":{"docs":{},"按":{"docs":{},"下":{"docs":{},"手":{"docs":{},"指":{"docs":{},"时":{"docs":{},"就":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"竞":{"docs":{},"争":{"docs":{},"(":{"docs":{},"水":{"docs":{},"平":{"docs":{},"方":{"docs":{},"向":{"docs":{},"和":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},")":{"docs":{},",":{"docs":{},"一":{"docs":{},"旦":{"docs":{},"某":{"docs":{},"个":{"docs":{},"方":{"docs":{},"向":{"docs":{},"“":{"docs":{},"获":{"docs":{},"胜":{"docs":{},"”":{"docs":{},",":{"docs":{},"则":{"docs":{},"直":{"docs":{},"到":{"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.0017452006980802793}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},":":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"景":{"docs":{},"色":{"docs":{},"渐":{"docs":{},"变":{"docs":{},"和":{"docs":{},"圆":{"docs":{},"角":{"docs":{},",":{"docs":{},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{},"w":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"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":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"和":{"docs":{},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{},"w":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"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":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"之":{"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":{},"一":{"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":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"议":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"都":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter11/socket.html":{"ref":"chapter11/socket.html","tf":0.02857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"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":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},"旋":{"docs":{},"转":{"docs":{},"效":{"docs":{},"果":{"docs":{},"。":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"还":{"docs":{},"是":{"docs":{},"以":{"docs":{},"计":{"docs":{},"数":{"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/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"何":{"docs":{},"收":{"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":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"美":{"docs":{},"元":{"docs":{},"符":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"返":{"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":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"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":{},"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":{},"i":{"docs":{},"o":{"docs":{},"s":{"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":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"行":{"docs":{},"查":{"docs":{},"看":{"docs":{},"其":{"docs":{},"文":{"docs":{},"档":{"docs":{},",":{"docs":{},"在":{"docs":{},"此":{"docs":{},"不":{"docs":{},"再":{"docs":{},"赘":{"docs":{},"述":{"docs":{},"。":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"定":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}},"建":{"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":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"始":{"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"必":{"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":{"chapter13/intl.html":{"ref":"chapter13/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":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"再":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"注":{"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":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"说":{"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":{},"现":{"docs":{},"通":{"docs":{},"过":{"docs":{},"用":{"docs":{},"户":{"docs":{},"名":{"docs":{},"和":{"docs":{},"密":{"docs":{},"码":{"docs":{},"登":{"docs":{},"录":{"docs":{},"。":{"docs":{},"在":{"docs":{},"实":{"docs":{},"现":{"docs":{},"登":{"docs":{},"录":{"docs":{},"页":{"docs":{},"时":{"docs":{},"有":{"docs":{},"四":{"docs":{},"点":{"docs":{},"需":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},":":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}},"方":{"docs":{},"法":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},"。":{"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"它":{"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":{},"u":{"docs":{},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"它":{"docs":{},"接":{"docs":{},"受":{"docs":{},"一":{"docs":{},"个":{"docs":{},"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":{},"y":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"m":{"docs":{},"y":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"(":{"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"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.003278688524590164}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"以":{"docs":{},"生":{"docs":{},"成":{"docs":{},"封":{"docs":{},"装":{"docs":{},"了":{"docs":{},"一":{"docs":{},"系":{"docs":{},"列":{"docs":{},"本":{"docs":{},"地":{"docs":{},"化":{"docs":{},"值":{"docs":{},"的":{"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/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}}}}}},"该":{"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":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}},"内":{"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":{},"图":{"2":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"docs":{},"订":{"docs":{},"阅":{"docs":{},"语":{"docs":{},"言":{"docs":{},"改":{"docs":{},"变":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{},"当":{"docs":{},"用":{"docs":{},"户":{"docs":{},"在":{"docs":{},"设":{"docs":{},"置":{"docs":{},"页":{"docs":{},"切":{"docs":{},"换":{"docs":{},"语":{"docs":{},"言":{"docs":{},"后":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"发":{"docs":{},"布":{"docs":{},"语":{"docs":{},"言":{"docs":{},"改":{"docs":{},"变":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"而":{"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":{},"方":{"docs":{},"法":{"docs":{},"重":{"docs":{},"新":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"一":{"docs":{},"下":{"docs":{},"自":{"docs":{},"身":{"docs":{},"即":{"docs":{},"可":{"docs":{},"。":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"构":{"docs":{},"建":{"docs":{},"的":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"单":{"docs":{},"独":{"docs":{},"构":{"docs":{},"建":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"调":{"docs":{},"用":{"docs":{},"在":{"docs":{},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"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":{},"用":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"是":{"docs":{},"无":{"docs":{},"法":{"docs":{},"影":{"docs":{},"响":{"docs":{},"通":{"docs":{},"过":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"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":{},"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":{},"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":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"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.0018832391713747645}}}}}}}}}}}}}}}},"除":{"docs":{},"了":{"docs":{},"完":{"docs":{},"成":{"docs":{},"自":{"docs":{},"身":{"docs":{},"布":{"docs":{},"局":{"docs":{},",":{"docs":{},"也":{"docs":{},"必":{"docs":{},"须":{"docs":{},"完":{"docs":{},"成":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"布":{"docs":{},"局":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"只":{"docs":{},"有":{"docs":{},"父":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"全":{"docs":{},"部":{"docs":{},"完":{"docs":{},"成":{"docs":{},"后":{"docs":{},"布":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"而":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"通":{"docs":{},"过":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"的":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"(":{"docs":{},"…":{"docs":{},")":{"docs":{},"、":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"(":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},")":{"docs":{},"等":{"docs":{},"方":{"docs":{},"法":{"docs":{},"来":{"docs":{},"完":{"docs":{},"成":{"docs":{},"最":{"docs":{},"终":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"。":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"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.00390625}}}}}}}}}}},"来":{"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":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"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":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"移":{"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}},"下":{"docs":{},"方":{"docs":{},":":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028}}}}},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"从":{"docs":{},"当":{"docs":{},"前":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}},"用":{"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/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}}}}}}}}}}}}},"的":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}},"显":{"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.0024330900243309003}}}}}}}}}}}}}}}},"固":{"docs":{},"定":{"docs":{},"文":{"docs":{},"本":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}}}},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"图":{"4":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125}}},"7":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}},"docs":{}}}}},"进":{"docs":{},"度":{"docs":{},"条":{"docs":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406}}}}}}},"构":{"docs":{},"建":{"docs":{},"u":{"docs":{},"i":{"docs":{},"界":{"docs":{},"面":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}},"的":{"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"过":{"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":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"错":{"docs":{},"误":{"docs":{},"信":{"docs":{},"息":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}}}}},"时":{"docs":{},"输":{"docs":{},"出":{"docs":{},"日":{"docs":{},"志":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}},"主":{"docs":{},"页":{"docs":{},"面":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}},"卡":{"docs":{},"片":{"docs":{},"底":{"docs":{},"部":{"docs":{},"信":{"docs":{},"息":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}}}}}}}},"菜":{"docs":{},"单":{"docs":{},"项":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}},"项":{"docs":{},"目":{"docs":{},"标":{"docs":{},"题":{"docs":{},"和":{"docs":{},"简":{"docs":{},"介":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}},"的":{"docs":{},"各":{"docs":{},"个":{"docs":{},"参":{"docs":{},"数":{"docs":{},"的":{"docs":{},"意":{"docs":{},"义":{"docs":{},":":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"轻":{"docs":{},"松":{"docs":{},"创":{"docs":{},"建":{"docs":{},"带":{"docs":{},"图":{"docs":{},"标":{"docs":{},"的":{"docs":{},"按":{"docs":{},"钮":{"docs":{},",":{"docs":{},"如":{"docs":{},"图":{"3":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}},"docs":{}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}},"状":{"docs":{},"态":{"docs":{},"访":{"docs":{},"问":{"docs":{},"不":{"docs":{},"便":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}}}},"。":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.004056795131845842}}},"管":{"docs":{},"理":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}},"用":{"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.0024330900243309003}}}}}}},"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.002577319587628866}}}}}}}}}}},"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.002577319587628866}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"于":{"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.0020964360587002098}}}}}}}}}},"指":{"docs":{},"定":{"docs":{},"最":{"docs":{},"大":{"docs":{},"宽":{"docs":{},"高":{"docs":{},"、":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"y":{"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.00425531914893617}}}}}}}}}}}}}}}}}}}}}}}}}}},"该":{"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":{},"时":{"docs":{},"间":{"docs":{},"。":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}},"保":{"docs":{},"存":{"docs":{},"购":{"docs":{},"物":{"docs":{},"车":{"docs":{},"中":{"docs":{},"商":{"docs":{},"品":{"docs":{},"列":{"docs":{},"表":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}},"从":{"docs":{},"一":{"docs":{},"个":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"构":{"docs":{},"造":{"docs":{},"出":{"docs":{},"一":{"docs":{},"个":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}},"绑":{"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.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":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}},"或":{"docs":{},"密":{"docs":{},"码":{"docs":{},"字":{"docs":{},"段":{"docs":{},"在":{"docs":{},"调":{"docs":{},"用":{"docs":{},"登":{"docs":{},"录":{"docs":{},"接":{"docs":{},"口":{"docs":{},"前":{"docs":{},"有":{"docs":{},"本":{"docs":{},"地":{"docs":{},"合":{"docs":{},"法":{"docs":{},"性":{"docs":{},"校":{"docs":{},"验":{"docs":{},"(":{"docs":{},"比":{"docs":{},"如":{"docs":{},"不":{"docs":{},"能":{"docs":{},"为":{"docs":{},"空":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"手":{"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.0017452006980802793}}}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}}}},"信":{"docs":{},"息":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}},"(":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},")":{"docs":{},"应":{"docs":{},"包":{"docs":{},"括":{"docs":{},"如":{"docs":{},"下":{"docs":{},"信":{"docs":{},"息":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}},"所":{"docs":{},"处":{"docs":{},"地":{"docs":{},"理":{"docs":{},"位":{"docs":{},"置":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}},"注":{"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":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"简":{"docs":{},"介":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}},"改":{"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":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}},"状":{"docs":{},"态":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}},"在":{"docs":{},"登":{"docs":{},"录":{"docs":{},"状":{"docs":{},"态":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},"时":{"docs":{},"更":{"docs":{},"新":{"docs":{},"、":{"docs":{},"通":{"docs":{},"知":{"docs":{},"其":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"项":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"定":{"docs":{},"义":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"点":{"docs":{},"击":{"docs":{},"”":{"docs":{},"注":{"docs":{},"销":{"docs":{},"“":{"docs":{},",":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},".":{"docs":{},"u":{"docs":{},"s":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}},"途":{"docs":{"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":0.04}}}},"继":{"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.0024330900243309003}}}}}}}}}}}}},"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":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"自":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}},"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":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"中":{"docs":{},"。":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"计":{"docs":{},"数":{"docs":{},"器":{"docs":{},"应":{"docs":{},"用":{"docs":{},"示":{"docs":{},"例":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}}}}}}},"设":{"docs":{},"置":{"docs":{},"状":{"docs":{},"态":{"docs":{},"的":{"docs":{},"自":{"docs":{},"增":{"docs":{},"函":{"docs":{},"数":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}}}}}}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"图":{"docs":{},"标":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}}}}}}},"其":{"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.001519756838905775}}}}}}}}}}}}}},"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.001519756838905775}}}}}}}}}}}}}}},"给":{"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":{},"图":{"3":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}},"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.0013477088948787063}}}}}}}}}}}}},"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.0013477088948787063}}}}}}}}}}}}}}},"默":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02}}}}}}},"用":{"docs":{},"户":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"可":{"docs":{},"能":{"docs":{},"为":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},",":{"docs":{},"代":{"docs":{},"表":{"docs":{},"未":{"docs":{},"登":{"docs":{},"录":{"docs":{},")":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}},"为":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},",":{"docs":{},"不":{"docs":{},"建":{"docs":{},"立":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"关":{"docs":{},"系":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}},"新":{"docs":{},"的":{"docs":{},",":{"docs":{},"由":{"docs":{},"此":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"出":{"docs":{},"e":{"docs":{},"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.0018587360594795538}}}}}}}}}}}}}}}}}}},"计":{"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.002824858757062147}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"试":{"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":{},"变":{"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":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"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":{},"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":{},"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"?":{"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":{},"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004651162790697674},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.00510204081632653},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015625},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.012605042016806723}},"b":{"docs":{},"o":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684}}}}}}}},"/":{"docs":{},"/":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}},"假":{"docs":{},"设":{"docs":{},"我":{"docs":{},"们":{"docs":{},"也":{"docs":{},"想":{"docs":{},"将":{"docs":{},"上":{"docs":{},"面":{"docs":{},"路":{"docs":{},"由":{"docs":{},"传":{"docs":{},"参":{"docs":{},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},"的":{"docs":{},"t":{"docs":{},"i":{"docs":{},"p":{"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":{},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"接":{"docs":{},"受":{"docs":{},"一":{"docs":{},"个":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"要":{"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":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"从":{"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.002688172043010753}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"给":{"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":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"项":{"docs":{},"目":{"docs":{},"中":{"docs":{},"需":{"docs":{},"要":{"docs":{},"使":{"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.002551020408163265}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"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.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"点":{"docs":{},"击":{"docs":{},"时":{"docs":{},"给":{"docs":{},"文":{"docs":{},"本":{"docs":{},"变":{"docs":{},"色":{"docs":{},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}}}}}}}}},"的":{"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"想":{"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"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.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":{},"侧":{"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":{},"s":{"docs":{},"w":{"docs":{},"i":{"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":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"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":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"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":{},"度":{"docs":{},"。":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"类":{"docs":{},"中":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"他":{"docs":{},"可":{"docs":{},"以":{"docs":{},"返":{"docs":{},"回":{"docs":{},"一":{"docs":{},"个":{"docs":{},"[":{"0":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}},"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":{},"组":{"docs":{},"件":{"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.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"参":{"docs":{},"数":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"如":{"docs":{},"何":{"docs":{},"在":{"docs":{},"不":{"docs":{},"改":{"docs":{},"变":{"docs":{},"t":{"docs":{},"i":{"docs":{},"p":{"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":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"来":{"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":{},"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":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{},"由":{"docs":{},"于":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"的":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},"中":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}}}}},"都":{"docs":{},"比":{"docs":{},"较":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"不":{"docs":{},"在":{"docs":{},"赘":{"docs":{},"述":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"一":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},",":{"docs":{},"假":{"docs":{},"如":{"docs":{},"我":{"docs":{},"们":{"docs":{},"要":{"docs":{},"在":{"docs":{},"删":{"docs":{},"除":{"docs":{},"文":{"docs":{},"件":{"docs":{},"事":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"一":{"docs":{},"个":{"docs":{},"确":{"docs":{},"认":{"docs":{},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{},",":{"docs":{},"该":{"docs":{},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{},"如":{"docs":{},"图":{"7":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}},"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":{},"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"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":{},"型":{"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":{},"e":{"docs":{},"r":{"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":{},"关":{"docs":{},"接":{"docs":{},"口":{"docs":{},"。":{"docs":{},"它":{"docs":{},"的":{"docs":{},"主":{"docs":{},"要":{"docs":{},"职":{"docs":{},"责":{"docs":{},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},":":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"名":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}},"它":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},",":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"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":{},"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":{},"的":{"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.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"自":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"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":{},"w":{"docs":{},"i":{"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":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"如":{"docs":{},"下":{"docs":{},"方":{"docs":{},"式":{"docs":{},"获":{"docs":{},"取":{"docs":{},"到":{"docs":{},":":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.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":{},"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":{},"`":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"引":{"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.002325581395348837}}}}}}}}}}}}}}}}}}}},"入":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}},"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.00625}}}}}}}}}}}}}}}}},"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":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},":":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}},"很":{"docs":{},"多":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"在":{"docs":{},"路":{"docs":{},"由":{"docs":{},"跳":{"docs":{},"转":{"docs":{},"时":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"带":{"docs":{},"一":{"docs":{},"些":{"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":{},"页":{"docs":{},"才":{"docs":{},"知":{"docs":{},"道":{"docs":{},"展":{"docs":{},"示":{"docs":{},"哪":{"docs":{},"个":{"docs":{},"商":{"docs":{},"品":{"docs":{},"信":{"docs":{},"息":{"docs":{},";":{"docs":{},"又":{"docs":{},"比":{"docs":{},"如":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"填":{"docs":{},"写":{"docs":{},"订":{"docs":{},"单":{"docs":{},"时":{"docs":{},"需":{"docs":{},"要":{"docs":{},"选":{"docs":{},"择":{"docs":{},"收":{"docs":{},"获":{"docs":{},"地":{"docs":{},"址":{"docs":{},",":{"docs":{},"打":{"docs":{},"开":{"docs":{},"地":{"docs":{},"址":{"docs":{},"选":{"docs":{},"择":{"docs":{},"页":{"docs":{},"后":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"将":{"docs":{},"用":{"docs":{},"户":{"docs":{},"选":{"docs":{},"择":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"返":{"docs":{},"回":{"docs":{},"到":{"docs":{},"订":{"docs":{},"单":{"docs":{},"页":{"docs":{},"等":{"docs":{},"等":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"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.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"给":{"docs":{},"列":{"docs":{},"表":{"docs":{},"添":{"docs":{},"加":{"docs":{},"一":{"docs":{},"个":{"docs":{},"固":{"docs":{},"定":{"docs":{},"表":{"docs":{},"头":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"我":{"docs":{},"们":{"docs":{},"想":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"商":{"docs":{},"品":{"docs":{},"列":{"docs":{},"表":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"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":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}},"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":{},"取":{"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":{},"(":{"docs":{},"比":{"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":{},"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":{},"数":{"docs":{},"据":{"docs":{},"更":{"docs":{},"新":{"docs":{},"u":{"docs":{},"i":{"docs":{},"的":{"docs":{},"这":{"docs":{},"种":{"docs":{},"场":{"docs":{},"景":{"docs":{},"非":{"docs":{},"常":{"docs":{},"常":{"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":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"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":{},"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":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"人":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"简":{"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.006024096385542169}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"明":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}},"清":{"docs":{},"晰":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"网":{"docs":{},"络":{"docs":{},"图":{"docs":{},"片":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"会":{"docs":{},"将":{"docs":{},"其":{"docs":{},"“":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"+":{"docs":{},"缩":{"docs":{},"放":{"docs":{},"比":{"docs":{},"例":{"docs":{},"”":{"docs":{},"作":{"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":{},"r":{"docs":{},"l":{"docs":{},"或":{"docs":{},"s":{"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":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"所":{"docs":{},"谓":{"docs":{},"”":{"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.002325581395348837}}}}}}}}}}}}},"线":{"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":{},"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.00411522633744856}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"向":{"docs":{},"均":{"docs":{},"使":{"docs":{},"用":{"docs":{},"相":{"docs":{},"同":{"docs":{},"数":{"docs":{},"值":{"docs":{},"的":{"docs":{},"填":{"docs":{},"充":{"docs":{},"。":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684}}}}}}}}}}}}}}},"动":{"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":{},"在":{"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":{},"必":{"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":{},"t":{"docs":{},"w":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.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":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}}}}}}}}}}}},"新":{"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.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"添":{"docs":{},"加":{"docs":{},"的":{"docs":{},"依":{"docs":{},"赖":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}}}}}}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"显":{"docs":{},"示":{"docs":{},"动":{"docs":{},"画":{"docs":{},"时":{"docs":{},"长":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}},"的":{"docs":{},"动":{"docs":{},"画":{"docs":{},"曲":{"docs":{},"线":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}},"比":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}},"如":{"docs":{},"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":{},"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.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"省":{"docs":{},"略":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},"其":{"docs":{},"它":{"docs":{},"路":{"docs":{},"由":{"docs":{},"注":{"docs":{},"册":{"docs":{},"信":{"docs":{},"息":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}},"属":{"docs":{},"性":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}},"无":{"docs":{},"关":{"docs":{},"代":{"docs":{},"码":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}},"具":{"docs":{},"体":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}},"部":{"docs":{},"分":{"docs":{},"定":{"docs":{},"义":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}},"还":{"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.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"熟":{"docs":{},"悉":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"开":{"docs":{},"发":{"docs":{},"的":{"docs":{},"同":{"docs":{},"学":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"发":{"docs":{},"现":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"组":{"docs":{},"件":{"docs":{},"的":{"docs":{},"特":{"docs":{},"性":{"docs":{},"和":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"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":{},":":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}},"适":{"docs":{},"配":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}},"除":{"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":{},"接":{"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":{},"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.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"上":{"docs":{},"面":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"的":{"docs":{},"这":{"docs":{},"些":{"docs":{},"常":{"docs":{},"用":{"docs":{},"的":{"docs":{},"尺":{"docs":{},"寸":{"docs":{},"限":{"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":{},"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":{},"l":{"docs":{},"i":{"docs":{},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"列":{"docs":{},"举":{"docs":{},"的":{"docs":{},",":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}},"提":{"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":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.011494252873563218}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"节":{"docs":{},"我":{"docs":{},"们":{"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":{},"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.014492753623188406}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"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.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"#":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.005698005698005698},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.003669724770642202},"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.015625}},"省":{"docs":{},"略":{"docs":{},"剩":{"docs":{},"余":{"docs":{},"内":{"docs":{},"容":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}}}}},"指":{"docs":{},"定":{"docs":{},"一":{"docs":{},"个":{"docs":{},"字":{"docs":{},"体":{"docs":{},"名":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}}}}}},"\"":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}},"请":{"docs":{},"使":{"docs":{},"用":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"上":{"docs":{},"的":{"docs":{},"最":{"docs":{},"新":{"docs":{},"版":{"docs":{},"本":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}},".":{"docs":{},".":{"docs":{},".":{"docs":{},"省":{"docs":{},"略":{"docs":{},"无":{"docs":{},"关":{"docs":{},"项":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0056022408963585435}}}}}}}}}}},"^":{"0":{"docs":{},".":{"1":{"5":{"docs":{},".":{"7":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}},"docs":{}}},"7":{"docs":{},".":{"2":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}},"docs":{}}},"docs":{},".":{"0":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}}},"2":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}}},"docs":{}}},"4":{"docs":{},".":{"1":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}},"2":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.010416666666666666}}},"docs":{}}},"docs":{}}},"1":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}},"docs":{}}},"docs":{}}},"2":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.003669724770642202}}},"docs":{}}},"docs":{}}},"3":{"docs":{},".":{"1":{"docs":{},".":{"3":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}}},"docs":{}}},"docs":{}}},"docs":{},"x":{"docs":{},".":{"docs":{},"x":{"docs":{},".":{"docs":{},"x":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}},"y":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}},"是":{"docs":{},"一":{"docs":{},"种":{"docs":{},"直":{"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.00625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}}},"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"s":{"docs":{},";":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}},")":{"docs":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894}},"是":{"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.00625}}}}}}}}}}}}}}}},"的":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"会":{"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":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"加":{"docs":{},"载":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}},"图":{"docs":{},"片":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.009615384615384616}},"数":{"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":{},"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":{},"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":{},"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":{},"是":{"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":{},"数":{"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":{},",":{"docs":{},"而":{"docs":{},"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":{},"的":{"docs":{},"应":{"docs":{},"用":{"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/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"文":{"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.004807692307692308}}}}}}}}},"资":{"docs":{},"源":{"docs":{},"时":{"docs":{},",":{"docs":{},"内":{"docs":{},"部":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"建":{"docs":{},"议":{"docs":{},"使":{"docs":{},"用":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}}}}}}},"该":{"docs":{},"图":{"docs":{},"片":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}}}},"只":{"docs":{},"需":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}},"按":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}},"要":{"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":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"要":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}},"应":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"能":{"docs":{},"通":{"docs":{},"过":{"docs":{},"父":{"docs":{},"元":{"docs":{},"素":{"docs":{},"设":{"docs":{},"置":{"docs":{},".":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}}}}},"负":{"docs":{},"责":{"docs":{},"布":{"docs":{},"局":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"。":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}}}},"会":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"声":{"docs":{},"明":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}},"分":{"docs":{},"辨":{"docs":{},"率":{"docs":{},"相":{"docs":{},"关":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}}}}}}}}}},"文":{"docs":{},"本":{"docs":{},"样":{"docs":{},"式":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}}}}}}},"拖":{"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.004807692307692308}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"动":{"docs":{},"、":{"docs":{},"滑":{"docs":{},"动":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}},"时":{"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.004807692307692308}}}}}}}}}}}}}}}}},"则":{"docs":{},"不":{"docs":{},"会":{"docs":{},"。":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125}}}}}},"继":{"docs":{},"续":{"docs":{},"向":{"docs":{},"上":{"docs":{},"冒":{"docs":{},"泡":{"docs":{},"通":{"docs":{},"知":{"docs":{},"。":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}},"(":{"docs":{},"如":{"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"便":{"docs":{},"会":{"docs":{},"重":{"docs":{},"新":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"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":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"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.0018832391713747645}}}}}}}}}}}}}}}}},"才":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}},"每":{"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":{},"的":{"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":{},"夹":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"都":{"docs":{},"有":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}},"委":{"docs":{},"托":{"docs":{},"必":{"docs":{},"须":{"docs":{},"定":{"docs":{},"义":{"docs":{},"一":{"docs":{},"个":{"docs":{},"异":{"docs":{},"步":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.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":{},"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"次":{"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":{},"储":{"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":{},"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":{},"可":{"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":{},"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":{},"可":{"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":{},"时":{"docs":{},"还":{"docs":{},"没":{"docs":{},"有":{"docs":{},"存":{"docs":{},"储":{"docs":{},"过":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"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.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"点":{"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":{},"疑":{"docs":{},"惑":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"饶":{"docs":{},"了":{"docs":{},"一":{"docs":{},"大":{"docs":{},"圈":{"docs":{},"实":{"docs":{},"现":{"docs":{},"这":{"docs":{},"么":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},"有":{"docs":{},"意":{"docs":{},"义":{"docs":{},"么":{"docs":{},"?":{"docs":{},"其":{"docs":{},"实":{"docs":{},",":{"docs":{},"就":{"docs":{},"这":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},"来":{"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":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"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":{},"做":{"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":{},"a":{"docs":{},"p":{"docs":{},"p":{"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":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"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":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"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":{},"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":{},"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":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"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":{},"生":{"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":{"chapter13/intl.html":{"ref":"chapter13/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.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"特":{"docs":{},"定":{"docs":{},"平":{"docs":{},"台":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}}}}},"殊":{"docs":{},"情":{"docs":{},"况":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856}}}}}},"请":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"确":{"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.001519756838905775}}}}}}}}}}}}},"阅":{"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.00411522633744856}}}}}}}}}}}}}}}}}}}},"求":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}},"失":{"docs":{},"败":{"docs":{},",":{"docs":{},"显":{"docs":{},"示":{"docs":{},"错":{"docs":{},"误":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}},"已":{"docs":{},"结":{"docs":{},"束":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}},"成":{"docs":{},"功":{"docs":{},",":{"docs":{},"显":{"docs":{},"示":{"docs":{},"数":{"docs":{},"据":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}},"未":{"docs":{},"结":{"docs":{},"束":{"docs":{},",":{"docs":{},"显":{"docs":{},"示":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}}},"结":{"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}},"后":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"请":{"docs":{},"求":{"docs":{},"失":{"docs":{},"败":{"docs":{},",":{"docs":{},"则":{"docs":{},"展":{"docs":{},"示":{"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/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}},"头":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}},"那":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"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":{},"读":{"docs":{},"者":{"docs":{},",":{"docs":{},"在":{"docs":{},"定":{"docs":{},"义":{"docs":{},"一":{"docs":{},"个":{"docs":{},"通":{"docs":{},"用":{"docs":{},"的":{"docs":{},"组":{"docs":{},"件":{"docs":{},"时":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"要":{"docs":{},"对":{"docs":{},"子":{"docs":{},"组":{"docs":{},"件":{"docs":{},"指":{"docs":{},"定":{"docs":{},"限":{"docs":{},"制":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"一":{"docs":{},"定":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"一":{"docs":{},"旦":{"docs":{},"指":{"docs":{},"定":{"docs":{},"限":{"docs":{},"制":{"docs":{},"条":{"docs":{},"件":{"docs":{},",":{"docs":{},"子":{"docs":{},"组":{"docs":{},"件":{"docs":{},"如":{"docs":{},"果":{"docs":{},"要":{"docs":{},"进":{"docs":{},"行":{"docs":{},"相":{"docs":{},"关":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"大":{"docs":{},"小":{"docs":{},"时":{"docs":{},"将":{"docs":{},"可":{"docs":{},"能":{"docs":{},"非":{"docs":{},"常":{"docs":{},"困":{"docs":{},"难":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"子":{"docs":{},"组":{"docs":{},"件":{"docs":{},"在":{"docs":{},"不":{"docs":{},"更":{"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.00425531914893617}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"现":{"docs":{},"在":{"docs":{},"就":{"docs":{},"带":{"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":{},"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":{},"用":{"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":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"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":{},"都":{"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":{},"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":{},"来":{"docs":{},",":{"docs":{},"具":{"docs":{},"体":{"docs":{},"作":{"docs":{},"法":{"docs":{},"下":{"docs":{},"一":{"docs":{},"节":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"通":{"docs":{},"过":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"问":{"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":{},"s":{"docs":{},"w":{"docs":{},"i":{"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":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"正":{"docs":{},"向":{"docs":{},"(":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},")":{"docs":{},"和":{"docs":{},"反":{"docs":{},"向":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"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":{},"m":{"docs":{},"y":{"docs":{},"s":{"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":{},"它":{"docs":{},"和":{"docs":{},"s":{"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":{},"一":{"docs":{},"的":{"docs":{},"不":{"docs":{},"同":{"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/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"@":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"标":{"docs":{},"注":{"docs":{},":":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"就":{"docs":{},"不":{"docs":{},"会":{"docs":{},"通":{"docs":{},"过":{"docs":{},"编":{"docs":{},"译":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"崩":{"docs":{},"溃":{"docs":{},"。":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}},"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"就":{"docs":{},"有":{"docs":{},"潜":{"docs":{},"在":{"docs":{},"的":{"docs":{},"冲":{"docs":{},"突":{"docs":{},"。":{"docs":{},"避":{"docs":{},"免":{"docs":{},"这":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},"的":{"docs":{},"最":{"docs":{},"好":{"docs":{},"方":{"docs":{},"法":{"docs":{},"是":{"docs":{},"在":{"docs":{},"指":{"docs":{},"定":{"docs":{},"依":{"docs":{},"赖":{"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/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"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":{},"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":{},"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"都":{"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.004807692307692308}}}}}}}}}}}}}},"←":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.02735562310030395}}},"→":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}},"⋯":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}},"│":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.044072948328267476},"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.03643724696356275}}},"└":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}},"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.001519756838905775}}}}}}}}}},"c":{"docs":{},"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.001519756838905775}}}}}}}}}}}}}}}}}}}},"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"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.001519756838905775}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"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.001519756838905775}}}}}}}}}}}}}}}}}}},"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"(":{"2":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}},"3":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}},"4":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}},"docs":{}}}}}}}}}}}}}}},"t":{"docs":{},"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.001519756838905775}}}}}}}}}}}}}},"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"─":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.00303951367781155}},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}}}}},"─":{"docs":{"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.045454545454545456},"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}},"├":{"docs":{},"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.001519756838905775}}}},"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.001519756838905775}}}}}}},"─":{"docs":{"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.22727272727272727},"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.03643724696356275}}}}},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"▄":{"docs":{},"▄":{"docs":{},"▄":{"docs":{},"▄":{"docs":{},"▄":{"docs":{},"▄":{"docs":{},"▄":{"docs":{},"▄":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.00303951367781155}}}}}}}}}},"同":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"也":{"docs":{},"意":{"docs":{},"味":{"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":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},"只":{"docs":{},"会":{"docs":{},"被":{"docs":{},"下":{"docs":{},"载":{"docs":{},"一":{"docs":{},"次":{"docs":{},"。":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}},"包":{"docs":{},"中":{"docs":{},"的":{"docs":{},"源":{"docs":{},"码":{"docs":{},"文":{"docs":{},"件":{"docs":{},"之":{"docs":{},"间":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"相":{"docs":{},"对":{"docs":{},"路":{"docs":{},"径":{"docs":{},"来":{"docs":{},"导":{"docs":{},"入":{"docs":{},"。":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}},"图":{"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.001519756838905775}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}},"片":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}},"和":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter3/":{"ref":"chapter3/","tf":0.1}}}}}}},"及":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}}}},"中":{"docs":{},"的":{"docs":{},"帧":{"docs":{},"数":{"docs":{},"(":{"docs":{},"动":{"docs":{},"态":{"docs":{},"图":{"docs":{},"会":{"docs":{},"有":{"docs":{},"多":{"docs":{},"帧":{"docs":{},")":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}},"加":{"docs":{},"载":{"docs":{},"原":{"docs":{},"理":{"docs":{},"与":{"docs":{},"缓":{"docs":{},"存":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}},"的":{"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":{},"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":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"来":{"docs":{},"完":{"docs":{},"成":{"docs":{},"。":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"还":{"docs":{},"未":{"docs":{},"加":{"docs":{},"载":{"docs":{},"成":{"docs":{},"功":{"docs":{},",":{"docs":{},"直":{"docs":{},"接":{"docs":{},"返":{"docs":{},"回":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}},"标":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}},"库":{"docs":{},"中":{"docs":{},"没":{"docs":{},"有":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"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":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"图":{"docs":{},"标":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"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":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"项":{"docs":{},"目":{"docs":{},"中":{"docs":{},"。":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"完":{"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.001519756838905775}}}}}}}}}}}}}}}}},"整":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}}}}}},"例":{"docs":{},"子":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}},"代":{"docs":{},"码":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}},"层":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.00303951367781155}},"叠":{"docs":{},"布":{"docs":{},"局":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125}},"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}}}}}}}}}}}}},"和":{"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":{},"组":{"docs":{},"件":{"docs":{},"可":{"docs":{},"以":{"docs":{},"根":{"docs":{},"据":{"docs":{},"距":{"docs":{},"父":{"docs":{},"容":{"docs":{},"器":{"docs":{},"四":{"docs":{},"个":{"docs":{},"角":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"来":{"docs":{},"确":{"docs":{},"定":{"docs":{},"自":{"docs":{},"身":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"。":{"docs":{},"绝":{"docs":{},"对":{"docs":{},"定":{"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":{},"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":{},"实":{"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":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"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":{},"。":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"展":{"docs":{},"示":{"docs":{},"应":{"docs":{},"用":{"docs":{},"第":{"docs":{},"一":{"docs":{},"帧":{"docs":{},"时":{"docs":{},".":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}}}}}}}},"标":{"docs":{},"志":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}},"题":{"docs":{},"填":{"docs":{},"充":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}},"注":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"可":{"docs":{},"选":{"docs":{},"参":{"docs":{},"数":{"docs":{},"在":{"docs":{},"特":{"docs":{},"定":{"docs":{},"场":{"docs":{},"景":{"docs":{},"需":{"docs":{},"要":{"docs":{},"判":{"docs":{},"空":{"docs":{},"或":{"docs":{},"设":{"docs":{},"置":{"docs":{},"默":{"docs":{},"认":{"docs":{},"值":{"docs":{},"等":{"docs":{},"。":{"docs":{},"这":{"docs":{},"是":{"docs":{},"由":{"docs":{},"于":{"docs":{},"使":{"docs":{},"用":{"docs":{},"者":{"docs":{},"大":{"docs":{},"多":{"docs":{},"时":{"docs":{},"候":{"docs":{},"可":{"docs":{},"能":{"docs":{},"不":{"docs":{},"了":{"docs":{},"解":{"docs":{},"组":{"docs":{},"件":{"docs":{},"的":{"docs":{},"内":{"docs":{},"部":{"docs":{},"细":{"docs":{},"节":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"为":{"docs":{},"了":{"docs":{},"保":{"docs":{},"证":{"docs":{},"代":{"docs":{},"码":{"docs":{},"健":{"docs":{},"壮":{"docs":{},"性":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"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":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"树":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"空":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"约":{"docs":{},"束":{"docs":{},"条":{"docs":{},"件":{"docs":{},"为":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}}}},"统":{"docs":{},"计":{"docs":{},"应":{"docs":{},"用":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"间":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}}}}}}},"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.009836065573770493},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},"\"":{"docs":{},";":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}}},",":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006557377049180328}}},".":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}}}},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"(":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}},"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.006557377049180328}}}}}}},"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.003278688524590164}},"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.006557377049180328}}},",":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}},":":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006557377049180328}}},":":{"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.003278688524590164}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.003278688524590164}}},":":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}}}}}}}},"中":{"docs":{},"发":{"docs":{},"生":{"docs":{},"未":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"异":{"docs":{},"常":{"docs":{},"(":{"docs":{},"无":{"docs":{},"论":{"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.003278688524590164}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"内":{"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.003278688524590164}}}}}}}}}}}}}}}}}}}}},"的":{"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.003278688524590164}}}}}}}}}}}}}}}}},"边":{"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.003278688524590164}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"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.003278688524590164}}}}}}}}}}}},"沿":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},"显":{"docs":{},"示":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},",":{"docs":{},"由":{"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":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},":":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}},"收":{"docs":{},"集":{"docs":{},"日":{"docs":{},"志":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}}}},"到":{"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.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"单":{"docs":{},"选":{"docs":{},"框":{"docs":{},"和":{"docs":{},"复":{"docs":{},"选":{"docs":{},"框":{"docs":{"chapter3/":{"ref":"chapter3/","tf":0.1}}}}}}},"开":{"docs":{},"关":{"docs":{},"和":{"docs":{},"复":{"docs":{},"选":{"docs":{},"框":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514}}}}}}}}},"独":{"docs":{},"封":{"docs":{},"装":{"docs":{},"一":{"docs":{},"个":{"docs":{},"内":{"docs":{},"部":{"docs":{},"管":{"docs":{},"理":{"docs":{},"选":{"docs":{},"中":{"docs":{},"状":{"docs":{},"态":{"docs":{},"的":{"docs":{},"复":{"docs":{},"选":{"docs":{},"框":{"docs":{},"组":{"docs":{},"件":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"方":{"docs":{},"向":{"docs":{},"拖":{"docs":{},"动":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}}},"按":{"docs":{},"钮":{"docs":{"chapter3/":{"ref":"chapter3/","tf":0.1},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}},"外":{"docs":{},"观":{"docs":{},"可":{"docs":{},"以":{"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.006024096385542169}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"宽":{"docs":{},"高":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.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":{},"数":{"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":{},"要":{"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":{},"或":{"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":{},"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":{},"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},"时":{"docs":{},"都":{"docs":{},"会":{"docs":{},"有":{"docs":{},"“":{"docs":{},"水":{"docs":{},"波":{"docs":{},"动":{"docs":{},"画":{"docs":{},"”":{"docs":{},"(":{"docs":{},"又":{"docs":{},"称":{"docs":{},"“":{"docs":{},"涟":{"docs":{},"漪":{"docs":{},"动":{"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.006024096385542169}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"+":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.02849002849002849},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}},"+":{"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.0020964360587002098}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}},"=":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.007653061224489796},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.012216404886561954},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}},"x":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}},"?":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.014198782961460446},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0026954177897574125},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0064516129032258064},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001669449081803005},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.0058823529411764705},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.011538461538461539},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.012658227848101266}},"?":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.009852216748768473},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}},"=":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}}}}},"取":{"docs":{},"代":{"docs":{},"线":{"docs":{},"性":{"docs":{},"布":{"docs":{},"局":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}}}}}},"堆":{"docs":{},"叠":{"docs":{},",":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}}},"复":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}},"选":{"docs":{},"框":{"docs":{},"选":{"docs":{},"中":{"docs":{},"状":{"docs":{},"态":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}},"杂":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"概":{"docs":{},"念":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}},"间":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"—":{"docs":{},"—":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"盒":{"docs":{},"子":{"docs":{},",":{"docs":{},"当":{"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/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"全":{"docs":{},"局":{"docs":{},"状":{"docs":{},"态":{"docs":{},"管":{"docs":{},"理":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}},";":{"docs":{},"语":{"docs":{},"言":{"docs":{},"、":{"docs":{},"主":{"docs":{},"题":{"docs":{},"、":{"docs":{},"登":{"docs":{},"录":{"docs":{},"态":{"docs":{},"等":{"docs":{},"都":{"docs":{},"需":{"docs":{},"要":{"docs":{},"全":{"docs":{},"局":{"docs":{},"共":{"docs":{},"享":{"docs":{},"。":{"docs":{"chapter15/intro.html":{"ref":"chapter15/intro.html","tf":0.05}}}}}}}}}}}}}}}}}}}}}}}}},"事":{"docs":{},"件":{"docs":{},"总":{"docs":{},"线":{"docs":{"chapter8/":{"ref":"chapter8/","tf":0.125}}}}}},"变":{"docs":{},"量":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}},"及":{"docs":{},"共":{"docs":{},"享":{"docs":{},"状":{"docs":{},"态":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}},"处":{"docs":{},"理":{"docs":{},"抬":{"docs":{},"起":{"docs":{},"事":{"docs":{},"件":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}},"按":{"docs":{},"下":{"docs":{},"事":{"docs":{},"件":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}},"包":{"docs":{},"的":{"docs":{},"相":{"docs":{},"互":{"docs":{},"依":{"docs":{},"赖":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}},"于":{"docs":{},"迭":{"docs":{},"代":{"docs":{},"中":{"docs":{},",":{"docs":{},"功":{"docs":{},"能":{"docs":{},"会":{"docs":{},"逐":{"docs":{},"渐":{"docs":{},"完":{"docs":{},"善":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"建":{"docs":{},"议":{"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/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"父":{"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/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}}}},"节":{"docs":{},"点":{"docs":{},"对":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"大":{"docs":{},"小":{"docs":{},"的":{"docs":{},"限":{"docs":{},"制":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"管":{"docs":{},"理":{"docs":{},"_":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}},"e":{"docs":{},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}},"h":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"a":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}},"状":{"docs":{},"态":{"docs":{},".":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}},"自":{"docs":{},"身":{"docs":{},"状":{"docs":{},"态":{"docs":{},".":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}},"对":{"docs":{},"象":{"docs":{},"表":{"docs":{},"的":{"docs":{},"原":{"docs":{},"因":{"docs":{},"。":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}},"​":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}},"字":{"docs":{},"体":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}},"主":{"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.002824858757062147}}}}}}}}}}}}}}}}}}}},"符":{"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.00390625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"段":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"图":{"3":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}},"5":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.025806451612903226}}},"docs":{}}}}},":":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}},"由":{"docs":{},"于":{"docs":{},"不":{"docs":{},"同":{"docs":{},"平":{"docs":{},"台":{"docs":{},"默":{"docs":{},"认":{"docs":{},"支":{"docs":{},"持":{"docs":{},"的":{"docs":{},"字":{"docs":{},"体":{"docs":{},"集":{"docs":{},"不":{"docs":{},"同":{"docs":{},",":{"docs":{},"所":{"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.00390625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"子":{"docs":{},"组":{"docs":{},"件":{"docs":{},"数":{"docs":{},"组":{"docs":{},"。":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856}}}}}}}}},"替":{"docs":{},"换":{"docs":{},"为":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}}},"禁":{"docs":{},"用":{"docs":{},"时":{"docs":{},"的":{"docs":{},"阴":{"docs":{},"影":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}}}}},"止":{"docs":{},"改":{"docs":{},"变":{"docs":{},"购":{"docs":{},"物":{"docs":{},"车":{"docs":{},"里":{"docs":{},"的":{"docs":{},"商":{"docs":{},"品":{"docs":{},"信":{"docs":{},"息":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}},"细":{"docs":{},"心":{"docs":{},"的":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"发":{"docs":{},"现":{"docs":{},"这":{"docs":{},"个":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"没":{"docs":{},"有":{"docs":{},"阴":{"docs":{},"影":{"docs":{},"(":{"docs":{},"点":{"docs":{},"击":{"docs":{},"之":{"docs":{},"后":{"docs":{},"也":{"docs":{},"没":{"docs":{},"有":{"docs":{},")":{"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":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"已":{"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.002577319587628866}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"\\":{"docs":{"chapter13/intl.html":{"ref":"chapter13/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.002551020408163265}}}}},"docs":{}},"docs":{}},"9":{"0":{"docs":{},"d":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}}},"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.002551020408163265}}}}}}}}}}}},"网":{"docs":{},"络":{"docs":{},"加":{"docs":{},"载":{"docs":{},"图":{"docs":{},"片":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}}}}},"灰":{"docs":{},"色":{"docs":{},"变":{"docs":{},"成":{"docs":{},"蓝":{"docs":{},"色":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}}}}},"异":{"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":{},"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.002688172043010753}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"启":{"docs":{},"动":{"docs":{},"到":{"docs":{},"显":{"docs":{},"示":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}},"微":{"docs":{},"信":{"docs":{},"图":{"docs":{},"标":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}}},"矢":{"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.002551020408163265}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"属":{"docs":{},"性":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}},"及":{"docs":{},"外":{"docs":{},"观":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514}}}}},"为":{"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":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"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":{},"平":{"docs":{},"方":{"docs":{},"向":{"docs":{},")":{"docs":{},"会":{"docs":{},"居":{"docs":{},"中":{"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":{},"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":{},"子":{"docs":{},"项":{"docs":{},"中":{"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":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"而":{"docs":{},"显":{"docs":{},"示":{"docs":{},"“":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"l":{"docs":{},"d":{"docs":{},"”":{"docs":{},"的":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"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":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"l":{"docs":{},"d":{"docs":{},"\"":{"docs":{},")":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"只":{"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":{},"组":{"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":{},"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":{},"u":{"docs":{},"i":{"docs":{},"自":{"docs":{},"绘":{"docs":{},"。":{"docs":{"chapter10/intro.html":{"ref":"chapter10/intro.html","tf":0.04}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"|":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.03638814016172507},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.1318181818181818}},"|":{"docs":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.014814814814814815},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.007532956685499058},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"名":{"docs":{},"称":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}},"s":{"docs":{},"|":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}},"”":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}},"下":{"docs":{},"入":{"docs":{},"上":{"docs":{},"出":{"docs":{},"“":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"办":{"docs":{},"?":{"docs":{},"当":{"docs":{},"然":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"分":{"docs":{},"别":{"docs":{},"修":{"docs":{},"改":{"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":{},"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":{},"s":{"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":{},"x":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"两":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"个":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"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":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"优":{"docs":{},"化":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}},"后":{"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.0013477088948787063}}}}}}}}}},"日":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}},"电":{"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.0013477088948787063}}}}}}}}}}}}},"话":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}},"会":{"docs":{},"显":{"docs":{},"示":{"docs":{},"“":{"docs":{},"/":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}},"在":{"docs":{},"w":{"docs":{},"i":{"docs":{},"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.002824858757062147}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"去":{"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.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}},"和":{"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.0018832391713747645}}}}}}}}}}}}}}}}}},"被":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}},"置":{"docs":{},"空":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"所":{"docs":{},"有":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"的":{"docs":{},"组":{"docs":{},"件":{"docs":{},"都":{"docs":{},"会":{"docs":{},"被":{"docs":{},"r":{"docs":{},"e":{"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":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"含":{"docs":{},"义":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}},"多":{"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.0013477088948787063}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"重":{"docs":{},"限":{"docs":{},"制":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}}}}},"语":{"docs":{},"言":{"docs":{},"支":{"docs":{},"持":{"docs":{},"我":{"docs":{},"们":{"docs":{},"使":{"docs":{},"用":{"docs":{},"第":{"docs":{},"十":{"docs":{},"三":{"docs":{},"章":{"docs":{},"”":{"docs":{},"国":{"docs":{},"际":{"docs":{},"化":{"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":{"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":{"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.015151515151515152}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"和":{"docs":{},"多":{"docs":{},"主":{"docs":{},"题":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}}}}}}},"密":{"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.0013477088948787063}}}}}},"docs":{}}}}}}}}}}}}},"docs":{}}}}}}}},"docs":{}}}}}}},"控":{"docs":{},"制":{"docs":{},"焦":{"docs":{},"点":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}},"台":{"docs":{},"输":{"docs":{},"出":{"docs":{},":":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}},"数":{"docs":{},"字":{"docs":{},";":{"docs":{},"会":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"数":{"docs":{},"字":{"docs":{},"键":{"docs":{},"盘":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}}}}}},"据":{"docs":{},"共":{"docs":{},"享":{"docs":{"chapter7/":{"ref":"chapter7/","tf":0.1111111111111111}},"(":{"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":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}}}}}}}}}}}}},"保":{"docs":{},"存":{"docs":{},"的":{"docs":{},"地":{"docs":{},"方":{"docs":{},"有":{"docs":{},"了":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"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":{},"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":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"通":{"docs":{},"知":{"docs":{},"?":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}},"改":{"docs":{},"变":{"docs":{},"的":{"docs":{},"消":{"docs":{},"息":{"docs":{},"传":{"docs":{},"递":{"docs":{},"被":{"docs":{},"屏":{"docs":{},"蔽":{"docs":{},"了":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"无":{"docs":{},"需":{"docs":{},"手":{"docs":{},"动":{"docs":{},"去":{"docs":{},"处":{"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":{},"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":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"持":{"docs":{},"久":{"docs":{},"化":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}},"校":{"docs":{},"验":{"docs":{},"用":{"docs":{},"户":{"docs":{},"名":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}},"(":{"docs":{},"不":{"docs":{},"能":{"docs":{},"为":{"docs":{},"空":{"docs":{},")":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}}}}}},"焦":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"登":{"docs":{},"录":{"docs":{},"按":{"docs":{},"钮":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}},"状":{"docs":{},"态":{"docs":{},"改":{"docs":{},"变":{"docs":{},"后":{"docs":{},"发":{"docs":{},"布":{"docs":{},"状":{"docs":{},"态":{"docs":{},"改":{"docs":{},"变":{"docs":{},"事":{"docs":{},"件":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"持":{"docs":{},"久":{"docs":{},"化":{"docs":{},";":{"docs":{"chapter15/intro.html":{"ref":"chapter15/intro.html","tf":0.05}}}}}}}}}},"页":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}},"代":{"docs":{},"码":{"docs":{},"大":{"docs":{},"致":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}},"后":{"docs":{},"可":{"docs":{},"以":{"docs":{},"查":{"docs":{},"看":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"项":{"docs":{},"目":{"docs":{},"主":{"docs":{},"页":{"docs":{"chapter15/intro.html":{"ref":"chapter15/intro.html","tf":0.05}}}}}}}}}}}}}},"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":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},"账":{"docs":{},"号":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"用":{"docs":{},"户":{"docs":{},"的":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"o":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},")":{"docs":{},"或":{"docs":{},"密":{"docs":{},"码":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}},"接":{"docs":{},"口":{"docs":{},",":{"docs":{},"登":{"docs":{},"录":{"docs":{},"成":{"docs":{},"功":{"docs":{},"后":{"docs":{},"返":{"docs":{},"回":{"docs":{},"用":{"docs":{},"户":{"docs":{},"信":{"docs":{},"息":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}},"成":{"docs":{},"功":{"docs":{},"后":{"docs":{},"需":{"docs":{},"更":{"docs":{},"新":{"docs":{},"用":{"docs":{},"户":{"docs":{},"信":{"docs":{},"息":{"docs":{},"。":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}}}}}}}},"监":{"docs":{},"听":{"docs":{},"文":{"docs":{},"本":{"docs":{},"变":{"docs":{},"化":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}},"也":{"docs":{},"有":{"docs":{},"两":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}}}}}}}},"焦":{"docs":{},"点":{"docs":{},"变":{"docs":{},"化":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}},"状":{"docs":{},"态":{"docs":{},"改":{"docs":{},"变":{"docs":{},"事":{"docs":{},"件":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}}}}},"滚":{"docs":{},"动":{"docs":{},"通":{"docs":{},"知":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}}}},"的":{"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":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"来":{"docs":{},"自":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"的":{"docs":{},"消":{"docs":{},"息":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}},"。":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}},"系":{"docs":{},"统":{"docs":{},"语":{"docs":{},"言":{"docs":{},"切":{"docs":{},"换":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}},"表":{"docs":{},"单":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}},"示":{"docs":{},"圆":{"docs":{},"形":{"docs":{},"进":{"docs":{},"度":{"docs":{},"条":{"docs":{},"的":{"docs":{},"粗":{"docs":{},"细":{"docs":{},"。":{"docs":{},"示":{"docs":{},"例":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}}}}}}}}}}}}},"只":{"docs":{},"执":{"docs":{},"行":{"docs":{},"一":{"docs":{},"次":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}},"循":{"docs":{},"环":{"docs":{},"执":{"docs":{},"行":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}},"前":{"docs":{},"三":{"docs":{},"个":{"docs":{},"参":{"docs":{},"数":{"docs":{},"和":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"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":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"面":{"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":{},"对":{"docs":{},"进":{"docs":{},"度":{"docs":{},"条":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"做":{"docs":{},"动":{"docs":{},"画":{"docs":{},",":{"docs":{},"关":{"docs":{},"于":{"docs":{},"动":{"docs":{},"画":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"在":{"docs":{},"后":{"docs":{},"面":{"docs":{},"专":{"docs":{},"门":{"docs":{},"的":{"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":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"讲":{"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":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"章":{"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":{},"在":{"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":{},"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":{},"片":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"到":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"后":{"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.008771929824561403}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"景":{"docs":{},"画":{"docs":{},"笔":{"docs":{},",":{"docs":{},"会":{"docs":{},"显":{"docs":{},"示":{"docs":{},"在":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"前":{"docs":{},"面":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}}}}}}}}}}},"圆":{"docs":{},"形":{"docs":{},"进":{"docs":{},"度":{"docs":{},"条":{"docs":{},"直":{"docs":{},"径":{"docs":{},"指":{"docs":{},"定":{"docs":{},"为":{"1":{"0":{"0":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}},"的":{"docs":{},"半":{"docs":{},"径":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}},"宽":{"docs":{},"高":{"docs":{},"不":{"docs":{},"等":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}}},"模":{"docs":{},"糊":{"docs":{},"进":{"docs":{},"度":{"docs":{},"条":{"docs":{},"(":{"docs":{},"会":{"docs":{},"执":{"docs":{},"行":{"docs":{},"一":{"docs":{},"个":{"docs":{},"动":{"docs":{},"画":{"docs":{},")":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}},"旋":{"docs":{},"转":{"docs":{},"动":{"docs":{},"画":{"docs":{},")":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}}}}}}}}}}}}}},"板":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"线":{"docs":{},"性":{"docs":{},"进":{"docs":{},"度":{"docs":{},"条":{"docs":{},"高":{"docs":{},"度":{"docs":{},"指":{"docs":{},"定":{"docs":{},"为":{"3":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}},"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}}}}}}}}}}}},"(":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"和":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},")":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856}}}}}}}}}}}}}}}}}},"弹":{"docs":{},"性":{"docs":{},"布":{"docs":{},"局":{"docs":{},"f":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{"chapter4/":{"ref":"chapter4/","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":{},"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":{},"。":{"docs":{},"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.005917159763313609}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"f":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{},"的":{"docs":{},"关":{"docs":{},"系":{"docs":{},"。":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"f":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{},")":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609}}}}}}}}}}},"出":{"docs":{},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}},"底":{"docs":{},"部":{"docs":{},"菜":{"docs":{},"单":{"docs":{},"列":{"docs":{},"表":{"docs":{},"模":{"docs":{},"态":{"docs":{},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}}}},"流":{"docs":{},"式":{"docs":{},"布":{"docs":{},"局":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"、":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"chapter4/":{"ref":"chapter4/","tf":0.16666666666666666}}}}}}}}}}}}}}},"纵":{"docs":{},"轴":{"docs":{},"(":{"docs":{},"垂":{"docs":{},"直":{"docs":{},")":{"docs":{},"方":{"docs":{},"向":{"docs":{},"间":{"docs":{},"距":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}}}}}}}}}}}},"、":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"、":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015625}}}}}}}},"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.002824858757062147}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"f":{"docs":{},"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":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"反":{"docs":{},"向":{"docs":{},"播":{"docs":{},"放":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"则":{"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":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},"r":{"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":{},"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":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"表":{"docs":{},"示":{"docs":{},"有":{"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":0.0018832391713747645}}}}}}}}}}}}}}},"容":{"docs":{},"器":{"docs":{},"类":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter5/":{"ref":"chapter5/","tf":0.07692307692307693}},"和":{"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":{},"时":{"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.006622516556291391}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"装":{"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":0.011627906976744186}}}}}}}}}}}}}}}}}},";":{"docs":{},"而":{"docs":{},"容":{"docs":{},"器":{"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":{},"充":{"docs":{},"(":{"docs":{},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},")":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684}}}}}}}}}}}}},"尺":{"docs":{},"寸":{"docs":{},"限":{"docs":{},"制":{"docs":{},"类":{"docs":{},"容":{"docs":{},"器":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}},"用":{"docs":{},"于":{"docs":{},"限":{"docs":{},"制":{"docs":{},"容":{"docs":{},"器":{"docs":{},"大":{"docs":{},"小":{"docs":{},",":{"docs":{},"f":{"docs":{},"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":{},"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":{},"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":{},"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":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"各":{"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":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"分":{"docs":{},"块":{"docs":{},"下":{"docs":{},"载":{"docs":{},"时":{"docs":{},"保":{"docs":{},"存":{"docs":{},"到":{"docs":{},"各":{"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/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"怎":{"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":{},"现":{"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":{},"另":{"docs":{},"外":{"docs":{},",":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},"中":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"类":{"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":{},"r":{"docs":{},"a":{"docs":{},"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":{},"s":{"docs":{},"w":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"若":{"docs":{},"有":{"docs":{},"需":{"docs":{},"要":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"行":{"docs":{},"查":{"docs":{},"看":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"文":{"docs":{},"档":{"docs":{},"。":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"很":{"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":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"k":{"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":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"k":{"docs":{},"i":{"docs":{},"t":{"docs":{},"包":{"docs":{},"。":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"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":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"旋":{"docs":{},"转":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064}}}},"缩":{"docs":{},"放":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}},"背":{"docs":{},"景":{"docs":{},"色":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}}},"装":{"docs":{},"饰":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}}}},"支":{"docs":{},"持":{"docs":{},"渐":{"docs":{},"变":{"docs":{},"色":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}}}},"画":{"docs":{},"笔":{"docs":{},",":{"docs":{},"会":{"docs":{},"显":{"docs":{},"示":{"docs":{},"在":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"后":{"docs":{},"面":{"docs":{},";":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}},"右":{"docs":{},"下":{"docs":{},"角":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"悬":{"docs":{},"浮":{"docs":{},"的":{"docs":{},"动":{"docs":{},"作":{"docs":{},"按":{"docs":{},"钮":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}}}}}}}},"抽":{"docs":{},"屉":{"docs":{},"菜":{"docs":{},"单":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}},"通":{"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":{},"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":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"e":{"docs":{},"r":{"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":{},"留":{"docs":{},"和":{"docs":{},"手":{"docs":{},"机":{"docs":{},"状":{"docs":{},"态":{"docs":{},"栏":{"docs":{},"等":{"docs":{},"高":{"docs":{},"的":{"docs":{},"留":{"docs":{},"白":{"docs":{},")":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"尝":{"docs":{},"试":{"docs":{},"传":{"docs":{},"递":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{},"来":{"docs":{},"看":{"docs":{},"看":{"docs":{},"实":{"docs":{},"际":{"docs":{},"效":{"docs":{},"果":{"docs":{},"。":{"docs":{},"抽":{"docs":{},"屉":{"docs":{},"菜":{"docs":{},"单":{"docs":{},"页":{"docs":{},"由":{"docs":{},"顶":{"docs":{},"部":{"docs":{},"和":{"docs":{},"底":{"docs":{},"部":{"docs":{},"组":{"docs":{},"成":{"docs":{},",":{"docs":{},"顶":{"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":{},"组":{"docs":{},"件":{"docs":{},"”":{"docs":{},"一":{"docs":{},"节":{"docs":{},"详":{"docs":{},"细":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"。":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"分":{"docs":{},"为":{"docs":{},"两":{"docs":{},"部":{"docs":{},"分":{"docs":{},":":{"docs":{},"顶":{"docs":{},"部":{"docs":{},"头":{"docs":{},"像":{"docs":{},"和":{"docs":{},"底":{"docs":{},"部":{"docs":{},"功":{"docs":{},"能":{"docs":{},"菜":{"docs":{},"单":{"docs":{},"项":{"docs":{},"。":{"docs":{},"当":{"docs":{},"用":{"docs":{},"户":{"docs":{},"未":{"docs":{},"登":{"docs":{},"录":{"docs":{},",":{"docs":{},"则":{"docs":{},"抽":{"docs":{},"屉":{"docs":{},"菜":{"docs":{},"单":{"docs":{},"顶":{"docs":{},"部":{"docs":{},"会":{"docs":{},"显":{"docs":{},"示":{"docs":{},"一":{"docs":{},"个":{"docs":{},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{},"灰":{"docs":{},"色":{"docs":{},"占":{"docs":{},"位":{"docs":{},"图":{"docs":{},",":{"docs":{},"若":{"docs":{},"用":{"docs":{},"户":{"docs":{},"已":{"docs":{},"登":{"docs":{},"录":{"docs":{},",":{"docs":{},"则":{"docs":{},"会":{"docs":{},"显":{"docs":{},"示":{"docs":{},"用":{"docs":{},"户":{"docs":{},"的":{"docs":{},"头":{"docs":{},"像":{"docs":{},"。":{"docs":{},"抽":{"docs":{},"屉":{"docs":{},"菜":{"docs":{},"单":{"docs":{},"底":{"docs":{},"部":{"docs":{},"有":{"docs":{},"”":{"docs":{},"换":{"docs":{},"肤":{"docs":{},"“":{"docs":{},"和":{"docs":{},"”":{"docs":{},"语":{"docs":{},"言":{"docs":{},"“":{"docs":{},"两":{"docs":{},"个":{"docs":{},"固":{"docs":{},"定":{"docs":{},"菜":{"docs":{},"单":{"docs":{},",":{"docs":{},"若":{"docs":{},"用":{"docs":{},"户":{"docs":{},"已":{"docs":{},"登":{"docs":{},"录":{"docs":{},",":{"docs":{},"则":{"docs":{},"会":{"docs":{},"多":{"docs":{},"一":{"docs":{},"个":{"docs":{},"”":{"docs":{},"注":{"docs":{},"销":{"docs":{},"“":{"docs":{},"菜":{"docs":{},"单":{"docs":{},"。":{"docs":{},"用":{"docs":{},"户":{"docs":{},"点":{"docs":{},"击":{"docs":{},"”":{"docs":{},"换":{"docs":{},"肤":{"docs":{},"“":{"docs":{},"和":{"docs":{},"”":{"docs":{},"语":{"docs":{},"言":{"docs":{},"“":{"docs":{},"两":{"docs":{},"个":{"docs":{},"菜":{"docs":{},"单":{"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":{"5":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"步":{"docs":{},"骤":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}},"分":{"docs":{},"两":{"docs":{},"步":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}},"漂":{"docs":{},"浮":{"docs":{},"按":{"docs":{},"钮":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}},"给":{"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":{},"。":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"添":{"docs":{},"加":{"docs":{},"监":{"docs":{},"听":{"docs":{},"器":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}},"每":{"docs":{},"一":{"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":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}},"子":{"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.0018832391713747645}}}}}}}}}}}}}}},"页":{"docs":{},"面":{"docs":{},"标":{"docs":{},"题":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}},"剪":{"docs":{},"裁":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}}}}}}},"子":{"docs":{},"组":{"docs":{},"件":{"docs":{},"到":{"docs":{},"实":{"docs":{},"际":{"docs":{},"占":{"docs":{},"用":{"docs":{},"的":{"docs":{},"矩":{"docs":{},"形":{"docs":{},"大":{"docs":{},"小":{"docs":{},"(":{"docs":{},"溢":{"docs":{},"出":{"docs":{},"部":{"docs":{},"分":{"docs":{},"剪":{"docs":{},"裁":{"docs":{},")":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"p":{"docs":{},")":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}}}}}}}}},"头":{"docs":{},"像":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}},"部":{"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":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.006134969325153374}},"及":{"docs":{},"控":{"docs":{},"制":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}},"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}}}}}}}}}}}}}}}}}}}},"位":{"docs":{},"置":{"docs":{},"恢":{"docs":{},"复":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}}}}}},"再":{"docs":{},"次":{"docs":{},"强":{"docs":{},"调":{"docs":{},",":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"组":{"docs":{},"件":{"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":{},"组":{"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":{},"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.002688172043010753}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"画":{"docs":{},"前":{"docs":{},"景":{"docs":{},",":{"docs":{},"应":{"docs":{},"用":{"docs":{},"渐":{"docs":{},"变":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}},"必":{"docs":{},"须":{"docs":{},"指":{"docs":{},"定":{"docs":{},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},":":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}}}}}}}}}}},"显":{"docs":{},"式":{"docs":{},"定":{"docs":{},"义":{"docs":{},"各":{"docs":{},"种":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"不":{"docs":{},"好":{"docs":{},"管":{"docs":{},"理":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}},"%":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}},"s":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.003669724770642202}},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}},".":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}},"t":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}},"功":{"docs":{},"能":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}},"型":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"指":{"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":{},"取":{"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":{},"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":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},".":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"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":{},"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":{},"w":{"docs":{},"i":{"docs":{},"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":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"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":{},"关":{"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.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"是":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}},"深":{"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":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}}}}}}}}}}}}},"介":{"docs":{},"绍":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}},"修":{"docs":{},"改":{"docs":{},"后":{"docs":{},"在":{"docs":{},"此":{"docs":{},"运":{"docs":{},"行":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"会":{"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":{},"a":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"向":{"docs":{},"购":{"docs":{},"物":{"docs":{},"车":{"docs":{},"中":{"docs":{},"添":{"docs":{},"加":{"docs":{},"新":{"docs":{},"商":{"docs":{},"品":{"docs":{},"时":{"docs":{},"总":{"docs":{},"价":{"docs":{},"更":{"docs":{},"新":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}},"父":{"docs":{},"级":{"docs":{},"递":{"docs":{},"归":{"docs":{},"查":{"docs":{},"找":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"商":{"docs":{},"品":{"docs":{},"份":{"docs":{},"数":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}},"订":{"docs":{},"阅":{"docs":{},"者":{"docs":{},"必":{"docs":{},"须":{"docs":{},"需":{"docs":{},"显":{"docs":{},"式":{"docs":{},"注":{"docs":{},"册":{"docs":{},"状":{"docs":{},"态":{"docs":{},"改":{"docs":{},"变":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"也":{"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/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"模":{"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":{},"致":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"谁":{"docs":{},"来":{"docs":{},"重":{"docs":{},"新":{"docs":{},"构":{"docs":{},"建":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"?":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}},"购":{"docs":{},"物":{"docs":{},"车":{"docs":{},"中":{"docs":{},"商":{"docs":{},"品":{"docs":{},"的":{"docs":{},"总":{"docs":{},"价":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}},"示":{"docs":{},"例":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}},"问":{"docs":{},"题":{"docs":{},"的":{"docs":{},"原":{"docs":{},"因":{"docs":{},"搞":{"docs":{},"清":{"docs":{},"楚":{"docs":{},"了":{"docs":{},",":{"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":{},"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":{},"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":{},"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":{},"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":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"测":{"docs":{},"试":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}},"运":{"docs":{},"行":{"docs":{},"后":{"docs":{},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"图":{"1":{"0":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}},"docs":{}},"docs":{}}}}}}}}}}}},"红":{"docs":{},"色":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}},"绿":{"docs":{},"色":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}},"蓝":{"docs":{},"色":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}},"颜":{"docs":{},"色":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005649717514124294}},"亮":{"docs":{},"度":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}},"和":{"docs":{},"主":{"docs":{},"题":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}},"固":{"docs":{},"定":{"docs":{},"黑":{"docs":{},"色":{"docs":{},"\"":{"docs":{},")":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}},"跟":{"docs":{},"随":{"docs":{},"主":{"docs":{},"题":{"docs":{},"\"":{"docs":{},")":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}},"删":{"docs":{},"除":{"docs":{},"文":{"docs":{},"件":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}},"临":{"docs":{},"时":{"docs":{},"文":{"docs":{},"件":{"docs":{},"。":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}},"既":{"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":{},"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":{},"实":{"docs":{},"现":{"docs":{},"代":{"docs":{},"码":{"docs":{},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"直":{"docs":{},"接":{"docs":{},"将":{"docs":{},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{},"u":{"docs":{},"i":{"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":{},"i":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}}}}}}}}}}}}}}}}}},"精":{"docs":{},"妙":{"docs":{},"的":{"docs":{},"解":{"docs":{},"法":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}},"心":{"docs":{},"设":{"docs":{},"计":{"docs":{},"的":{"docs":{},"动":{"docs":{},"画":{"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":{},"回":{"1":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}},"2":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}},"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}},"的":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}}}}}}}},"值":{"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":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"值":{"docs":{},"决":{"docs":{},"定":{"docs":{},"是":{"docs":{},"否":{"docs":{},"继":{"docs":{},"续":{"docs":{},"向":{"docs":{},"上":{"docs":{},"遍":{"docs":{},"历":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}},"是":{"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"型":{"docs":{},"为":{"docs":{},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},",":{"docs":{},"为":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"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":{},"o":{"docs":{},"n":{"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":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"遮":{"docs":{},"罩":{"docs":{},"颜":{"docs":{},"色":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0008347245409015025}}}}}},"事":{"docs":{},"件":{"docs":{},"处":{"docs":{},"理":{"docs":{},"与":{"docs":{},"通":{"docs":{},"知":{"docs":{"chapter8/":{"ref":"chapter8/","tf":0.125}}}}}}},"总":{"docs":{},"线":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}},"通":{"docs":{},"常":{"docs":{},"用":{"docs":{},"于":{"docs":{},"组":{"docs":{},"件":{"docs":{},"之":{"docs":{},"间":{"docs":{},"状":{"docs":{},"态":{"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":{},"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":{},"务":{"docs":{},"需":{"docs":{},"求":{"docs":{},"的":{"docs":{},",":{"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":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"手":{"docs":{},"势":{"docs":{},"识":{"docs":{},"别":{"docs":{"chapter8/":{"ref":"chapter8/","tf":0.125},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}},"冲":{"docs":{},"突":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}},"只":{"docs":{},"是":{"docs":{},"手":{"docs":{},"势":{"docs":{},"级":{"docs":{},"别":{"docs":{},"的":{"docs":{},",":{"docs":{},"而":{"docs":{},"手":{"docs":{},"势":{"docs":{},"是":{"docs":{},"对":{"docs":{},"原":{"docs":{},"始":{"docs":{},"指":{"docs":{},"针":{"docs":{},"的":{"docs":{},"语":{"docs":{},"义":{"docs":{},"化":{"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.0017452006980802793}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"竞":{"docs":{},"争":{"docs":{},"与":{"docs":{},"冲":{"docs":{},"突":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}}},"指":{"docs":{},"在":{"docs":{},"蓝":{"docs":{},"色":{"docs":{},"矩":{"docs":{},"形":{"docs":{},"区":{"docs":{},"域":{"docs":{},"内":{"docs":{},"移":{"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.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"按":{"docs":{},"下":{"docs":{},"时":{"docs":{},"有":{"docs":{},"涟":{"docs":{},"漪":{"docs":{},"效":{"docs":{},"果":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}}}}}}}}},"忽":{"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.005649717514124294}}}}}}}}}}}}},"日":{"docs":{},"志":{"docs":{},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}},"竞":{"docs":{},"争":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}},"阻":{"docs":{},"止":{"docs":{},"冒":{"docs":{},"泡":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}},"交":{"docs":{},"错":{"docs":{},"动":{"docs":{},"画":{"docs":{"chapter9/":{"ref":"chapter9/","tf":0.09090909090909091}}}}},"织":{"docs":{},"动":{"docs":{},"画":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}}}}},"匀":{"docs":{},"减":{"docs":{},"速":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}},"速":{"docs":{},"的":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}},"了":{"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.002577319587628866}}}}}}}}}}}}}}}}}}}}}}}}}}}},"枚":{"docs":{},"举":{"docs":{},"值":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866}}}}},"共":{"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.008771929824561403}}}}}}}}}}}}}}}}}}}}}}}}}},"状":{"docs":{},"态":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}},"偏":{"docs":{},"移":{"docs":{},"在":{"docs":{},"内":{"docs":{},"部":{"docs":{},"处":{"docs":{},"理":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}},"旧":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"隐":{"docs":{},"藏":{"docs":{},"的":{"docs":{},"动":{"docs":{},"画":{"docs":{},"时":{"docs":{},"长":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}},"曲":{"docs":{},"线":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}},"渐":{"docs":{},"变":{"docs":{},"色":{"docs":{},"数":{"docs":{},"组":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}},"的":{"docs":{},"终":{"docs":{},"止":{"docs":{},"点":{"docs":{},",":{"docs":{},"对":{"docs":{},"应":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},"属":{"docs":{},"性":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}}}}}}}}}},"耗":{"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":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}}}}}}}}}}}}}}}}}}},"几":{"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":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.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":{},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"画":{"docs":{},"图":{"docs":{},"像":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}},"圆":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}},"弧":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}},"椭":{"docs":{},"圆":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}},"点":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}},"矩":{"docs":{},"形":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}},"笔":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}}},"线":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}},"路":{"docs":{},"径":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}},"绘":{"docs":{},"制":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.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":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"如":{"docs":{},"果":{"docs":{},"按":{"docs":{},"照":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"每":{"docs":{},"次":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"棋":{"docs":{},"子":{"docs":{},"时":{"docs":{},"都":{"docs":{},"要":{"docs":{},"重":{"docs":{},"新":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"一":{"docs":{},"次":{"docs":{},"棋":{"docs":{},"盘":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"没":{"docs":{},"必":{"docs":{},"要":{"docs":{},"的":{"docs":{},"。":{"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":{},"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":{},"组":{"docs":{},"件":{"docs":{},"作":{"docs":{},"为":{"docs":{},"背":{"docs":{},"景":{"docs":{},"。":{"docs":{},"然":{"docs":{},"后":{"docs":{},"将":{"docs":{},"棋":{"docs":{},"子":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"放":{"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/custom_paint.html":{"ref":"chapter10/custom_paint.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":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"过":{"docs":{},"程":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}},"前":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"回":{"docs":{},"调":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}},"先":{"docs":{},"画":{"docs":{},"背":{"docs":{},"景":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}},"检":{"docs":{},"测":{"docs":{},"是":{"docs":{},"否":{"docs":{},"支":{"docs":{},"持":{"docs":{},"分":{"docs":{},"块":{"docs":{},"传":{"docs":{},"输":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"不":{"docs":{},"支":{"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/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"判":{"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":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},"。":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"移":{"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":{},"p":{"docs":{},"中":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"更":{"docs":{},"近":{"docs":{},"一":{"docs":{},"些":{"docs":{},",":{"docs":{},"清":{"docs":{},"理":{"docs":{},"时":{"docs":{},"会":{"docs":{},"l":{"docs":{},"r":{"docs":{},"u":{"docs":{},"来":{"docs":{},"清":{"docs":{},"除":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"验":{"docs":{},"证":{"docs":{},"是":{"docs":{},"否":{"docs":{},"已":{"docs":{},"经":{"docs":{},"有":{"docs":{},"缓":{"docs":{},"存":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}},"临":{"docs":{},"时":{"docs":{},"目":{"docs":{},"录":{"docs":{},":":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}},"外":{"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":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"次":{"docs":{},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}},"他":{"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"会":{"docs":{},"返":{"docs":{},"回":{"docs":{},"一":{"docs":{},"个":{"4":{"0":{"1":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}},"docs":{}},"docs":{}},"docs":{}}}}}},"验":{"docs":{},"证":{"docs":{},"用":{"docs":{},"户":{"docs":{},"凭":{"docs":{},"据":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"通":{"docs":{},"过":{"docs":{},"就":{"docs":{},"返":{"docs":{},"回":{"docs":{},"资":{"docs":{},"源":{"docs":{},"内":{"docs":{},"容":{"docs":{},"。":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}},"证":{"docs":{},"书":{"docs":{},"校":{"docs":{},"验":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}},"发":{"docs":{},"起":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}},"一":{"docs":{},"个":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}},"多":{"docs":{},"个":{"docs":{},"并":{"docs":{},"发":{"docs":{},"请":{"docs":{},"求":{"docs":{},":":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}},"送":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}},"平":{"docs":{},"台":{"docs":{},"消":{"docs":{},"息":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}},"布":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}},"现":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"传":{"docs":{},"递":{"docs":{},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{},"是":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"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":{},"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":{},",":{"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":{},"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":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"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":{},"身":{"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":{},"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":{},"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"写":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"自":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"嵌":{"docs":{},"套":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}},"持":{"docs":{},"续":{"docs":{},"生":{"docs":{},"成":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}},"久":{"docs":{},"化":{"docs":{},"存":{"docs":{},"储":{"docs":{},";":{"docs":{},"保":{"docs":{},"存":{"docs":{},"登":{"docs":{},"录":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"用":{"docs":{},"户":{"docs":{},"信":{"docs":{},"息":{"docs":{},"等":{"docs":{},"。":{"docs":{"chapter15/intro.html":{"ref":"chapter15/intro.html","tf":0.05}}}}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"信":{"docs":{},"息":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}}}}},"脚":{"docs":{},"本":{"docs":{},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"过":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"来":{"docs":{},"写":{"docs":{},",":{"docs":{},"源":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}},"强":{"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}},"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}},"详":{"docs":{},"细":{"docs":{},"的":{"docs":{},"文":{"docs":{},"档":{"docs":{},"语":{"docs":{},"法":{"docs":{},"请":{"docs":{},"参":{"docs":{},"考":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}},"宿":{"docs":{},"主":{"docs":{},"监":{"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":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.011494252873563218}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"国":{"docs":{},"际":{"docs":{},"化":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"常":{"docs":{},"见":{"docs":{},"问":{"docs":{},"题":{"docs":{"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02}}}}}},"相":{"docs":{},"关":{"docs":{},"的":{"docs":{},"类":{"docs":{},"都":{"docs":{},"在":{"docs":{},"此":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.015151515151515152}}}}}}}}}}}}}}},"美":{"docs":{},"国":{"docs":{},"英":{"docs":{},"语":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}},"未":{"docs":{},"读":{"docs":{},"邮":{"docs":{},"件":{"docs":{},"数":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}},"判":{"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":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},"'":{"docs":{},"e":{"docs":{},"n":{"docs":{},"'":{"docs":{},",":{"docs":{"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"英":{"docs":{},"语":{"docs":{},"系":{"docs":{},"的":{"docs":{},"国":{"docs":{},"家":{"docs":{},"非":{"docs":{},"常":{"docs":{},"多":{"docs":{},",":{"docs":{},"如":{"docs":{},"美":{"docs":{},"国":{"docs":{},"、":{"docs":{},"英":{"docs":{},"国":{"docs":{},"、":{"docs":{},"澳":{"docs":{},"大":{"docs":{},"利":{"docs":{},"亚":{"docs":{},"等":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"英":{"docs":{},"语":{"docs":{},"系":{"docs":{},"国":{"docs":{},"家":{"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":{},"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":{"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"讲":{"docs":{},"到":{"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.006060606060606061}}}}}}}}}},"传":{"docs":{},"给":{"docs":{},"它":{"docs":{},"的":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"确":{"docs":{},"定":{"docs":{},"了":{"docs":{},",":{"docs":{},"即":{"docs":{},"该":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"大":{"docs":{},"小":{"docs":{},"与":{"docs":{},"它":{"docs":{},"自":{"docs":{},"身":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"意":{"docs":{},"为":{"docs":{},"该":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"大":{"docs":{},"小":{"docs":{},"是":{"docs":{},"否":{"docs":{},"仅":{"docs":{},"通":{"docs":{},"过":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}}}}}}}}},"才":{"docs":{},"会":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"而":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}}},"没":{"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.0018832391713747645}}}}}}}}}}}}},"答":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}},"信":{"docs":{},"号":{"docs":{},")":{"docs":{},",":{"docs":{},"在":{"docs":{},"此":{"docs":{},"次":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"结":{"docs":{},"束":{"docs":{},"前":{"docs":{},",":{"docs":{},"该":{"docs":{},"方":{"docs":{},"法":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"反":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}},"已":{"docs":{},"经":{"docs":{},"创":{"docs":{},"建":{"docs":{},"过":{"docs":{},"了":{"docs":{},",":{"docs":{},"则":{"docs":{},"将":{"docs":{},"根":{"docs":{},"e":{"docs":{},"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.0018587360594795538}}}}}}}}}}}}}}}}}}},"检":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"真":{"docs":{},"正":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"逻":{"docs":{},"辑":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}}},"锁":{"docs":{},"定":{"docs":{},"事":{"docs":{},"件":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}},"队":{"docs":{},"列":{"docs":{},"。":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}},"成":{"docs":{},"功":{"docs":{},"了":{"docs":{},"!":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}},"清":{"docs":{},"除":{"docs":{},"所":{"docs":{},"有":{"docs":{},"缓":{"docs":{},"存":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}},"指":{"docs":{},"定":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},"缓":{"docs":{},"存":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}},"缓":{"docs":{},"存":{"docs":{},"上":{"docs":{},"限":{"docs":{},"设":{"docs":{},"置":{"docs":{},"的":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}},"图":{"docs":{},"片":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}},"容":{"docs":{},"量":{"docs":{},"上":{"docs":{},"限":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}},"数":{"docs":{},"量":{"docs":{},"上":{"docs":{},"限":{"docs":{},"(":{"1":{"0":{"0":{"0":{"docs":{},")":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"在":{"docs":{},"这":{"docs":{},"里":{"docs":{},",":{"docs":{},"记":{"docs":{},"为":{"docs":{},"a":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"详":{"docs":{},"细":{"docs":{},"介":{"docs":{},"绍":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}},"最":{"docs":{},"长":{"docs":{},"时":{"docs":{},"间":{"docs":{},",":{"docs":{},"单":{"docs":{},"位":{"docs":{},"(":{"docs":{},"秒":{"docs":{},")":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}},"队":{"docs":{},"列":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}},"策":{"docs":{},"略":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"结":{"docs":{},"构":{"docs":{},"见":{"docs":{},"\"":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},".":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}},"创":{"docs":{},"建":{"docs":{},"时":{"docs":{},"间":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}},"网":{"docs":{},"络":{"docs":{},"请":{"docs":{},"求":{"docs":{},";":{"docs":{},"需":{"docs":{},"要":{"docs":{},"请":{"docs":{},"求":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{"chapter15/intro.html":{"ref":"chapter15/intro.html","tf":0.05}}}}}}}}}}}}},"封":{"docs":{},"装":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}},"缓":{"docs":{},"存":{"docs":{},"对":{"docs":{},"象":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}},"接":{"docs":{},"口":{"docs":{},"缓":{"docs":{},"存":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}},"存":{"docs":{},"放":{"docs":{},"所":{"docs":{},"有":{"docs":{},"路":{"docs":{},"由":{"docs":{},"页":{"docs":{},"面":{"docs":{},"类":{"docs":{"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.015151515151515152}}}}}}}}}}},"公":{"docs":{},"开":{"docs":{},"项":{"docs":{},"目":{"docs":{},"数":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}},"账":{"docs":{},"号":{"docs":{},"信":{"docs":{},"息":{"docs":{},"更":{"docs":{},"新":{"docs":{},"时":{"docs":{},"间":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}},"创":{"docs":{},"建":{"docs":{},"时":{"docs":{},"间":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}},"邮":{"docs":{},"箱":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}},"封":{"docs":{},"装":{"docs":{},"网":{"docs":{},"络":{"docs":{},"请":{"docs":{},"求":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}},"专":{"docs":{},"门":{"docs":{},"用":{"docs":{},"于":{"docs":{},"构":{"docs":{},"建":{"docs":{},"列":{"docs":{},"表":{"docs":{},"项":{"docs":{},"u":{"docs":{},"i":{"docs":{},"。":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}},"隐":{"docs":{},"藏":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"框":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}}}}},"切":{"docs":{},"换":{"docs":{},"语":{"docs":{},"言":{"docs":{},"后":{"docs":{},"立":{"docs":{},"即":{"docs":{},"生":{"docs":{},"效":{"docs":{},"。":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}}}}}}}}}}},"length":15052},"corpusTokens":["!=","!_active;","!_nameautofocus,","!_toggle;","!_withtree;","!pwdshow,","!pwdshow;","!showtotopbtn","!withtree;","\"","\"\"))","\"\"),","\"\";","\"##loading##\";","\"$classname.dart\"');","\"$filename.dart\"');","\"$user\",","\"${(_animationcontroller.valu","\"${(progress","\"),","\");","\"*4,","\"*6,","\"+snapshot.data;","\",","\"./example/hbuilder.9.0.2.macosx_64.dmg\";","\"./images/avatar.png\",","\"/\":(context)=>","\"/users/$login\",","\"0%\";","\"123456789\";","\"2008","\"2011","\"2018","\"5.20\",","\";","\"@@last_modified\":","\"@@locale\":\"zh_ch\",","\"@remainingemailsmessage\":","\"@title\":","\"\\ue914\";","\"abcdefghijklmnopqrstuvwxyz\";","\"admin\",","\"age\":","\"alice\",","\"application/vnd.github.squirrel","\"application/vnd.github.symmetra","\"avatar\",","\"avatar_url\":","\"batteri","\"bio\":","\"blog\":","\"bool\";","\"boss\":\"$person\"","\"bytes=$start","\"cache\":\"$cacheconfig\",","\"company\":","\"courier\",","\"created_at\":","\"dc380d\";","\"default_branch\":","\"description\":","\"dump","\"echo:","\"email\",","\"email\":","\"email\":\"alice@example.com\"","\"email\":\"jack@example.com\"","\"email\":\"nancy@example.com\"","\"en_us\"),","\"enable\":true,","\"engineentertimestampmicros\":","\"error","\"example\":","\"fail","\"file","\"file1\":","\"file2\":","\"files\":","\"flutter","\"flutterchina.club\",","\"flutter应用\"","\"flutter应用\",","\"followers\":","\"following\":","\"fork\":","\"forks_count\":","\"friends\":\"$[]person\"","\"friends\":[","\"full_name\":","\"getbatterylevel\")","\"github\",","\"hello","\"hello\";","\"hi","\"hi\");","\"hireable\":","\"home:","\"how","\"howmany\":","\"http://download.dcloud.net.cn/hbuilder.9.0.2.macosx_64.dmg\";","\"https\",","\"https://api.github.com/licenses/mit\",","\"https://avatars2.githubusercontent.com/u/20411648?s=460&v=4\"),","\"https://avatars2.githubusercontent.com/u/20411648?s=460&v=4\",","\"https://flutterchina.club\",","\"https://github.com/blog\",","\"https://github.com/images/error/octocat_happy.gif\",","\"id\":","\"imgs/avatar","\"imgs/avatar.png\",","\"input1\"","\"input2\"","\"intercepted:","\"jack\",","\"javascript\",//该项目的主要编程语言","\"john","\"john@example.com\"","\"john@example.com\",","\"key\":","\"language\"),","\"language\":","\"lastlogin\":\"\",","\"license\":","\"list\":","\"list\";","\"locale\":\"\"","\"location\":","\"login\":","\"map\";","\"master\",","\"materialicons\",","\"maxage\":1000,","\"maxcount\":100","\"mdc6tgljzw5zzw1pda==\"","\"mit","\"mit\",","\"monalisa","\"monospace\";","\"mother\":\"$person\",","\"mother\":{","\"mozilla/5.0","\"name\":","\"nancy\",","\"new_page\");","\"new_page\":(context)=>echoroute(),","\"new_page\":(context)=>newroute(),","\"no","\"nocache\":","\"node_id\":","\"num\";","\"octocat\",","\"octocat/hello","\"octocat@github.com\",","\"open_issues_count\":","\"owned_private_repos\":","\"owner\":","\"parent\":\"$repo\",","\"person.dart\";","\"placeholders\":","\"private\":","\"proxi","\"public_repos\":","\"pushed_at\":","\"range:","\"remainingemailsmessage\",","\"remainingemailsmessage\":","\"samples.flutter.io/battery\"","\"samples.flutter.io/battery\",","\"samples.flutter.io/battery\";","\"san","\"size\":","\"spdx_id\":","\"stargazers_count\":","\"string\";","\"subscribers_count\":","\"temp$no\",","\"temp0\");","\"test\");","\"text\",","\"theme\":5678,","\"themes\"),","\"themes\":","\"there","\"thi","\"timeafterframeworkinitmicros\":","\"timetofirstframemicros\":","\"timetoframeworkinitmicros\":","\"tip2\":","\"titl","\"title\":","\"token\":\"\",","\"total_private_repos\":","\"type\":","\"unavailable\",","\"updated_at\":","\"upload.txt\")","\"upload.txt\"),","\"upload1.txt\"),","\"upload2.txt\"),","\"url\":","\"urllauncherplugin.h\"","\"use","\"user\",","\"user\":\"$user\",","\"user/repos\",","\"wendux\",","\"xx\":\"xx\",","\"yy\":\"dd\"","\"zh\")","\"zh_cn\"),","\"{howmany,plural,","\"中文简体\"","\"你好世界\"),","\"历史\",","\"图片\"];","\"密码\",","\"密码不能少于6位\";","\"您的登录密码\",","\"我是从互联网上获取的数据\");","\"我是提示xxxx\",","\"我是返回值\"),","\"标题\"),","\"正在请求...\";","\"点我变色\",","\"用户名\",","\"用户名不能为空\";","\"用户名或邮箱\",","\"电子邮件地址\",","\"电池信息不可用\",","\"网络不通...\";","\"美国英语\"}\");","\"请求失败:$e\";","#","#\"","#...省略无关项","#import","#指定一个字体名","#省略剩余内容","#请使用pub上的最新版本","$","$_counter","$delete\");","$deletetree\");","$device';","$end\"},","$home/.bash_profil","$home/.bash_profile。文件路径和文件名可能在你的电脑上不同.","$howmani","$index'),","$key';","$line\");","$msg';","$path","$resolved');","$result","$result\");","$this',","$v\");","${cart.totalprice}\"),","${cart.totalprice}\");","${notification.metrics.extentaft","${snapshot.data}\");","${snapshot.data}');","${snapshot.error}\");","${snapshot.error}');","${user.email}.');","${user.name}!');","${user['email']}.');","${user['name']}!');","%","%s","%s();","%s.fromjson(map","%t","&","","","","&&","'","'$_count',","'$_counter',","'$from","'$result","'$runtimetyp","'$runtimetype'","'${e.message}'.\";","'${snapshot.data}'","'%s.g.dart';","'');","'../index.dart';","'../widgets/index.dart';","'0.1.1'","'0.4.3'","'[root]',","'active'","'basic","'batteri","'cn')","'cn'),","'codec_framecount';","'codec_getnextframe';","'codec_repetitioncount';","'com.google.guava:guava:23.0","'dart:async'","'dart:async';","'dart:collection';","'dart:convert';","'dart:developer';到相关文件顶部。","'dart:io';","'dart:math'","'dart:math';","'email':","'flutter","'fred'});","'get')","'hello","'howdy');","'howdy',","'http://maven.aliyun.com/nexus/content/groups/public/'","'https://api.github.com/',","'inactive',","'increment',","'instantiateimagecodec';","'length'","'messages_all.dart';","'my_icons')","'my_package',","'myicon',","'name':","'object'","'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';","'page':","'page_size':","'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')","'us'),","'us');","'user.g.dart';","'username':","'widget","'window_render';","'window_scheduleframe';","'you","'zh'].contains(locale.languagecode);","(","(!global.isrelease)","(!global.profile.cache.enable)","(!parentusess","(!usermodel.islogin)","(!value.islogin)","(\"getbatterylevel\"","((_formkey.currentst","((datetime.now().millisecondssinceepoch","()","(){","(100","(17539):","(17666):","(18545):","(27896):","(64","([@\"getbatterylevel\"","(_color","(_controller.offset","(_controller.text.isnotempty)","(_currentsizebyt","(_imagestream.key","(_lastpressedat","(_nodesneedinglayout.isnotempty)","(_overflow","(_profil","(_profile.local","(_relayoutboundari","(_size.contains(position))","(_unamecontroller.text","(_valu","(_words.length","(_words[index]","(alignment.x*childwidth/2+childwidth/2,","(ancestor","(android)或wkwebview(ios)来加载(以后若无特殊说明,我们用webview来统一指代android和ios中的网页加载控件)。这样以来,h5部分是可以随时改变而不用发版,动态化需求能满足;同时,由于h5代码只需要一次开发,就能同时在android和ios两个平台运行,这也可以减小开发成本,也就是说,h5部分功能越多,开发成本就越小。我们称这种h5+原生的开发模式为混合开发","(arg)","(automaticsystemuiadjustment)","(await","(backgroundcolor","(batterylevel","(batterymanager)","(bool","(bool)application:(uiapplication*)appl","(buildcontext","(bytes.lengthinbyt","(call.method","(call.method.equals(\"getbatterylevel\"))","(call:","(child","(child._needspaint)","(child.isrepaintboundary)","(child.parentdata","(chunk","(client)","(cmd","(color","(complet","(context","(context)","(context)=>pageb(),","(context){","(context,","(ctx)","(delet","(deletetre","(details)","(details){","(devic","(device.batteryst","(dio.httpclientadapt","(direction)","(dragdowndetail","(dragenddetail","(dragupdatedetail","(dwebview)","(e)","(e){","(e,","(e.response?.statuscod","(element","(error,","(event)","(event)=>print(\"in\"),","(event)=>print(\"up\"),","(eventnam","(f","(filesystementity.isfilesync(f.path))","(fluttererrordetail","(flutterviewcontroller*)self.window.rootviewcontroller;","(fractionaloffse.x","(git命令行工具);","(hittestchildren(result,","(i","(i)","(imag","(in","(index","(int","(int)(device.batterylevel","(int)getbatterylevel","(intent.getintextra(batterymanager.extra_level,","(iphone;","(isforward)","(isrepaintboundary)","(khtml,","(leaf/singlechild/multichild)renderobjectwidget","(list","(local","(localemodel.getlocale()","(macos:preferences>plugins,","(map","(matchindex","(maximums","(maximumsizebyt","(node._layer.attached)","(node._needscompositingbitsupd","(node._needslayout","(node._needspaint","(notification)","(notification){","(notification.runtimetype){","(nsnull","(ob","(object","(oldwidget.turn","(onerror","(onnotif","(onreceiveprogress","(options.extra[\"list\"]","(options.extra[\"nocache\"]","(owner","(parent","(pendingimag","(physic","(pointerdownev","(pointermoveev","(pointerupev","(position.statu","(radiu","(received,","(refresh)","(renderobject","(renderviewel","(reserv","(response.statuscod","(result","(scaleupdatedetail","(scrollnotif","(size.width","(sizedbyparent)","(snapshot.connectionst","(snapshot.connectionstate)","(snapshot.hasdata)","(snapshot.haserror)","(statu","(str){","(strokecapround)","(supportedlocales.contains(_locale))","(total","(upper?str[0].touppercase():str[0].tolowercase())+str.substring(1);","(uri)","(user","(user?.login","(v)","(valu","(value,","(var","(version.sdk_int","(widget","(widget._dispatch(this,","(widget.data","(widget.imageprovid","(widget.repo.fork)","(widget.repo.priv","(widget.text","(widgetsbinding.inst","(x509certif","(zone","(不包括android","(不包括xcode或android","(不透明度)","(如","(如myapp),","(如果使用一些更低级别的类,如","(带有闪电⚡️图标的按钮)。","(带有闪电⚡️图标的按钮)也不会显示,将代理移除即可解决。","(当前语言环境)信息的。","(或者在编辑器中点击","(简称rn)是facebook于2015年4月开源的跨平台移动应用开发框架,是facebook早先开源的js框架","(绿色圆形箭头按钮)。","(译者语:和android中的framelayout相似),stack允许子","(语句级的单步调试和分析器)","(输入代码时进行验证、代码补全等)。","(运行、调试、热重载等)。",")","))",")),","));","),",").animate(",").attachtorendertree(buildowner,",").createshader(rect);",").tolist(),",");","){",")布局模型设计的。",");","*","**","*/*","+","++_counter,","++count),","+=","+x",",",",//",",bottom",".",".';","...","...,","....","...//","...//省略","...//省略其余代码","...//省略其它字段","...//省略无关代码","...//省略重复代码","...;","...省略具体实现代码","../../code/pkg1","..addlistener(()","..attachrootwidget(app)","..color","..color=color(0x77cdb175);//画笔颜色","..enabl","..isantialia","..maxag","..maxcount","..onmetricschang","..onsemanticsact","..onsemanticsenabledchang","..ontap","..ontextscalefactorchang","..schedulewarmupframe();","..strokecap","..strokewidth","..style","./intl.sh","./mo.sh",".0),",".0);",".0,",".0;",".2;",".5,",".5,//宽度设为原来宽度一半",".5,//宽度设为原来宽度一半,另一半会溢出",".7,",".75,",".8,),",".9,",".98",".accentcolor;",".add(item(20.0,",".animate(_animationcontroller),",".data",".firstwhere((e)",".imagecache.putifabsent(key,",".length",".map((c)",".of(context)",".padright(paddingwidth)),",".primarycolor,",".tolist(),",".tostring()",".tostring());",".trim()",".value),",".value,",".”","/","//","//...","//...省略无关代码","///","///两端是否为圆角","///粗细","///这个标注是告诉生成器,这个类是需要生成model类的","//1","//1.设置文本默认样式","//2","//2.不继承默认样式","//3","//3像素圆角","//50个列表项","//appbar,包含一个导航栏","//app语言跟随系统语言,如果系统语言不是中文简体或美国英语,","//basic认证凭据","//behavior:","//const","//dwebview继承自webview,由dsbridge提供","//file为证书路径","//final","//flex的三个子widget,在垂直方向按2:1:1来占用100像素的空间","//flex的两个子widget按1:2来占据水平空间","//github账号信息,结构见\"user.json\"","//grid","//grid按两列显示","//initialdata:","//json","//list","//listview各个构造函数的共同参数","//locale代理类","//locale相关值,title为应用标题","//locale资源类","//materi","//material设计规范中状态栏、导航栏、listtile高度分别为24、56、56","//navigator.push(context,","//no","//print(form.of(context));","//progress记录每一块已接收数据的长度","//query参数,用于接收分页信息","//request.addstream(_inputstream);","//return","//start","//state.count","//width:","//}));","//“去除”父级限制","//一个json格式的用户列表字符串","//上下各添加8像素补白","//上下左右各添加16像素补白","//上入下出","//上报错误和日志逻辑","//上次点击时间","//下划线widget预定义以供复用。","//下载图片","//下面代码没有效果","//下面代码没有问题","//下面生成模板","//不剪裁","//不同的类使用不同的mixin即可","//不指定返回类型,此时默认为dynamic,不是bool","//不能正常工作!","//不足100条,继续获取数据","//两次点击间隔超过1秒则重新计时","//中间位置空出","//临时文件按照块的序号命名,方便最后合并","//为了使用方便,我们定义一个静态方法","//为了避免内存泄露,需要调用_controller.dispos","//为了避免重复导入相同的包,我们用set来保存生成的import语句。","//为第二行icon自定义颜色(固定为黑色)","//主色,决定导航栏颜色","//主题更新后,materialapp会重新build","//主题色值","//主题颜色样本,见下面介绍","//从文件读取点击次数","//代理工具会提供一个抓包的自签名证书,会通不过证书校验,所以我们禁用证书校验","//会触发","//使用alertdialog会报错","//使用inheritedwidget中的共享数据","//使用iphone的ua","//使用local","//使用sharedatawidget","//使用弹性曲线","//使用渐隐渐入过渡,","//使用自定义的clipper","//保存icon数据","//保存profile变更","//保存事件名","//保存事件订阅者队列,key:事件名(id),value:","//保存单例","//保存回调","//保存用户信息,接下来执行其它操作","//保存进度百分比","//先分别定义各个异步任务","//先正向执行动画","//入栈新路由","//公司","//共享状态使用泛型","//关注该用户的人数","//关闭client后,通过该client发起的所有请求都会中止。","//关闭对话框","//关闭对话框并返回true","//其它local","//其它属性及回调","//其它属性见源码注释","//内容的填充","//再反向执行动画","//分割器构造器","//分割线颜色","//切换主题","//列表项构造器","//列表项高度固定时,显式指定高度是一个好习惯(性能消耗小)","//则默认使用美国英语","//创建3个tab页","//创建websocket连接","//创建一个httpclient","//创建一个画笔并配置其属性","//创建列表项","//创建子widget","//初始值","//初始化全局信息,会在app启动时执行","//初始化状态","//初始化网络请求相关配置","//初始滚动位置","//判断当前element对应的widget是否是notificationlistener。","//判断新旧imagestream是否相同,如果不同,则需要调整流的监听器","//前景装饰","//剪裁为圆形","//剪裁为圆角矩形","//剪裁半圆","//动态创建一个list","//动画反向执行时,调整x偏移,实现”从左边滑出隐藏“","//动画恢复到初始状态时执行动画(正向)","//动画执行时间3秒","//动画执行结束时反向执行动画","//动画时间为500毫秒","//博客地址","//卡片倾斜变换","//卡片内文字居中","//卡片大小","//卡片文字","//卡片阴影","//卡片颜色","//双击","//反向遍历,防止在订阅者在回调中移除自身带来的下标错位","//发生错误","//发送","//取消订阅","//变换","//变色开关","//只会在滚动结束时才会触发此回调","//可以直接添加输入流","//可以省略string这个类型声明","//可滚动widget公共参数","//右上角","//合并临时文件","//名为\"/\"的路由作为应用的home(首页)","//后面介绍","//启动动画","//启动动画(正向执行)","//启动动画(正向)","//唯一标记,前后两个路由页hero的tag必须相同","//商品单价","//因为本路由没有使用scaffold,为了让子级widget(如text)使用","//图片宽高从0变到300","//图片的宽","//图片的混合色值","//图片高度","//圆角","//在后面优化部分会用到","//在命中测试期间如何表现","//在此简单返回true,则每次更新都会调用依赖其的子孙节点的`didchangedependencies`。","//在这里不能通过此方式获取formstate,context不对","//均分底部导航栏横向空间","//垂直方向居中对齐","//垂直方向拖动事件","//填充","//处理特殊标志","//复选框选中状态发生变化时重新构建ui","//外形","//多出的部分","//头像占位图,加载过程中显示","//如果build中没有依赖inheritedwidget,则此回调不会被调用。","//如果leading为null,是否自动实现默认的leading按钮","//如果renderobject.isrepaintboundari","//如果到了表尾","//如果已经选定语言,则不跟随系统","//如果支持","//如果数据发生变化(model类调用了notifylisteners),重新构建inheritedprovid","//如果是下拉刷新,先删除相关缓存","//如果显示到最后一个并且icon总数小于200时继续获取数据","//如果返回true,则子树中依赖(build函数中有调用)本widget","//如果颜色固定可以直接使用整数值","//子widget列表","//子节点,可以为空","//字符串重复六次","//定义一个control","//定义一个globalkey,","//定义一个top","//定义一个便捷方法,方便子树中的widget获取共享数据","//定义一个状态,保存当前指针位置","//定义下划线颜色","//定义错误处理函数","//实现画笔","//容器内补白","//容器内补白,属于decoration的装饰范围","//容器外填充","//容器外补白","//容器大小的限制条件","//容器的高度","//宽度尽可能大","//宽高比为1时,子widget","//宽高比为2","//密码是否显示明文","//对话框标题组件","//对话框语义化标签(用于读屏软件)","//对齐方式","//导入cupertino","//导航到新路由","//导航栏","//导航栏右侧菜单","//导航栏最左侧widget,常见为抽屉菜单按钮或返回按钮。","//将json字符串转为dart对象(此处是list)","//将json类型转为对应的dart类型","//将transform.rotate换成rotatedbox","//将测试结果添加到result中","//将焦点从第一个textfield移到第二个textfield","//将生成的模板输出","//将请求uri作为缓存的key","//将选中状态通过事件的形式抛出","//工厂构造函数","//左边添加8像素补白","//已登录,则展示项目列表","//布局","//布局构建器","//应用主页","//应用名称","//应用首页路由","//建立连接","//开启自动校验","//弹出删除确认对话框,等待用户确认","//弹出对话框并等待其关闭","//弹性布局的方向,","//强制高度为50.0","//当provider更新时,如果新旧数据不\"==\",则解绑旧数据监听,同时添加新数据监听","//当前路由主题色","//当前路由被激活,是打开新路由","//形状","//悬浮按钮","//我们只支持美国英语和中文简体","//我们的自定义图标","//所以animatedwidget必须通过某种方式将其状态对象_animatedwidgetst","//手动指定local","//手指按下回调","//手指按下时会触发此回调","//手指滑动时会触发此回调","//手指移动回调","//打印手指按下的位置(相对于屏幕)","//打印机型","//打印滑动结束时在x、y轴上的速度","//打印滚动位置","//打印通知","//打开b路由","//打开http连接","//执行build方法","//执行删除操作","//执行失败会走到这里","//执行成功会走到这里","//执行接下来的操作","//执行缩放动画","//找到最近的layer,绘制","//把请求到的新数据添加到items中","//报告错误","//报错,isnoble不是bool类型","//抽屉","//抽屉菜单","//指定列表高度为400","//指定包名","//指定宽度,高度自适应","//指定平台,应用特定平台控件风格","//指定未定位或部分定位widget的对齐方式","//指定画布大小","//指定监听通知的类型为滚动结束通知(scrollendnotification)","//指定请求的内容区间","//按钮主题","//按钮按下时的背景颜色","//按钮文字颜色","//按钮点击回调","//按钮点击时分发通知","//按钮的内容","//按钮的填充","//按钮禁用时的文字颜色","//按钮背景颜色","//控制子widget","//收集日志","//放大到1.5倍","//放开此行注释后可以\"点透\"","//放开此行注释后,进度条将失效","//故先判断是否是statelessel","//文件的总块数(包括第一块)","//文字字体","//旋转90度","//旋转90度(1/4圈)","//旋转的“圈”数,一圈为360度,如0.25圈即90度","//旋转角度发生变化时执行过渡动画","//无论成功或失败都会走到这里","//是notificationlistener,则调用该notificationlistener的_dispatch方法","//是statelesselement,则获取element对应的widget,判断","//是否为中文","//是否抗锯齿","//是否支持某个local","//是否是notificationlisten","//是否显示“返回到顶部”按钮","//是否自动校验。","//是返回,则不应用过渡动画","//显式关联json字段名与model属性的对应关系","//显式指定对齐方式为左对齐,排除对齐干扰","//显示主题色块","//显示区域宽高相等","//显示指定key,不同的key会被认为是不同的text,这样才能执行动画","//显示进度百分比","//暴露给其子类","//更新profile中的token信息","//更新renderobject.needscompositing属性值","//更新复选框状态","//更新显示的事件名","//更新自身选中状态","//更新选中状态","//替换模板占位符","//最多2000张","//最大宽度","//最大高度","//最小宽度","//最小高度","//最小高度为50像素","//最近一次的注销登录的用户名","//有多个,省略...","//有效,外层colum高度为整个屏幕","//未定位widget占满stack整个空间","//本接口禁用缓存","//构建功能菜单","//构建对话框内部ui","//构建抽屉菜单头部","//构建语言选择项","//构建错误详情对象","//查找当前或最近的一个祖先renderobject","//标题文本样式","//标题是否居中","//校验密码","//校验密码(不能为空)","//校验证书","//根据http协议,发送请求头","//根据背景色亮度来确定title颜色","//横轴三个子widget","//次级色,决定大多数widget的颜色,如进度条、开关等。","//正常状态下的阴影","//每一个字母都用一个text显示,字体为原来的两倍","//每次生成20个单词","//每点击一次,将count自增,然后重新build,sharedatawidget的data将被更新","//每行三列","//沿y轴倾斜0.3弧度","//沿主轴方向居中","//注册依赖关系","//注册原生api到jsbridg","//注册路由表","//注册首页路由","//测试row对齐方式,排除column默认居中对齐的干扰","//深色还是浅色","//混合模式","//添加persistentframecallback","//添加一个listen参数,表示是否建立依赖关系","//添加监听器","//添加订阅者","//添加这一句","//清空所有缓存","//渐变","//滚动方向,默认是垂直方向","//点击后将该element标记为dirty,element将会rebuild","//点击后计数器自增","//点击回调","//点击对话框barrier(遮罩)时是否关闭它","//点击时,水波动画中水波的颜色","//点击该按钮后弹出对话框","//点击遮罩不关闭对话框","//点击遮罩是否关闭对话框","//父","//父或祖先widget中的inheritedwidget改变(updateshouldnotify返回true)时会被调用。","//生成tab菜单","//用于icon颜色","//用于导航栏、floatingactionbutton的背景色等","//用于记录按钮点击的总次数","//用到gesturerecognizer的话一定要调用其dispose方法释放资源","//用户信息发生变化,更新用户信息并通知依赖它的子孙widgets更新","//用户名字","//用户头像地址","//用户手指滑动时,更新偏移,重新构建","//用户未登录,显示登录按钮","//用户登录","//用户登录名","//用户类型,可能是组织","//由于notificationlistener是继承自statelesswidget,","//由于子类要用到animatedwidget的状态对象_animatedwidgetstate,","//由于本widget也是form的子代widget,所以可以通过下面方式获取formst","//画棋盘网格","//画棋盘背景","//画笔样式:填充","//登录失败则提示","//登录成功后更新公共头(authorization),此后的所有请求都会带上用户身份信息","//登录成功后触发登录事件,页面a中订阅者会被调用","//登录成功后通过,id获取用户信息","//登录状态变化处理逻辑","//登录页b中","//的子widget的`state.didchangedependencies`会被调用","//监听window对象的事件","//监听滚动事件,打印滚动位置","//监听登录事件","//监听输入改变","//监听通知","//直接调用原生api","//相对于坐标系原点的对齐方式","//省略其它事件","//省略其它字段","//省略无关代码","//确保colors数组不空","//私有构造函数","//移除抽屉菜单顶部默认留白","//移除监听器","//移除计数器","//移除订阅者","//移除顶部pad","//第一行icon使用主题中的iconthem","//等待连接服务器(会将请求信息发送给服务器)","//线","//结果是:","//结果是:bob","//绘制子节点,","//给购物车中添加商品,添加后总价会更新","//维护单选开关状态","//缩放倍数在0.8到10倍之间","//网络不通会走到这","//背景为白色,则title自动为黑色","//背景为纸黄色","//背景为蓝色,则title自动为白色","//背景径向渐变","//背景混合模式","//背景渐变","//背景颜色","//自动获取model","//自定义图标","//若是列表,则只要url中包含当前path的缓存全部删除(简单实现,并不精准)","//若缓存未过期,则返回缓存内容","//获取local","//获取上下文大小","//获取主题","//获取用户信息","//获取用户信息后保存","//获取用户项目列表","//获取路由参数","//蓝色主题","//表尾标记","//要拖动和点击的widget","//解析文件总长度,进而算出剩余长度","//触发事件,事件触发后该事件所有订阅者会被调用","//计算每一个子widget的位置","//订阅登录状态改变事件","//订阅者回调签名","//订阅(关注)该项目的人数","//记录复选框是否选中","//设置[bold]和[hidden]标志","//设置control","//设置globalkey,用于后面获取formst","//设置key","//设置代理","//证书一致,则允许发送数据","//该回调决定当data发生变化时,是否通知子树中依赖data的widget","//该用户总的私有项目数(包括参与的其它组织的私有项目)","//该用户自己的私有项目数","//该赋值语句会触发materialapp","//该项目当前打开的issue数量","//该项目的star数量","//请求完成","//请求成功,通过项目信息构建用于显示项目名称的listview","//请求未完成时弹出load","//读取响应内容","//读取返回内容","//调用","//调用flutter","//调用rendererbinding的drawframe()方法","//调用了onerror回调","//调用我们定义的交织动画widget","//距顶部的偏移","//路由b","//路由销毁时需要释放动画资源","//输入框光标颜色","//输出`tiproute`路由返回结果","//输出model目录","//输出响应头","//输出第一个用户的姓名","//边框","//过渡动画执行的总时长","//返回到顶部时执行动画","//进度条","//进度条显示50%","//进度条显示50%,会显示一个半圆","//退出账号前先弹二次确认窗","//退场(出)方向","//选中时的颜色","//递归子renderbox进行命中测试","//通知依赖的widget更新","//通知所有监听器,触发监听器回调","//通过constrainedbox来确保stack占满屏幕","//通过一个回调创建一个ticker","//通过位运算符将alpha设置为ff","//通过修改图片宽度来达到缩放效果","//通过方法将alpha设置为ff","//遍历json目录生成模板","//遍历回调,会对每一个父级element执行此回调","//重复方式","//重新构建","//重新构建列表","//重新构建页面","//重绘之前的预处理操作,检查renderobject是否需要重绘","//错误处理","//长按","//间隔,前60%的动画时间","//间隔,后40%的动画时间","//阴影","//阴影,可以指定多个","//随便返回一个text()","//隐藏下划线","//需要在子树中共享的数据,保存点击次数","//需要定义一个control","//需要继承tickerprovider,如果有多个animationcontroller,则应该使用tickerproviderstatemixin。","//页面a中","//项目owner头像","//项目名称","//项目完成名称","//项目描述","//项目的默认分支","//颜色","//颜色是一个字符串变量","//验证回调","//验证通过提交数据","//高度动画","//默认不选中","//默认原点为左上角,左移20像素,向上平移5像素","/applications/xcode.app/contents/develop","/hbuilder.9.0.2.macosx_64.dmg","0","0)","0))","0));","0),","0);","0,","0.0)","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.0;","0.0;//距左边的偏移","0.4.3版本的url_launcher,在","0.6),","0.6)带入坐标转换公式得flutterlogo实际偏移为(12,36),和实际运行效果吻合。","0.6,","0.6,//间隔,前60%的动画时间","00522983","00525262401065761290103018,","01","0;","0xe000","0xe614,","0xe90d","0xe914","0xec7d,","0xff2196f3;","0}\");","1","1\";","1)","1))","1)).then((e)","1));","1),","1);","1,","1.","1.0","1.0)","1.0))","1.0);","1.0)代表右侧底部终点,而alignment(1.0,","1.0)带入上面公式,可得flutterlogo的实际偏移坐标正是(60,0)。下面再看一个例子:","1.0,","1.0.0+1","1.0;","1.0]","1.1","1.1.1","1.1.2","1.1.3","1.1.4","1.1.5","1.1.6","1.15,","1.1:移动开发技术简介","1.2","1.2,","1.2.1","1.2.2","1.2.3","1.2:初识flutter","1.3","1.3.1","1.3.2","1.3.3","1.3.4","1.3:搭建flutter开发环境","1.4","1.4.1","1.4.2","1.4.3","1.4.4","1.4.5","1.4:dart语言简介","1.5","1.5,","10","10\"","10\"的作用是,告诉服务器本次请求我们只想获取文件0","10(包括10,共11字节)这块内容。如果服务器支持分块传输,则响应状态码为206,表示“部分内容”,并且同时响应头中包含”content","10.0),","10.0);","10.0,","10.1","10.1.10.250:8888\";","10.1:自定义组件方法简介","10.2","10.2:组合现有组件","10.3","10.3:组合实例:turnbox","10.4","10.4:自绘组件(custompaint与canvas)","10.5","10.5:自绘实例:圆形渐变进度条(自绘)","10/233295878","100","100)","100));","100).floor()}%\");","100).toint()}%\",","100).toint()}%\";","100);","100,","100.0","100.0)),","100.0),","100.0,","1000","1000,","1000;","100:","100;","101.8)","102;","104.0,","108,","10:00:52","10;","10_3_1","10t15:46:20.897228\",","10t17:37:28.505088\",","10所示:","10表示本次返回的区块,233295878代表文件的总长度,单位都是byte,","11.1","11.1:文件操作","11.2","11.2:http请求","11.3","11.3:http请求","11.4","11.4:实例:http分块下载","11.5:websocket","11.6","11.6:使用socket","11.7","11.7:json转dart","11。","11所示。","11所示:","12","12),","12.1","12.1:开发packag","12.2","12.2:平台通道简介","12.3","12.3:开发flutter插件","12.4","12.4:插件开发:实现android端api","12.5","12.5:插件开发:实现ios端api","120.0),","120.0,","125.8)","1296269,","12所示:","13,","13.0)","13.1","13.1:让app支持多语言","13.2","13.2:实现local","13.3:使用intl包","13.4","13.4:国际化常见问题","130,","13所示下:","13所示:","14.0)//定义提示文本样式","14.1","14.1:flutter","14.2","14.2.1","14.2.2","14.2:element和buildcontext","14.3","14.3.1","14.3.2","14.3.3","14.3.4","14.3.5","14.3:renderobject与renderbox","14.4","14.4:flutter从启动到显示","14.5","14.5.1","14.5.2","14.5:flutter图片加载与缓存","14t04:33:35z\",","14所示:","15","15,","15.0,","15.1","15.2","15.2:app代码结构","15.3","15.3:model类定义","15.4","15.4.1","15.4.2","15.4:全局变量及共享状态","15.5","15.5.1","15.5.2","15.5:网络请求封装","15.6","15.6.1","15.6.2","15.6.3","15.6:app入口及首页","15.7","15.7:登录页","15.8","15.8.1","15.8.2","15.8:多语言和多主题","150),","150.0)),","150.0),","150.0,","150.0,),","15;","15所示:","16","16),","16.0),","16.0,","1657393","16所示的卡片:","16所示:","16)或更高版本的android设备.","1794.0)","17所示:","18.0),","18.0),)","18.0,","18、图5","18所示:","192.168.1.2:8888\";","19所示(彩色):","19所示:","1:","1;","1]的一个值,数字越大颜色就越浅,我们可以根据它来动态确定title的颜色,下面是导航栏navbar的简单实现:","1})","1、15","1、9","1到1分别代表矩形左边到右边的距离和顶部到底边的距离,因此2个水平(或垂直)单位则等于矩形的宽(或高),如alignment(","1和14","1所示:","1是android系统中设置语言列表的截图:","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.1","2.1.1","2.1.2","2.1:计数器示例","2.2","2.2.1","2.2.2","2.2.3","2.2.4","2.2.5","2.2.6","2.2.7","2.2:路由管理","2.3","2.3:包管理","2.4","2.4:资源管理","2.5","2.5:调试flutter","2.6","2.6.1","2.6.2","2.625","2.625,","2.625x","2.6:dart线程模型及异常捕获","20),","20,","20.0),","20.0),//子","20.0,","200","200),","200,","200.0)),","200.0,","200.0;","200.0,0.0]的值:","2000),","200:","200ms;","2017","2018","2018年2月,flutter发布了第一个beta版本,同年五月,","2018年6月,flutter发布了首个预览版本,这意味着","206)","20所示:","2171978,","21所示:","22所示:","23","23所示效果的底部导航栏应该怎么做呢?","24","24.0),","24.0,","24所示:","25),","25,","25.0,","250.0,","255).animate(controller);","255).animate(curve);","25所示:","26.0),","26t19:01:12z\",","26t19:06:43z\",","26t19:14:43z\",","26所示:","27k","27所示:","28.0),","280),","280,","28所示:","29所示:","2:","2和2","2所示:","2秒后返回结果","2(点击后)所示:","3","3\";","3));","3),","3,","3.","3.0,","3.1","3.1.0正式发布,实现了对于ios的完全支持,新增winrt、beautifier等插件,废弃了无python接口的gdb调试支持,集成了基于clang的c/c++代码模块,并对android支持做出了调整,至此实现了全面支持ios、android、wp,它提供给应用程序开发者构建图形用户界面所需的所有功能。但是,qt虽然在pc端获得了巨大成功,备受社区追捧,然而其在移动端却表现不佳,在近几年,虽然偶尔能听到qt的声音,但一直很弱,无论qt本身技术如何、设计思想如何,但事实上终究是败了,究其原因,笔者认为主要有四:","3.1.1","3.1.2","3.1.3","3.1.4","3.1.5","3.1.6","3.1.7","3.1:widget简介","3.2","3.2.0.pom","3.2.1","3.2.2","3.2.3","3.2:状态管理","3.3","3.3.1","3.3.2","3.3.3","3.3.4","3.3.5","3.3:文本、字体样式","3.4","3.4.1","3.4.2","3.4:按钮","3.5","3.5,0.0,0.0,0.0","3.5.1","3.5.2","3.5:图片和icon","3.6","3.6:单选框和复选框","3.7","3.7.1","3.7.2","3.7:输入框和表单","3.8","3.8:进度指示器","30","30,","30.0),),","30.0);","30.0),及图片中部40×30像素的范围。","30.0,","300),","300.0).animate(animation)","300.0).animate(controller)","300.0).animate(controller);","300.0,","300:","3039):","30所示:","31","31所示:","32.0,","328026813]","32所示:","33所示:","36.0);","3600","38.0),","388965355]","3;","3、15","3所示。","3所示:","3是provider的原理图:","3灰色矩形,就可以看到整个动画效果,图9","3秒后返回结果","3)是在iphonex上页面效果截图:","4),","4.","4.0","4.0,","4.1","4.1(api","4.1:布局类组件简介","4.2","4.2:线性布局(row、column)","4.3","4.3:弹性布局(flex)","4.4","4.4.1","4.4.2","4.4:流式布局(wrap、flow)","4.5","4.5:层叠布局(stack、positioned)","4.6","4.6.1","4.6.2","4.6.3","4.6:对齐与相对定位(align)","40,","40.0),","40.0,","400","400,","400:","401)","411.4,","42","42,","437.086m","48.0;","4;","4、6","4所示。","4所示下:","4所示:","4是动画执行过程中的一帧。","4秒后返回结果","4类似的错误。","5","5),","5,","5.0","5.0),","5.0,","5.1","5.1:填充(padding)","5.2","5.2.1","5.2.2","5.2.3","5.2.4","5.2:尺寸限制类容器(constrainedbox等)","5.3","5.3:装饰容器(decoratedbox)","5.4","5.4:变换(transform)","5.5","5.5:container容器","5.6","5.6.1","5.6.2","5.6.3","5.6.4","5.6.5","5.6:scaffold、tabbar、底部导航","5.7","5.7:剪裁(clip)","50","50,","50,),","50.0","50.0,","500","500),","500,","500:","50:","514585,","52,","5436):","55.0),","56","56,","5s或更高版本)。","5所示。","5所示),确定其最新的版本号和是否支持flutter。","5所示:","5:","6),","6.1","6.1:可滚动组件简介","6.2","6.2:singlechildscrollview","6.3","6.3:listview","6.4","6.4:gridview","6.5","6.5:customscrollview","6.6","6.6.1","6.6.2","6.6:滚动监听及控制(scrollcontroller)","60,","60.0),","60.0);","60.0,","600","600:","60hz。当一帧图像绘制完毕后准备绘制下一帧时,显示器会发出一个垂直同步信号(如vsync),","60hz的屏幕就会一秒内发出","60次这样的信号。而这个信号主要是用于同步cpu、gpu和显示器的。一般地来说,计算机系统中,cpu、gpu和显示器以一种特定的方式协作:cpu将计算好的显示内容提交给","625702218]","6559):","683.4)","683.4))","683.4),","683.4);","683.4),它用于强制renderpositionedbox下的所有渲染框到屏幕的大小,","6、15","6、7","6所示:","6的屏幕dpi为3.5","6),单击右上角的","7","7.0语法中就已经存在了,因此我们可以看到google对dart语言给予厚望,是想把dart打造成一门集百家之所长的编程语言。","7.1","7.1:导航返回拦截(willpopscope)","7.2","7.2:数据共享(inheritedwidget)","7.3","7.3:","7.4","7.4.1","7.4.2","7.4:颜色和主题(theme)","7.5","7.5.1","7.5.2","7.5:异步ui更新(futurebuilder、streambuilder)","7.6","7.6.1","7.6.2","7.6.3","7.6.4","7.6.5","7.6:对话框详解","700","700:","7所示。","7所示:","8","8,","8.0),","8.0,","8.0,//按下时的阴影","8.1","8.1:原始指针事件处理","8.2","8.2.1","8.2.2","8.2.3","8.2:手势识别","8.3","8.3:全局事件总线","8.4","8.4:通知(notification)","80)","80);","80,","80.0)","80.0),","80.0)作为子组件的约束。","80.0)等价于:","80.0,","80.0,height:","80.0,maxheight:","80.0,maxwidth:","80.0,minwidth:","800:","82.0,","8513):","8、7","8所示,此时点击超链接即可自动跳转到安装页面","8所示:","8)。","8),然后用textspan实现它。","8:","9)],","9,","9.0或更新版本(通过链接下载或苹果应用商店).","9.0或更高版本:","9.1","9.1:flutter动画简介","9.2","9.2.1","9.2.2","9.2:动画结构","9.3","9.3:自定义路由过渡动画","9.4","9.4:hero动画","9.5","9.5:交织动画","9.6","9.6.1","9.6.2","9.6:通用\"切换动画\"组件(animatedswitcher)","90.0,","900:","900;","96025565262,","9所示:","9),","9:",":",":super(child:",":super(key:",";","=","=0{there","=0{没有未读邮件}=1{有{howmany}封未读邮件}other{有{howmany}封未读邮件}}\",","==","==(dynam","==(other)","=>","=>placeholder,","=>text(\"总价:","=await",">",">=","?","??","??=","@immut","@implement","@javascriptinterfac","@jsonkey(name:","@jsonserializable()","@objc","@overrid","@pragma('vm:entri","@protect","@requir","@uiapplicationmain","[","[\"新闻\",","['en',","[0.0","[0]","[1]","[2]","[3]","[],","[];","[_pendingimage.removelistener].","[arg])","[batterychannel","[bool","[child].","[color,","[colors.blue,","[colors.blue[700],","[colors.lightblue[300],","[colors.lightgreen,","[colors.orange,","[colors.red,","[colors.teal,","[eventcallback","[fluttermethodchannel","[globalkey","[globalobjectkey","[howmany],","[item]","[loadingtag];","[renderobjecttowidgetel","[root]","[self","[string","[super","[theme.primarycolor,","[uiapplicationlaunchoptionskey:","\\","\\ue000\";","\\ue90d\";","]","])","]).listen((data){","]).then((results){","]);","],","].map((e){","];","^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","_animatedswitchercounterroutest","_animatedswitchercounterroutestate();","_animatedthemestate(543295893;","_animatedwidgetstate)","_animationcontrol","_animationcontroller,","_animationcontroller.addlistener(()","_animationcontroller.addstatuslistener((status)","_animationcontroller.dispose();","_animationcontroller.forward();","_animationcontroller.reverse();","_animationcontroller.value),","_animationcontroller.value,","_animationcontroller;","_batterylevel","_blueprimaryvalu","_blueprimaryvalue,","_buildanimation(buildcontext","_buildanimation,","_buildbody()","_buildbody(),","_buildbody()方法来构建主页内容,_buildbody()方法实现代码如下:","_buildbottom()","_buildheader()","_buildheader(),","_buildlanguageitem(\"english\",","_buildlanguageitem(\"中文简体\",","_buildlanguageitem(gm.auto,","_buildlanguageitem(str","_buildmaterialdialogtransitions(","_buildmaterialdialogtransitions,","_buildmenus()","_buildmenus()),","_cach","_cache.keys.first;","_cache.length","_cache.remove(key);","_cache[key]","_cache[key];","_cachedimag","_cachedimage(result,","_callback","_changenotifierproviderst","_changenotifierproviderstate();","_checkboxselected,","_checkboxselected=true;//维护复选框状态","_checkboxselected=value;","_checkcachesize()","_checkcachesize();","_color","_colors),","_colors,","_colors.last,","_compositechild(child,","_compositechild(renderobject","_control","_controller,","_controller.addlistener(()","_controller.animateto(","_controller.animateto(.0,","_controller.dispose();","_controller.forward().orcancel;","_controller.reverse().orcancel;","_controller.valu","_controller;","_count","_counter","_counter++;","_counter;","_counter=widget.initvalue;","_counterwidgetst","_counterwidgetstate();","_currentsizebyt","_debugreportexception(","_depend","_dependencies.add(ancestor);","_devicepixelratio;","_dialogcheckboxst","_dialogcheckboxstate();","_dialogroutest","_dio","_dio.get(\"https://api.github.com/orgs/flutterchina/repos\"),","_dispatch(notif","_drag","_dragstat","_dragstate();","_dragvert","_dragverticalst","_dragverticalstate();","_element.markneedsbuild();","_emap","_emap[eventname]","_emap[eventname].add(f);","_emap[eventname];","_event;","_fileoperationroutest","_fileoperationroutestate();","_focusscop","_focustestroutest","_focustestroutestate();","_formkey","_formkey,","_formkey=","_formtestroutest","_formtestroutestate();","_futurebuilderroutest","_futurize(_getnextframe);","_gesturedetectortestroutest","_gesturedetectortestroutestate();","_gesturerecognizertestroutest","_getbatterylevel()","_getbatterylevel,","_getimage()","_getimage();","_getlocalfile()","_getlocalfile()).writeasstring('$_counter');","_getlocalfile();","_getnextframe(_callback","_globalkey","_globalkey.currentstate.opendrawer()","_globalkey=","_gradientbuttonroutest","_gradientbuttonroutestate();","_gradientcircularprogresspaint","_gradientcircularprogresspainter(","_gradientcircularprogresspainter({","_hadunsatisfieddepend","_handlepersistentframecallback(dur","_handlepersistentframecallback:","_handlesemanticsaction;","_handlesemanticsenabledchang","_handletap()","_handletap,","_handletapboxchanged()","_handletapboxchanged(bool","_handletapboxchanged,","_handletapcancel()","_handletapcancel,","_handletapdown(tapdowndetail","_handletapdown,","_handletapup(tapupdetail","_handletapup,","_highlight","_homeroutest","_homeroutestate();","_httpclient.geturl(resolved);","_httptestroutest","_httptestroutestate();","_icon","_icons.length","_icons.length,","_imageinfo","_imageinfo;","_imageinfo?.image,","_imageinfo?.scal","_imagestream","_imagestream.addlistener(listener);","_imagestream.removelistener(imagestreamlistener(_updateimage));","_imagestream;","_import+=_import.isempty?\"\":\";\";","_import=set.join(\";\\r\\n\");","_incrementcounter()","_incrementcounter,","_infinitegridviewst","_infinitegridviewstate();","_infinitelistviewst","_infinitelistviewstate();","_inheritedwidget","_inheritedwidgets[targettype];","_inheritedwidgettestroutest","_inheritedwidgettestroutestate();","_instantiateimagecodec(uint8list","_item","_items.add(item);","_items.fold(0,","_kdefaults","_kdefaultsize;","_kdefaultsizebyt","_kdefaultsizebytes;","_lastpressedat","_lastpressedat;","_left","_left,","_leftb","_leftb,","_load","_loadasync(","_loadasync(key,","_locale,","_locale;","_loginroutest","_loginroutestate();","_materialappstate(1009803148))","_materialappstate(1009803148)]","_materialappstate(1009803148)];","_materialappstate(859106034)]","_maximums","_maximumsize)","_maximumsizebyt","_modalscop","_msg+=notification.msg+\"","_msg=\"\";","_myhomepagest","_myhomepagestate();","_myhomepagestate.build","_myhomepagestate类是myhomepage类对应的状态类。看到这里,读者可能已经发现:和myapp","_myimagest","_myimagestate();","_myrichtextst","_myrichtextstate();","_nameautofocu","_nameautofocus,","_needslayout","_noblegas","_noblegases[atomicnumber]","_nodesneedingcompositingbitsupdate)","_nodesneedingcompositingbitsupdate.clear();","_nodesneedingcompositingbitsupdate.sort(","_nodesneedinglayout","_nodesneedinglayout;","_nodesneedingpaint","_nodesneedingpaint;","_offset","_offset)","_offset,","_onadd(){","_onbeginframe;","_ondrawframe;","_onitemtapped(int","_onitemtapped,","_onlocalechanged;","_onlogin()","_onlogin,","_onmetricschanged;","_onplatformmessage;","_onpointerdatapacket;","_onpressed,","_ontextscalefactorchanged;","_oper","_option","_options,","_options.extra.addall({\"refresh\":","_options.merge(headers:","_options;","_overlayentri","_parentwidgetcst","_parentwidgetcstate();","_parentwidgetst","_parentwidgetstate();","_parentwidgetstatec类:","_pendingimag","_pendingimage(result,","_pendingimages.remove(key);","_pendingimages[key]","_pendingimages[key]?.completer;","_physicalsize;","_playanimation()","_playanimation();","_pref","_prefs.getstring(\"profile\");","_prefs.setstring(\"profile\",","_prefs;","_profil","_profile.lastlogin","_profile.local","_profile.locale)","_profile.locale.split(\"_\");","_profile.locale;","_profile.them","_profile.theme,","_profile.us","_profile.user;","_profile.user?.login)","_profile.user?.login;","_progress","_progressroutest","_progressroutestate();","_providerroutest","_providerroutestate();","_pwdcontrol","_pwdcontroller,","_pwdcontroller.text);","_readcounter()","_readcounter().then((int","_renderviewel","_repoitemst","_repoitemstate();","_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,","_showbottomsheet()","_showmodalbottomsheet()","_showmodalbottomsheet();","_singleton","_singleton;","_staggerroutest","_staggerroutestate();","_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","_text","_textscalefactor;","_textspan","_textspan,","_textspan;","_theme","_themecolor","_themecolor)","_themecolor,","_themes;","_themetestroutest","_themetestroutestate();","_toggl","_top","_top,","_turn","_turnboxroutest","_turnboxroutestate();","_turnboxst","_turnboxstate();","_turns,","_tween","_tween.evaluate(position);","_tween;","_typeof()","_typeof>();","_unamecontrol","_unamecontroller,","_unamecontroller.addlistener((){","_unamecontroller.text","_updateimage(imageinfo","_updatesystemchrome();","_valu","_value,","_value.clamp(.0,","_websocketroutest","_websocketroutestate();","_widgetsappstate(552902158))","_width","_width),","_width=200*details.scale.clamp(.8,","_withtre","_withtree,","_word","_words.insertall(_words.length","_words.length,","`getphonemodel`","a\")","a\")),","a,","a.depth","a.depth))","a;","abrilfatfac","absorbpointer(","abstract","accentcolor,","accept","accept:","accessible:","account'),","accounts'),","action","actions:","action。","activ","active,","active:","active;","activecolor:","adb","add(item","addautomatickeepal","addautomatickeepalives:该属性表示是否将列表项(子组件)包裹在automatickeepal","addcredentials(uri","additionalconstraints:","addlistener();它可以用于给animation添加帧监听器,在每一帧都会被调用。帧监听器中最常见的行为是改变状态后调用setstate()来触发ui重建。","addlistener(voidcallback","addpersistentframecallback(_handlepersistentframecallback);","addproxycredentials(","addrepaintboundari","addrepaintboundaries:该属性表示是否将列表项(子组件)包裹在repaintboundary组件中。当可滚动组件滚动时,将列表项包裹在repaintboundary中可以避免列表项重绘,但是当列表项重绘的开销非常小(如一个颜色块,或者一个较短的文本)时,不添加repaintboundary反而会更高效。和addautomatickeepalive一样,如果列表项自己维护其keepalive状态,那么此参数必须置为false。","addstatuslistener();它可以给animation添加“动画状态改变”监听器;动画开始、结束、正向或反向(见animationstatus定义)时会调用状态改变的监听器。","age=172800","agent\",","agent)来看看输出的变化。","agent:","agent字段。","alertdialog","alertdialog(","alertdialog(content:","alertdialog({","align","align(","align({","alignment(1.0,","alignment(2,0.0),","alignment(this.x,","alignment.bottomcenter,","alignment.center,","alignment.topcenter,","alignment.topleft,","alignment.topright,","alignment.x*childheight+childheight/2)","alignment:","alignment:alignment.cent","alignmentdirectional.topstart,","alignment可以通过其坐标转换公式将其坐标转为子元素的具体偏移坐标:","alignment唯一的区别就是坐标原点不同!fractionaloffset","alignment继承自alignmentgeometry,表示矩形内的一个点,他有两个属性x、y,分别表示在水平和垂直方向的偏移,alignment定义如下:","alignment,它和","alignment:此参数决定如何去对齐没有定位(没有使用positioned)或部分定位的子组件。所谓部分定位,在这里特指没有在某一个轴上定位:left、right为横轴,top、bottom为纵轴,只要包含某个轴上的一个定位属性就算在该轴上有定位。","align和stack对比","aliv","alive字段值,为了避免频繁建立连接,httpclient在请求结束后会保持连接一段时间,超过这个阈值后才会关闭连接。","alive机制主要是用于避免在同一台服务器请求多个资源时频繁创建链接,它本质上是支持链接复用的技术,而并非用于实时通信,读者需要知道这两者的区别。","alive机制使服务器在响应结束后链接会保持一段时间,但最终还是会断开,keep","all(doubl","allproject","alpha","alwaysstoppedanimation(colors.blue),","alwaysstoppedanimation(colors.white70),","analyze测试你的代码。这个工具是一个静态代码检查工具,它是dartanalyzer工具的一个包装,主要用于分析代码并帮助开发者发现可能的错误,比如,dart分析器大量使用了代码中的类型注释来帮助追踪问题,避免var、无类型的参数、无类型的列表文字等。","ancestor","ancestor,","ancestor.updatedependencies(this,","ancestor.widget;","ancestor;","ancestorinheritedelementforwidgetofexacttype()多调了inheritfromelement方法,inheritfromelement源码如下:","ancestorinheritedelementforwidgetofexacttype()时,由于没有注册依赖关系,所以之后当inheritedwidget发生变化时,就不会更新相应的子孙widget。","ancestorinheritedelementforwidgetofexacttype()的却别就是前者会注册依赖关系,而后者不会。所以我们只需要将changenotifierprovider.of的实现改为下面这样既可:","ancestorinheritedelementforwidgetofexacttype()的却别就是前者会注册依赖关系,而后者不会,所以在调用inheritfromwidgetofexacttype()时,inheritedwidget和依赖它的子孙组件关系变完成了注册,之后当inheritedwidget发生变化时,就会更新依赖它的孙组件,也就是会调用依赖它的孙组件的didchangedependencies()方法和build()方法。而当调用的是","ancestorinheritedelementforwidgetofexacttype(typ","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(","animatedimag","animatedimage(animation:","animatedimage({key","animatedswitch","animatedswitcher(","animatedswitcher({","animatedswitcher.defaultlayoutbuilder,","animatedswitcher.defaulttransitionbuilder,","animatedswitchercounterrout","animatedswitchercounterroute({key","animatedswitchertransitionbuild","animatedswitcher高级用法","animatedthem","animatedwidget","animatedwidget{","animatedwidget的状态对象是animatedwidget内部实现细节,不应该暴露给外部。","animation)","animation);","animation)方法,它可以获取动画当前映射值。","animation,","animation,);","animation.addstatuslistener((status)","animation.valu","animation.value,","animation:","animation;","animation=curvedanimation(parent:","animationcontrol","animationcontroller(","animationcontroller(vsync:","animationcontroller派生自animation,因此可以在需要animation对象的任何地方使用。","animationcontroller生成数字的区间可以通过lowerbound和upperbound来指定,如:","animationcontroller用于控制动画,它包含动画的启动forward()、停止stop()","animationstatus.complet","animationstatus.completed)","animationstatus.dismissed)","animationstatus.forward)","animationstatus.reverse)","animation})","animation对象的当前值可以通过value()方法取到。evaluate函数还执行一些其它处理,例如分别确保在动画值为0.0和1.0时返回开始和结束状态。","animation是一个抽象类,它本身和ui渲染没有任何关系,而它主要的功能是保存动画的插值和状态;其中一个比较常用的animation类是animation。animation对象是一个在一段时间内依次生成一个区间(tween)之间值的类。animation对象在整个动画执行过程中输出的值可以是线性的、曲线的、一个步进函数或者任何其他曲线函数等等,这由curve来决定。","animation)会非常简单。交织动画需要注意以下几点:","any]?)","aot模式编译的,所以不支持动态化,但dart还有jit或snapshot运行方式,这些模式都是支持动态化的。","aot模式运行时,javascript便远远追不上了。速度的提升对高帧率下的视图数据计算很有帮助。其次,flutter使用自己的渲染引擎来绘制ui,布局数据等由dart语言直接控制,所以在布局过程中不需要像rn那样要在javascript和native之间通信,这在一些滑动和拖动的场景下具有明显优势,因为在滑动和拖动过程往往都会引起布局发生变化,所以javascript需要和native之间不停的同步布局信息,这和在浏览器中要javascript频繁操作dom所带来的问题是相同的,都会带来比较可观的性能开销。","aot,当以","apart'),","api","api、formdata、拦截器、请求取消、cookie管理、文件上传/下载、超时等。dio的使用方式随着其版本升级可能会发生变化,如果本节所述内容和dio官方有差异,请以dio官方文档为准。","api。","api。比如android原生应用就是指使用java或kotlin语言直接调用android","api也是调用操作系统api,所以它的性能接近原生。","api可以接收方法调用并返回结果。这些类可以帮助我们用很少的代码就能开发平台插件。","api和io","api在dart:io包中,下面我们看一个使用socket实现简单http请求的示例,以请求百度首页为例:","api应用一些简单的缓存策略。我们在“jsons”目录下创建一个“cacheconfig.json”文件缓存策略信息,定义如下:","api手动去绘制ui,优点是强大灵活,理论上可以实现任何外观的ui,而缺点是必须了解canva","api接口调用。另外,在调试过程中,我们通常需要一些工具来查看网络请求、响应报文,使用网络代理工具来调试网络数据问题是主流方式。配置代理需要在应用中指定代理服务器的地址和端口,另外github","api接口返回json结构如下:","api是https协议,所以在配置完代理后还应该禁用证书校验,这些配置我们在git类初始化时执行(init()方法)。下面是git类的源码:","api是原始且独立的,这个与操作系统提供的api类似,上层ui框架设计成什么样完全取决于设计者,完全可以将ui框架设计成android风格或ios风格,但这些事google不会再去做,我们也没必要再去搞这一套,这是因为响应式的思想本身是很棒的,之所以提出这个问题,是因为笔者认为做与不做是一回事,但知道能不能做是另一回事,这能反映出我们对知识的理解程度。","api来完成绘制。","api来实现。子类需要重写此方法以实现自身的绘制逻辑,如renderparagraph需要实现文本绘制逻辑,而renderimage需要实现图片绘制逻辑。","api来实现具体的绘制逻辑。","api来实现的。其实,操作系统中提供的原生网络请求api是标准的,在c语言的socket库中,它主要提供了端到端建立链接和发送数据的基础api,而高级编程语言中的socket库其实都是对操作系统的socket","api来绘制的,那么通过实现renderobject的方式和上面介绍的通过custompaint和canvas自绘的方式有什么区别?其实答案很简单,custompaint只是为了方便开发者封装的一个代理类,它直接继承自singlechildrenderobjectwidget,通过rendercustompaint的paint方法将canvas和画笔painter(需要开发者实现,后面章节介绍)连接起来实现了最终的绘制(绘制逻辑在painter中)。","api标识的属性和字符串提取到“i10n","api的一个封装。所以,如果我们需要自定义协议或者想直接来控制管理网络链接、又或者我们觉得自带的httpclient不好用想重新实现一个,这时我们就需要使用socket。flutter的socket","api的包装,实际上会调用flutt","api的基地址和api支持的header进行了全局配置,这样所有通过该dio实例发出的请求都会默认使用者些配置。","api的示例,它返回的数据就是json格式的字符串,为了方便我们在代码中操作json,我们先将json格式的字符串转为dart对象,这个可以通过dart:convert中内置的json解码器json.decode()","api细节,并且得自己去实现绘制逻辑。","api缓存策略信息","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中调用这些能力就必须和原生平台进行通信。为此,flutter中提供了一个平台通道(platform","app主题状态","app从启动到显示到屏幕上的主流程,读者可以结合前面章节对widget、element以及renderobject的介绍来加强细节理解。","app代码结构","app入口","app入口及主页","app内封装的一些widget组件都在该目录下","app安装包中会包含代码和","app定义主题数据(themedata)。material组件库里很多组件都使用了主题数据,如导航栏颜色、标题字体、icon样式等。theme内会使用inheritedwidget来为其子树共享样式数据。","app是否登录(如果有用户信息,则证明登录过)","app最终使用的locale。通常在不支持的语言区域时返回一个默认的locale。","app框架,通过它可以设置应用的名称、主题、语言、首页及路由列表等。materialapp也是一个widget。","app目录","app目录,","app语言信息","app语言状态","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/,打开后如图1","archiving.\",","args:","args=modalroute.of(context).settings.argu","arguments:","arguments})","around","as!","asin(strokewidth","asin(strokewidth/","aspect","aspect);","aspect:","assert(_lay","assert(_relayoutboundari","assert(ancestor","assert(build","assert(child._lay","assert(el","assert(flex","assert(imageprovid","assert(key","assert(load","assert(par","assert(posit","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","asyncsnapshot","async{","async和await关键词支持了异步编程,允许您写出和同步代码很像的异步代码。","async用来表示函数是异步的,定义的函数会返回一个future对象,可以使用then方法添加回调函数。","atedge:是否滑到了可滚动组件的边界(此示例中相当于列表顶或底部)。","atomicnumb","atomicnumber)","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","avatar),","avatar,","avatar:","avds.","await","axi","axis.horizontal,","axis.vertical,","axisdirect","axisdirection.down,","axisdirection.down:","axisdirection.left:","axisdirection.right:","axisdirection.up:","axisdirection滚动方向。","a标志:","a:包含一个用户头像,圆形,点击后跳到b路由,可以查看大图。","b","b)","b),","b.depth","b.depth))","b;","background:","backgroundblendmode,","backgroundcolor,","backgroundcolor:","backgroundcolor;","backgroundcolor:指示器的背景色。","background、一个边框、或者一个阴影。","background:在子组件之后绘制,即背景装饰。","badg","banner","barriercolor,","barriercolor:","barriercolor;","barrierdismiss","barrierdismissible,","barrierdismissible:","barrierdismissible;","barrierlabel,","barrierlabel:","barrierlabel;","base64.encode(utf8.encode('$login:$pwd'));","based认证等,目前flutter的httpclient只支持basic和digest两种认证方式,这两种认证方式最大的区别是发送用户凭据时,对于用户凭据的内容,前者只是简单的通过base64编码(可逆),而后者会进行哈希运算,相对来说安全一点点,但是为了安全起见,无论是采用basic认证还是digest认证,都应该在https协议下,这样可以防止抓包和中间人攻击。","baseoffset:","baseurl:","bash、mkdir、rm、git、curl、unzip、which","basic","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,","bloc","blue","blurradius:","bob","body(),","body:","body的组件树中包含了一个cent","body,如:","bogon:~","bold,","book","bool","bool){","bool.fromenvironment(\"dart.vm.product\");","border(bottom:","border,","border.all(","border:","borderdirectional(","borderradiu","borderradius,","borderradius.circular(12),","borderradius.circular(2),","borderradius.circular(20.0)),","borderradius.circular(3.0),","borderradius.circular(5.0),","borderradius:","borderradius;","borderradiusgeometri","borderside(","borderside(color:","borderside:","boss;","boss字段:","bothdirectiontestrout","bothdirectiontestroutest","bothdirectiontestroutestate();","bottom):分别指定四个方向的填充。","bottom:","bottomappbar(","bottomappbar的shape属性决定洞的外形,circularnotchedrectangle实现了一个圆形的外形,我们也可以自定义外形,比如,flutt","bottomnavigationbar","bottomnavigationbar(","bottomnavigationbar:","bottomnavigationbaritem(icon:","bottom分别代表离stack左、上、右、底四边的距离。width和height用于指定需要定位元素的宽度和高度。注意,positioned的width、height","bottom来定位组件,举个例子,在水平方向时,你只能指定left、right、width三个属性中的两个,如指定left和width后,right会自动算出(left+width),如果同时指定三个属性则会报错,垂直方向同理。","bouncingscrollphysics:ios下弹性效果。","boundari","boxbord","boxconstraint","boxconstraints(","boxconstraints(maxwidth:","boxconstraints(minheight:","boxconstraints(minwidth:","boxconstraints(w=411.4,","boxconstraints({","boxconstraints.expand(),","boxconstraints.expand()可以生成一个尽可能大的用以填充另一个容器的boxconstraints。除此之外还有一些其它的便捷函数,读者可以查看api文档。","boxconstraints.expand(height:","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(color:","boxdecoration({","boxfit","boxfit.contain,","boxfit.cover,","boxfit.cover,),","boxfit.fill,","boxfit.fitheight,","boxfit.fitwidth,","boxfit.none,","boxfit.scaledown,","boxparentdata","boxparentdata();","boxparentdata)","boxparentdata定义如下:","boxshadow(","boxshadow,","boxshadow:","boxshap","boxshape.rectangle,","break;","brew","bridge,","bright","brightness,","brightness.dark,","brows","bu","bubbling)。通知冒泡和用户触摸事件冒泡是相似的,但有一点不同:通知冒泡可以中止,但用户触摸事件不行。","build","build\");","build\"了,即按钮不会被重新构建了。而总价仍然会更新,这是因为consumer中调用changenotifierprovider.of时listen值为默认值true,所以还是会建立依赖关系。","build\"日志,也就是说”添加商品“按钮在每次点击时其自身都会重新build!这是为什么呢?如果你已经理解了inheritedwidget的更新机制,那么答案一眼就能看出:这是因为构建raisedbutton的builder中调用了changenotifierprovider.of,也就是说依赖了widget树上面的inheritedwidget(即inheritedprovid","build()","build();","build():此回调读者现在应该已经相当熟悉了,它主要是用于构建widget子树的,会在如下场景被调用:","build(buildcontext","build,","build.gradl","build.model;","build_runn","build_runner:","buildcontext","buildcontext,","builder","builder(","builder(builder:","builder(context),","builder(context);","builder);","builder,","builder:","builder;","builder进行自定义,如图2","builder:widget构建器;该构建器会在future执行的不同阶段被多次调用,构建器签名如下:","buildowner.buildscope()","buildowner.buildscope(renderviewelement);","buildowner.finalizetree();","buildpage(buildcontext","buildtools/","buildtransitions(buildcontext","build方法中没有依赖inheritedwidget,此回调不会被调用。","build时可以被同步读取。","built","bundl","bundle:","bundle?)","bundle中。","bundle中。前者被认为是main","bundle中加载字符串或图片(二进制)文件。","bundle,而是使父级widget在运行时动态替换的不同的assetbundle,这对于本地化或测试场景很有用。","bus.emit(\"login\",","bus.emit(event.login);","bus.off(event.login,onlogin);","bus.on(\"login\",","bus.on(event.login,onlogin);","button","buttontext","buttontheme,","buttonthemedata","byte","byte[]","bytedata","bytes=0","b:显示用户头像原图,矩形;","c","c++实现的","c:\\users\\{user_name}\\.gradle\\gradle.properti","cach","cache,","cache.removewhere((key,","cache[key];","cacheconfig()","cacheconfig.dart","cacheconfig.g.dart","cachednetworkimage(","cacheextent,","cacheobject","cacheobject(this.response)","call,","call.method)","callback();","callback)","callback,","canbetapped)","canbetapped;","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,","cart)","cart)=>","cart=changenotifierprovider.of(context);","cartmodel","cartmodel(),","cartmodel即要跨组件共享的model类。最后我们构建示例页面:","case","catch","catch(e){","catcherror回调函数将被调用;但是,并不是只有","catcherror回调才能捕获错误,then方法还有一个可选参数onerror,我们也可以它来捕获异常:","catch语句中。","caught","cb){","cd","center","center(","center(child:","center({","center:","centercolumnrout","center三个值),不同的是crossaxisalignment的参考系是verticaldirection,即verticaldirection值为verticaldirection.down时crossaxisalignment.start指顶部对齐,verticaldirection值为verticaldirection.up时,crossaxisalignment.start指底部对齐;而crossaxisalignment.end和crossaxisalignment.start正好相反;","center组件","cert,","chang","change\");","changefirstchar(filename);","changefirstchar(str","changelanguage()","changenotifi","changenotifierprovid","changenotifierprovider(","changenotifierprovider({","changenotifierprovider.of(context),","changenotifierprovider.of(context).add(item(20.0,","changenotifierprovider.of(context,","changenotifierprovider.value(value:","changes.","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通信。","channel),用于flutter和原生平台的通信。平台通道正是flutter和原生之间通信的桥梁,它也是flutter插件的底层基础设施。","check","checkbox(","checkedmodebann","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:","childheight)","childparentdata","childparentdata.nextsibling;","childparentdata.offset","children","children);","children,","children.add(text(\"forked\".padright(paddingwidth)));","children.addall([","children:","children:[","children是一个textspan的数组,也就是说textspan可以包括其他textspan。而recognizer用于对该文本片段上用于手势进行识别处理。下面我们看一个效果(图3","childtyp","childwidth,","child})","chip(","chmod","chrome浏览器和android均采用skia作为其绘图引擎。","chunk","chunkev","chunkevents),","chunkevents,","chunkevents.add(imagechunkevent(","chunkevents.close();","chunkevents.stream,","chunkevents:","chunksiz","circleavatar(","circleavatar(backgroundcolor:","circleavatar(child:","circularnotchedrectangle(),","circularprogressind","circularprogressindicator(","circularprogressindicator(),","circularprogressindicator();","circularprogressindicator(value:","circularprogressindicator({","circularprogressindicator是一个圆形进度条,定义如下:","clampingscrollphysics:android下微光效果。","class","class)来解决前面提到的问题,我们称之为user。在user类内部,我们有:","classname,classname,classname]);","classname=changefirstchar(v.substring(3),false);","classname=name[0].touppercase()+name.substring(1);","clear()","click","click\");","client.badcertificatecallback","client.findproxi","clipov","clipoval(","clipoval(child:","clipper:","cliprect","cliprect(","cliprect(//将溢出部分剪裁","cliprrect","cliprrect(","cliptestrout","cocoapod","cocoapods目前不提供依赖覆盖功能。","code","codec","codec._();","codec:","codec参数值为_loadasync方法的返回值,我们继续看_loadasync方法的实现:","code。","code之一以获得更好的开发体验。flutter官方提供了这两款编辑器插件,通过ide和插件可获得代码补全、语法高亮、widget编辑辅助、运行和调试支持等功能,可以帮助我们极大的提高开发效率。下面我们分别介绍一下android","code创建一个新的flutter工程,命名为\"first_flutter_app\"。创建好后,就会得到一个计数器应用的demo。","code创建的flutter应用模板默认是一个简单的计数器示例。本节先仔细讲解一下这个计数器demo的源码,让读者对flutter应用程序结构有个基本了解,然后在随后的小节中将会基于此示例,一步一步添加一些新的功能来介绍flutter应用的其它概念与技术。","code是一个轻量级编辑器,支持flutter运行和调试。","code的配置与使用","code的配置及使用(android","code读者可以在其官网获得最新的安装,由于安装比较简单,故不再赘述)。","collectlog(line);","collectlog(str","color","color(0x000000)。","color(0x77cdb175);","color(0xd0ff0000);","color(0xff0d47a1),","color(0xff1565c0),","color(0xff1976d2),","color(0xff1e88e5),","color(0xff2196f3)","color(0xff2196f3))","color(0xff42a5f5),","color(0xff64b5f6),","color(0xff90caf9),","color(0xffbbdefb),","color(0xffdc380d);","color(0xffe3f2fd),","color(0xffeeeeee),","color(0xffffff00)","color(_blueprimaryvalue),","color(int.parse(c,radix:16)).withalpha(255)","color(int.parse(c,radix:16)|0xff000000)","color)","color,","color.computeluminance()","color.value,","color:","color:colors.black54,","color:colors.red,","color;","color[500].value;","color];","colorblendmode:","colorblendmode:在图片绘制时可以对每一个像素进行颜色混合处理,color指定混合色,而colorblendmode指定混合模式,下面是一个简单的示例:","colorbrightness:","colors,","colors.amber,","colors.black","colors.black,","colors.black.withopacity(0.1),","colors.black.withopacity(0.5),","colors.black26,","colors.black54);","colors.black54,","colors.black87","colors.black87,","colors.blu","colors.blue)","colors.blue)),","colors.blue);","colors.blue,","colors.blue,),","colors.blue,);","colors.blue[200]],","colors.blue[300]],","colors.blue[50],","colors.blue[50]到colors.blue[100]的色值从浅蓝到深蓝渐变,效果如图7","colors.blue[700],","colors.blue],","colors.blueaccent],","colors.bluegrey,","colors.bluegrey[700],","colors.brown,),","colors.cyan,","colors.cyan[100","colors.cyan[500]],","colors.cyan],","colors.deeporange,","colors.green","colors.green))","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.grey[700]),","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;","colors.teal[700],","colors.transparent)","colors.transparent,","colors.white)),","colors.white),","colors.white),),","colors.white,","colors.yellow,),","colors:","colors;","colorswatch","colortween","colortween(","colortween(begin:","color和","color和decoration是互斥的,如果同时设置它们则会报错!实际上,当指定color时,container内会自动创建一个decoration。","column","column(","column(children:","column可以在垂直方向排列其子组件。参数和row一样,不同的是布局方向为垂直,主轴纵轴正好相反,读者可类比row来理解,下面看一个例子:","column:","comma","command","common","company开发的跨平台c++图形用户界面应用程序开发框架。2008年,qt","company科技被诺基亚公司收购,qt也因此成为诺基亚旗下的编程语言工具。2012年,qt被digia收购。2014年4月,跨平台集成开发环境qt","complet","componentel","componentelement{","compositeframe()","configur","configuration)","configuration);","configuration:","configurations.al","conflict","connection:","connectionst","connectionstate.active:","connectionstate.done)","connectionstate.done:","connectionstate.none:","connectionstate.waiting:","connectiontimeout","console.log(model);","consolidatehttpclientresponsebytes(","const","constrainedaxis:","constrainedbox","constrainedbox(","constrainedbox用于对子组件添加额外的约束。例如,如果你想让子组件的最小高度是80像素,你可以使用const","constraint","constraints,","constraints.istight","constraints:","const,不是var,也不是一个类型。","consum","consumer(","consumer({","consumer2(","consumer实现非常简单,它通过指定模板参数,然后再内部自动调用changenotifierprovider.of获取相应的model,并且consumer这个名字本身也是具有确切语义(消费者)。现在上面的代码块可以优化为如下这样:","contain","container(","container(...),","container(child:","container(width:","container({","container:","container可以使用矩阵在三维空间中对其进行变换。","container容器","container的大多数属性在介绍其它容器时都已经介绍过了,不再赘述,但有两点需要说明:","container:","contain:这是图片的默认适应规则,图片会在保证图片本身长宽比不变的情况下缩放以适应当前显示空间,图片不会变形。","content","content:","context)","context)来获取的,我们看看其简化后的代码:","context),继承自animatedwidget的动画widget都要实现这个build方法。现在设想一下,如果statefulwidget","context,","context.ancestorinheritedelementforwidgetofexacttype(sharedatawidget).widget;","context.ancestorinheritedelementforwidgetofexacttype(type)?.widget","context.findrenderobject()","context.inheritfromwidgetofexacttyp","context.inheritfromwidgetofexacttype(_inheritedtheme)","context.inheritfromwidgetofexacttype(sharedatawidget);","context.inheritfromwidgetofexacttype(type)","context.paintchild(child,","context.s","context:","context;","contextwrapper(applicationcontext).registerreceiver(null,","contextwrapper(getapplicationcontext()).","context});","context上也提供了遍历element树的方法。","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,如果子树中的可滚动组件没有显式的指定controller,并且primary属性值为true时(默认就为true),可滚动组件会使用这个默认的primaryscrollcontroller。这种机制带来的好处是父组件可以控制子树中可滚动组件的滚动行为,例如,scaffold正是使用这种机制在ios中实现了点击导航栏回到顶部的功能。我们将在本章后面“滚动控制”一节详细介绍scrollcontroller。","controller:编辑框的控制器,通过它可以设置/获取编辑框的内容、选择编辑内容、监听编辑文本改变事件。大多数情况下我们都需要显式提供一个controller来与文本框交互。如果没有提供controller,则textfield内部会自动创建一个。","controls面板中的电池电量。","cookie:","cordova、ion","count","count,","count;","counter()","counter(),","counterwidget","counterwidget();","counterwidget({","counterwidget接收一个initvalue整型参数,它表示计数器的初始值。下面我们看一下state的代码:","cover:会按图片的长宽比放大后居中填满显示空间,图片不会变形,超出显示空间部分会被剪裁。","cpu","cpu和gpu的任务是各有偏重的,cpu主要用于基本数学和逻辑计算,而gpu主要执行和图形处理相关的复杂的数学,如矩阵变化和几何计算,gpu的主要作用就是确定最终输送给显示器的各个像素点的色值。","creat","createboxpainter(),子类的主要职责是需要通过实现它来创建一个画笔,该画笔用于绘制装饰。","createcallback(no)","createcallback(no),","createelement()","createelement();","createelement():正如前文所述“一个widget可以对应多个element”;flutt","createlocalimageconfiguration(buildcontext","createrenderobject(buildcontext","createscrollposition(","createstate()","createstate();","createticker(tickercallback","creator","creator:","credentials)","credentials);","crossaxisalign","crossaxisalignment.center,","crossaxisalignment.start,","crossaxisalignment:","crossaxisalignment:表示子组件在纵轴方向的对齐方式,row的高度等于子组件中最高的子元素高度,它的取值和mainaxisalignment一样(包含start、end、","crossaxiscount,","crossaxiscount:","crossaxiscount:横轴子元素的数量。此属性值确定后子元素在横轴的长度就确定了,即viewport横轴长度除以crossaxiscount的商。","crossaxisspac","crossaxisspacing:","crossaxisspacing:横轴方向子元素的间距。","ctrl","ctx)","ctx,","cumulative,","cumulativebytesloaded:","cupertino_icons:","cupertinobutton(","cupertinocolors.activeblue,","cupertinonavigationbar(","cupertinopageroute(","cupertinopageroute是cupertino组件库提供的ios风格的路由切换组件,它实现的就是左右滑动切换。那么我们如何来自定义路由切换动画呢?答案就是pageroutebuilder。下面我们来看看如何使用pageroutebuilder来自定义路由切换动画。例如我们想以渐隐渐入动画来实现路由过渡,实现代码如下:","cupertinopagescaffold(","cupertinoscrollbar","cupertinoscrollbar是ios风格的滚动条,如果你使用的是scrollbar,那么在ios平台它会自动切换为cupertinoscrollbar。","cupertinotestrout","cupertino组件","curl","curl/7.54.0","current){","current=current.tolowercase();","currentindex:","cursorcolor,","cursorwidth、cursorradius和cursorcolor:这三个属性是用于自定义输入框光标宽度、圆角和颜色的。","curv","curve:","curvedanim","curvedanimation(","curvedanimation(parent:","curvedanimation和animationcontroller(下面介绍)都是animation类型。curvedanimation可以通过包装animationcontroller和curve生成一个新的动画对象","curves.bouncein);","curves.decelerate)","curves.eas","curves.ease)","curves.ease,","curves.easein);","curves.easeout);","curves.easeout,","curves.linear,","curves.linear,//","curves曲线","customclipp","customhom","custompaint","custompaint(","custompaint({","custompainter中提定义了一个虚函数paint:","custompaintrout","custompaint与canva","customscrollview","customscrollview(","customscrollviewtestrout","customscrollview是可以使用sliver来自定义滚动模型(效果)的组件。它可以包含多种滚动模型,举个例子,假设有一个页面,顶部需要一个gridview,底部需要一个listview,而要求整个页面的滑动效果是统一的,即它们看起来是一个整体。如果使用gridview+listview来实现的话,就不能保证一致的滑动效果,因为它们的滚动效果是分离的,所以这时就需要一个\"胶水\",把这些彼此独立的可滚动组件\"粘\"起来,而customscrollview的功能就相当于“胶水”。","customscrollview等),如下面的代码运行后会报错。","c中的id作用很像.","c代码,使用ios电池api来获取电池电量,这和原生是相同的。","c和swift中早就很普遍,而??操作符在php","c或swift语言直接调用io","c相似,首先打开xcode中flutter应用程序的ios部分:","c编写ios代码。要使用kotlin或swift,请使用","c(以下简称“oc”)中,如果程序发生异常且没有被捕获,那么程序将会终止,但是这在dart或javascript中则不会!究其原因,这和它们的运行机制有关系。java和oc都是多线程模型的编程语言,任意一个线程触发异常且该异常未被捕获时,就会导致整个进程退出。但dart和javascript不会,它们都是单线程模型,运行机制很相似(但有区别),下面我们通过dart官方提供的一张图来看看dart大致运行原理:","c,如果您更喜欢swift,可以直接跳到后面swift部分。","d:\\android\\sdk","dangerzon","dangerzone.runguarded(()","dart","dart:ui","dart:ui库时,调用最终会走到engine层,然后实现真正的绘制逻辑。","dartdoc","dart中可以通过try/catch/finally来捕获代码块异常,这个和其它编程语言类似,如果读者不清楚,可以查看dart语言文档,不再赘述,下面我们看看flutter中的异常捕获。","dart中有一个runzoned(...)","dart中的async/await","dart函数声明如果没有显式声明返回值类型时会默认当做dynamic处理,注意,函数返回值没有类型推断:","dart包:其中一些可能包含flutter的特定功能,因此对flutter框架具有依赖性,这种包仅用于flutter,例如fluro包。","dart单线程模型","dart和java及javascript对比","dart团队就在你身边","dart实现的","dart插件:","dart支持","dart是一种真正的面向对象的语言,所以即使是函数也是对象,并且有一个类型function。这意味着函数可以赋值给变量或作为参数传递给其他函数,这是函数式编程的典型特征。","dart的io库包含了文件读写的相关类,它属于dart语法标准的一部分,所以通过dart","dart类库有非常多的返回future或者stream对象的函数。","dart线程模型及异常捕获","dart而不是","dart语言开发","dart语言简介","dart运行时和编译器支持flutter的两个关键特性的组合:","data","data,","data.length==20;","data:","data;","data”。","date:","datetim","datetime.now().difference(_lastpressedat)","datetime.now().millisecondssinceepoch;","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:","deceler","decor","decoratedbox(","decoratedbox({","decoratedbox可以在其子组件绘制前(或后)绘制一些装饰(decoration),如背景、边框、渐变等。decoratedbox定义如下:","decoration,","decoration:","decoration:boxdecoration(color:","decoration:textdecoration.underline,","decorationimag","decorationimage(","decorationposit","decorationposition.background,","decorationstyle:","decoration:代表将要绘制的装饰,它的类型为decoration。decoration是一个抽象类,它定义了一个接口","dedic","default.png\",","defaultassetbundl","defaultassetbundle.of(context),","defaulthttpclientadapter).onhttpclientcr","defaultpaint(paintingcontext","defaulttargetplatform,","defaulttextstyl","defaulttextstyle(","defaulttransitionbuilder(widget","defer","defertochild","defertochild:子组件会一个接一个的进行命中测试,如果子组件中有测试通过的,则当前组件通过,这就意味着,如果指针事件作用于子组件上时,其父级组件也肯定可以收到该事件。","defin","delegate:","delegate类的职责是在locale改变时加载新的locale资源,所以它有一个load方法,delegate类需要继承自localizationsdelegate类,实现相应的接口,示例如下:","delet","delete(options.uri.tostring());","deletetre","delta:两次指针移动事件(pointermoveevent)的距离。","demo","demo\"),","demo',","demoloc","demolocalizations();","demolocalizations(locale.languagecod","demolocalizations(this.iszh);","demolocalizations);","demolocalizations.load(locale);","demolocalizations.of(context).title,","demolocalizations.of(context).title;","demolocalizationsdeleg","demolocalizationsdelegate()","demolocalizationsdelegate(),","demolocalizationsdelegate();","demolocalizations中会根据当前的语言来返回不同的文本,如title,我们可以将所有需要支持多语言的文本都在此类中定义。demolocalizations的实例将会在delegate类的load方法中创建。","demo,源码位于flutter源码中的examples目录下,笔者强烈建议用户将flutt","dense:","depend","dependencies:","dependencies:应用或包依赖的其它包或插件。","dependency_overrides:","deploy","deployment/","desc:","describeapproximatepaintclip和","description:","design","design:","design中头部伸缩的模型,具体效果,读者可以运行该示例查看。","design中的颜色的类,它包含一种颜色的10个级别的渐变色。materialcolor通过\"[]\"运算符的索引值来代表颜色的深度,有效的索引有:50,100,200,…,900,数字越大,颜色越深。materialcolor的默认值为索引等于500的颜色。举个例子,colors.blue是预定义的一个materialcolor类对象,定义如下:","design图标的icondata静态变量定义。","design基线网格覆盖在应用程序上可能有助于验证对齐。","design字体图标","design所有图标可以在其官网查看:https://material.io/tools/icons/","design的字体图标,在pubspec.yaml文件中的配置如下","design的应用程序时,","design设计规范中flatbutton类的尺寸标准)。","design设计规范的应用程序。material应用程序以materialapp","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:","diagnosticabletre","diagnosticstreestyle.dense;","dialog","dialog(","dialog(child:","dialogbackgroundcolor,//对话框背景颜色","dialogcheckbox","dialogcheckbox(","dialogcheckbox({","didchangedepend","didchangedependencies()","didchangedependencies():当state对象的依赖发生变化时会被调用;例如:在之前build()","didfinishlaunchingwithopt","didfinishlaunchingwithoptions:","didfinishlaunchingwithoptions:(nsdictionary*)launchopt","didfinishlaunchingwithoptions:launchoptions];","didfinishlaunchingwithoptions:方法内部创建一个fluttermethodchannel,并添加一个处理方法。","didupdatewidget","didupdatewidget():在widget重新构建时,flutt","didupdatewidget(changenotifierprovid","didupdatewidget(counterwidget","didupdatewidget(myimag","didupdatewidget(myrichtext","didupdatewidget(turnbox","dio","dio();","dio(baseoptions(","dio.download(","dio.download(\"https://www.google.com/\",_savepath);","dio.get(","dio.get(\"/test\",queryparameters:{\"id\":12,\"name\":\"wendu\"})","dio.get(\"/test?id=12&name=wendu\")","dio.interceptors.add(global.netcache);","dio.options.headers[httpheaders.authorizationheader]","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:","direction;","directionality.of(context),","directory(src);","dirti","dirtynod","dirtynodes..sort((renderobject","dirty,这样在下一个frame中便会重新layout,我们看看renderobject的markneedslayout()的部分源码:","dismiss","dispatch(buildcontext","dispatch(context)中调用了当前context的visitancestorelements方法,该方法会从当前element开始向上遍历父级元素;visitancestorelements有一个遍历回调参数,在遍历过程中对遍历到的父级元素都会执行该回调。遍历的终止条件是:已经遍历到根element或某个遍历回调返回false。源码中传给visitancestorelements方法的遍历回调为visitancestor方法,我们看看visitancestor方法的实现:","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,","doctor","doctor’","doctor命令","doctor命令来验证是否安装成功。","doctor并按照说明解决问题.","doctor)时,它会下载它自己的依赖项并自行编译。以后再运行就会快得多。缺失的依赖需要安装一下,安装完成后再运行flutt","dom树与控件树","done,","doubl","double.infin","double.infinity),","double.infinity,","double[]","doubletween","down","down0","down1","download","download.dcloud.net.cn","downloadchunk(url,","downloadwithchunks(","downloadwithchunks(url,","dpi是设备屏幕的固件属性,如nexu","dragdowndetails.globalposition:当用户按下时,此属性为用户按下的位置相对于屏幕(而非父组件)原点(左上角)的偏移。","dragenddetails.velocity:该属性代表用户抬起手指时的滑动速度(包含x、y两个轴的),示例中并没有处理手指抬起时的速度,常见的效果是根据用户抬起手指时的速度做一个减速动画。","dragupdatedetails.delta:当用户在屏幕上滑动时,会触发多次update事件,delta指一次update事件的滑动的偏移量。","drawarc","drawcircl","drawer(","drawer:","drawframe()","drawframe();","drawimag","drawlin","drawov","drawpath","drawpoint","drawrect","dri","dsbridg","dsbridge.call(\"getphonemodel\");","dsbridge项目主页查看。","dsl(domain","du.","dumperrortoconsole,到这里就清晰了,如果我们想自己上报异常,只需要提供一个自定义的错误处理回调即可,如:","durat","duration(milliseconds:","duration(seconds:","duration:","duration表示动画执行的时长,通过它我们可以控制动画的速度。","dure","duwen$","du,期待和你做同事!","dwebview","dwebview.addjavascriptobject(new","dynam","dynamic与object不同的是,dynamic声明的对象编译器会提供所有可能的组合,","dynamic与var一样都是关键词,声明的变量可以赋值任意对象。","dynamic和object","dynamic的这个特性与object","dynamic的这个特点使得我们在使用它时需要格外注意,这很容易引入一个运行时错误.","e)","e)).tolist()","e)).tolist()),","e){","e,","e.aspascalcase).tolist()","e.delta.dx;","e.delta.dy;","e.valu","e000","e90d","e914","e;","eas","easein","easeinout","easeout","echo","echo(text:","echo({","echorout","edgeinset","edgeinsets(0.0,","edgeinsets.all(10.0)),","edgeinsets.all(15.0),","edgeinsets.all(16),","edgeinsets.all(16.0),","edgeinsets.all(18),","edgeinsets.all(20.0),","edgeinsets.all(8.0),","edgeinsets.fromltrb(20.0,.0,20.0,20.0),","edgeinsets.fromltrb(24.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)","element))","element).markneedsbuild();","element._newwidget","element.assignowner(owner);","element.markneedsbuild();","element.mount(null,","element.mount(parentelement,newslot)","element.widget;","element;","element])","element与buildcontext","element和buildcontext","element就是widget在ui树具体位置的一个实例化对象,大多数element只有唯一的renderobject,但还有一些element会有多个子节点,如继承自renderobjectelement的一些类,比如multichildrenderobjectelement。最终所有element的renderobject构成一棵树,我们称之为渲染树,即rend","element的生命周期如下:","email","email,","email;","emailaddress","embed","emit(eventname,","empti","enabl","enabled,","enableflags(bold:","enableflags({bool","enable:如果为false,则输入框会被禁用,禁用状态不接收输入和事件,同时显示禁用态样式(在其decoration中定义)。","encod","encoding:","encoding的值为当前httpclient支持的压缩算法列表,目前只有\"gzip\"","encoding,如果设置为true,则请求头中cont","end,","end:","end:colors.red,","end:edgeinsets.only(left:","end;","endangle:","endofframe;","engin","engine与上层framework的”胶水“。","engine中实现的。codec类部分定义如下:","engine创建,不应该手动实例化此类或直接继承此类。","engine受显示器垂直同步信号\"vsync\"的趋势不断的触发绘制。我们之前说的flutter可以实现60fps(fram","engine提供的canva","engine提供的dart","engine的instantiateimagecodec方法,源码如下:","engine的window_render方法","engine的window_scheduleframe方法","engine的一些回调。现在我们再回来看看widgetsflutterbinding混入的各种binding。通过查看这些","engine的桥梁。","engine的桥梁,主要是辅助功能的底层支持。","engine的桥梁,定义如下:","engine的渲染api","engine,最终由engine将图像画在设备屏幕上。","english_words:","ensureinitialized()","enum","error","error)","error:","errorwidget.builder(_debugreportexception('build","errorwidget:","errorwithcode:@\"unavailable\"","etc...)","etc...))","event","event)","eventbu","eventbus();","eventbus()=>","eventbus()始终返回都是同一个实例,读者应该理解并掌握这种方法。","eventbus._internal();","eventcallback","eventcallback(arg);","event{","event,在移动设备上通常为触摸事件),下一节再介绍手势处理。","evict(object","evict({","ewidth","examples:","exception('networkimag","exception(...);","exception,","exception:","execute(()","execute(var","execution,","exit","expand","expanded(","expanded(child:","expanded({","expandedheight:","expectedtotalbytes:","export","extend","extens","extensions:","extentafter:列表中未滑入viewport部分的长度;此示例中列表底部未显示到屏幕范围部分的长度。","extentbefore:滑出viewport顶部的长度;此示例中相当于顶部滑出屏幕上方的列表长度。","extentinside:viewport内部长度;此示例中屏幕显示的列表部分的长度。","extentoffset:","extra:","f","f(string","f(uri","f)","f.openwrite(mode:","f])","factori","faderout","faderoute(builder:","faderoute({","fadetransition(","fall","fals","false)","false).us","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(savepath","file.readasstring();","file/","file:","file;","file>new","filemode.writeonlyappend);","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;","firstchunks","firstchunksize).ceil()","firstchunksize,","firstchunksize;","fit,","fit:","fitheight:图片的高度会缩放到显示空间的高度,宽度会按比例缩放,然后居中显示,图片不会变形,超出显示空间部分会被剪裁。","fitwidth:图片的宽度会缩放到显示空间的宽度,高度会按比例缩放,然后居中显示,图片不会变形,超出显示空间部分会被剪裁。","fit:此参数用于确定没有定位的子组件如何去适应stack的大小。stackfit.loose表示使用子组件的大小,stackfit.expand表示扩伸到stack的大小。","fit:该属性用于在图片的显示空间和图片本身大小不同时指定图片的适应模式。适应模式是在boxfit中定义,它是一个枚举类型,有如下值:","fixedcolor:","flatbutton","flatbutton(","flatbutton({","flatbutton.icon(","flatbutton即扁平按钮,默认背景透明并不带阴影。按下后,会有背景色,如图3","flex","flex(","flex({","flex,","flex:","flex;","flexiblespace:","flexiblespacebar(","flexlayouttestrout","flex参数为弹性系数,如果为0或null,则child是没有弹性的,即不会被扩伸占用的空间。如果大于0,所有的expanded按照其flex的比例来分割主轴的全部空闲空间。下面我们看一个例子:","flex组件可以沿着水平或垂直方向排列子组件,如果你知道主轴方向,使用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_spinkit","flutter_storage_base_url=https://storage.flutt","flutter_test:","flutteract","flutteractivity()","flutterappdeleg","fluttererror.onerror","fluttererror.reporterror(details);","fluttererrordetail","fluttererrordetails(","flutterlogo","flutterlogo(","fluttermethodcall,","fluttermethodchannel","fluttermethodchannel*","fluttermethodchannel.init(name:","flutterresult","flutterresult)","flutterstandardbiginteg","flutterstandardtypeddata","flutterviewcontrol","flutterviewcontroller*","flutterviewcontroller;","flutter与原生之间的通信依赖灵活的消息传递方式:","flutter与用于构建移动应用程序的其它大多数框架不同,因为flutter既不使用webview,也不使用操作系统的原生控件。","flutter中动画抽象","flutter中可以使用listener来监听原始触摸事件,按照本书对组件的分类,则listener也是一个功能性组件。下面是listener的构造函数定义:","flutter中很多地方使用了通知,如可滚动组件(scrol","flutter中提供了一些剪裁函数,用于对组件进行剪裁。","flutter中文网社区:flutter中文网(https://flutterchina.club)是笔者维护中文网站,目前也是最大的中文资源社区,上面提供了flutter官网的文档翻译、开源项目、及案例,还有申请加入组织的入口哦。","flutter中正是通过这种方式封装了很多动画,如:fadetransition、scaletransition、sizetransition、fractionaltranslation等,很多时候都可以复用这些预置的过渡类。","flutter中的手势系统有两个独立的层。第一层为原始指针(pointer)事件,它描述了屏幕上指针(例如,触摸、鼠标和触控笔)的位置和移动。","flutter中通过通知冒泡实现了一套自低向上的消息传递机制,这个和web开发中浏览器的事件冒泡原理类似,web开发者可以类比学习。另外我们通过源码了解了flutt","flutter中,可以像web开发一样使用iconfont,iconfont即“字体图标”,它是将图标做成字体文件,然后通过指定不同的字符而显示不同的图片。","flutter中,我们可以通过image组件来加载并显示图片,image的数据源可以是asset、文件、内存以及网络。","flutter也提供了一套丰富的cupertino风格的组件,尽管目前还没有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动画简介","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又提供了一套material风格(android默认的视觉风格)和一套cupertino风格(ios视觉风格)的组件库。要使用基础组件库,需要先导入:","flutter提供了一套丰富的material组件,它可以帮助我们构建遵循materi","flutter提供了丰富的组件、接口,开发者可以很快地为","flutter提供了丰富的组件,在实际的开发中你可以根据需要随意使用它们,而不必担心引入过多组件库会让你的应用安装包变大,这不是web开发,dart在编译时只会编译你使用了的代码。由于material和cupertino都是在基础组件库之上的,所以如果我们的应用中引入了这两者之一,则不需要再引入flutter/widgets.dart了,因为它们内部已经引入过了。","flutter提供的自身具有ui外观的组件,如文本text、image都是通过相应的renderobject(我们将在“flutter核心原理”一章中详细介绍renderobject)渲染出来的,如text是由renderparagraph渲染;而image是由renderimage渲染。renderobject是一个抽象类,它定义了一个抽象方法paint(...):","flutter插件:","flutter旨在提供流畅、高保真的的ui体验。为了实现这一点,flutter中需要能够在每个动画帧中运行大量的代码。这意味着需要一种既能提供高性能的语言,而不会出现会丢帧的周期性暂停,而dart支持aot,在这一点上可以做的比javascript更好。","flutter是google发布的一个用于创建跨平台、高性能移动应用的框架。flutter和qt","flutter框架中的许多类都有tostring实现。按照惯例,这些输出通常包括对象的runtimetype单行输出,通常在表单中classname(mor","flutter框架使用函数式流,这使得它在很大程度上依赖于底层的内存分配器。因此,拥有一个能够有效地处理琐碎任务的内存分配器将显得十分重要,在缺乏此功能的语言中,flutter将无法有效地工作。当然chrom","flutter框架对加载过的图片是有缓存的(内存),默认最大缓存数量是1000,最大缓存空间为100m。关于image的详细内容及原理我们将会在后面进阶部分深入介绍。","flutter框架异常捕获","flutter框架本身有着良好的分层设计,本节旨在让读者对flutter整体框架有个大概的印象,相信到现在为止,读者已经对flutter有一个初始印象,在我们正式动手之前,我们还需要了解一下flutter的开发语言dart。","flutter框架的每一层都提供了将其当前状态或事件转储(dump)到控制台(使用debugprint)的功能。","flutter框架结构","flutter添加","flutter的gridview默认子元素显示空间是相等的,但在实际开发中,你可能会遇到子元素大小不等的情况,如下面这样的布局:","flutter的ui框架实现中,除了在可滚动组件在滚动过程中会发出scrollnotification之外,还有一些其它的通知,如sizechangedlayoutnotification、keepalivenotif","flutter的入口在\"lib/main.dart\"的main()函数中,它是dart应用程序的起点。在flutter应用中,main()函数最简单的实现如下:","flutter简介","flutter运行机制","flutter还使用","flutter高,","flutter高性能主要靠两点来保证,首先,flutt","flutter默认包含了一套materi","flutter默认提供了一套丰富的material风格的ui组件。","flutter:flutter相关的配置选项。","fmt,","fn)","focu","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都用于控制字体大小。但是有两个主要区别:","fontstyle.ital","fontstyle.italic,","fontstyle.normal,","fontstyle:","fonts中的字体。本节将介绍如何为flutter应用配置字体,并在渲染文本时使用它们。","fontweight.bold),","fontweight.bold,","fontweight:","forc","foregrounddecoration,","foregroundpainter:","foreground:在子组件之上绘制,即前景。","fork了该项目的数量","form","form(","form({","format","format(str","formdata","formdata)","formdata.from({","formdata:","formfield","formfield({","formfieldsett","formfieldvalid","formstat","formstate).validate())","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","fractionaloffse.i","fractionaloffset","fractionaloffset(0.2,","fractionaloffset,我们将在下面的示例中详细介绍。","fractionaltranslation(","frame","frame:","frame?","framecallback","framecallback:schedulerbind","framecount","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是否使用了父widget中inheritedwidget的数据!如果使用了,则代表子widget依赖有依赖inheritedwidget;如果没有使用则代表没有依赖。这种机制可以使子组件在所依赖的inheritedwidget变化时来更新自身!比如当主题、locale(语言)等发生变化时,依赖其的子widget的didchangedependencies方法将会被调用。","framework连接宿主操作系统的接口。我们看一下window类的部分定义:","framework重新构建ui。","framework隐式调用的,在我们开发过程中基本不会调用到。","francisco\",","friend\"),","friend\"),和第二个text原理一样,只不过是水平方向没有定位,则水平方向居中。","friends;","from,","fromltrb(doubl","fullscreendialog","fullscreendialog表示新的路由页面是否是一个全屏的模态对话框,在ios中,如果fullscreendialog为true,新页面将会从屏幕底部滑入(而不是水平方向)。","fun","func","function","function');","function(buildcontext","function(list","function(local","function(routeset","function(t","function(widget","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;","future>","futurebuild","futurebuilder(","futurebuilder({","futurebuilder会依赖一个future,它会根据所依赖的future的状态来动态构建自身。我们看一下futurebuilder构造函数:","futurebuilder使用代码如下:","future与javascript中的promise非常相似,表示一个异步操作的最终完成(或失败)及其结果值的表示。简单来说,它就是用于处理异步操作的,异步处理成功了就执行成功的操作,异步处理失败了就捕获错误或者停止后续操作。一个future只会对应一个结果,要么成功,要么失败。","future:futurebuilder依赖的future,通常是一个异步耗时任务。","gallery中material组件部分的示例。","gallery是flutter官方提供的flutt","gallery源码:gallery是flutter官方示例app,里面有丰富的示例,读者可以在网上下载安装。gallery的源码在flutter源码“examples”目录下。","gallery示例中就有一个”钻石“形状的示例,读者感兴趣可以自行查看。","gallery示例跑起来,它是一个很全面的flutter示例应用,是非常好的参考demo,也是笔者学习flutter的第一手资料。","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是一个用于手势识别的功能性组件,我们通过它可以来识别各种手势。gesturedetector实际上是指针事件的语义化封装,接下来我们详细介绍一下各种手势识别。","gesturedetector监听所有tap事件。当用户点下时,它添加高亮(深绿色边框);当用户释放时,会移除高亮。","gesturerecogn","gesturetapcallback","get\"","getapplicationdocumentsdirectory()).path;","getbatterylevel()","getbatterylevel():","getbatterylevel();","getbatterylevel];","getclip()是用于获取剪裁区域的接口,由于图片大小是60×60,我们返回剪裁区域为rect.fromltwh(10.0,","getclip(s","getlocale()","getnextframe()","getphonemodel","getphonemodel(object","getrepos(","getsystemservice(battery_service);","getsystemservice(context.battery_service)","gettemporarydirectory()","getter","getter。更多关于语义化的信息可以查看api文档。","gettype(v,set","getuserinfo(id).then((userinfo){","getuserinfo(id);","getuserinfo(str","get”)","get获取项目所有的依赖包。","gif,png,bmp和wbmp)等。","girl","git","git([this.context])","git(context).getrepos(","git(context).login(_unamecontroller.text,","git.init();","git:","git://github.com/flutter/packages.git","git://github.com/xxx/pkg1.git","github","github_client_app","github客户端示例","github账号信息","github账号信息;由于我们的app可以切换账号登录,且登录后再次打开则不需要登录,所以我们需要对用户账号信息和登录状态进行持久化。","github项目下去下载安装包,地址:https://github.com/flutter/flutter/releas","github:如果遇到的问题在stackoverflow上也没有找到答案,可以去github","given","gle","global","global.init().then((e)","global.netcache.cache.clear();","global.profile.lastlogin;","global.profile.token","global.profile.token;","global.profile;","global.saveprofile();","global.them","global.themes.map((e)","globalkey","globalkey();","globalmateriallocalizations.delegate,","globalwidgetslocalizations.delegate,","globalwidgetslocalizations.delegate定义组件默认的文本方向,从左到右或从右到左,这是因为有些语言的阅读习惯并不是从左到右,比如如阿拉伯语就是从右向左的。","global类","global类的各个字段的意义都有注释,在此不再赘述,需要注意的是init()需要在app启动时就要执行,所以应用的main方法如下:","gm","gm.password,","gm.passwordrequired;","gm.username,","gm.usernameoremail,","gm.usernamerequired;","gmavatar(","gmavatar(str","gmavatar(value.user.avatar_url,","gmlocalizations.of(context).login,","gmlocalizations.of(context).nodescription,","gmlocalizations.of(context).title;","gmlocalizations.of(context);","gmlocalizationsdelegate()","gmt","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","h","h5+原生","h5+原生混合开发","h5+原生(cordova、ionic、微信小程序)","h=683.4)","h=683.4)。从renderpositionedbox的转储中看到是由cent","handl","handlebeginframe(null);","handledrawframe()","handledrawframe();","handleerror(dynam","handleerror(error,","handleerror);","handlemetricschang","handler","handler\");","handletextscalefactorchang","hardwar","hashcod","hashset();","hdpi已包含占位符图像”ic_launcher.png”,见图2","head","headers:","headers?.foreach((str","height","height,","height.value,","height:","height:80.0,","height;","heightfactor,","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","homerout","homeroute(),","homeroute是应用的主页。","homeview","homeview(this);","homeview(widget","horizont","horizontal:","host","host,","host:","hot","howdi","howmany)","http/1.1","http/1.1\");","http://download.dcloud.net.cn/hbuilder.9.0.2.macosx_64.dmg","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配置","httpheaders.acceptheader:","httpheaders.authorizationheader:","https://flutter.io/setup/#android","https://goo.gl/xxqghq","httpstatus.ok)","https中为了防止通过伪造证书而发起的中间人攻击,客户端应该对自签名或非ca颁发的证书进行校验。httpclient对证书校验的逻辑如下:","httptestrout","http协议定义了分块传输的响应header字段,但具体是否支持取决于server的实现,我们可以指定请求头的\"range\"字段来验证服务器是否支持分块传输。例如,我们可以利用curl命令来验证:","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","i;","icon","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.color_lens),","icon(icons.dashboard,","icon(icons.done,","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.info),","icon(icons.info_outline),","icon(icons.language),","icon(icons.lock)","icon(icons.lock),","icon(icons.palette)","icon(icons.person)","icon(icons.person),","icon(icons.power_settings_new),","icon(icons.refresh,","icon(icons.school),","icon(icons.send),","icon(icons.settings),","icon(icons.share),","icon(icons.star),","icon(icons.thumb_up),","icon(myicons.book,color:","icon(myicons.fork),","icon(myicons.wechat,color:","icon:","iconbutton","iconbutton(","iconbutton(icon:","iconbutton是一个可点击的icon,不包括文字,默认没有背景,点击后会出现背景,如图3","icondata","icondata(","icons.visibility),","icons.visibility_off","icons类中包含了所有materi","icontheme(","icontheme,","icontheme:","iconthemedata","iconthemedata(","iconthemedata(color:","icon的默认样式","id","id){","idea。","idea开发的,所以读者也可以使用intellij","ident","identifi","ideviceinstal","ide中的调试器)时,可以使用该debugger()语句插入编程式断点。要使用这个,你必须添加import","ide配置与使用","idletimeout","id登录xcode,如图1","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(usermodel.islogin)","if(v","if(v.startswith(\"$tag[]\")){","if(v.startswith(tag)){","imag","image(","image({","image,//图片","image.asset(","image.asset(\"./images/sea.png\",","image.asset(\"images/avatar.png\"),","image.asset(\"images/avatar.png\",","image.asset(\"imgs/avatar.png\",","image.asset('graphics/background.png');","image.asset('icons/heart.png',","image.completer;","image.network(","image.sizebytes;","image:","image;","image_picker:","imageandiconrout","imagecach","imagecache的一个实例,它是paintingbinding的一个属性,而flutter框架中的paintingbinding.instance是一个单例,imagecache事实上也是一个单例,也就是说图片缓存是全局的,统一由paintingbinding.instance.imagecach","imagecompleter.seterror(...);","imageconfigur","imageconfiguration(","imageconfiguration.empti","imageerrorlisten","imageinfo","imageinfo,","imageinfo;","imageinternaltestrout","imageprovid","imageprovider:","imageprovider;","imagerepeat.norepeat,","imagerepeat.repeati","images","images/avatar.png","imagesize);","imagesize;","imagestream","imagestream();","imagestreamcomplet","imagestreamcompleter的一个子类,是flutt","imagestreamlisten","imagestreamlistener(_updateimage);","imagestreamlistener(listener);","imagestream或","imageurl:","image也提供了一个快捷的构造函数image.asset用于从asset中加载、显示图片:","image也提供了一个快捷的构造函数image.network用于从网络加载、显示图片:","image在显示图片时定义了一系列参数,通过这些参数我们可以控制图片的显示外观、大小、混合效果等。我们看一下image的主要参数:","image组件原理","image缓存","img","img,","img=assetimage(\"imgs/avatar.png\");","implement","import","inactive;","index","index%2==0?divider1:divider2;","index)","index,","index.dart","index;","indexedwidgetbuild","infinitegridview","infinitelistview","infinitelistview(","info,","info.image.height","info.image.width","info?.imag","inform","informationcollector","informationcollector,","informationcollector:","inherit:","inheritedel","inheritedelement);","inheritedprovid","inheritedprovider(","inheritedprovider({@requir","inheritedprovider;","inheritedprovider;","inheritedwidget","inheritedwidgettestrout","inheritedwidget和react中的context功能类似,和逐级传递数据相比,它们能实现组件跨级传递数据。inheritedwidget的在widget树中数据传递方向是从上到下的,这和通知notification(将在下一章中介绍)的传递方向正好相反。","inheritedwidget是flutter中非常重要的一个widget,像国际化、主题等都是通过它来实现,所以我们也不惜篇幅,通过好几节来介绍它的,在下一节中,我们将介绍另一个基于inheritedwidget的组件theme(主题)。","inheritedwidget是flutter中非常重要的一个功能型组件,它提供了一种数据在widget树种从上到下的传递、共享方式,比如我们在应用的根widget中通过inheritedwidget共享了一个数据,那么我们便可以在任意子widget中来获取该共享的数据!这个特性在一些需要在widget树中共享数据的场景中非常方便!如flutt","inheritfromelement(ancestor,","inheritfromelement(inheritedel","inheritfromwidgetofexacttype(typ","init()","initialdata:初始数据,用户设置默认数据。","initializemessages(localename).then((b)","initialroute:\"/\",","initialscrolloffset","initialvalue,","initinstances()","initst","initstate()","initstate:当widget第一次插入到widget树时会被调用,对于每一个state对象,flutt","initvalue;","inkwell(","inputborder.non","inputdecor","inputdecoration(","inputdecoration(),","inputdecoration(labeltext:","inputdecorationtheme(","inputdecorationtheme:","inputdecoration:用于控制textfield的外观显示,如提示文本、背景颜色、边框等。","inputformatters,","inputformatters:用于指定输入格式;当用户输入内容改变时,会根据指定的格式来校验。","instal","install。","instance…)。","instructions.","int","int,","int.parse(","int.parse(contents);","int.parse(response.headers.value(httpheaders.contentlengthheader));","int32list","int64list","int[]","intent","intent!!.getintextra(batterymanager.extra_level,","intent.getintextra(batterymanager.extra_scale,","intentfilter(intent.action_battery_changed))","intentfilter(intent.action_battery_changed));","interceptor","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","iosink","iosink=","ios文件夹,点击","iowebsocketchannel","iowebsocketchannel.connect('ws://echo.websocket.org');","io库中提供了用于发起http请求的一些类,我们可以直接使用httpclient来发起请求。使用httpclient发起请求分为五步:","io库操作文件的api非常丰富,但本书不是介绍dart语言的,故不详细说明,读者需要的话可以自行学习。","io库来操作文件的,不过和dart","io库,无论是dart","io操作。而不是等到这个操作完成。","iphon","is!","iscomplex:是否复杂的绘制,如果是,flutter会应用一些缓存策略来减少重复渲染的开销。","isequaltostring:call.method])","isforward","islogin","isnobl","isnoble(int","isreleas","isrepaintboundari","issue中找到答案。","issupported(local","iszh","item","item(this.price,","item)","item.count","item.price);","itembuilder,","itembuilder:","itembuilder为列表项的builder,我们需要在该回调中构建每一个列表项widget。由于列表项构建逻辑较负责,我们单独封装一个repoitem","itembuilder:它是列表项的构建器,类型为indexedwidgetbuilder,返回值为一个widget。当列表滚动到具体的index位置时,会调用该构建器构建列表项。","itemcount,","itemcount:","itemcount:列表项的数量,如果为null,则为无限列表。","itemextent,","itemextent:","itemextent:该参数如果不为null,则会强制children的”长度“为itemextent的值;这里的”长度“是指滚动方向上子组件的长度,也就是说如果滚动方向是垂直方向,则itemextent代表子组件的高度;如果滚动方向为水平方向,则itemextent就代表子组件的宽度。在listview中,指定itemextent比让子组件自己决定自身长度会更高效,这是因为指定itemextent后,滚动系统可以提前知道列表的长度,而无需每次构建子组件时都去再计算一下,尤其是在滚动位置频繁变化时(滚动系统需要频繁去计算列表高度)。","items,","items.addall(data);","items:","items=json.decode(jsonstr);","iter","iwonderhowlongthistakes();","i和/或","jack","jack\"),","jack\")只指定了水平方向的定位(left),所以属于部分定位,即垂直方向上没有定位,那么它在垂直方向的对齐方式则会按照alignment指定的对齐方式对齐,即垂直方向居中。对于第三个子文本组件text(\"your","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(just","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_model","json_model可以手动指定某个字段引用的其它model类,可以避免生成重复的类;而ide插件一般会为每一个json文件中所有嵌套对象都单独生成一个model类,即使这些嵌套对象可能在其它model类中已经生成过。","json_model需要单独维护一个存放json文件的文件夹,如果有改动,只需修改json文件便可重新生成model类;而ide插件一般需要用户手动将json内容拷贝复制到一个输入框中,这样生成之后json文件没有存档的化,之后要改动就需要手动。","json_serializable:","json_serializable第一次创建类时,您会看到与图11","jsonencode(profile.tojson()));","jsonmessagecodec类,或创建自己的编解码器。","jsonstr='[{\"name\":\"jack\"},{\"name\":\"rose\"}]';","json文件对应的dart","json转dart","json转model","jsx","jumpto()","jumpto()内部会调用所有scrollposition的animateto()","jumpto()才可以被调用。","jumpto(),以实现所有和该scrollcontroller关联的可滚动组件都滚动到指定的位置。","jumpto(),它们是真正来控制跳转滚动位置的方法,scrollcontroller的这两个同名方法,内部最终都会调用scrollposition的。","jumpto(doubl","keep","key","key)","key);","key){","key)方法","key)方法从数据源加载图片数据,加载成功后先缓存,然后返回imagestream。","key,","key.contains(options.path));","key.scale,","key.then((t","key:","key;","keyboardtype,","keyboardtype:","keyboardtype:用于设置该输入框默认的键盘输入类型,取值如下:","key})","knock","kotlin","label:","labelstyle:","labeltext:","lan,","language)","languagerout","languageroute(),","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\",","license同意过了.","life","line","line)","line){","linear","lineargradient(colors:","lineargradient(colors:[colors.red,colors.orange[700]]),","linearprogressind","linearprogressindicator(","linearprogressindicator({","linearprogressindicator是一个线性、条状的进度条,定义如下:","link","linkedhashmap();","linkstyle;","list","list();","list){","list,","list.foreach((f)","list.length","list.remove(f);","list[i](arg);","listen","listen:","listenable:","listenable;","listener(","listener(imageinfo","listener({","listener)","listtile(","listtile(title:","listtile(title:text(\"商品列表\")),","listview","listview(","listview(key:","listview({","listview.build","listview.builder(","listview.builder(itembuilder:","listview.builder({","listview.builder适合列表项比较多(或者无限)的情况,因为只有当子组件真正显示的时候才会被创建,也就说通过该构造函数创建的listview是支持基于sliver的懒加载模型的。下面看一下listview.builder的核心参数列表:","listview.separ","listview.separated(","listview.separated可以在生成的列表项之间添加一个分割组件,它比listview.builder多了一个separatorbuilder参数,该参数是一个分割组件生成器。","listview3","listview公共参数已省略","listview是最常用的可滚动组件之一,它可以沿一个方向线性排布所有子组件,并且它也支持基于sliver的延迟构建模型。我们看看listview的默认构造函数定义:","load","load(image_provider.networkimag","load(key),","load(local","load(t","loadasset()","loader(),","loader();","loadingtag","loadingtag)","loading框","local","locale('en',","locale('zh',","locale(str","locale(t[0],","locale)","locale,","locale.countrycode.isempti","locale.languagecod","locale.tostring();","locale:","locale;","locale=","localelistresolutioncallback:","localelistresolutioncallback和localeresolutioncallback唯一的不同就在第一个参数类型,前者接收的是一个locale列表,而后者接收的是单个locale。","localemodel","localemodel()),","localemodel,","localemodel.getlocale(),","localemodel.getlocale();","localemodel.local","localenam","localename;","localeresolutioncallback:","locales,","locale发生变化回调","locale类是用来标识用户的语言环境的,它包括语言和国家两个标志如:","localizations.localeof(context);","localizations.localeof(context,","localizations.of(context,","localizationsdeleg","localizationsdelegates:","localizationsdelegates列表中的元素是生成本地化值集合的工厂。globalmateriallocalizations.deleg","localizations组件用于加载和查找应用当前语言下的本地化值或资源。应用程序通过localizations.of(context,type)来引用这些对象。","lockevents(()","log","logcat)。","logic","login(\"alice\",\"******\").then((id){","login(\"alice\",\"******\");","login(str","login,","loginrout","loginroute(),","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:表示子组件在row所占用的水平空间内对齐方式,如果mainaxissize值为mainaxissize.min,则此属性无意义,因为子组件的宽度等于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表示尽可能少的占用水平空间,当子组件没有占满水平剩余空间,则row的实际宽度等于所有子组件占用的的水平空间;","mainaxisspac","mainaxisspacing:","mainaxisspacing:主轴方向的间距。","maintainst","maintainstate;","maintainstate:默认情况下,当入栈一个新路由时,原来的路由仍然会被保存在内存中,如果想在路由没用的时候释放其所占用的所有资源,可以设置maintainstate为false。","main函数为app入口函数,实现如下:","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(","materialapp有一个ongenerateroute属性,它在打开命名路由时会可能会被调用,之所以说可能,是因为当调用navigator.pushnamed(...)打开命名路由时,如果指定的路由名在路由表中已注册,则会调用路由表中的builder函数来生成路由组件;如果路由表中没有注册,才会调用ongenerateroute来生成路由。ongenerateroute回调签名如下:","materialapp有一个title属性,用于指定app的标题。在android系统中,app的标题会出现在任务管理器中。所以也需要对title进行国际化。但是问题是很多国际化的配置都是在materialapp上设置的,我们无法在构建materialapp时通过localizations.of来获取本地化资源,如:","materialcolor","materialcolor(","materialcolor是实现materi","materialloc","materiallocalizations);","materiallocalizations.of(context).backbuttontooltip,","materiallocalizations.of(context).modalbarrierdismisslabel,","materialpagerout","materialpageroute(","materialpageroute(560156430)]","materialpageroute(builder:","materialpageroute({","materialpageroute继承自pageroute类,pageroute类是一个抽象类,表示占有整个屏幕空间的一个模态路由页面,它还定义了路由构建及切换时过渡动画的相关接口及属性。materialpagerout","materialtype.card,","materialtype.transparency,","material组件","material组件库中提供了一个bottomappbar","material组件库中提供了一个tabbar组件,它可以快速生成tab菜单,下面是上图对应的源码:","material组件库中提供了输入框组件textfield和表单组件form。下面我们分别介绍一下。","material组件库中提供的一个组件,它提供了默认的导航栏、标题和包含主屏幕widget树(后同”组件树“或”部件树“)的body属性。组件树可以很复杂。","material组件库中的按钮","material组件库中的按钮默认不支持渐变背景,为了实现渐变背景按钮,我们自定义一个gradientbutton组件,它需要支持一下功能:","material组件库提供了一些现成的组件来减少我们的开发任务。scaffold是一个路由页的骨架,我们使用它可以很容易地拼装出一个完整的页面。","material组件库提供了丰富多样的组件,本节介绍一些常用的组件,其余的读者可以自行查看文档或flutt","math.pi","math.sin(t","math;","matrix4.rotationz(.2),","matrix4.skewy(0.3),","maven","maven.aliyun.com","max","maxchunk","maxchunk).ceil();","maxconnectionsperhost","maxcrossaxisextent,","maxcrossaxisextent:","maxcrossaxisextent为子元素在横轴上的最大长度,之所以是“最大”长度,是因为横轴方向每个子元素的长度仍然是等分的,举个例子,如果viewport的横轴长度是450,那么当maxcrossaxisextent的值在区间[450/4,450/3)内的话,子元素最终实际长度都为112.5,而childaspectratio所指的子元素横轴和主轴的长度比为最终的长度比。其它参数和slivergriddelegatewithfixedcrossaxiscount相同。","maximumsize(int","maximumsizebyt","maximumsizebytes(int","maximumsizebytes)","maxlength,","maxlengthenforc","maxlength和maxlengthenforc","maxlin","maxlines:","maxlines、overflow:指定文本显示的最大行数,默认情况下,文本是自动折行的,如果指定此参数,则文本最多不会超过指定的行。如果有多余的文本,可以通过overflow来指定截断方式,默认是直接截断,本例中指定的截断方式textoverflow.ellipsis,它会将多余文本截断后以省略符“...”表示;textoverflow的其它截断方式请参考sdk文档。","maxlines:输入框的最大行数,默认为1;如果为null,则无行数限制。","maxscrollextent:最大可滚动长度。","mb","mb)","mediaquery.of(context).size.height","mediaquery.of(context).size.width","mediaquery.of(context,","mediaquery.removepadding(","medium.ttf","menu","mergetempfiles(chunk)","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时添加,如:","microtask","middle:","minheight:","minwidth:","miss","mo.dart","mobil","mobile/14e304","mobile、flutter)","mobile一样,都没有使用原生控件,相反都实现了一个自绘引擎,使用自身的布局、绘制系统。那么,我们会担心,qt","mobile做一个对比:","mobile后尘,成为另一个烈士?要回到这个问题,我们先来看看flutter诞生过程:","mobile面对的问题flutter是否也一样,flutter会不会步入qt","mobx","mocknetworkdata()","mocknetworkdata(),","modalroute.of(context).settings.arguments);","mode","model","model。","model化”,具体做法就是,通过预定义一些与json结构对应的model类,然后在请求到数据后再动态根据数据创建出model类的实例。这样一来,在开发阶段我们使用的是model类的实例,而不再是map/list,这样访问内部属性时就不会发生拼写错误。例如,我们可以通过引入一个简单的模型类(model","model变化后会自动通知changenotifierprovider(订阅者),changenotifierprovider内部会重新构建inheritedwidget,而依赖该inheritedwidget的子孙widget就会更新。","model的方案采用前面介绍过的","model类","model类。json文件转dart","model类会在此目录下","model类定义","model类,现在我们使用在第十一章中”json转model“小节中介绍的方案,所以,我们需要在根目录下再创建一个用于保存json文件的”jsons“文件夹。","model类:","model类;","model,简称dom),是w3c组织推荐的处理可扩展标志语言的标准编程接口,一种独立于平台和语言的方式访问和修改一个文档的内容和结构。换句话说,这是表示和处理一个html或xml文档的标准接口。简单来说,dom就是文档树,与用户界面控件树对应,在前端开发中通常指html对应的渲染树,但广义的dom也可以指android中的xml布局文件对应的控件树,而术语dom操作就是指直接来操作渲染树(或控件树),","mode”,用","mode)下测试,因为在调试模式下,故意牺牲性能来换取有助于开发调试的功能,如assert声明,这些都是非常耗时的,因此结果将会产生误导。","mode)和可选类型(opt","mode),原先的检查模式(check","more","mother;","mother和friends四个字段,由于mother也是一个person,朋友是多个person(数组),所以我们期望生成的model是下面这样:","msg)","msg,","msg;","multichildrenderobjectel","multichildrenderobjectwidget","multiframeimagestreamcomplet","multiframeimagestreamcompleter(","multilin","multiprovider(","myanimationwidget","myapp","myapp());","myapp),然后点击","myapp类代表flutter应用,它继承了","myclipp","myclipper(),","mydraw","mydrawer(),","mydrawer({","myhomepag","myhomepage(title:","myhomepage({key","myhomepage类中并没有build方法,取而代之的是,build方法被挪到了_myhomepagestate方法中,至于为什么这么做,先留个疑问,在分析完完整代码后再来解答。","myicon","myicons{","myimag","myimage(","myimage({","myimage,代码大致如下:","mylocal","mynotif","mynotification(\"hi\").dispatch(context),","mynotification(this.msg);","mypaint","mypainter(),","myrichtext","myrichtext({","myslidetransit","myslidetransition(","myslidetransition({","n","n(n>1)","name","name\"),","name,","name:","name;","name=paths.first;","name:应用或包名称。","nativ","nativefieldwrapperclass2","native、weex、快应用)","native、weex及快应用","native中主要有两个作用:","native只支持jsx语法。","native和weex的渲染/排版引擎是集成到框架中的,每一个app都需要打包一份,安装包体积较大;而快应用渲染/排版引擎是集成到rom中的,应用中无需打包,安装包体积小,正因如此,快应用才能在保证性能的同时做到快速分发。","native和weex相比主要有两点不同:","native引擎渲染视图,这无疑能为用户提供良好的体验。","native扩展。同时","native是web开发技术栈,也只需维护一份代码,同样是跨平台框架。","native是原生控件渲染,所以性能会比混合应用中h5好很多,同时react","native类似,最大的不同是语法层面,weex支持vue语法和rax语法,rax","navbar","navbar(color:","navbar({","navig","navigationbar:","navigator.of(context).pop(),","navigator.of(context).pop();","navigator.of(context).pop(_withtree);","navigator.of(context).pop(index),","navigator.of(context).pop(true);","navigator.of(context).pop(withtree);","navigator.of(context).pushnamed(\"login\"),","navigator.of(context).pushnamed(\"login\");","navigator.of(context).pushnamed(\"new_page\",","navigator.of(context,","navigator.pop(context),","navigator.pop(context);","navigator.pop(context,","navigator.push(","navigator.push(context,","navigator.pushnamed(context,","navigator中导航到runner/runner然后通过打开assets.xcassets拖入图片,或者通过在launchscreen.storyboard中使用interfac","navigator是一个路由管理的组件,它提供了打开和退出路由页方法。navigator通过一个栈来管理活动路由集合。通常当前屏幕显示的页面就是栈顶的路由。navigator提供了一系列方法来管理路由栈,在此我们只介绍其最常用的两个方法:","navigator类中第一个参数为context的静态方法都对应一个navigator的实例方法,","nested)","netcach","netcache();","networkimag","networkimage(","never","new","newrout","newroute();","newvalue)","newvalue;","newwidget)","newwidget.key;","newwidget.runtimetyp","next.","next。","nicer","nil","nil));","no)","nocach","node","node._layoutwithoutresize();","node._skippedpaintingonlayer();","node._updatecompositingbits();","node.own","none,","none:图片没有适应策略,会在显示空间内显示图片,如果图片比显示空间大,则显示空间只会显示图片中间部分。","notif","notification\"),","notification)","notification);","notification,","notification.metrics.maxscrollextent;","notification.metrics.pixel","notificationlisten","notificationlistener(","notificationlistener({","notificationlistener)","notificationlistenercallback","notificationrout","notificationroutest","notificationroutestate();","notification有一个dispatch(context)方法,它是用于分发通知的,我们说过context实际上就是操作element的一个接口,它与element树上的节点是对应的,通知会从context对应的element节点向上冒泡。","notifylisteners()","notifylisteners();","nsarray","nsdictionari","nsnumber","nsstring","null","null)","null)))","null),","null);","null,","null;","nullok:","num){","number","numberwithbool:","numberwithdouble:","numberwithint:","numberwithlong:","ob","ob.timestamp)","obj,","object","object';","obscuretext","obscuretext:","obscuretext:是否隐藏正在编辑的文本,如用于输入密码的场景等,文本内容会用“•”替换。","observatori","observatory(或另一个dart调试器,例如intellij","obtainedkey","obtainedkey;","obtainkey(configuration);","obtainkey(image_provider.imageconfigur","obtainkey(imageconfigur","obtainkey(imageconfiguration)方法","oct","octocat\",","of(buildcontext","off(eventname,","offset","offset(","offset(0,","offset(0.0,","offset(1,","offset(2.0,","offset(2.0,2.0),","offset(_offset,","offset(offset.dx,","offset)","offset);","offset)、animateto(doubl","offset)来完成绘制,该方法源码如下:","offset,","offset,...):这两个方法用于跳转到指定的位置,它们不同之处在于,后者在跳转时会执行一个动画,而前者不会。","offset.dx,","offset.dy);","offset.zero;","offset:","offset;","offset=position.value;","offsetlay","offset表示在子节点在父节点坐标系中的绘制偏移","offset:可滚动组件当前的滚动位置。","ok","ok。","old)","old.data","oldclipper)","olddelegate)","oldimagestream","oldimagestream?.key)","oldimagestream?.removelistener(listener);","oldposition);","oldwidget)","oldwidget,","oldwidget.data)","oldwidget.data.removelistener(update);","oldwidget.imageprovider)","oldwidget.key","oldwidget.runtimetyp","oldwidget.text)","on(eventname,","onbeginfram","onbytesreceived:","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","onerror(details);","onerror(error,","onerror,","onerror:","onerror:zone中未捕获异常处理回调,如果开发者提供了onerror回调或者通过zonespecification.handleuncaughterror指定了错误处理回调,那么这个zone将会变成一个error","ongenerateroute:(routeset","ongeneratetitle:","onhorizontaldragend","onhorizontaldragend:","onhorizontaldragupdate:","onlocalechang","onloginchanged(e){","onlongpress:","only({left,","onmethodcall(methodcal","onmetricschang","onnotification(notification);","onnotification:","onnotification回调为通知处理回调,其函数签名如下:","onpandown:","onpanend:","onpanupdate:","onplatformmessag","onpointerdatapacket","onpointerdown:","onpointermove:","onpointerup:","onpressed,","onpressed:","onpressed:()=>setstate(()=>","onpressed:_onadd","onpressed;","onreceiveprogress(progress.reduce((a,","onreceiveprogress,","onreceiveprogress:","onrequest(requestopt","onretrievedata:","onsaved,","onscaleupdate:","onsubmitted,","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:","opaque;","opaque:在命中测试时,将当前组件当成不透明处理(即使本身是透明的),最终的效果相当于当前widget的整个区域都是点击区域。举个例子:","open","open…","open…\"。","oper","option","options(","options(extra:","options)","options.extra[\"cachekey\"]","options.extra[\"refresh\"]","options.method.tolowercase()","options.uri.tostring();","options:","options;","orelse:","orientation:指针移动方向,是一个角度值。","os","os.","other)","other.hashcode;","other:","other;","other_package:","out,","outlinebutton","outlinebutton(","outlinebutton.icon(","outlinebutton默认有一个边框,不带阴影且背景透明。按下后,边框颜色会变亮、同时出现背景和阴影(较弱),如图3","output","overflow.clip,","overflow:","overflow:此属性决定如何显示超出stack显示空间的子组件;值为overflow.clip时,超出部分会被剪裁(隐藏),值为overflow.vis","overlay","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发布我们的包和插件。我们将在后面的章节中介绍如何向pub发布我们的包和插件。","packages分为两类:","package。","package中提供的。infinitelistview同时支持了下拉刷新和上拉加载更多两种功能。onretrievedata","package中的字体","package中的核心功能;但是我们的迷你版功能并不全面,如只实现了一个可监听的changenotifierprovider,并没有实现只用于数据共享的provider;还有就是我们的实现还有些边界没有考虑的到,比如如何保证在widget树重新build时model始终是单例等。所以建议读者在实战中还是使用provid","package为例,它的目录结构如图12","package也导出了一个迷你库:","package包。","package底层的原理。","package提供的命令来通过json文件生成相应的dart类:","package)。","package,所以我们可以直接通过拦截器来实现缓存策略:","package,而本节实现这个迷你provider的主要目的主要是为了帮助读者了解provid","pad","padding(","padding(padding:","padding({","padding,","padding:","padding:padding.valu","padding;","paddingtestrout","paddingwidth","padding可以给其子节点添加填充(留白),和边距效果类似。我们在前面很多示例中都已经使用过它了,现在来看看它的定义:","padding和margin","page","page'),","page,","pageb(),","pageb();","pagebuilder,","pagebuilder:","pagechild","pagechild)","pagechild;","pagerout","pageroutebuilder(","pagestoragekey(1),","pagestoragekey(2),","pagestorage是一个用于保存页面(路由)相关数据的组件,它并不会影响子树的ui外观,其实,pagestorage是一个功能型组件,它拥有一个存储桶(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.inst","paintingbinding.instance.imagecache.maximumsize=2000;","paintingbinding.instance.imagecache.maximumsizebyt","paintingbinding.instance.instantiateimagecodec(bytes);","paintingbinding:绑定绘制库,主要用于处理图片缓存。","paintingcontext.repaintcompositedchild(node);","paintingcontext代表组件的绘制上下文,通过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,如此便可提高性能。","parsetext(str","parsetext(widget.text)","parsetext(widget.text);","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(\".\");","payload=\"...\";","pem=\"xxxxx\";//可以从文件读取","pendingimag","pendingimage.removelistener();","per","perform","performanceoverlay.allenabled()创建的stack上来获得相同的效果)。","performance”下,","performlayout","performlayout()","performlayout();","performlayout()两个方法中,renderbox子类需要实现这两个方法来定制自身的布局逻辑。根据layout()","performlayout()两个方法来实现,他们会在layout()中被调用。","performrebuild()","performres","performresize()","performresize()/performlayout()","performresize();","performresize()。","persistentbottomsheetcontrol","persistentbottomsheetcontroller中包含了一下控制对话框的方法比如close方法可以关闭该对话框,功能比较简单,读者可以自行查看源码。唯一需要注意的是,showbottomsheet和我们上面介绍的弹出对话框的方法原理不同:showbottomsheet是调用widget树顶部的scaffold组件的scaffoldstate的showbottomsheet同名方法实现,也就是说要调用showbottomsheet方法就必须得保证父级组件中有scaffold。","persistentcallback","persistentcallbacks:用于存放一些持久的回调,不能在此类回调中再请求新的绘制帧,持久回调一经注册则不能移除。schedulerbinding.instance.addpersitentframecallback(),这个回调中处理了布局与绘制工作。","person","person();","person.fromjson(map","phone","physic","physicals","physics,","physics:此属性接受一个scrollphysics类型的对象,它决定可滚动组件如何响应用户操作,比如用户滑动完抬起手指后,继续执行动画;或者滑动到边界时,如何显示。默认情况下,flutter会根据具体平台分别使用不同的scrollphysics对象,应用不同的显示效果,如当滑动到边界时,继续拖动的话,在ios上会出现弹性效果,而在android上会出现微光效果。如果你想在所有平台下使用同一种效果,可以显式指定一个固定的scrollphysics,flutt","pi","pi,","picturelay","pinned:","pipelineowner.flushcompositingbits();","pipelineowner.flushlayout();","pipelineowner.flushpaint();","pipelineowner.flushsemantics();","pixel","pixel)","pixels)","pixels:当前滚动位置。","pkg1:","placehold","placeholder:","platform","platform,","platform.invokemethod('getbatterylevel');","platform:","platformexcept","platformmessagecallback","platformmessageresponsecallback","pod","pod::spec.new","point')","pointerdatapacketcallback","pointerev","pop(buildcontext","port)","port){","port,","posit","position)","position));","position);","position,","position.pixels;","position:","positioned(","positioned({","position:它是鼠标相对于当对于全局坐标的偏移。","position:此属性决定在哪里绘制decoration,它接收decorationposition的枚举类型,该枚举类有两个值:","post","postframecallback","postframecallbacks:在frame结束时只会被调用一次,调用后会被系统移除,可由","powershel","prefixicon:","pressure:按压力度,如果手机屏幕支持压力传感器(如iphone的3d","preview+json\",","preview,\"","price;","primary),),","primary,","primary=theme.of(this).primarycolor;","primarycolor,","primaryswatch,","primaryswatch:","primary:指是否使用widget树中默认的primaryscrollcontroller;当滑动方向为垂直方向(scrolldirection值为axis.vertical)并且没有指定controller时,primary默认为true.","print(\"$index\");","print(\"${(receiv","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(\"raisedbutton","print(\"reassemble\");","print(\"success\");","print(\"unus","print(\"up\");","print(\"xxx\"))","print(\"xxxx$locale\");","print(\"取消删除\");","print(\"同时删除子目录:","print(\"已确认删除\");","print(\"开始滚动\");","print(\"正在滚动\");","print(\"滚动停止\");","print(\"滚动到边界\");","print(\"点击了:$index\");","print(\"用户手指按下:${e.globalposition}\");","print(\"路由返回值:","print(\"选择了:${i","print('howdy,","print('w","print()功能将输出到系统控制台,您可以使用flutt","print(_controller.offset);","print(_unamecontroller.text)","print(_unamecontroller.text);","print(a.length);","print(b.length);","print(cb());","print(data);","print(e)","print(e);","print(e.message);","print(e.velocity);","print(focusnode.hasfocus);","print(items[0][\"name\"]);","print(notification);","print(notification.msg);","print(response);","print(response.data.tostring());","print(response.headers);","print(results[0]+results[1]);","print(str);","print(type);","print:","printlengths()","printlengths();","print、debugprint、flutt","privat","private\".padright(paddingwidth))","probabl","process","profil","profile();","profile.cach","profile.dart","profile.fromjson(jsondecode(_profile));","profile.g.dart","profilechangenotifi","profile替代","profile标志,以确保运行时性能特征与您的最终产品差异最小。","profile选项来运行flutt","progress","progress.add(0);","progress[no]","progresscallback","progressrout","project","project’","properties)","properties.defaultdiagnosticstreestyl","provid","provider.data;","provider.of(context).them","provider.of(context);","provider.of(context,","providerrout","providers:","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","putifabsent(object","pwd)","pwd){","pwdshow","qt","qt、flutter","qt低","qt是一个1991年由qt","qt简介","quarterturns:","queryparameters,","queryparameters:","queue。从图中可以发现,微任务队列的执行优先级高于事件队列。","queue,另一个叫做“事件队列”","quick_actions插件就是一个具体的例子。","quit","r","r.data.map((e)","radialgradient(","radius,","radius:","radius;","raisedbutton","raisedbutton(","raisedbutton({","raisedbutton.icon(","raisedbutton、flatbutton、outlinebutton都有一个icon","raleway","randomwordswidget","randomwordswidget(),","range\"的内容:","range:","range“字段,如果不支持则不会包含。我们看看上面\"cont","ratio:","rawimage(","rax","re","reached!\");","react","react中提出一个重要思想:状态改变则ui随之自动改变,而react框架本身就是响应用户状态改变的事件而执行重新构建用户界面的工作,这就是典型的响应式编程范式,下面我们总结一下react中响应式原理:","react框架在接收到用户状态改变通知后,会根据当前渲染树,结合最新的状态改变,通过diff算法,计算出树中变化的部分,然后只更新变化的部分(dom操作),从而避免整棵树重构,提高性能。","realm)","realm))","realm));","realm,","realm=\"admin\"","realm==\"admin\"){","reassembl","reassemble()","reassemble():此回调是专门为了开发调试而提供的,在热重载(hot","rebuild","rebuild()","receivebatterylevel(result:","received,","received;","recognizer,","recognizer:","rect","rect,","rect.fromltrb(0.0,","rect.fromltwh(10.0,","redbox","redbox,","redbox=decoratedbox(","redux","refresh","refresh)","refresh,","refresh:","refresh标记是否是\"下拉刷新\"","regexp(r\"\\s\"),","registerreceiver(null,","registrationdatemillis;","regular","regular.ttf","relative)非常像,是的!在大多数时候,我们可以直接使用align组件来实现web中相对定位的效果,读者可以类比记忆。","relayoutboundari","relayoutboundary;","relayoutboundary,如果一个","relayoutboundary,就表示它的大小变化不会再影响到","relayoutboundary,该参数表示子节点布局变化是否影响父节点,如果为true,当子节点布局发生变化时父节点都会标记为需要重新布局,如果为false,则子节点布局发生变化后不会影响父节点。","relayoutboundary?在前面介绍element时,我们讲过当一个element标记为","release即可。","release运行您的应用程序。","reload","reload)时会被调用,此回调在release模式下永远不会被调用。","reload“只会重新构建整个widget树,如果变动不在构建widget树的过程中,”hot","reload“就不会起作用。","reload“重载失效,此时调用","reload)","remain","remainingemailsmessage(int","remov","removelistener(voidcallback","removetop:","render","render(scen","renderbox","renderbox子类要定制布局算法不应该重写layout()方法,因为对于任何renderbox的子类来说,它的layout流程基本是相同的,不同之处只在具体的布局算法,而具体的布局算法子类应该通过重写performresize()","renderbox实际的测量和布局逻辑是在performresize()","renderconstrainedbox","renderconstrainedbox(","rendercustompaint","rendercustompaint)","rendererbinding,","rendererbinding:","rendering层,这一层是一个抽象的布局层,它依赖于dart","renderobject","renderobject)","renderobject:","renderobjecttowidgetadapter(","renderobjecttowidgetadapter([globalobjectkey","renderobjecttowidgetel","renderobjectwidget","renderobjectwidget类中定义了创建、更新renderobject的方法,子类必须实现他们,关于renderobject我们现在只需要知道它是最终布局、渲染ui界面的对象即可,也就是说,对于布局类组件来说,其布局算法都是通过对应的renderobject对象来实现的,所以读者如果对接下来介绍的某个布局类组件的原理感兴趣,可以查看其对应的renderobject的实现,比如stack(层叠布局)对应的renderobject对象就是renderstack,而层叠布局的实现就在renderstack中。","renderobject。真正的绘制是通过paintingcontext.repaintcompositedchild()来绘制的,该方法最终会调用flutt","renderobject为止,然后再将其标记为","renderobject再到根element的整个关联过程。我们看看attachtorendertree的源码实现:","renderobject可以通过paint()方法来完成具体绘制逻辑,流程和布局流程相似,子类可以实现paint()方法来完成自身的绘制逻辑,paint()签名如下:","renderobject和renderbox","renderobject就是渲染树中的一个对象,它拥有一个parent和一个parentdata","renderobject类本身实现了一套基础的layout和绘制协议,但是并没有定义子节点模型(如一个节点可以有几个子节点,没有子节点?一个?两个?或者更多?)。","renderobject,而是只重绘了需要重绘的","renderproxybox","renderrepaintboundari","renderrepaintboundary({","renderview","renderview(497039273)];","renderview)","renderview,","renderview.compositeframe();","renderviewelement);","rent!'),","repaint","repaintboundari","repaintboundary(","repaintboundary(child:...)),","repaintcompositedchild(child,","repeat:","repeat:当图片本身大小小于显示空间时,指定图片的重复规则。简单示例如下:","repetitioncount","replace(match","repo","repo!\",","repo.dart","repo.fromjson(e)).tolist();","repo.g.dart","repo;","repoitem","repoitem(list[index]);","repoitem(this.repo)","reporterror(details);","reporterror(fluttererrordetail","reporterrorandlog(details);","reporterrorandlog(fluttererrordetail","repositori","repositories…,选择","request","request.add(utf8.encode(payload));","request.close();","request.headers.add(\"us","request.headers.add(name,","require(\"dsbridge\")","reserv","resetepoch();","resolutionstrategi","resolv","resolve(imageconfigur","resolve(imageconfiguration)","resolve方法是imageprovider的暴露的给image的主入口方法,它接受一个imageconfiguration参数,返回imagestream,即图片数据流。我们重点看一下resolve执行流程:","respons","response,","response.data.map((e)","response.hashcod","response.headers.value(httpheaders.contentrangeheader).split(\"/\").last);","response.realuri.hashcode;","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.addlistener(streamlistener);","result.error(\"unavailable\",","result.notimplemented()","result.notimplemented();","result.success(batterylevel)","result.success(batterylevel);","result:","result;","rethrow;","return","return;","revers","reverse()等方法。animationcontroller会在动画的每一帧,就会生成一个新的值。默认情况下,animationcontroller在给定的时间段内线性的生成从0.0到1.0(默认区间)的数字。","reverse:该属性api文档解释是:是否按照阅读方向相反的方向滑动,如:scrolldirection值为axis.horizontal,如果阅读方向是从左到右(取决于语言环境,阿拉伯语就是从右到左)。reverse为true时,那么滑动方向就是从右往左。其实此属性本质上是决定可滚动组件的初始滚动位置是在“头”还是“尾”,取false时,初始滚动位置在“头”,反之则在“尾”,读者可以自己试验。","richtext(","right","right,","rn、weex","root","rootbundle.loadstring('assets/config.json');","rootbundle;","rootnavigator:","rootproject.findproject(\":url_launcher\")","rootwidget","rootwidget)","rotatedbox","rotatedbox(","rotatedbox和transform.rotate功能相似,它们都可以对子组件进行旋转变换,但是有一点不同:rotatedbox的变换是在layout阶段,会影响在子组件的位置和大小。我们将上面介绍transform.rotate时的示例改一下:","rotationtransition(","rout","route\"),","route\"。","route)","route)等价于navigator.of(context).push(rout","routenam","routename,{object","routepagebuild","routertestrout","routes:","routes:{","routes;","routeset","routetransitionsbuild","route”按钮,依然可以打开新的路由页。","route)即有名字的路由,我们可以先给路由起一个名字,然后就可以通过路由名字直接打开新的路由了,这为路由管理带来了一种直观、简单的方式。","row","row(","row(children:","row({","row、","row、column和flex子组件所占用的空间。","row可以在水平方向排列其子widget。定义如下:","row默认为水平方向,column默认为垂直方向","run","runalignment:纵轴方向的对齐方式","runapp(","runapp(myapp()));","runapp(myapp()),","runapp(myapp());","runapp(myapp())根本执行不到。","runapp(new","runapp(widget","runner","runspacing:","runspacing:纵轴方向的间距","runzoned(","runzoned(()","runzoned(r","run。","run。模拟器启动并显示所选操作系统版本或设备的启动画面。","run启动flutter应用程序。","run启动应用程序,那么当它运行时,我们可以打开observatory工具的web页面,例如observatory默认监听http://127.0.0.1:8100/,可以在浏览器中直接打开该链接。直接使用语句级单步调试器连接到您的应用程序。如果您使用的是intellij,则还可以使用其内置的调试器来调试您的应用程序。","run命令来运行应用程序。","run图标。","run时使用trac","run时带有","s","s),","s)将不会进行热重载,热重载按钮","s),或者点击","s.depend","safari/602.1\");","safearea(","save","savedinstancestate)","savepath","savepath,","saveprofile()","saveuserinfo(str","saveuserinfo(userinfo).then((){","saveuserinfo(userinfo);","say(\"hi","say('bob',","say(str","sc);","sc.settrustedcertificates(file);","sc=new","scaffold","scaffold(","scaffold.of(context).opendrawer();","scaffoldrout","scaffold、tabbar、底部导航","scaffold的drawer和enddrawer属性可以分别接受一个widget来作为页面的左、右抽屉菜单。如果开发者提供了抽屉菜单,那么当用户手指从屏幕左(或右)侧向里滑动时便可打开抽屉菜单。本节开始部分的示例中实现了一个左抽屉菜单mydrawer,它的源码如下:","scale","scale:","scaleanimationrout","scaleanimationroute1","scaletransition(","scaletransition(child:","scene","scene)","scene.dispose();","scheduleframe()","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风格的滚动指示器(滚动条),如果要给可滚动组件添加滚动条,只需将scrollbar作为可滚动组件的任意一个父级组件即可,如:","scrollconfigur","scrollcontext","scrollcontrol","scrollcontroller();","scrollcontroller({","scrollcontrollertestrout","scrollcontrollertestroutest","scrollcontrollertestroutestate();","scrollcontroller控制原理","scrollcontroller构造函数如下:","scrollcontroller还有一些属性和方法,我们将在后面原理部分解释。","scrollcontroller间接继承自listenable,我们可以根据scrollcontroller来监听滚动事件,如:","scrolldirect","scrollendnotification:","scrollmetrics还有一些其它属性,读者可以自行查阅api文档。","scrollnotificationtestrout","scrollphys","scrollposit","scrollposition是用来保存可滚动组件的滚动位置的。一个scrollcontroller对象可以同时被多个可滚动组件使用,scrollcontroller会为每一个可滚动组件创建一个scrollposition对象,这些scrollposition保存在scrollcontroller的positions属性中(list)。scrollposition是真正保存滑动位置信息的对象,offset只是一个便捷属性:","scrollposition有两个常用方法:animateto()","scrollposition的方法","scrollstartnotification:","scrollupdatenotification:","sdk","sdk,","sdk:","sdk、android","sdk中getexternalstoragedirectory的返回值。","sdk中包含了两个scrollphysics的子类,他们可以直接使用:","sdk中提供了一个animatedswitcher组件,它定义了一种通用的ui切换抽象。","sdk中正是通过inheritedwidget来共享应用主题(theme)和local","sdk中的组件仅提供美国英语本地化资源(主要是文本)。要添加对其他语言的支持,应用程序须添加一个名为“flutter_localizations”的包依赖,然后还需要在materialapp中进行一些配置。","sdk内置组件库介绍","sdk分支","sdk和io","sdk和你的flutter项目依赖包。如果你只想更新项目依赖包(不包括flutt","sdk和依赖包","sdk已经在打包在flutter","sdk已经提供了一些组件和类来帮助我们实现国际化,下面我们来介绍一下flutter中实现国际化的步骤。","sdk平台工具和android","sdk开发的应用程序。原生开发有以下主要优势:","sdk开发的应用程序;而ios原生应用就是指通过object","sdk提供了一个便捷函数createlocalimageconfiguration来创建imageconfigur","sdk提供的一个组件,内容就是flutter的商标。在上面的例子中,我们显式指定了container的宽、高都为120。如果我们不显式指定宽高,而通过同时指定widthfactor和heightfactor","sdk文档。","sdk文档并没有翻译,而在开发中遇到的一些具体问题通常都得去查看sdk文档。所以,要解决这两个问题,必须得有一个系统化的flutter教程,它不仅可以快速引导开发者入门,而且也能触及到一些细节和原理,最好也能提供一些学习和研究flutter的方法。因此,如果能有一本能系统地介绍flutter的书籍便是便是非常棒的!但是,当时没有一本关于flutter的中文书籍,因此,我便计划写一本能由浅入深、系统介绍flutter的书。2018年12月,《flutter实战》完成初稿,并在github上开源,同时上线了《flutter实战》电子书官网","sdk有多个分支,如beta、dev、master、stable,其中stable分支为稳定分支(日后有新的稳定版本发布后可能也会有新的稳定分支,如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组件库中已经提供了一些常用的切换组件,如pageview、tabview等,但是,这些组件并不能覆盖全部的需求场景,为此,flutt","sdk还是ios的uikit","sdk里了,没有必要单独安装dart。","sdk预置的类,通过该类,我们以方便、轻松地创建出一个imagestreamcompleter实例来做为load方法的返回值。","sdk),可以使用如下命令:","sdk,但在国内目前无法访问google所致,因此,我们可以配置代理或使用vpn。","sdk,其中包括了","sdk,则必须将该","sdk,只需一句命令:","sdk,在安装flutter时也需要安装相应平台的构建工具和sdk。下面我们分别介绍一下windows和macos下的环境搭建。","sdk,它实现了一套基础库,自底向上,我们来简单介绍一下:","secondaryanimation)","secondaryanimation,","second),即每秒的动画帧数。很明显,帧率越高则动画就会越流畅!一般情况下,对于人眼来说,动画帧率超过16fps,就比较流畅了,超过32fps就会非常的细腻平滑,而超过32fps,人眼基本上就感受不到差别了。由于动画的每一帧都是要改变ui输出,所以在一个时间段内连续的改变ui输出是比较耗资源的,对设备的软硬件系统要求都较高,所以在ui系统中,动画的平均帧率是重要的性能指标,而在flutter中,理想情况下是可以实现60fps的,这和原生应用能达到的帧率是基本是持平的。","second),就是指一秒钟可以触发60次重绘,fps值越大,界面就越流畅。","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(()=>{});","setstate(voidcallback","settings)","settings){","settings,","settings.name;","settings/","setup","setupparentdata(covari","shadowthemeonli","shadowthemeonly:","shakecurv","shaking会很难工作,因为在启用反射时很难知道哪些代码未被使用,因此冗余代码很难剥离,所以flutter中禁用了dart的反射功能,而正因如此也就无法实现动态转化model的功能。","shaking,使用tre","shaking,可以在release版中“去除”未使用的代码,这可以显著优化应用程序的大小。由于反射会默认应用到所有代码,因此tre","shape","shape:","shape:roundedrectangleborder(borderradius:","sharedatawidget","sharedatawidget(","sharedatawidget({","sharedprefer","sharedpreferences.getinstance();","shelf_io,它主要是处理httprequest的。","shouldreclip()","shouldreclip(customclipp","shouldreload(demolocalizationsdeleg","shouldreload的返回值决定当localizations组件重新build时,是否调用load方法重新加载locale资源。一般情况下,locale资源只应该在locale切换时加载一次,不需要每次在localizations重新build时都加载,所以返回false即可。可能有些人会担心返回false的话在app启动后用户再改变系统语言时load方法将不会被调用,所以locale资源将不会被加载。事实上,每当locale改变时flutter都会再调用load方法加载新的locale,无论shouldreload返回true还是false。","shouldrepaint(custompaint","show","showbottomsheet(","showcustomdialog(","showcustomdialog({","showdeleteconfirmdialog1()","showdeleteconfirmdialog1();","showdeleteconfirmdialog2()","showdeleteconfirmdialog2();","showdeleteconfirmdialog3()","showdeleteconfirmdialog3();","showdeleteconfirmdialog4()","showdialog(","showdialog()是material组件库提供的一个用于弹出material风格对话框的方法,签名如下:","showdialog({","showgeneraldialog(","showgeneraldialog({","showlistdialog()","showloading(context);","showloadingdialog()","showmodalbottomsheet(","showmodalbottomsheet方法可以弹出一个material风格的底部菜单列表模态对话框,示例如下:","showmodalbottomsheet的实现原理和showgeneraldialog实现原理相同,都是通过路由的方式来实现的,读者可以查看源码对比。但值得一提的是还有一个showbottomsheet方法,该方法会从设备底部向上弹出一个全屏的菜单列表,示例如下:","showtoast(e.tostring());","showtoast(gmlocalizations.of(context).usernameorpasswordwrong);","showtotopbtn","shrinkwrap","shrinkwrap:","shrinkwrap:该属性表示是否根据子组件的总长度来设置listview的长度,默认值为fals","sign","signal","signal');","simpledialog","simpledialog(","simpledialogoption(","simpledialog也是material组件库提供的对话框,它会展示一个列表,用于列表选择的场景。下面是一个选择app语言的示例,运行结果如图7","simul","singlechildrenderobjectel","singlechildrenderobjectwidget","singlechildscrollview","singlechildscrollview(","singlechildscrollview({","singlechildscrollviewtestrout","singlechildscrollview类似于android中的scrollview,它只能接收一个子组件。定义如下:","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.shrink(),","sizedbox用于给子元素指定固定的宽高,如:","sizedbypar","sizedbyparent就应该返回true,此时其大小在","size:当child为null时,代表默认绘制区域大小,如果有child则忽略此参数,画布尺寸则为child尺寸。如果有child但是想指定画布为特定大小,可以使用sizebox包裹custompaint实现。","size:当前绘制区域大小。","skia引擎、dart运行时、文字排版引擎等。在代码调用","skip","slidetransition(","slidetransitionx","slidetransitionx(","slidetransitionx({","sliver:","sliverappbar(","sliverchildbuilderdelegate(","sliverfixedextentlist(","slivergrid(","slivergriddeleg","slivergriddelegatewithfixedcrossaxiscount","slivergriddelegatewithfixedcrossaxiscount(","slivergriddelegatewithfixedcrossaxiscount({","slivergriddelegatewithmaxcrossaxisext","slivergriddelegatewithmaxcrossaxisextent(","slivergriddelegatewithmaxcrossaxisextent({","slivergriddelegate是一个抽象类,定义了gridview","sliverpadding(","slivers:","sliver在前面讲过,有细片、薄片之意,在flutter中,sliver通常指可滚动组件子元素(就像一个个薄片一样)。但是在customscrollview中,需要粘起来的可滚动组件就是customscrollview的sliver了,如果直接将listview、gridview作为customscrollview是不行的,因为它们本身是可滚动组件而并不是sliver!因此,为了能让可滚动组件能和customscrollview配合使用,flutter提供了一些可滚动组件的sliver版,如sliverlist、slivergrid等。实际上sliver版的可滚动组件和非sliver版的可滚动组件最大的区别就是前者不包含滚动模型(子身不能再滚动),而后者包含滚动模型","sliver系列widget比较多,我们不会一一介绍,读者只需记住它的特点,需要时再去查看文档即可。上面之所以说“大多数“sliver都和可滚动组件对应,是由于还有一些如sliverpadding、sliverappbar等是和可滚动组件无关的,它们主要是为了结合customscrollview一起使用,这是因为customscrollview的子组件必须都是sliver。","smart'),","smile,","smith\",","smoke","snapshot)","snapshot.data;","snapshot会包含当前异步任务的状态信息及结果信息","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","spacer(","spacer({key","spacing:","spacing:主轴方向子widget的间距","specif","speed:","speed;","spite","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","stacktrace)","stacktrace);","stack、posit","stack可以有多个子元素,并且子元素可以堆叠,而align只能有一个子元素,不存在堆叠。","stack:","staggeranim","staggeranimation(","staggeranimation({","staggeranimation中定义了三个动画,分别是对container的height、color、padding属性设置的动画,然后通过interval来为每个动画指定在整个动画过程中的起始点和终点。下面我们来实现启动动画的路由:","staggerrout","star","start,","startangle:","startup","startup和profile选项。","star。而今天(2019年5月29日),已经有65k的star。经历了短短2年多的时间,flutt","state","state){","state:","state>","statefulel","statefulelement(this);","statefulwidget","statefulwidget({","statefulwidget生命周期如图3","statefulwidget类本身是不变的,但是state类中持有的状态在widget生命周期中可能会发生变化。","statelessel","statelesselement(this);","statelesselement)","statelesswidget","statelesswidget{","statelesswidget用于不需要维护状态的场景,它通常在build方法中通过嵌套其它widget来构建ui,在构建过程中会递归的构建其嵌套的widget。我们看一个简单的例子:","statelesswidget类,这也就意味着应用本身也是一个widget。","state中有两个常用属性:","state生命周期","state类","state类;","static","statu","sting","stoprecordingifneeded();","stops,","stops:","stops;","store,就必须注册apple开发者计划,有关详情读者可以自行了解。","str","str,","str.split(\"\")","str1","stream","stream,","stream.fromfutures([","stream.periodic(duration(seconds:","stream.setcompleter(completer);","stream.setcompleter(imagecompleter);","stream:","stream;","streambuild","streambuilder(","streambuilder({","streambuilder使用代码如下:","streamcontrol","streamcontroller();","streamlisten","streamlistener);","streamsink类提供了给数据源同步或异步添加事件的一般方法。","streams”中选择’dart’复选框,并执行你想测量的功能。","stream处于激活状态(流上已经有数据传递了),对于futurebuilder没有该状态。","strict","string","string){","stringbuff","stringbuffer();","strokecap.butt","strokecap.round","strokecapround","strokecapround,","strokecapround:","strokecapround;","strokewidth","strokewidth));","strokewidth,","strokewidth:","strokewidth;","structur","studio","studio(或intellij)有几个插件,可以将json文件转成model类,但插件质量参差不齐,甚至还有一些沾染上了抄袭风波,故笔者在此不做优先推荐,读者有兴趣可以自行了解。但是,我们还是要了解一下ide插件和json_model的优劣:","studio>tools>android>avd","studio。","studio不仅可以管理android","studio中打开您的flutter应用的android部分:","studio会自动提供有关库导入的建议选项。导入后该行代码将会显示为灰色,表示导入的库尚未使用。","studio创建一个flutter项目,然后运行它,并体验“热重载”。","studio后插件生效。","studio和v","studio安装sdk并创建项目。","studio安装向导”。这将安装最新的android","studio工具栏,如图1","studio或v","studio是基于intellij","studio的全量安装。android","studio的磁盘空间).","studio的磁盘空间).","studio的编辑器视图中查看pubspec.yaml时(图2","studio问题","studio,下载地址:https://developer.android.com/studio/index.html","studio,在此不再赘述。","studio,然后执行“android","studio,读者可以先自行下载并安装android","studio:file>new>new","style'),","style,","style:","style:正在编辑的文本样式。","subtitle,","subtitle:","subtitle;","sudo","suffixicon:","super(child);","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.notifylisteners();","super.oncreate(savedinstancestate)","super.oncreate(savedinstancestate);","super.reassemble();","supportedlocal","supportedlocales)","supportedlocales:","supportedlocales也接收一个locale数组,表示我们的应用支持的语言列表,在本例中我们的应用只支持美国英语和中文简体两种语言。","sweepgradient(","swift","switch","switch(","switch(_tabcontroller.index){","switchandcheckboxtestrout","switch和checkbox属性比较简单,读者可以查看api文档,它们都有一个activecolor属性,用于设置激活态的颜色。至于大小,到目前为止,checkbox的大小是固定的,无法自定义,而switch只能定义宽度,高度也是固定的。值得一提的是checkbox有一个属性trist","symmetric({","synccall)","synchronouscall)","synchronousfuture(","synchronousfuture(this);","system","system'","t","t)","t.join();","t;","t[1]);","tab","tab(text:","tab({","tabbar","tabbar(","tabbarview","tabbarview(","tabcontrol","tabcontroller(length:","table),这样应用程序才知道哪个名字与哪个路由组件相对应。其实注册路由表就是给路由起名字,路由表的定义如下:","tabs.length,","tabs.map((e)","tabs:","tab组件有三个可选参数,除了可以指定文字外,还可以指定tab菜单图标,或者直接自定义组件样式。tab组件定义如下:","tag:","tag=\"\\$\";","tapboxa","tapboxa({key","tapboxb","tapboxb(","tapboxb({key","tapboxc","tapboxc(","tapboxc({key","tapboxc将其_active状态导出到其父组件中,但在内部管理其_highlight状态。这个例子有两个状态对象_parentwidgetstate和_tapboxcstate。","tapgesturerecogn","tapgesturerecognizer();","target","target)","target?.visitancestorelements(visitancestor);","targetheight)","targetplatform","targettype)","targettype,","targetwidth,","target设置页面中,确保在","task()","team","template=new","template=packag","termin","test","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(\"$index\"),);","text(\"1秒内连续按两次返回键退出\"),","text(\"a\")),","text(\"app","text(\"b\")),","text(\"box","text(\"contents:","text(\"cupertino","text(\"error:","text(\"hello","text(\"hi\"),","text(\"i","text(\"increment\"),","text(\"login\",","text(\"new","text(\"normal\"),","text(\"open","text(\"press\"),","text(\"send","text(\"submit\"),","text(\"text\");","text(\"thi","text(\"websocket(内容回显)\"),","text(\"world\"),","text(\"xxx\");","text(\"xxx\"*100)","text(\"your","text(\"主题测试\")),","text(\"你好\",","text(\"你好世界\",","text(\"你好世界\",style:","text(\"删除\"),","text(\"原图\"),","text(\"发送\"),","text(\"取消\"),","text(\"同时删除子目录?\"),","text(\"对话框1\"),","text(\"对话框2\"),","text(\"左上角200*100范围内非文本区域点击\")),","text(\"总价:","text(\"您确定要删除当前文件吗?\"),","text(\"打开提示页\"),","text(\"提示\"),","text(\"显示底部菜单列表\"),","text(\"正在加载,请稍后...\"),","text(\"添加\"),","text(\"添加商品\"),","text(\"滚动控制\")),","text(\"登录\"),","text(\"移动焦点\"),","text(\"获取百度首页\"),","text(\"话框3(复选框可点击)\"),","text(\"详情\"),","text(\"请选择\")),","text(\"返回\"),","text(\"逆时针旋转1/5圈\"),","text(\"隐藏键盘\"),","text(\"顺时针旋转1/5圈\"),","text('$_counter'),","text('+1',),","text('a')),","text('active:","text('add","text('and","text('apart","text('business')),","text('demo'),","text('domest","text('dump","text('error:","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('stream已关闭');","text('when","text('中文简体'),","text('文件操作')),","text('没有stream');","text('点击了","text('等待数据...');","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(e.fit.tostring())","text(e[\"full_name\"]))","text(gm.cancel),","text(gm.language),","text(gm.login)),","text(gm.login),","text(gm.logout),","text(gm.logouttip),","text(gm.theme),","text(gm.yes),","text(gmlocalizations.of(context).home),","text(gmlocalizations.of(context).login),","text(gmlocalizations.of(context).theme),","text(icons,","text(sharedatawidget","text(snapshot.error.tostring());","text(snapshot.hasdata","text(text),","text(text,","text(title),","text(widget.act","text(widget.repo.forks_count.tostring().padright(paddingwidth)),","text(widget.repo.languag","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:表示水平方向子组件的布局顺序(是从左往右还是从右往左),默认为系统当前locale环境的文本方向(如中文、英语都是从左往右,而阿拉伯语是从右往左)。","texteditingcontrol","texteditingcontroller();","textfield","textfield(","textfield(focusnode:","textfield({","textfield用于文本输入,它提供了很多属性,我们先简单介绍一下主要属性的作用,然后通过几个示例来演示一下关键属性的用法。","textformfield(","textinputact","textinputaction,","textinputaction:键盘动作按钮图标(即回车键位图标),它是一个枚举值,有多个可选值,全部的取值列表读者可以查看api文档,下面是当值为textinputaction.search时,原生android系统下键盘样式如图3","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属性代表该文本片段的样式和内容。","text用于显示简单样式文本,它包含一些控制文本显示样式的一些属性,一个简单的例子如下:","text,第一个text","text:该组件可让您创建一个带格式的文本。","theme","theme(","theme(colorswatch","theme(data:","theme)","theme,","theme.of(context)","theme.of(context).copywith(","theme.of(context).dividercolor,","theme.of(context).primarycolor,","theme.of(context).primarycolor;","theme.of(context).texttheme.display1,","theme.of(context);","theme.of(context,","theme.primarycolor];","theme.primarycolordark","theme:","themechangerout","themechangeroute(),","themedata","themedata(","themedata({","themedata.copywith(","themedata.icontheme.copywith(","themedatatween(themedata(brightness.light","themedata用于保存是materi","thememodel","thememodel()),","thememodel,","thememodel.theme,","themetestrout","theme组件可以为materi","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.borderradius,","this.bottom,","this.builder,","this.centertitle,","this.child","this.child,","this.color,","this.colorblendmode,","this.colorbrightness,//按钮主题,默认是浅色主题","this.colors,","this.content,","this.contentpad","this.contenttextstyle,//","this.control","this.controller,","this.count);","this.crossaxisalign","this.cursorcolor,","this.cursorradius,","this.cursorwidth","this.data,","this.direct","this.direction,","this.disabledcolor,//按钮禁用时的背景颜色","this.disabledelev","this.disabledtextcolor,","this.duration,","this.elev","this.elevation,//","this.email);","this.fit","this.fit,//缩放模式","this.flex","this.foregroundpainter,","this.future,","this.height,","this.heightfactor,","this.highlightcolor,","this.highlightelev","this.icon,","this.imageprovider,","this.initialdata,","this.initvalue:","this.iscomplex","this.keepscrolloffset","this.key","this.layoutbuild","this.leading,","this.left,","this.linkstyle,","this.maintainst","this.margin,//容器外补白,不属于decoration的装饰范围","this.maxheight","this.maxwidth","this.minheight","this.minwidth","this.onchanged,","this.onchanged})","this.onnotification,","this.onpointercancel,//触摸事件取消回调","this.onpointerdown,","this.onpointermove,","this.onpointerup,//手指抬起回调","this.onpressed,","this.opaqu","this.overflow","this.padding,","this.painter,","this.parent);","this.parent;","this.physics,","this.radius,","this.repeat","this.revers","this.reverseduration,//","this.right,","this.runalign","this.runspac","this.scrolldirect","this.semanticlabel,","this.shape,","this.siz","this.spac","this.spe","this.splashcolor,","this.stops,","this.strokecapround","this.strokecapround:","this.strokewidth","this.strokewidth:","this.switchincurv","this.switchoutcurv","this.text,","this.textcolor,","this.textdirection,","this.title,","this.title,//","this.titlepadding,","this.titletextstyle,","this.title})","this.top,","this.tot","this.totalangl","this.transform,","this.transformhittest","this.transitionbuild","this.transitiondur","this.turn","this.valu","this.value,","this.verticaldirect","this.viewportbuilder,","this.width,","this.widthfactor,","this.willchang","this.y)","this;","thought","throw","thrown","ticker","tickercancel","tickerprovid","tickerproviderstatemixin","time)代码仍有差距。","time),执行效率和aot(ahead","timeline.finishsync();","timeline.startsync('interest","timeline页面,在”record","timer.run(()","times:'","times:',","times:'。","times:”,第二个text","timestamp","timestamp)","timestamp;","time)即","time)即“即时编译”。aot程序的典型代表是用c/c++开发的应用,它们必须在执行前编译成机器码,而jit的代表则非常多,如javascript、python等,事实上,所有脚本语言都支持jit模式。但需要注意的是jit和aot指的是程序运行方式,和编程语言并非强关联的,有些语言既可以以jit方式运行也可以以aot方式运行,如java、python,它们可以在第一次执行时编译成中间字节码、然后在之后执行时可以直接执行字节码,也许有人会说,中间字节码并非机器码,在程序执行时仍然需要动态将字节码转为机器码,是的,这没有错,不过通常我们区分是否为aot的标准就是看代码在执行之前是否需要编译,只要需要编译,无论其编译产物是字节码还是机器码,都属于aot。在此,读者不必纠结于概念,概念就是为了传达精神而发明的,只要读者能够理解其原理即可,得其神忘其形。","tiprout","tiproute(","tiproute(text:","tiproute({","tiproute实现代码:","titl","title,","title:","title:text(\"form","title;","todo","tojson()","toolchain","tools;","tools>android>avd","tooltip:","top,","top:","top:80.0,","topright","tostring()","tostringshort()","total","total)","total);","total,","total:","total;","totalangle,","totalangle:","totalangle;","totalpric","touch),此属性会更有意义,如果手机不支持,则始终为1。","tour,就开始动手写flutter了。","trace","tracecode:","trail","trailing:","transfer","transform(","transform(doubl","transform.rotate(","transform.rotate可以对子组件进行旋转变换,如:","transform.scale(","transform.scale(scale:","transform.scale可以对子组件进行缩小或放大,如:","transform.translate(","transform.translate接收一个offset参数,可以在绘制时沿x、y轴对子组件平移指定的距离。","transform:","transformhittests,","transformhittests:","transformhittests;","transformlay","transform可以在其子组件绘制时对其应用一些矩阵变换来实现一些特效。matrix4是一个4d矩阵,通过它我们可以实现各种矩阵操作,下面是一个例子:","transform的变换是应用在绘制阶段,而并不是应用在布局(layout)阶段,所以无论对子组件应用何种变化,其占用空间的大小和在屏幕上的位置都是固定不变的,因为这些是在布局阶段就确定的。下面我们具体说明:","transientcallbacks:用于存放一些临时回调,一般存放动画回调。可以通过schedulerbinding.instance.scheduleframecallback","transitionbuilder,","transitionbuilder:","transitionduration,","transitionduration:","transitionduration;","translation:","translucent:当点击组件透明区域时,可以对自身边界内及底部可视区域都进行命中测试,这意味着点击顶部组件透明区域时,顶部组件和底部组件都可以接收到事件,例如:","transport","tree。","tree。本节我们将重点介绍一下renderobject的作用。","tri","trigger","true","true)","true),","true).push(_dialogroute(","true);","true)?.devicepixelratio","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.animate(animation),","tween=tween(begin:","tween对象不存储任何状态,相反,它提供了evaluate(anim","tween构造函数需要begin和end两个参数。tween的唯一职责就是定义从输入范围到输出范围的映射。输入范围通常为[0.0,1.0],但这不是必须的,我们可以自定义需要的范围。","tween继承自animatable,而不是继承自animation,animatable中主要定义动画值的映射规则。","type","type)","type:","typeddatawithbytes:","typeddatawithfloat64:","typeddatawithint32:","typeddatawithint64:","typedef","typedoth","typedother.scale;","typedother.url","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系统和flutt","ui系统和操作系统交互的这一部分原理,现在需要说一些它对应用开发者定义的开发标准。其实在前面的章节中,我们已经对这个标准非常熟悉了,","ui系统来根据新的状态来重新构建ui。","ui系统的基石。最后我们在分析一下flutter应用启动和运行的整体过程。","ui组件库。material是一种标准的移动端和web端的视觉设计语言,","ui绘制区域的大小","unauthozied给客户端,并且在响应header中添加一个","unbound","unconstrainedbox","unconstrainedbox(","unconstrainedbox不会对子组件产生任何限制,它允许其子组件按照其本身大小绘制。一般情况下,我们会很少直接使用此组件,但在\"去除\"多重限制的时候也许会有帮助,我们看下下面的代码:","underlineinputborder(","unmodifiablelistview","unmodifiablelistview(_items);","unreach","unzip","updat","update()","updatebadge()","updateshouldnotify(inheritedprovid","updateshouldnotify(sharedatawidget","updatetext(\"doubletap\"),","updatetext(\"longpress\"),","updatetext(\"tap\"),//点击","updatetext(str","upgrad","uploadfileinfo(new","upper=true]","upperbound:","uri","uri.base.resolve(key.url);","uri.parse(\"https://www.baidu.com\"));","uri=uri(scheme:","url","url)","url,","url:","url_launcher:","urllauncherplugin类。","url链接样式","us","usb调试","user","user();","user(this.name,","user(us","user)","user.dart","user.fromjson(map","user.fromjson(r.data);","user.fromjson(usermap);","user.g.dart","user;","userag","userinfo","userinfo);","userinfo){","usermap","usermodel","usermodel()),","usermodel,","usermodel.us","username,","user{","user实例","v","v)","v.trim().isnotempti","v8的javascript引擎在内存分配上也已经做的很好,事实上dart开发团队的很多成员都是来自chrome团队的,所以在内存分配上dart并不能作为超越javascript的优势,而对于flutter来说,它需要这样的特性,而dart也正好满足而已。","v;","val","validator,","validator:","valu","value)","value);","value,","value.islogin","value.user.login","value:","value;","valuechang","valuecolor,","valuecolor:","valuekey(_count),","valuekey(repo.id));","value:value表示当前的进度,取值范围为[0,1];如果value为null时则指示器会执行一个循环动画(模糊进度);当value不为null时,指示器为一个具体进度的进度条。","var","vary:","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","visitancestor(el","visitancestor会判断每一个遍历到的父级widget是否是notificationlistener,如果不是,则返回true继续向上遍历,如果是,则调用notificationlistener的_dispatch方法,我们看看_dispatch方法的源码:","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(目前只停留在lambda表达式),而dart目前真正的不足是生态,但笔者相信,随着flutter的逐渐火热,会回过头来反推dart生态加速发展,对于dart来说,现在需要的是时间。","vm,如dart","void","voidcallback","vs","vsync:","waiting,","walk()","warn","warning:","was...\",","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","whenev","widget","widget({","widget)","widget.act","widget.build(this);","widget.channel.stream,","widget.child,","widget.data,","widget.data.addlistener(update);","widget.data.removelistener(update);","widget.imageprovider.resolve(createlocalimageconfiguration(context));","widget.onchanged(!widget.active);","widget.onchanged(v);","widget.repo.descript","widget.repo.description,","widget.repo.fork","widget.repo.full_nam","widget.repo.name,","widget.repo.open_issues_count","widget.repo.owner.avatar_url,","widget.repo.owner.login,","widget.repo.stargazers_count","widget.speed??200),","widget.turns)","widget.turns,","widget.turns;","widget.value;","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,都带有在其设计规范中定义的标准动画效果(但也可以自定义这些效果)。本章将详细介绍flutter的动画系统,并会通过几个小实例来演示,以帮助开发者迅速理解并掌握动画的开发流程与原理。","widget、用于app主题数据传递的theme等等,而原生开发中的控件通常只是指ui元素。在后面的内容中,我们在描述ui元素时可能会用到“控件”、“组件”这样的概念,读者心里需要知道他们就是widget,只是在不同场景的不同表述而已。由于flutter主要就是用于构建用户界面的,所以,在大多数时候,读者可以认为widget就是一个控件,不必纠结于概念。","widget。","widget。rawimage最终会通过renderimage来将图片绘制在屏幕上。如果继续跟进renderimage类,我们会发现renderimage的paint","widget上指定渲染图像的宽度和高度,那么imag","widget与el","widget中正是通过它来监听图片加载状态的(我们将在下面介绍imag","widget中,state对象也和statefulelement具有对应关系(一对一),所以在flutter的sdk文档中,可以经常看到“从树中移除state对象”或“插入state对象到树中”这样的描述。其实,无论哪种描述,其意思都是在描述“一棵构成用户界面的节点元素的树”,读者不必纠结于这些概念,还是那句话“得其神,忘其形”,因此,本书中出现的各种“树”,如果没有特别说明,读者都可抽象的认为它是“一棵构成用户界面的节点元素的树”。","widget主要接口","widget会以矩形的中心点作为坐标原点,即alignment(0.0,","widget创建的(如creator字段所描述的),","widget可以拥有状态,这些状态在widget生命周期中是可以变的,而stateless","widget同时插入到widget树的多个位置时,flutt","widget在渲染树的层中创建了一个renderrepaintboundary。这用于减少需要重绘的需求量。","widget实际上就是element的配置数据,widget树实际上是一个配置树,而真正的ui渲染树是由element构成;不过,由于element是通过widget生成的,所以它们之间有对应关系,在大多数场景,我们可以宽泛地认为widget树就是指ui控件树或ui渲染树。","widget将占用与主资源相同的屏幕空间大小。","widget层与engine的桥梁。","widget库","widget我们将在第三章”widget简介“一节自习介绍,现在我们只需简单认为有状态的组件(st","widget是不可变的。","widget有一个必选的image参数,它对应一个imageprovider。下面我们分别演示一下如何从asset和网络加载图片。","widget本身。本例中虽然是指定了居中对齐,但因为text文本内容宽度不足一行,text的宽度和文本内容长度相等,那么这时指定对齐方式是没有意义的,只有text宽度大于文本内容长度时指定此属性才有意义。下面我们指定一个较长的字符串:","widget来指定isrepaintboundari","widget来构建,语义话就不是很明确;如果我们能使用一个具有明确语义的widget,比如就叫consumer,这样最终的代码语义将会很明确,只要看到consumer,我们就知道它是依赖某个跨组件或全局的状态。","widget树中子widget可以通过发送通知(notification)与父(包括祖先)widget通信。父级组件可以通过notificationlistener组件来监听自己关注的通知,这种通信方式类似于web开发中浏览器的事件冒泡,我们在flutter中沿用“冒泡”这个术语,关于通知冒泡我们将在后面”事件处理与通知“一章中详细介绍。","widget树对应的element树。如果el","widget树的叶子节点,用于没有子节点的widget,通常基础组件都属于这一类,如text、image。","widget的一个实现细节","widget的源码已经没必要在花费篇章去介绍了,读者有兴趣可以自行去阅读。","widget的生命周期中可能会被多次调用。例如,当一个st","widget相关的状态,它在st","widget简介","widget管理子widget状态。","widget管理自己的状态。","widget管理自身状态","widget类继承自diagnosticabletree,diagnosticabletree即“诊断树”,主要作用是提供调试信息。","widget至少由两个类组成:","widget重新build时,是否调用load重新加载locale资源.","widget)","widget)。关于st","widget)有两点不同:","widget)滑动时就会分发滚动通知(scrollnotification),而scrollbar正是通过监听scrollnotification来确定滚动条位置的。","widget)用于显示列表和长布局。在本章中,我们先介绍一下常用的可滚动组件(如listview、gridview等),然后介绍一下scrollcontroller。可滚动组件都直接或间接包含一个scrollable组件,因此它们包括一些共同的属性,为了避免重复介绍,我们在此统一介绍一下:","widget,则可以使用debugpaintlayerbordersen","widget,它是flukit","widget,它表示与该state实例关联的widget实例,由flutt","widget,实现如下:","widget;我们将在后面章节中介绍。","width","width),","width,","width,//容器的宽度","width:","width;","widthfactor,","widthfactor:","widthfactor和heightfactor是用于确定align","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应用。","withtre","withtree,","wordpair","wordpair.random();","work","workspace.","world","world!","world!\"),","world!\";","world!\",然后我们在then中接收异步结果并打印结果,代码如下:","world\")","world\"),","world\");","world\")没有指定定位,并且alignment值为alignment.center,所以它会居中显示。第二个子文本组件text(\"i","world\",","world\",style:","world\";","world”。","wrap","wrap(","wrap({","wrapalignment.center,","wrapalignment.start,","wrapcrossalignment.start,","www","x","x)","x509certificate是证书的标准格式,包含了证书除私钥外所有信息,读者可以自行查阅文档。另外,上面的示例没有校验host,是因为只要服务器返回的证书内容和本地的保存一致就已经能证明是我们的服务器了(而不是中间人),host验证通常是为了防止证书和域名不匹配。","x86","x86_64","x86。","x;","xcode","xcodebuild","y","yaml","yaml是一种直观、可读性高并且容易被人类阅读的文件格式,它和xml或json相比,它语法简单并非常容易解析,所以yaml常用于配置文件,flutter也是用yaml文件作为其配置文件。flutter项目默认的配置文件是pubspec.yaml,我们看一个简单的示例:","yes;","you'),","yxxfisdjfisjfgijijg","zero:","zone","zone\";","zone,","zone.\");","zone.current.fork(...);","zonedeleg","zonespecif","zonespecification(","zonespecification,","zonespecification:","zonespecification:zone的一些配置,可以自定义一些代码行为,比如拦截日志输出行为等,举个例子:","zonevalues,","zonevalues:","zone中发生未捕获异常(无论同步还是异步)时都会调用开发者提供的回调,如:","zone内部发生的错误是不会跨越当前error","zone的边界的,如果想跨越error","zone边界去捕获异常,可以通过共同的“源”zone来捕获,如:","zone,该error","z沿垂直方向显示的例子,由于垂直方向空间会超过屏幕视口高度,所以我们使用singlechildscrollview:","{","{\"context\":","{\"range\":","{'howmany':","{...}","{bool","{howmany}","{map","{}","{}));","{}),","{});","{},","{};","|","|api名称","|s|","||","}","})","}));","}),","}).catcherror((e){","}).catcherror(handleerror);","}).then((data)","}).then((data){","}).then((e){","}).then((userinfo){","}).tolist()","}).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:","“唯有深入,方能浅出”。我非常认同这句话,对于一门技术,只有了解的深入,才能用最浅显、通俗的话语描述出。我在写作本书时,深入浅出就是一个主要目标。所以,本书的目标不仅是想告诉读者如何使用flutter,而且也非常关注各个知识点的底层实现以及设计思想。从本书章节划分上来看,入门篇为“浅出”,进阶篇则是“深入”。另外由于pc客户端开发、移动开发、web开发这些经验我都有,而flutter本质上是一个ui系统,而ui系统的设计和实现在”大前端“下有很多相通之处,所以在本书中的一些知识点我也会对比一些其他ui系统(主要是android或web)相应的实现,便于有相关开发经验的读者对比理解。","“平台特定”或“特定平台”中的平台指的就是flutter应用程序运行的平台,如android或ios。我们知道一个完整的flutter应用程序实际上包括原生代码和flutter代码两部分。由于flutter本身只是一个ui系统,它本身是无法提供一些系统能力,比如使用蓝牙、相机、gps等,因此要在flutt","“控制面板>用户帐户>用户帐户>更改我的环境变量”","“提前编译”;而解释执行的则是一句一句边翻译边运行,通常将这种类型称为jit(just","“组合”是自定义组件最简单的方法,在任何需要自定义组件的场景下,我们都应该优先考虑是否能够通过组合来实现。而自绘和通过实现renderobject的方法本质上是一样的,都需要开发者调用canva","”","”下入上出“怎么办?当然,我们可以分别修改上面的代码,但是这样每种动画都得单独定义一个”transition“,这很麻烦。本节将分装一个通用的slidetransitionx","•","…/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.","…},用于指定命名参数。例如:","…会输出这样的内容(精确的细节会根据框架的版本、设备的大小等等而变化):","←","→","⋯","│","└animatedtheme(duration:","└banner()","└checkedmodebanner()","└custompaint(renderobject:","└defaulttextstyle(inherit:","└localequery(null)","└materialapp(state:","└mediaquery(mediaquerydata(size:","└scrollconfiguration()","└semanticsnode(2;","└semanticsnode(3;","└semanticsnode(4;","└theme(themedata(brightness.light","└title(color:","└widgetsapp([globalobjectkey","└─child","└─child:","└──","├semanticsnode(1;","├─child","├──","▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀","▄▄▄▄▄▄▄▄","✔️","✗","、","、email","、indicatorcolor等也会受primaryswatch影响。","、layoutchangednotification等,flutter正是通过这种通知机制来使父元素可以在一些特定时机来做一些事情。","、right、","、window.ontextscalefactorchang","、反向播放","。","。x、y的值从","。也就是说,根据选择的曲线,curvedanimation的输出可以具有比输入更大的范围。例如,curves.elasticin等弹性曲线会生成大于或小于默认范围的值。","。在其build方法中分别构建了一个switch和checkbox,初始状态都为选中状态,当用户点击时,会将状态置反,然后回调用setstate()通知flutt","。如果tristate值为true时,value的值会增加一个状态null,读者可以自行了解。","。有两种主要方法允许从asset","。要测试软件包,请在test目录中添加unit","。该stream类是dart:async包中的一个基础类。它提供了一种方法来监听来自数据源的异步事件。与future返回单个异步响应不同,stream类可以随着时间推移传递很多事件。该streambuild","。详细说明可在android文档中找到。","。默认情况下,listview的会在滚动方向尽可能多的占用空间。当listview在一个无边界(滚动方向上)的容器中时,shrinkwrap必须为true。","一个","一个animationcontroller控制所有的动画对象。","一个app在实际开发中往往会依赖很多包,而这些包通常都有交叉依赖关系、版本依赖等,如果由开发者手动来管理应用中的依赖包将会非常麻烦。因此,各种开发生态或编程语言官方通常都会提供一些包管理工具,比如在android提供了gradle来管理依赖,ios用cocoapods或carthage来管理依赖,node中通过npm等。而在flutter开发中也有自己的包管理工具。本节我们主要介绍一下flutter如何使用配置文件pubspec.yaml(位于项目根目录)来管理第三方依赖包。","一个isrepaintboundari","一个pubspec.yaml文件:声明了package的名称、版本、作者等的元数据文件。","一个scrollcontroller虽然可以对应多个可滚动组件,但是有一些操作,如读取滚动位置offset,则需要一对一!但是我们仍然可以在一对多的情况下,通过其它方法读取滚动位置,举个例子,假设一个scrollcontroller同时被两个可滚动组件使用,那么我们可以通过如下方式分别读取他们的滚动位置:","一个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中声明。","一个完整的app,可能会涉及很多网络请求,为了便于管理、收敛请求入口,工程上最好的作法就是将所有网络请求放到同一个源码文件中。由于我们的接口都是请求的github","一个完整的主题theme包括很多选项,这些选项在themedata中定义。本实例为了简单起见,我们只配置主题颜色。我们提供几种默认预定义的主题色供用户选择,用户点击一种色块后则更新主题。主题选择页的实现代码如下:","一个完整的数路由页可能会包含导航栏、抽屉菜单(drawer)以及底部tab导航菜单等。如果每个路由页面都需要开发者自己手动去实现这些,这会是一件非常麻烦且无聊的事。幸运的是,flutt","一个对象是否可以响应事件,取决于其对命中测试的返回,当发生用户事件时,会从根节点(renderview)开始进行命中测试,下面是renderview的hittest()源码:","一个导航栏","一个导航栏骨架","一个建议是,如果所有请求都需要认证,那么应该在httpclient初始化时就调用addcredentials()来添加全局凭证,而不是去动态添加。","一个简单示例","一个通用的inheritedwidget,保存任需要跨组件共享的状态","一些工具类,如通用方法类、网络接口类、保存全局变量的静态类等","一图胜万言!","一定要注意,renderobject的parentdata","一旦你的flutter应用程序有一个文件位置的引用,你可以使用dart:ioapi来执行对文件系统的读/写操作。有关使用dart处理文件和目录的详细内容可以参考dart语言文档,下面我们看一个简单的例子。","一旦实现了一个包,我们可以在pub上发布它","一次完整的手势过程是指用户手指按下到抬起的整个过程,期间,用户按下手指后可能会移动,也可能不会移动。gesturedetector对于拖动和滑动事件是没有区分的,他们本质上是一样的。gesturedetector会将要监听的组件的原点(左上角)作为本次手势的原点,当用户在监听的组件上按下手指时,手势识别就会开始。下面我们看一个拖动圆形字母a的示例:","一次性生成","一次绘制过程,我们称其为一帧。flutter","一章。flutter还有一种通用的获取state对象的方法——通过globalkey来获取!","一般","一般来说,子widget很少会重写此方法,因为在依赖改变后framework也都会调用build()方法。但是,如果你需要在依赖改变后执行一些昂贵的操作,比如网络请求,这时最好的方式就是在此方法中执行,这样可以避免每次build()都执行这些昂贵操作。","一般格式为","上例中的滚动通知如scrollstartnotification、scrollupdatenotification等都是继承自scrollnotification类,不同类型的通知子类会包含不同的信息,比如scrollupdatenotification有一个scrolldelta属性,它记录了移动的位移,其它通知属性读者可以自己查看sdk文档。","上例中,只有点击文本内容区域才会触发点击事件,因为","上例中,当注释掉最后一行代码后,在左上角200*100范围内非文本区域点击时(顶部组件透明区域),控制台只会打印“down0”,也就是说顶部组件没有接收到事件,而只有底部接收到了。当放开注释后,再点击时顶部和底部都会接收到事件,此时会打印:","上例中,我们通过notificationlistener来监听子listview的滚动通知的,notificationlistener定义如下:","上列中两个notificationlistener进行了嵌套,子notificationlistener的onnotification回调返回了false,表示不阻止冒泡,所以父notificationlistener仍然会受到通知,所以控制台会打印出通知信息;如果将子notificationlistener的onnotification回调的返回值改为true,则父notificationlistener便不会再打印通知了,因为子notificationlistener已经终止通知冒泡了。","上图中“0”从左侧滑出,而\"1\"从右侧滑入。可以看到,我们通过这种巧妙的方式实现了类似路由进场切换的动画,实际上flutter路由切换也正是通过animatedswitcher来实现的。","上图中“1”从底部滑出,而\"2\"从顶部滑入。读者可以尝试给slidetransitionx的direction取不同的值来查看运行效果。","上图是第一次点击“+1”按钮后切换动画的一帧,此时“0”正在逐渐缩小,而“1”正在“0”的中间,正在逐渐放大。","上手安卓最常遇见的问题之一,错误如图1","上文已经提到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变量,什么是","上面主要结合源码,探索了imageprovider的主要功能和原理,如果要用一句话来总结imageprovider功能,那么应该是:加载图片数据并进行缓存、解码。在此再次提醒读者,flutter的源码是非常好的第一手资料,建议读者多多探索,另外,在阅读源码学西的同时一定要有总结,这样才不至于在源码中迷失。","上面介绍的是非命名路由的传值方式,命名路由的传值方式会有所不同,我们会在下面介绍命名路由时介绍。","上面介绍的这些依赖方式是flutter开发中常用的,但还有一些其它依赖方式,完整的内容读者可以自行查看:https://www.dartlang.org/tools/pub/depend","上面代码a处就是处理缓存的主要代码,这里的paintingbinding.instance.imagecach","上面代码中addlistener()函数调用了setstate(),所以每次动画生成一个新的数字时,当前帧被标记为脏(dirty),这会导致widget的build()方法再次被调用,而在build()中,改变image的宽高,因为它的高度和宽度现在使用的是animation.valu","上面代码中build方法返回的仍然是一个widget,这是由于flutter框架中已经有了widget这一层,并且组件库都已经是以widget的形式提供了,如果在flutter框架中所有组件都像示例的homeview一样以element形式提供,那么就可以用纯element来构建ui了homeview的build方法返回值类型就可以是element了。","上面代码中我们在builder中根据当前异步任务状态connectionstate来返回不同的widget。connectionstate是一个枚举类,定义如下:","上面代码中我们用到了如下组件:","上面代码中,主页的标题(title)我们是通过gmlocalizations.of(context).home来获得,gmlocalizations是我们提供的一个localizations类,用于支持多语言,因此当app语言改变时,凡是使用gmlocalizations动态获取的文案都会是相应语言的文案,这在前面”国际化“一章中已经介绍过,读者可以前翻查阅。","上面代码中,如果没有中间的unconstrainedbox,那么根据上面所述的多重限制规则,那么最终将显示一个90×100的红色框。但是由于unconstrainedbox","上面代码中,我们每点一次按钮就会分发一个mynotification类型的通知,我们在widget根上监听通知,收到通知后我们将通知通过text显示在屏幕上。","上面代码中,我们通过textspan实现了一个基础文本片段和一个链接片段,然后通过text.rich","上面代码中,我们首先设置了一个默认的文本样式,即字体为20像素(逻辑像素)、颜色为红色。然后通过defaulttextstyl","上面代码中,由于需要维护switch和checkbox的选中状态,所以switchandcheckboxtestroute继承自statefulwidget","上面代码中:","上面代码执行后截取了其中的两帧,效果如图9","上面代码有两点需要注意:","上面代码比较简单,不再赘述,需要说明的是,本示例只是为了演示文件读写,而在实际开发中,如果要存储一些简单的数据,使用shared_preferences插件会比较简单。","上面代码注释很清楚:如果用户未登录,显示登录按钮;如果用户已登录,则展示项目列表。这里项目列表使用了infinitelistview","上面代码流程如下:","上面代码运行后便只会在滚动结束时在控制台打印出通知的信息。","上面代码运行后可以实现一样的效果。现在我们总结一下:alertdialog、simpledialog以及dialog是material组件库提供的三种对话框,旨在帮助开发者快速构建出符合material设计规范的对话框,但读者完全可以自定义对话框样式,因此,我们仍然可以实现各种样式的对话框,这样即带来了易用性,又有很强的扩展性。","上面代码运行后,demolocalizations.of(context).titl","上面代码运行后,效果如图5","上面代码逻辑很简单,唯一需要注意的是我们在build(…)方法里面定义了_buildlanguageitem(…)方法,它和在languageroute类中定义该方法的区别就在于:在build(…)内定义的方法可以共享build(...)方法上下文中的变量,本例中是共享了localemodel。当然,如果_buildlanguageitem(…)的实现复杂一些的话不建议这样做,此时最好是将其作为languageroute类的方法。该页面运行效果如图15","上面代码首先创建了一个tabcontrol","上面假定包位于git存储库的根目录中。如果不是这种情况,可以使用path参数指定相对位置,例如:","上面参数分为两组:第一组是可滚动组件的公共参数,本章第一节中已经介绍过,不再赘述;第二组是listview各个构造函数(listview有多个构造函数)的共同参数,我们重点来看看这些参数,:","上面只是pointerevent一些常用属性,除了这些它还有很多属性,读者可以查看api文档。","上面只是themedata的一小部分属性,完整的数据定义读者可以查看sdk。上面属性中需要说明的是primaryswatch,它是主题颜色的一个\"样本色\",通过这个样本色可以在一些条件下生成一些其它的属性,例如,如果没有指定primarycolor,并且当前主题不是深色主题,那么primarycolor就会默认为primaryswatch指定的颜色,还有一些相似的属性如accentcolor","上面我们介绍的gridview都需要一个widget数组作为其子元素,这些方式都会提前将所有子widget都构建好,所以只适用于子widget数量比较少时,当子widget比较多时,我们可以通过gridview.builder来动态创建子widget。gridview.build","上面我们有父子两个constrainedbox,他们的限制条件不同,运行后效果如图5","上面的build方法中的代码可以改为:","上面的代码中有一个迷惑的问题是,child看起来像被指定了两次。但实际发生的事情是:将外部引用child传递给animatedbuilder后animatedbuilder再将其传递给匿名构造器,","上面的代码中,我们将build()方法中依赖sharedatawidget的代码注释掉了,然后返回一个固定text,这样一来,当点击increment按钮后,sharedatawidget的data虽然发生变化,但由于__testwidgetstate并未依赖sharedatawidget,所以__testwidgetstate的didchangedependencies方法不会被调用。其实,这个机制很好理解,因为在数据发生变化时只对使用该数据的widget更新是合理并且性能友好的。","上面的代码依次会输出:","上面的代码在javascript是没有问题的,前端开发者需要注意一下,之所以有此差异是因为dart本身是一个强类型语言,任何变量都是有确定类型的,在dart中,当用var声明一个变量后,dart在编译时会根据第一次赋值数据的类型来推断其类型,编译结束后其类型就已经被确定,而javascript是纯粹的弱类型脚本语言,var只是变量的声明方式而已。","上面的代码有什么问题呢?我们前面说过在animatedswitcher的child切换时会分别对新child执行正向动画(forward),而对旧child执行反向动画(reverse),所以真正的效果便是:新child确实从屏幕右侧平移进入了,但旧child却会从屏幕右侧(而不是左侧)退出。其实也很容易理解,因为在没有特殊处理的情况下同一个动画的正向和逆向正好是相反(对称)的。","上面的代码运行后复选框也可以正常选中。可以看到,我们只用了一行代码便解决了这个问题!当然上面的代码并不是最优,因为我们只需要更新复选框的状态,而此时的context我们用的是对话框的根context,所以会导致整个对话框ui组件全部rebuild,因此最好的作法是将context的“范围”缩小,也就是说只将checkbox的element标记为dirty,优化后的代码为:","上面的代码还有一个性能问题,就在构建”添加按钮“的代码处:","上面的代码,实现了一个回显字符串的echo","上面的例子中并没有指定curve,所以放大的过程是线性的(匀速),下面我们指定一个curve,来实现一个类似于弹簧效果的动画过程,我们只需要将initstate中的代码改为下面这样即可:","上面的例子中手动指定了应用locale为美国英语,指定后即使设备当前语言是中文简体,应用中的locale也依然是美国英语。如果locale为null,则表示flutter未能获取到设备的locale信息,所以我们在使用locale之前一定要先判空。","上面的例子比较简单,不再赘述。我们现在思考一个问题,假如我们想通过websocket传输二进制数据应该怎么做(比如要从服务器接收一张图片)?我们发现streambuilder和stream都没有指定接收类型的参数,并且在创建websocket链接时也没有相应的配置,貌似没有什么办法……其实很简单,要接收二进制数据仍然使用streambuilder,因为websocket中所有发送的数据使用帧的形式发送,而帧是有固定格式,每一个帧的数据类型都可以通过opcode字段指定,它可以指定当前帧是文本类型还是二进制类型(还有其它类型),所以客户端在收到帧时就已经知道了其数据类型,所以flutter完全可以在收到数据后解析出正确的类型,所以就无需开发者去关心,当服务器传输的数据是指定为二进制时,streambuilder的snapshot.data的类型就是list,是文本时,则为string。","上面的方法有一个最大的问题就是要为每一个json写模板,这是比较枯燥的。如果有一个工具可以直接根据json文本生成模板,那我们就能彻底解放双手了。笔者自己用dart实现了一个脚本,它可以自动生成模板,并直接将json转为model类,下面我们看看怎么做:","上面的方法虽然能解决对话框状态更新的问题,但是有一个明显的缺点——对话框上所有需要会改变状态的组件都得单独封装在一个在内部管理状态statefulwidget中,这样不仅麻烦,而且复用性不大。因此,我们来想想能不能找到一种更简单的方法?要确认这个问题,我们就得先想想ui是怎么更新的,我们知道在调用setstate方法后statefulwidget就会重新build,那setstate方法做了什么呢?我们能不能从中找到方法?顺着这个思路,我们就得看一下setstate的核心源码:","上面的示例我们实现了”左出右入“的动画,那如果要实现”右入左出“、”上入下出“或者","上面的资源都是flutter应用中的,这些资源只有在flutter框架运行之后才能使用,如果要给我们的应用设置app图标或者添加启动图,那我们必须使用特定平台的assets。","上面示例代码注释比较详细,在此不再赘述。但值得一提的是最后的两个row!它们通过align设置widthfactor为0.5后,图片的实际宽度等于60×0.5,即原宽度一半,但此时图片溢出部分依然会显示,所以第一个“你好世界”会和图片的另一部分重合,为了剪裁掉溢出部分,我们在第二个row中通过cliprect将溢出部分剪裁掉了。","上面示例演示了javascript调用原生api的过程,同样的,一般来说优秀的jsbridge也支持原生调用javascript,dsbridge也是支持的,如果您感兴趣,可以去github","上面表格中的的字段在color类中都有对应的属性,而color中的众多方法也就是操作这些属性的,由于大多比较简单,读者可以查看类定义了解。在此我们主要讨论两点:色值转换和亮度。","上面说过,我们可以通过animation的addstatuslistener()方法来添加动画状态改变监听器。flutter中,有四种动画状态,在animationstatus枚举类中定义,下面我们逐个说明:","上面这个小例子的输出结果如下所示:","下一节我们将使用dio实现一个分块下载器。","下滑线浅灰色,宽度1像素","下载包。在android","下载图片。","下载并安装","下载文件:","下载逻辑比较简单:通过httpclient从网上下载图片,另外下载请求会设置一些自定义的header,开发者可以通过networkimage的headers命名参数来传递。","下选择了你的开发团队。当你选择一个团队时,xcode会创建并下载开发证书,向你的设备注册你的帐户,并创建和下载配置文件(如果需要)。","下面代码在dart中会报错,因为变量t的类型已经确定为string,","下面我们主要介绍一下material库中的alertdialog组件,它的构造函数定义如下:","下面我们介绍一下materialpagerout","下面我们介绍一下常用的组件。","下面我们以android为例,实现一个获取手机型号的原生api供javascript调用。在这个示例中将展示javascript调用原生api的流程,读者可以直观的感受一下调用流程。我们选用笔者在github上开源的dsbridge作为jsbridge来进行通信。dsbridge是一个支持同步调用的跨平台的jsbridge,此示例中只使用其同步调用功能。","下面我们使用dio的download","下面我们在lib/i10n目录下新建一个“localization_intl.dart”的文件,文件内容如下:","下面我们来分别介绍一下它们。","下面我们来测试一下,为了尽可能多的展示gradientcircularprogressindicator的不同外观和用途,这个示例代码会比较长,并且添加了动画,建议读者将此示例运行起来观看实际效果,我们先看看其中的一帧动画的截图:","下面我们来看看各个回调函数:","下面我们测试一下turnbox的功能,测试代码如下:","下面我们演示一下最基础的动画实现方式:","下面我们看一下之前“计数器”示例应用程序的inheritedwidget版本。需要说明的是,本示例主要是为了演示inheritedwidget的功能特性,并不是计数器的推荐实现方式。","下面我们看一下完整实现:","下面我们看一个colortween将动画输入范围映射为两种颜色值之间过渡输出的例子:","下面我们看一个例子,实现一个柱状图增长的动画:","下面我们看一个例子:","下面我们看一个例子:奇数行添加一条蓝色下划线,偶数行添加一条绿色下划线。","下面我们看一个列子:实现一个计数器,然后再每一次自增的过程中,旧数字执行缩小动画隐藏,新数字执行放大动画显示,代码如下:","下面我们看一个完整的例子:","下面我们看一个弹出一个有30个列表项的对话框示例,运行效果如图7","下面我们看看imagecache类定义:","下面我们看看repaintboundary的原理,renderobject有一个isrepaintboundary属性,该属性决定这个renderobject重绘时是否独立于其父元素,如果该属性值为tru","下面我们看看statefulwidget的类定义:","下面我们通过“bottom”属性来添加一个导航栏底部tab按钮组,将要实现的效果如图5","下面我们通过一个五子棋游戏中棋盘和棋子的绘制来演示自绘ui的过程,首先我们看一下我们的目标效果,如图10","下面我们通过一个获取电池电量的插件来介绍一下flutter插件的开发流程。该插件中我们在dart中通过getbatterylevel","下面我将带领读者一步步来开发一个dart","下面是wrap的定义:","下面是一个不带可选参数调用这个函数的例子:","下面是一个将大写字母a","下面是一个监听可滚动组件滚动通知的例子:","下面是弹出对话框的代码:","下面是打开新路由tiproute的代码:","下面是拦截应用中所有调用print输出日志的行为。","下面是整体的流程:","下面是用第三个参数调用这个函数的例子:","下面是缓存处理的逻辑","下面测试一下myimage:","下面的代码使url_launcher插件的api在hello包中是可用的:","下面的例子将使用gesturedetector来识别点击事件,关于该gesturedetector的详细内容我们将在后面“事件处理”一章中介绍。","下面的示例主要展示了edgeinsets的不同用法,比较简单,源码如下:","下面看一个例子:","下面看一个示例子:","下面调整的角度的计算公式是通过数学几何知识得出,读者有兴趣可以研究一下为什么是这样","下面(图3","下面,我们监听listview的滚动通知,然后显示当前滚动进度百分比:","下面,我们逐一解释一下各个字段的意义:","下,接下来我们通过一个例子来演示一下如何添加、下载并使用第三方包。","不同的pagestoragekey,需要不同的值,这样才可以为不同可滚动组件保存其滚动位置。","不同的是,它可以接收多个异步操作的结果(成功或失败)。","不同的是,它可以接收多个异步操作的结果,它常用于会多次读取数据的异步任务场景,如网络内容下载、文件读写等。streambuilder正是用于配合stream来展示流上事件(数据)变化的ui组件。下面看一下streambuilder的默认构造函数:","不同,在","不是很好,只有0.1.1版本.","不用显式的去添加帧监听器,然后再调用setstate()","不能自适应子组件大小,必须通过指定父容器大小或实现testflowdelegate的getsize返回固定大小。","不要按“停止”按钮;","不足:","不过,flutter官方建议使用android","与c/c++、java类似,flutt","专门用于构建列表项ui。repoitem","业务需求变化快,开发成本变大;由于原生开发一般都要维护android、ios两个开发团队,版本迭代时,无论人力成本,还是测试成本都会变大。","两个方法的源码,可以发现前者主要是执行了transientcallbacks队列,而后者执行了","两个方法,在看这两个方法之前我们首先了解一下frame","两种方式相比,onchanged是专门用于监听文本变化,而controller的功能却多一些,除了能监听文本变化外,它还可以设置默认值、选择文本,下面我们看一个例子:","中","中,","中inheritedwidget发生了变化,那么此时inheritedwidget的子widget的didchangedependencies()回调都会被调用。典型的场景是当系统语言locale或应用主题改变时,flutt","中关联的widget","中包含了一个inheritedwidget,然后在之后的build()","中就确定了,在后面的","中文简体","中没有提供去除背景的设置,假若我们需要去除背景,则可以通过将背景颜色设置为全透明来实现。对应上面的代码,便是将","中间的slivergrid:它用sliverpadding包裹以给slivergrid添加补白。slivergrid是一个两列,宽高比为4的网格,它有20个子组件。","中,勾选上","中,它被调用后会立即进行一次绘制(而不是等待\"vsync\"","中,有个size属性用来保存控件的宽和高。renderbox的layout是通过在组件树中从上往下传递boxconstraints对象的实现的。boxconstraints对象可以限制子节点的最大和最小宽高,子节点必须遵守父节点给定的限制条件。","临时目录:","为","为2也是可以达到同样的效果:","为flutter应用的首页,它也是一个widget。","为javascript提供运行环境。","为materi","为tapboxb","为true,则该renderobject拥有layer,直接绘制","为了优化这两个问题,我们可以封装一个consum","为了使用方便,我们定义一个myicons类,功能和icons类一样:将字体文件中的所有图标都定义成静态变量:","为了加强读者的理解,我们不直接去看provider包的源代码,相反,我会带着你根据上面描述的通过inheritedwidget实现的思路来一步一步地实现一个最小功能的provider。","为了将数据发送到服务器,我们会add消息给websocketchannel提供的sink。","为了尽可能小而且简单,flutter软件包中仅提供美国英语值的materiallocalizations和widgetslocalizations接口的实现。","为了支持多语言(本app中我们支持美国英语和中文简体两种语言)我们实现了一个gmlocalizationsdelegate,子widget中都可以通过gmlocalizations来动态获取app当前语言对应的文案。关于gmlocalizationsdelegate和gmlocalizations的实现方式读者可以参考”国际化“一章中的介绍,此处不再赘述。","为了方便使用,flutter提供了一个textformfield组件,它继承自formfield类,也是textfield的一个包装类,所以除了formfield定义的属性之外,它还包括textfield的属性。","为了方便开发者创建动画,不同的ui系统对动画都进行了一些抽象,比如在android中可以通过xml来描述一个动画然后设置给view。flutter中也对动画进行了抽象,主要涉及animation、curve、controller、tween这四个角色,它们一起配合来完成一个完整动画,下面我们一一来介绍它们。","为了方便示例,在本例中我们使用future.delay","为了更好的帮助中国开发者了解这门新技术,我在2018年初开始翻译flutter官网文档,同年4月份上线了flutter中文网,上线后反响很强烈,flutter中文网也很快被传播开,百度搜索排名迅速蹿升到前三,截止目前,flutter中文官网日pv在7万左右,每日独立访问人数近一万多。","为了更新显示画面,显示器是以固定的频率刷新(从gpu取数据),比如有一部手机屏幕的刷新频率是","为了简单起见,当app启动后,如果之前已登录了app,则显示该用户项目列表;如果之前未登录,则显示一个登录按钮,点击后跳转到登录页。另外,我们实现一个抽屉菜单,里面包含当前用户头像及app的菜单。下面我们先看看要实现的效果,如图15","为了避免用户误触返回按钮而导致app退出,在很多app中都拦截了用户点击返回键的按钮,然后进行一些防误触判断,比如当用户在某一个时间段内点击两次时,才会认为用户是要退出(而非误触)。flutter中可以通过willpopscope来实现返回按钮拦截,我们看看willpopscope的默认构造函数:","为了防止密码输入错误,密码框应该有开关可以看明文。","为了防止用户误触返回键退出,我们拦截返回事件。当用户在1秒内点击两次返回按钮时,则退出;如果间隔超过1秒则不退出,并重新记时。代码如下:","为事件触发的坐标(如果有的话),返回","为什么要将build方法放在state中,而不是放在statefulwidget中?","为什么要将这种可飞行的共享组件称为hero(英雄),有一种说法是说美国文化中的超人是可以飞的,那是美国人心中的大英雄,还有漫威中的超级英雄基本上都是会飞的,所以flutter开发人员就对这种”会飞的widget\"就起了一个富有浪漫主义的名字hero。当然这种说法并非官方解释,但却很有意思。","为保存屏幕右下角带“+”号按钮点击次数的状态。","为当前应用支持的locale列表,是开发者在materialapp中通过supportedlocales属性注册的。","为数据获取回调,该回调函数接收三个参数:","为此,materialapp","为确保迭代器顺序和对象插入时间一致顺序一致,我们使用linkedhashmap","为要模拟的android版本选择一个或多个系统印象,然后选择","主要缺点:","主资源默认对应于1.0倍的分辨率图片。看一个例子:","主轴(水平)方向间距","主轴和纵轴","主页","主题","主题改变后,通知其依赖项,新主题会立即生效","主题状态在用户更换app主题时更新、通知其依赖项,定义如下:","主题选择页","之所以如此,是由于textfield在绘制下划线时使用的颜色是主题色里面的hintcolor,但提示文本颜色也是用的hintcolor,","之所以将dart与java和javascript对比,是因为,这两者分别是强类型语言和弱类型语言的典型代表,并且dart","之类的终端模拟器设置代理之后,会导致”hot","也不做更改),换了之后的效果如图3","也可以具有边距(margins)、填充(padding)和应用于其大小的约束(constraints)。另外,","也就不用重新布局了。","也就是该文件大概233m多一点。","也就是说,在执行异步任务时,可以通过多次触发成功或失败事件来传递结果数据或错误异常。","也就是说,如果.../my_icon.png是72px乘72px,那么.../3.0x/my_icon.png应该是216px乘216px;","也是用于接收异步事件数据,和futur","也许你会说这和我们刚开始的示例差不了多少,其实它会带来三个好处:","也许你已经猜到flutter就属于这一类跨平台技术,没错,flutter正是实现一套自绘引擎,并拥有一套自己的ui布局系统。不过,自绘制引擎的思路并不是什么新概念,flutter并不是第一个尝试这么做的,在它之前有一个典型的代表,即大名鼎鼎的qt。","也需要被重新布局,那么到什么时候是个头呢?答案就是","了,这个好处和animatedwidget是一样的。","事件处理与通知","事件总线","事件总线通常用于组件之间状态共享,但关于组件之间状态共享也有一些专门的包如redux、以及前面介绍过的provider。对于一些简单的应用,事件总线是足以满足业务需求的,如果你决定使用状态管理包的话,一定要想清楚您的app是否真的有必要使用它,防止“化简为繁”、过度设计。","交织动画","交错动画","介绍","从asset中加载图片","从启动到显示","从异常信息中我们可以看到是因为listview高度边界无法确定引起,所以解决的办法也很明显,我们需要给listview指定边界,我们通过sizedbox指定一个列表高度看看是否生效:","从灰色变成蓝色","从网络加载图片","仔细检查命令行输出以获取可能需要安装的其他软件或进一步需要执行的任务。","他们的使用方法和上面“http请求认证”一节中介绍的addcredentials和authent","代理","代码中打开抽屉菜单的方法在scaffoldstate中,通过scaffold.of(context)可以获取父级最近的scaffold","代码中调用了cachednetworkimag","代码分为三部分:","代码大致逻辑是先判断自身是不是relayoutboundary,如果不是就继续向par","代码如下:","代码很简单,关键地方都有注释,不再赘述,下面我们看一下运行效果,如图15","代码很简单,创建了一个同步的future,然后直接将自身做为key返回。因为map中在判断key(此时是networkimage对象)是否相等时会使用“==”运算符,那么定义key的逻辑就是networkimage的“==”运算符:","代码很简单,就不赘述了。","代码很简单,首先判断有无溢出,如果没有则调用defaultpaint(context,","代码更好维护;如果使用匿名路由,则必须在调用navigator.push的地方创建新路由页,这样不仅需要import新路由页的dart文件,而且这样的代码将会非常分散。","代码比较简单,读者可以参照代码中的注释理解,故不再赘述。需要说明的是,_retrievedata()的功能是模拟从数据源异步获取数据,我们使用english_words包的generatewordpairs()方法每次生成20个单词。","代码组织问题","代码解释:","代码说明已经包含在注释里,下面我们看看运行效果:","代码运行后,效果如图7","代码运行效果如图5","代码部分实现,而是在flutter","代码:","代表当前块的起始位置,end代表结束位置","代表当前是第几块","代表矩形的左侧顶点,而alignment(1.0,","以json_serializable的方式创建model类","以下步骤与上面使用object","以下示例构建了一个控制器、一条曲线和一个tween:","以启用","以在项目中使用这些新的依赖项.","以获得有关镜像服务器的最新动态。","任何0.4.x(x","任何appl","任意弧度;进度条可以不是整圆。","优化","优化后的url输入键盘;","优化后的日期输入键盘;android上会显示“:","优化后的电子邮件地址;会显示“@","优化后的电话号码输入键盘;会弹出数字键盘并显示\"*","会去子组件判断是否命中测试,而该例中子组件就是","会和一个祖先节点共用一个layer","会在widget树中从当前位置向上查找第一个类型为_inheritedtheme的widget。所以当局部使用theme后,其子树中theme.of()找到的第一个_inheritedtheme便是该theme的。","会显示“/","会被renderbox和它的子类使用.","会被置空,此时所有依赖usermodel的组件都会被rebuild,如主页会恢复成未登录的状态。","传给它的","但如果未指定宽度和高度,它们都将渲染为72像素×72像素(以逻辑像素为单位)。","但是flutter中没有机制取消或停止”冒泡“过程,而浏览器的冒泡是可以停止的。注意,只有通过命中测试的组件才能触发事件。","但是,animationcontroller具有控制动画的其他方法,例如forward()方法可以启动正向动画,reverse()可以启动反向动画。在动画开始执行后开始生成动画帧,屏幕没刷新一次就是一个动画帧,在动画的每一帧,会随着根据动画的曲线来生成当前的动画值(animation.value),然后根据当前的动画值去构建ui,当所有动画帧依次触发时,动画值会依次改变,所以构建的ui也会依次变化,所以最终我们可以看到一个完成的动画。","但是,如果hello碰巧是一个插件包,其平台特定的代码需要访问url_launcher公开的特定于平台的api,那么我们还需要为特定于平台的构建文件添加合适的依赖声明,如下所示。","但是,读者请注意,unconstrainedbox对父组件限制的“去除”并非是真正的去除:上面例子中虽然红色区域大小是90×20,但上方仍然有80的空白空间。也就是说父限制的minheight(100.0)仍然是生效的,只不过它不影响最终子元素redbox的大小,但仍然还是占有相应的空间,可以认为此时的父constrainedbox是作用于子unconstrainedbox上,而redbox只受子constrainedbox限制,这一点请读者务必注意。","但近几年,随着物联网时代到来、移动互联网高歌猛进,日新月异,在很多业务场景中,传统的纯原生开发已经不能满足日益增长的业务需求。主要表现在:","体积小:可以减小安装包大小。","体验热重载","作为","作为分隔符.","作用","作者wendux,高级技术专家(前端方向)、掘金知名专栏作者、flutter中文网发起人、flutter中文社区开源项目发起人;github社区知名开发者,是dio、fly、dsbridge等多个知名开源项目作者。曾就职于百度、小赢科技等互联网公司,从事过pc桌面开发、移动端开发以及web开发,负责过多次核心技术攻关,现就职于字节跳动业务团队,目前闲暇时,主要关注大前端行业发展。","你会看到很多在你的应用源代码中没有出现的widget,因为它们是被框架中widget的build()函数插入的。例如,inkfeature是materi","你会立即在运行的应用程序中看到更新的字符串。","你可以使用","你可以通过向hello包的pubspec.yaml文件中添加依赖性覆盖声明来处理冲突,从而强制使用特定版本:","你可能多次看到过","使用","使用animatedwidget简化","使用async/await消除callback","使用center","使用dart:developer的timeline工具来包含你想测试的代码块,例如:","使用english_words包来生成随机字符串。","使用faderout","使用flatbutton也很简单,代码如下:","使用future消除callback","使用gradientbutton","使用ide插件生成model","使用inheritedwidget中的共享数据","使用intl包","使用intl包我们不仅可以非常轻松的实现国际化,而且也可以将字符串文本分离成单独的文件,方便开发人员和翻译人员分工协作。为了使用intl包我们需要添加两个依赖:","使用kotlin和使用java的步骤类似,首先在android","使用kotlin添加android平台特定的实现","使用materi","使用outlinebutton也很简单,代码如下:","使用raisedbutton非常简单,如:","使用socket","使用swift实现io","使用usb将手机插入电脑。如果设备出现调试授权提示,请授权你的电脑可以访问该设备。","使用watcher可以使我们的源代码生成的过程更加方便。它会监视我们项目中文件的变化,并在需要时自动构建必要的文件,我们可以通过flutt","使用websocket","使用xcode,您可以在ios设备或模拟器上运行flutter应用程序。","使用一些专门用于状态管理的包,如provider、redux,读者可以在pub上查看其详细信息。","使用复杂。","使用字体","使用对话框","使用平台通道在flutter(client)和原生(host)之间传递消息,如下图所示:","使用打包好的localizationsdeleg","使用文本样式","使用缩放动画","使用自定义字体图标","使用镜像","使用默认的","例如:","例如笔者flutter","例如,flutter中有一个动画widget的基类animatedwidget,它继承自statefulwidget类。animatedwidget中引入了一个抽象方法build(buildcontext","例如,iconbutton是一个图标按钮,但它是一个无状态的widget,因为我们认为父widget需要知道该按钮是否被点击来采取相应的处理。","例如,一个名为“fancy_backgrounds”的包,可能包含以下文件:","例如,下面代码创建一个animation对象(但不会启动动画):","例如,假设您的应用程序依赖于一个名为“my_icons”的包,它具有如下目录结构:","例如,在上面的转储中,您可以看到窗口大小,size(411.4,","例如,如果应用程序目录中有以下文件:","例如:","例子","依然使用checkbox组件","依赖git:你也可以依赖存储在git仓库中的包。如果软件包位于仓库的根目录中,请使用以下语法","依赖下面这些命令行工具.","依赖包中的资源图片","依赖改变时,图片的配置信息可能会发生改变","依赖本地包","依赖登录状态的页面:","便只会接收该参数类型的通知。举个例子,如果我们将上例子代码给为:","便实现了跨平台。","保存app中需要跨组件共享的状态类","保存当前列表数据的list","保存用户信息","信号),在此次绘制结束前,该方法会锁定事件分发,也就是说在本次绘制结束完成之前flutter将不会响应各种事件,这可以保证在绘制过程中不会再触发新的重绘。下面是schedulewarmupframe()","修改后在此运行上面的示例,我们会发现点击”添加商品“按钮后,控制台不会再输出\"raisedbutton","值为alignment.center,所以,我们可以认为center组件其实是对齐方式确定(alignment.center)了的align。","值得一提的是,dio内部仍然使用httpclient发起的请求,所以代理、请求认证、证书校验等和httpclient是相同的,我们可以在onhttpclientcreate回调中设置,例如:","值得注意的是,httpclient提供的这些属性和方法最终都会作用在请求header里,我们完全可以通过手动去设置header来实现,之所以提供这些方法,只是为了方便开发者而已。另外,http协议是一个非常重要的、使用最多的网络协议,每一个开发者都应该对http协议非常熟悉。","值得注意的是,在materi","值得注意的是,在第二步中,状态变化后react框架并不会立即去计算并渲染dom树的变化部分,相反,react会在dom的基础上建立一个抽象层,即虚拟dom树,对数据和状态所做的任何改动,都会被自动且高效的同步到虚拟dom,最后再批量同步到真实dom中,而不是每次改变都去操作一下dom。为什么不能每次改变都直接去操作dom树?这是因为在浏览器中每一次dom操作都有可能引起浏览器的重绘或回流:","值是否唯一,如图1","假如我们不想让某个子树响应pointerevent的话,我们可以使用ignorepointer和absorbpointer,这两个组件都能阻止子树接收指针事件,不同之处在于absorbpointer本身会参与命中测试,而ignorepointer本身不会参与,这就意味着absorbpointer本身是可以接收指针事件的(但其子树不行),而ignorepointer不可以。一个简单的例子如下:","假如我们需要要实现一个背景颜色和title可以自定义导航栏,并且背景色为深色时我们应该让title显示浅色;背景色为浅色时,title显示深色。要实现这个功能,我们就需要来计算背景色的亮度。color类中提供了一个computeluminance()方法,他可以返回一个[0","假设我们也想将上面路由传参示例中的tiproute路由页注册到路由表中,以便也可以通过路由名来打开它。但是,由于tiproute接受一个text","假设我们想在我们的hello包中使用some_package和other_package,并且这两个包都依赖url_launcher,但是依赖的是url_launcher的不同的版本。","假设我们的后台服务使用的是自签名证书,证书格式是pem格式,我们将证书的内容保存在本地字符串中,那么我们的校验逻辑如下:","假设我们要从数据源异步分批拉取一些数据,然后用listview展示,当我们滑动到列表末尾时,判断是否需要再去拉取数据,如果是,则去拉取,拉取过程中在表尾显示一个loading,拉取成功后将数据插入列表;如果不需要再去拉取,则在表尾提示\"没有更多\"。代码如下:","假设我们要开发一个电商app,当用户没有登录时可以看店铺、商品等信息,但交易记录、购物车、用户个人信息等页面需要登录后才能看。为了实现上述功能,我们需要在打开每一个路由页前判断用户登录状态!如果每次打开路由前我们都需要去判断一下将会非常麻烦,那有什么更好的办法吗?答案是有!","假设我们要给一段富文本(richtext)的不同部分分别添加点击事件处理器,但是textspan并不是一个widget,这时我们不能用gesturedetector,但textspan有一个recognizer属性,它可以接收一个gesturerecognizer。","假设我们需要从一个异步数据源(如网络)分批获取一些icon,然后用gridview来展示:","假设我们需要在点击时给文本变色:","假设我们项目中需要使用一个书籍图标和微信图标,我们打包下载后导入:","假设有两个路由a和b,他们的内容交互如下:","假设现在我们想实现一个类似路由平移切换的动画:旧页面屏幕中向左侧平移退出,新页面重屏幕右侧平移进入。如果要用animatedswitcher的话,我们很快就会发现一个问题:做不到!我们可能会写出下面的代码:","偏移在内部处理","做一些事,比如:","先判断图片数据有缓存,如果有,则直接返回imagestream。","先检测是否支持分块传输,如果不支持,则直接下载;若支持,则将剩余内容分块下载。","先画背景","先移除缓存,后再添加,可以让最新使用过的缓存在_map中的位置更近一些,清理时会lru来清除","先验证是否已经有缓存","全局事件总线","全局变量","全局变量及共享状态","全局状态管理","全局状态管理;语言、主题、登录态等都需要全局共享。","公开项目数","共享元素转换。下面我们通过一个示例来体验一下hero","共享状态","关于代码的解释都在注释中了,在此需要说明的是dio包的option.extra是专门用于扩展请求参数的,我们通过定义了“refresh”和“nocache”两个参数实现了”针对特定接口或请求决定是否启用缓存的机制“,这两个参数含义如下:","关于作者","关于动画相关内容我们将在本书后面章节介绍,下面内容读者可以先了解一下(不必深究),读者可以在学习完动画相关内容后再回头来看。","关于矩阵变换的相关内容属于线性代数范畴,本书不做讨论,读者有兴趣可以自行了解。本书中,我们把焦点放在flutter中一些常见的变换效果上。另外,由于矩阵变化时发生在绘制时,而无需重新布局和构建等过程,所以性能很好。","关于示例","关于路由参数的详细信息读者可以自行查阅api文档,比较简单,不再赘述。","关于随书源码","关闭client后,通过该client发起的所有请求都会中止。","关闭websocket连接","关闭websocket连接。","关闭对话框","其中\"basic\"为认证方式,realm为用户角色的分组,可以在后台添加分组。","其中childwidth为子元素的宽度,childheight为子元素高度。","其中itembuilder为子widget构建器。","其中m和n是数字标识符,对应于其中包含的图像的分辨率,也就是说,它们指定不同设备像素比例的图片。","其中style","其中大多数属性名都是自解释的,我们不赘述。下面我们通过一个示例来看看如何自定义按钮。","其它依赖方式","其它尺寸限制类容器","其它异常捕获与日志收集","其它状态管理包","其它的值","其它类型的对话框","其实context正是操作widget所对应的element的一个接口,由于widget树对应的element都是不同的,所以context也都是不同的,有关context的更多内容会在后面高级部分详细讨论。flutter中有很多“of(context)”这种方法,读者在使用时一定要注意context是否正确。","其实linearprogressindicator和circularprogressindicator都是取父容器的尺寸作为绘制的边界的。知道了这点,我们便可以通过尺寸限制类widget,如constrainedbox、sizedbox","其实loading框可以直接通过showdialog+alertdialog来自定义:","其实下载速度的主要瓶颈是取决于网络速度和服务器的出口速度,如果是同一个数据源,分块下载的意义并不大,因为服务器是同一个,出口速度确定的,主要取决于网速,而上面的例子正式同源分块下载,读者可以自己对比一下分块和不分块的的下载速度。如果有多个下载源,并且每个下载源的出口带宽都是有限制的,这时分块下载可能会更快一下,之所以说“可能”,是由于这并不是一定的,比如有三个源,三个源的出口带宽都为1g/s,而我们设备所连网络的峰值假设只有800m/s,那么瓶颈就在我们的网络。即使我们设备的带宽大于任意一个源,下载速度依然不一定就比单源单线下载快,试想一下,假设有两个源a和b,速度a源是b源的3倍,如果采用分块下载,两个源各下载一半的话,读者可以算一下所需的下载时间,然后再算一下只从a源下载所需的时间,看看哪个更快。","其实,无论是在javascript还是dart中,async/await都只是一个语法糖,编译器或解释器最终都会将其转化为一个promise(future)的调用链。","其实,这个问题在很多平台上都会遇到,而也早就有了好的解决方法即“json","内容固定,动态化弱,大多数情况下,有新功能更新时只能发版;","内容文本样式","再次强调,可滚动组件通过一个list来作为其children属性时,只适用于子组件较少的情况,这是一个通用规律,并非listview自己的特性,像gridview也是如此。","再画前景,应用渐变","写一个shell(mo.sh),将生成模板和生成model串起来:","写一个自动生成模板的脚本(mo.dart),它可以根据指定的json目录,遍历生成模板,在生成时我们定义一些规则:","几乎所有的ui系统都会提供一个自绘ui的接口,这个接口通常会提供一块2d画布canvas,canvas内部封装了一些基本绘制的api,开发者可以通过canvas绘制各种自定义图形。在flutter中,提供了一个custompaint","函数","函数作为参数传递","函数作为变量","函数内部。","函数声明","分别指定四个方向的补白","分发通知。","分块下载有什么实际的用处吗?","分块下载的最终速度受设备所在网络带宽、源出口速度、每个块大小、以及分块的数量等诸多因素影响,实际过程中很难保证速度最优。在实际开发中,读者可可以先测试对比后再决定是否使用。","分块下载真的能提高下载速度吗?","分块下载还有一个比较使用的场景是断点续传,可以将文件分为若干个块,然后维护一个下载状态文件用以记录每一个块的状态,这样即使在网络中断后,也可以恢复中断前的状态,具体实现读者可以自己尝试一下,还是有一些细节需要特别注意的,比如分块大小多少合适?下载到一半的块如何处理?要不要维护一个任务队列?","分析","分析器","分析器可以在代码运行前发现大多数问题。","分析器,因为在大多数时候,dart","切换语言后立即生效。","列表下拉刷新,需要删除缓存(拦截器中会读取这些信息)","列表中,参数","列表加载","列表项组件我们使用了simpledialogoption组件来包装了一下,它相当于一个flatbutton,只不过按钮文案是左对齐的,并且padding较小。上面示例运行后,用户选择一种语言后,控制台就会打印出它。","列表,可以看到此时的","则正是右侧顶点,即alignment.topright。为了使用方便,矩形的原点、四个顶点,以及四条边的终点在alignment类中都已经定义为了静态常量。","则表示有renderbox","创建","创建control","创建flutter平台客户端","创建flutter应用","创建flutter应用模板","创建一个controller:","创建一个element实例,记为el","创建一个httpclient:","创建一个新zone,主要是为了当发生错误时不会干扰mainzon","创建一个新的应用程序项目","创建一个新路由,命名“newroute”","创建了一个延时任务(实际场景会是一个真正的耗时任务,比如一次网络请求),即2秒后返回结果字符串\"hi","创建进度回调,后面实现","初始化flutter框架时.","初始化完成后才会加载ui(myapp),myapp","初始化数据","初识flutter","删除临时文件。","删除文件","判断当前locale是否为英语系国家,如果是直接返回locale('en',","刷新当前终端窗口。","刷新页面将在chrome的跟踪工具中显示应用按时间顺序排列的timeline记录。","前三个参数和linearprogressindicator相同,不再赘述。strokewidth","前后路由页的共享hero的tag必须是相同的,flutt","前景画笔,会显示在子节点前面","前面章节中我们介绍过image的基础用法,现在我们更深入一些,研究一下image是如何和imageprovider配合来获取最终解码后的数据,然后又如何将图片绘制到屏幕上的。","前面讲了material组件库如何支持国际化,本节我们将介绍一下我们自己的ui中如何支持多语言。根据上节所述,我们需要实现两个类:一个delegate类一个localizations类,下面我们通过一个实例说明。","前面说过可以通过valuecolor对进度条颜色做动画,关于动画我们将在后面专门的章节详细介绍,这里先给出一个例子,读者在了解了flutter动画一章后再回过头来看。","剪裁widget","剪裁子组件到实际占用的矩形大小(溢出部分剪裁)","剪裁(clip)","功能","功能型widget指的是不会影响ui布局及外观的widget,它们通常具有一定的功能,如事件监听、数据存储等,我们之前介绍过的focusscope(焦点控制)、pagestorage(数据存储)、notificationlistener(事件监听)都属于功能型widget。由于widget是flutter的一等公民,功能型widget非常多,我们不会去一一介绍,本章中主要介绍几种常用的功能型widget。","功能型widget简介","加载","加载图片","加载图片数据源的接口,不同的数据源的加载方法不同,每个imageprovider的子类必须实现它。比如networkimage类和assetimage类,它们都是imageprovider的子类,但它们需要从不同的数据源来加载图片数据:networkimage是从网络来加载图片数据,而assetimage则是从最终的应用包里来加载(加载打到应用安装包里的资源图片)。","加载文本asset","加载该图片","加载资源时,内部会自动处理分辨率等,这些处理对开发者来说是无感知的。","加载:建议使用","动态化","动态化内容需求增大;当需求发生变化时,纯原生应用需要通过版本升级来更新内容,但应用上架、审核是需要周期的,这对高速变化的互联网时代来说是很难接受的,所以,对应用动态化(不发版也可以更新应用内容)的需求就变的迫在眉睫。","动态化较好,支持热更新。","动态性不足;为了保证ui绘制性能,自绘ui系统一般都会采用aot模式编译其发布包,所以应用发布后,不能像hybrid和rn那些使用javascript(jit)作为开发语言的框架那样动态下发代码。","动画。","动画。例如,一个路由中显示待售商品的缩略图列表,选择一个条目会将其跳转到一个新路由,新路由中包含该商品的详细信息和“购买”按钮。","动画在终点停止","动画在起始点停止","动画基本结构","动画基本结构及状态监听","动画构建器","动画构建的范围缩小了,如果没有builder,setstate()将会在父组件上下文中调用,这将会导致父组件的build方法重新调用;而有了builder之后,只会导致动画widget自身的build重新调用,避免不必要的rebuild。","动画正在反向执行","动画正在正向执行","动画状态监听","动画结构","动画过程","动画过程可以是匀速的、匀加速的或者先加速后减速等。flutter中通过curve(曲线)来描述动画过程,我们把匀速动画称为线性的(curves.linear),而非匀速动画称为非线性的。","动画通知","动画重复的次数","匀减速","匀速的","包","包与插件","包主要包含了一些工具,它在开发阶段主要主要的作用是从代码中提取要国际化的字符串到单独的arb文件和根据arb文件生成对应语言的dart代码,而intl包主要是引用和加载intl_translation生成后的dart代码。下面我们将一步步来说明如何使用:","包也可以选择在其lib/文件夹中包含未在其pubspec.yaml文件中声明的资源。在这种情况下,对于要打包的图片,应用程序必须在pubspec.yaml中指定包含哪些图像。","包包含globalmateriallocalizations和globalwidgetslocalizations的本地化接口的多语言实现,","包名","包含一个子widget,如:constrainedbox、decoratedbox等","包含图片和设备的相关信息,如图片的大小、所在的assetbundle(只有打到安装包的图片存在)以及当前的设备平台、devicepixelratio(设备像素比等)。flutt","包含多个子widget,一般都有一个children参数,接受一个widget数组。如row、column、stack等","包含路由的配置信息,如路由名称、是否初始路由(首页)。","包提供了多种风格的模糊进度指示器,读者若是感兴趣,可以参考。","包方案","包管理","包装一组函数参数,用[]标记为可选的位置参数:","升级","升级flutter","单一方向拖动","单独封装一个内部管理选中状态的复选框组件","单选开关和复选框","单选框和复选框","博客:随着flutter技术的推广,相信很快网上将会有很多flutter相关的文章、博客,读者可以多去浏览、阅读。","即\"漂浮\"按钮,它默认带有阴影和灰色背景。按下后,阴影会变大,如图3","即使some_package和other_package声明了不兼容的url_launcher版本,它仍然可能会和url_launcher以兼容的方式正常工作。","即可解决。","原始指针事件处理","原理","原理时详细介绍)。","原生应用程序是指某一个移动平台(比如ios或安卓)所特有的应用,使用相应平台支持的开发工具和语言,并直接调用系统提供的sdk","原生开发","原生开发与跨平台技术","原生控件渲染","原生根据布局信息通过对应的原生控件渲染控件树;","原生渲染,性能相比h5提高很多。","去flutter官网下载其最新可用的安装包,下载地址:https://flutter.io/sdk","去flutter官网下载其最新可用的安装包,官网地址:https://flutter.io/sdk","参数","参数app是一个widget,它是flutter应用启动后要展示的第一个widget。而widgetsflutterbinding正是绑定widget","参数locale的值为当前的当前的系统语言设置,当应用启动时或用户动态改变系统语言设置时此locale即为系统的当前locale。当开发者手动指定app的locale时,那么此locale参数代表开发者指定的locale,此时将忽略系统locale如:","参数名","参数是一个必选参数,它是imageprovider类型。下面我们便详细介绍一下imageprovider,imageprovider是一个抽象类,定义了图片数据获取和加载的相关接口。它的主要职责有两个:","参数来确定坐标原点,不同的alignment会对应不同原点,最终的偏移是需要通过alignment的转换公式来计算出。","参数都比较简单,不在赘述。下面我们看一个例子,假如我们要在删除文件事弹出一个确认对话框,该对话框如图7","参数,我们如何在不改变tiproute源码的前提下适配这种情况?其实很简单:","参数;由于align的构造函数中align","反向遍历需要重绘的renderobject","发布packag","发现build传递的参数是this,很明显!这个buildcontext就是statelesselement。同样,我们同样发现statefulwidget的context是statefulelement。但statelesselement和statefulelement本身并没有实现buildcontext接口,继续跟踪代码,发现它们间接继承自element类,然后查看element类定义,发现element类果然实现了buildcontext接口:","发起","发起一个","发起多个并发请求:","发送","发送平台消息","取代线性布局","变体(variant)","变换transform","变换(transform)","变量a不会报错,","变量b编译器会报错","变量只能被设置一次,两者区别在于:const","变量声明","变量是一个编译时常量,final变量在第一次使用时被初始化。被final或者const修饰的变量,变量类型可以省略,如:","另一种实现可能会将高亮状态导出到父组件,但同时保持_active状态为内部状态,但如果你要将该tapbox给其它人使用,可能没有什么意义。","另一种需要注意的是每个盒子描述的”relayoutsubtreeroot”部分,它告诉你有多少祖先以某种方式依赖于这个元素的大小。","另外widget类本身是一个抽象类,其中最核心的就是定义了createelement()接口,在flutter开发中,我们一般都不用直接继承widget类来实现一个新组件,相反,我们通常会通过继承statelesswidget或statefulwidget来间接继承widget类来实现。statelesswidget和statefulwidget都是直接继承自widget类,而这两个类也正是flutter中非常重要的两个抽象类,它们引入了两种widget模型,接下来我们将重点介绍一下这两个类。","另外在动画的每一帧,animation对象会调用其帧监听器,等动画状态发生改变时(如动画结束)会调用状态改变监听器。","另外需要注意,我们所有的网络请求是通过同一个dio实例(静态变量)发出的,在创建该dio实例时我们将github","另外,futurebuilder的builder函数签名和streambuilder的builder是相同的。","另外,material组件库也提供了一个pageview","另外,实际场景中,json对象很少会这么简单,嵌套的json对象并不罕见,如果有什么能为我们自动处理json序列化,那将会非常好。幸运的是,有!","另外,我们可以看到imagecache类中有设置缓存上限的setter,所以,如果我们可以自定义缓存上限:","另外,我们通过alignment.topright将flutterlogo定位在container的右上角。那alignment.topright是什么呢?通过源码我们可以看到其定义如下:","另外,我们需要注意的是,图片缓存是在内存中,并没有进行本地文件持久化存储,这也是为什么网络图片在应用重启后需要重新联网下载的原因。","另外,有些情况下热重载是不生效的,比如修改了main函数、修改了全局静态方法等,读者可以认为”hot","另外,还有一些关于路由管理的内容我们没有介绍,比如路由materialapp中还有navigatorobservers和onunknownroute两个回调属性,前者可以监听所有路由跳转动作,后者在打开一个不存在的命名路由时会被调用,由于这些功能并不常用,而且也比较简单,我们便不再花费篇幅来介绍了,读者可以自行查看api文档。","只会创建一次,后面会进行复用。那么buildowner是什么呢?其实他就是widget","只能通过父元素设置.","只要他们重绘时,这会使该层被一组旋转色所覆盖。","只要应用程序已经构建了至少一次(即在调用build()之后的任何时间),您可以在应用程序未处于构建阶段(即,不在build()方法内调用","只负责布局子节点。","只需将它们替换为适当大小的图片,保留原始文件名称。","只需按照android开发人员指南中的说明,","只需要在materialapp或widgetsapp的localizationsdelegates列表中添加我们的delegate实例即可完成注册:","可以使用","可以使用getapplicationdocumentsdirectory()来获取应用程序的文档目录,该目录用于存储只有自己可以访问的文件。只有当应用程序被卸载时,系统才会清除该目录。在ios上,这对应于nsdocumentdirectory。在android上,这是appdata目录。","可以发现要实现这样的一个进度条是无法通过现有组件组合而成的,所以我们通过自绘方式实现,代码如下:","可以发现,renderobject中最终也是通过canva","可以发现,setstate中调用了element的markneedsbuild()方法,我们前面说过,flutter是一个响应式框架,要更新ui只需改变状态后通知框架页面需要重构即可,而element的markneedsbuild()方法正是来实现这个功能的!markneedsbuild()方法会将当前的element对象标记为“dirty”(脏的),在每一个frame,flutter都会重新构建被标记为“dirty”element对象。既然如此,我们有没有办法获取到对话框内部ui的element对象,然后将其表姐为为“dirty”呢?答案是肯定的!我们可以通过context来得到element对象,至于element与context的关系我们将会在后面“flutter核心原理”一章中再深入介绍,现在只需要简单的认为:在组件树种,context实际上就是element对象的引用。知道这个后,那么解决的方案就呼之欲出了,我们可以通过如下方式来让复选框可以更新:","可以发现,子元素的大小是通过crossaxiscount和childaspectratio两个参数共同决定的。注意,这里的子元素指的是子组件的最大显示空间,注意确保子组件的实际大小不要超出子元素的空间。","可以发现,有些属性只是为了更方便的设置请求头,对于这些属性,你完全可以通过httpclientrequest直接设置header,不同的是通过httpclient设置的对整个httpclient都生效,而通过httpclientrequest设置的只对当前请求生效。","可以发现,直观的感觉就是margin的留白是在容器外部,而padding的留白是在容器内部,读者需要记住这个差异。事实上,container内margin和padding都是通过pad","可以发现,遮罩颜色比通过showdialog方法打开的对话框更深。另外对话框打开/关闭的动画已变为缩放动画了,读者可以亲自运行示例查看效果。","可以发送与方法调用相对应的消息。","可以同时对其新、旧子元素添加显示、隐藏动画。也就是说在animatedswitcher的子元素发生变化时,会对其旧元素和新元素,我们先看看animatedswitch","可以在flutter应用程序中使用不同的字体。例如,我们可能会使用设计人员创建的自定义字体,或者其它第三方的字体,如googl","可以将asset的请求逻辑映射到最接近当前设备像素比例(dpi)的asset。为了使这种映射起作用,必须根据特定的目录结构来保存asset:","可以将其子组件树对齐到屏幕中心。此例中,","可以应用文本样式:可以像文本一样改变字体图标的颜色、大小对齐等。","可以感受一下,如果业务逻辑中有大量异步依赖的情况,将会出现上面这种在回调里面套回调的情况,过多的嵌套会导致的代码可读性下降以及出错率提高,并且非常难维护,这个问题被形象的称为回调地狱(callback","可以指定一个模板参数,该模板参数类型必须是继承自notification;当显式指定模板参数时,notificationlisten","可以按比例“扩伸”","可以支持圆角","可以根据父容器宽高的百分比来设置子组件宽高等,由于这些容器使用起来都比较简单,我们便不再赘述,读者可以自行了解。","可以直接调用便捷方法","可以看main()函数只调用了一个runapp()方法,我们看看runapp()方法中都做了什么:","可以看出,当调用","可以看到_changenotifierproviderstate类的主要作用就是监听到共享状态(model)改变时重新构建widget树。注意,在_changenotifierproviderstate类中调用setstate()方法,widget.child始终是同一个,所以执行build时,inheritedprovider的child引用的始终是同一个子widget,所以widget.child并不会重新build,这也就相当于对child进行了缓存!当然如果changenotifierprovider父级widget重新build时,则其传入的child便有可能会发生变化。","可以看到_loadasync方法主要做了两件事:","可以看到center继承自align,它比align只少了一个align","可以看到container具备多种组件的功能,通过查看container源码,我们会很容易发现它正是前面我们介绍过的多种组件组合而成。在flutter中,container组件也正是组合优先于继承的实例。","可以看到gradientbutton是由decoratedbox、padding、center、inkwell等组件组合而成。当然上面的代码只是一个示例,作为一个按钮它还并不完整,比如没有禁用状态,读者可以根据实际需要来完善。","可以看到inheritfromelement方法中主要是注册了依赖关系!看到这里也就清晰了,调用inheritfromwidgetofexacttype()","可以看到layout方法需要传入两个参数,第一个为constraints,即","可以看到widgetsflutterbinding继承自bindingbas","可以看到window类包含了当前设备和系统的一些信息以及flutt","可以看到和futurebuilder的构造函数只有一点不同:前者需要一个future,而后者需要一个stream。","可以看到响应内容分两个部分,第一部分是响应头,第二部分是响应体,服务端可以根据请求信息动态来输出响应体。由于本示例请求头比较简单,所以响应体和浏览器中访问的会有差别,读者可以补充一些请求头(如user","可以看到它只是alignment的一个实例,下面我们介绍一下alignment。","可以看到左侧菜单已经替换成功。","可以看到我们主要的任务就是实现paintchildren,它的主要任务是确定每个子widget位置。由于flow不能自适应子widget的大小,我们通过在getsize返回一个固定大小来指定flow的大小。","可以看到我们在init()方法中,我们判断了是否是调试环境,然后做了一些针对调试环境的网络配置(设置代理和禁用证书校验)。而git.init()方法是应用启动时被调用的(global.init()方法中会调用git.init())。","可以看到我们的剪裁成功了,但是图片所占用的空间大小仍然是60×60(红色区域),这是因为剪裁是在layout完成后的绘制阶段进行的,所以不会影响组件的大小,这和transform原理是相似的。","可以看到此时initst","可以看到该方法中主要调用了handlebeginframe()","可以看到通过intl.plural方法可以在howmany值不同时输出不同的提示信息。","可以看到,align和stack/positioned都可以用于指定子元素相对于父元素的偏移,但它们还是有两个主要区别:","可以看到,boss字段已自动添加,并自动导入了“person.dart”。","可以看到,上面代码中没有控制打洞位置的属性,实际上,打洞的位置取决于floatingactionbutton的位置,上面floatingactionbutton的位置为:","可以看到,使用socket需要我们自己实现http协议(需要自己实现和服务器的通信过程),本例只是一个简单示例,没有处理重定向、cookie等。本示例完整代码参考示例demo,运行后效果如图11","可以看到,右边溢出部分报错。这是因为row默认只有一行,如果超出屏幕不会折行。我们把超出屏幕显示范围会自动折行的布局称为流式布局。flutter中通过wrap和flow来支持流式布局,将上例中的row换成wrap后溢出部分则会自动折行,下面我们分别介绍wrap和flow.","可以看到,在statefulwidget插入到widget树时首先initstate方法会被调用。","可以看到,在发生异常时,flutter默认的处理方式是弹一个errorwidget,但如果我们想自己捕获异常并上报到报警平台的话应该怎么做?我们进入_debugreportexception()方法看看:","可以看到,我们只需在路由表中注册一下myhomepage路由,然后将其名字作为materialapp的initialroute属性值即可,该属性决定应用的初始路由页是哪一个命名路由。","可以看到,我们期望的效果实现了,但是这种方法并不优雅,如果页面布局发生变化,比如表头布局调整导致表头高度改变,那么剩余空间的高度就得重新计算。那么有什么方法可以自动拉伸listview以填充屏幕剩余空间的方法吗?当然有!答案就是flex。前面已经介绍过在弹性布局中,可以使用expanded自动拉伸组件大小,并且我们也说过column是继承自flex的,所以我们可以直接使用column+expanded来实现,代码如下:","可以看到,我们虽然将container的高度设置为5像素,但是最终却是50像素,这正是constrainedbox的最小高度限制生效了。如果将container的高度设置为80像素,那么最终红色区域的高度也会是80像素,因为在此示例中,constrainedbox只限制了最小高度,并未限制最大高度。","可以看到,我们通过async/await将一个异步流用同步的代码表示出来了。","可以看到,现在没有触发异常并且列表已经显示出来了,但是我们的手机屏幕高度要大于400,所以底部会有一些空白。那如果我们要实现列表铺满除表头以外的屏幕空间应该怎么做?直观的方法是我们去动态计算,用屏幕高度减去状态栏、导航栏、表头的高度即为剩余屏幕高度,代码如下:","可以看到,由于第二个子文本组件没有定位,所以fit属性会对它起作用,就会占满stack。由于stack子元素是堆叠的,所以第一个子文本组件被第二个遮住了,而第三个在最上层,所以可以正常显示。","可以看到,绘制时我们需要提供前景或背景画笔,两者也可以同时提供。我们的画笔需要继承custompainter类,我们在画笔类中实现真正的绘制逻辑。","可以看到,返回了fadetransition对象,也就是说默认情况,animatedswitcher会对新旧child执行“渐隐”和“渐显”动画。","可以自动填充上次登录的用户名(如果有)。","可以自定义粗细、两端是否圆角等样式。","可以装饰一个boxdecoration,","可以触发所有监听器回调。","可以通过","可以通过findproxy来设置代理策略,例如,我们要将所有请求通过代理服务器(192.168.1.2:8888)发送出去:","可以通过ongenerateroute做一些全局的路由跳转前置处理逻辑。","可以通过textspan和文本混用。","可以通过局部主题覆盖全局主题,正如代码中通过theme为第二行图标指定固定颜色(黑色)一样,这是一种常用的技巧,flutter中会经常使用这种方法来自定义子树主题。那么为什么局部主题可以覆盖全局主题?这主要是因为widget中使用主题样式时是通过theme.of(buildcontext","可滚动widgets简介","可滚动组件在滚动时会发送scrollnotification类型的通知,scrollbar正是通过监听滚动通知来实现的。通过notificationlistener监听滚动事件和通过scrollcontroller有两个主要的不同:","可滚动组件的sliver版","可滚动组件的构造函数如果需要一个列表项builder,那么通过该构造函数构建的可滚动组件通常就是支持基于sliver的懒加载模型的,反之则不支持,这是个一般规律。我们在后面在介绍可滚动组件的构造函数时将不再专门说明其是否支持基于sliver的懒加载模型了。","可滚动组件简介","可见依赖发生变化后,其didchangedependencies()会被调用。但是读者要注意,如果_testwidget的build方法中没有使用sharedatawidget的数据,那么它的didchangedependencies()将不会被调用,因为它并没有依赖sharedatawidget。例如,我们将__testwidgetstate代码该为下面这样,didchangedependencies()将不会被调用:","可见复选框能选中了,点击“取消”或“删除”后,控制台就会打印出最终的确认状态。","可视化调试","可让您创建矩形视觉元素。contain","可访问平台全部功能(gps、摄像头);","可选命名参数在flutter中使用非常多。","可选的主题列表","可选的位置参数","可选的命名参数","右下角有一个悬浮的动作按钮","各个分块下载时保存到各自临时文件,等到所有分块下载完后合并临时文件。","各个属性名都是自解释的,详情读者可以查看api文档。下面我们实现一个带阴影的背景色渐变的按钮:","同一个host,同时允许建立连接的最大数量。","同一个包中的源码文件之间也可以使用相对路径来导入。","同时也意味着在应用生命周期内,如果缓存没有超过上限,相同u的图片只会被下载一次。","同时支持分析、检查堆等。有关observatory的更多信息请参考observatori","名称","名,已有","后面是一个future,表示等待该异步任务完成,异步完成后才会往下走;await必须出现在","向persistentcallbacks队列添加了一个回调","向父级递归查找","向购物车中添加新商品时总价更新","否则编译器会报错。如:","否则,配置文件中将出现的主要问题将是调试断言,以验证框架的各种不变量(请参阅下面的“调试模式断言”)。","含义","启动","启动android","启动屏幕将永远持续显示。","启动您的设备。","命中测试","命令","命令以查看是否都准备ok了:","命令以验证flutter识别您连接的android设备。","命令执行成功后,可以看到lib/models文件夹下会生成相应的dart","命令来下载依赖包。另外,需要注意dependencies和dev_dependencies的区别,前者的依赖包将作为app的源码的一部分参与编译,生成最终的安装包。而后者的依赖包只是作为开发阶段的一些工具包,主要是用于帮助我们提高开发、测试效率,比如flutter的自动化测试包等。","命令来创建:","命名路由","命名路由参数传递","和","和cupertino两种视觉风格的组件库。而我们flutter开发的大多数场景,只是和这两层打交道。","和didchangedependencies都没有被调用,而此时didupdatewidget被调用。","和fractionaloffset,读者需要理解这两种偏移类的区别及各自的坐标转化公式。另外,在此建议读者在需要制定一些精确的偏移时应优先使用fractionaloffset,因为它的坐标原点和布局系统相同,能更容易算出实际偏移。","和javascript中的async/await功能和用法是一模一样的,如果你已经了解javascript中的async/await的用法,可以直接跳过本节。","和statelesswidget一样,statefulwidget也是继承自widget类,并重写了createelement()方法,不同的是返回的el","和window一样,要在android设备上构建并运行flutter程序都需要先安装android","和上一节中介绍的相同,我们现在需要先注册demolocalizationsdelegate类,然后再通过demolocalizations.of(context)来动态获取当前locale文本。","和上一节中的步骤类似,我们仍然要实现localizations和delegate类,不同的是,现在我们在实现时要使用intl包的一些方法(有些是动态生成的)。","和其它地方的意义稍微有点区别,此处用于配合left、top","和包管理一样,flutter也使用pubspec.yaml文件来管理应用程序所需的资源,举个例子:","和微信小程序,值得一提的是微信小程序目前是在webview中渲染的,并非原生渲染,但将来有可能会采用原生渲染。","和无状态的组件(stateless","和服务器建立连接的超时,如果超过这个值则会抛出socketexception异常。","响应头","响应式的编程框架中都会有一个永恒的主题——“状态(state)管理”,无论是在react/vue(两者都是支持响应式编程的web开发框架)还是flutter中,他们讨论的问题和解决的思想都是一致的。所以,如果你对react/vue的状态管理有了解,可以跳过本节。言归正传,我们想一个问题,statefulwidget的状态应该被谁管理?widget本身?父widget?都会?还是另一个对象?答案是取决于实际情况!以下是管理状态的最常见的方法:","响应式编程","唯一不同的是","唯一的改动就是获取sharedatawidget对象的方式,把inheritfromwidgetofexacttype()方法换成了context.ancestorinheritedelementforwidgetofexacttype(sharedatawidget).widget,那么他们到底有什么区别呢,我们看一下这两个方法的源码(实现代码在element类中,context和element的关系我们将在后面专门介绍):","商品份数","回到runapp的实现中,当调用完attachrootwidget后,最后一行会调用","回调","回调中我们调用git(context).getrepos(...)来获取用户项目列表,同时指定每次请求获取20条。当获取成功时,首先要将新获取的项目数据添加到items中,然后根据本次请求的项目条数是否等于期望的20条来判断还有没有更多的数据。在此需要注意,git(context).getrepos(…)方法中需要refresh参数来判断是否使用缓存。","回调中打印日志:","回调地狱(callback","回调返回值是一个遵循浏览器pac脚本格式的字符串,详情可以查看api文档,如果不需要代理,返回\"direct\"即可。","回调,","回调,绑定framework手势子系统,是framework事件模型与底层事件的绑定入口。","因为flutterlogo的宽高为60,则align的最终宽高都为2*60=120。","因为登录页返回后,首页会build,所以我们传false,更新user后不触发更新","因此,renderparagraph有一个relayoutsubtreeroot=up8,这意味着当它renderparagraph被标及为”dirty”时,它的八个祖先也必须被标记为”dirty”,因为它们可能受到新尺寸的影响。","因此,可以看到其实dom树和控件树是等价的概念,只不过前者常用于web开发中,而后者常用于原生开发中。","国际化常见问题","国际化的应用程序必须按照本节开头说明的那样为这些类指定本地化delegate。","国际化相关的类都在此目录下","图中的白线以16ms增量沿纵轴显示;","图标","图标库中没有fork图标,所以我们在iconfont.cn上找了一个fork图标,然后根据”图片和icon“一节中介绍的使用自定义字体图标的方法集成到了我们的项目中。","图片","图片中的帧数(动态图会有多帧)","图片加载原理与缓存","图片及icon","图片和icon","图片的加载、缓存和绘制流程。其中imageprovider主要负责图片数据的加载和缓存,而绘制部分逻辑主要是由rawimage来完成。","图片还未加载成功,直接返回","圆形进度条直径指定为100","圆的半径","在","在2018年googl","在_myhomepagestate.build方法中的column的子widget中添加一个按钮(flatbutton)","在ab两个路由之间跳转的时候,用户头像会逐渐过渡到目标路由页的头像上,接下来我们先看看代码,然后再解析:","在android","在android设备上启用","在appdelegate类中添加以下新的方法:","在app中,我们经常会需要一个广播机制,用以跨页面事件通知,比如一个需要登录的app中,页面会关注用户登录或注销事件,来进行一些状态更新。这时候,一个事件总线便会非常有用,事件总线通常实现了订阅者模式,订阅者模式包含发布者和订阅者两种角色,可以通过事件总线来触发事件和监听事件,本节我们实现一个简单的全局事件总线,我们使用单例模式,代码如下:","在app开发中,很多时候我们需要抓包来调试,而抓包软件(如charles)就是一个代理,这时我们就可以将请求发送到我们的抓包软件,我们就可以在抓包软件中看到请求的数据了。","在asset中声明","在build中返回最终的富文本样式;","在dart中,所有的外部事件任务都在事件队列中,如io、计时器、点击、以及绘制事件等,而微任务通常来源于dart内部,并且微任务非常少,之所以如此,是因为微任务队列优先级高,如果微任务太多,执行时间总和就越久,事件队列任务的延迟也就越久,对于gui应用来说最直观的表现就是比较卡,所以必须得保证微任务队列不会太长。值得注意的是,我们可以通过future.microtask(…)方法向微任务队列插入一个任务。","在didupdatewidget中,我们判断要旋转的角度是否发生了变化,如果变了,则执行一个过渡动画。","在flutter中使用字体分两步完成。首先在pubspec.yaml中声明它们,以确保它们会打包到应用程序中。然后通过textstyle属性使用字体。","在flutter中将图片从一个路由“飞”到另一个路由称为hero动画,尽管相同的动作有时也称为","在flutter中我们可以通过多种方式来实现动画,下面通过一个图片逐渐放大示例的不同实现来演示flutter中动画的不同实现方式的区别。","在flutter中页面ui通常都是由一些低阶别的组件组合而成,当我们需要封装一些通用组件时,应该首先考虑是否可以通过组合其它组件来实现,如果可以,则应优先使用组合,因为直接通过现有组件拼装会非常简单、灵活、高效。","在flutter中,widget的功能是“描述一个ui元素的配置数据”,它就是说,widget其实并不是表示最终绘制在设备屏幕上的显示元素,而它只是描述显示元素的一个配置数据。","在flutter中,大多数东西都是widget(后同”组件“或”部件“),包括对齐(alignment)、填充(padding)和布局(layout)等,它们嗾使以widget的形式提供。","在flutter中,应该优先使用localelistresolutioncallback,当然你不必担心android系统的差异性,如果在低版本的android系统中,flutter会自动处理这种情况,这时locale列表只会包含一项。","在flutter中,我们可以创建一个websocketchannel连接到一台服务器:","在flutter中,组合的思想非常重要,flutter提供了非常多的基础组件,而我们的界面开发其实就是按照需要组合这些组件来实现各种不同的布局而已。","在flutter中,还有一些flutter没有为我们捕获的异常,如调用空对象方法异常、future中的异常。在dart中,异常分两类:同步异常和异步异常,同步异常可以通过try/catch捕获,而异步异常则比较麻烦,如下面的代码是捕获不了future的异常的:","在flutter发布之初,当时,我在看完flutter原理介绍后,就对它产生了浓厚的兴趣。当时笔者身边也一些人比较关注flutter,我也被经常问到关于flutter的一些问题,比如flutter怎么样?和rn有什么区别?flutter为什么要用dart?当时也听到了一些批评的声音,比如有些人说flutter只是重复造轮子,没啥亮点、flutter最大的缺点就是使用了dart语言等。在听到这些问题及论调后,我深知这是对flutter的不了解而造成的,这和当时国内缺乏flutter中文文档和教程有直接关系,很多人对flutter的了解都只停留在google的发布会介绍(有中文翻译)。","在flutter命令行运行如下命令来查看是否还需要安装其它依赖,如果需要,安装它们:","在flutter安装目录的flutter文件下找到flutter_console.bat,双击运行并启动flutter命令行,接下来,你就可以在flutter命令行运行flutter命令了。","在flutter应用调试过程中,dart","在flutter开发中,iconfont和图片相比有如下优势:","在flutter开发中,状态管理是一个永恒的话题。一般的原则是:如果状态是组件私有的,则应该由组件自己管理;如果状态要跨组件共享,则该状态应该由各个组件共同的父元素来管理。对于组件私有的状态管理很好理解,但对于跨组件共享的状态,管理的方式就比较多了,如使用全局事件总线eventbus(将在下一章中介绍),它是一个观察者模式的实现,通过它就可以实现跨组件状态同步:状态持有方(发布者)负责更新、发布状态,状态使用方(观察者)监听状态改变事件来执行一些操作。下面我们看一个登陆状态同步的简单示例:","在flutter当中有没有更好的跨组件状态管理方式了呢?答案是肯定的,那怎么做的?我们想想前面介绍的inheritedwidget,它的天生特性就是能绑定inheritedwidget与依赖它的子孙组件的依赖关系,并且当inheritedwidget数据发生变化时,可以自动更新依赖的子孙组件!利用这个特性,我们可以将需要跨组件共享的状态保存在inheritedwidget中,然后在子组件中引用inheritedwidget即可,flutter社区著名的provider包正是基于这个思想实现的一套跨组件状态共享解决方案,接下来我们便详细介绍一下provider的用法及原理。","在flutter最初的版本中,命名路由是不能传递参数的,后来才支持了参数;下面展示命名路由如何传递并获取路由参数:","在flutter框架加载时,flutter会使用本地平台机制绘制启动页。此启动页将持续到flutter渲染应用程序的第一帧时。","在flutter项目的根目录中,导航到.../android/app/src/main/res目录,里面包含了各种资源文件夹(如mipmap","在flutter项目的根目录中,导航到.../ios/runner。该目录中assets.xcassets/appicon.appiconset已经包含占位符图片(见图2","在hello/ios/hello.podspec:","在itembuilder中,如果显示到最后一个时,判断是否需要继续获取数据,然后返回一个icon。","在javascript中调用原生api","在java和object","在java目录下打开","在kotlin目录中打开mainactivity.kt。","在lib根目录下的“shelf.dart”中,导出了多个“lib/src”目录下的dart文件:","在macos上搭建flutter开发环境","在masos下可以同时进行android和ios设备的测试。","在pubspec.yaml中的flutter部分添加如下内容:","在pubspec.yaml的assets部分中指定asset路径时,构建过程中,会在相邻子目录中查找具有相同名称的任何文件。这些文件随后会与指定的asset一起被包含在asset","在renderbox","在renderparagraph中基于它的内容来决定其大小。","在runner","在state对象从树中一个位置移除后(会调用deactivate)又重新插入到树的其它位置之后。","在tiproute页中有两种方式可以返回到上一页;第一种方式时直接点击导航栏返回箭头,第二种方式是点击页面中的”返回“按钮。这两种返回方式的区别是前者不会返回数据给上一个路由,而后者会。下面是分别点击页面中的返回按钮和导航栏返回箭头后,routertestroute页中print方法在控制台输出的内容:","在widget","在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”的条目:","在一些非大陆行货渠道买的一些android和ios设备,会出现默认的locale不是中文简体的情况。这属于正常现象,但是为了防止设备获取的locale与实际的地区不一致,所有的支持多语言的app都必须提供一个手动选择语言的入口。","在一次绘制过程中,这三个回调队列会放在不同时机被执行:","在上一节中我们讲过通过stack和positioned,我们可以指定一个或多个子元素相对于父元素各个边的精确偏移,并且可以重叠。但如果我们只想简单的调整一个子元素在父元素中的位置的话,使用align组件会更简单一些。","在上一节我们说过每个element都对应一个renderobject,我们可以通过element.renderobject","在上面的代码中:","在上面的例子中,text的所有文本内容只能按同一种样式,如果我们需要对一个text内容的不同部分按照不同的样式显示,这时就可以使用textspan,它代表文本的一个“片段”。我们看看textspan的定义:","在下面tapboxc示例中,手指按下时,盒子的周围会出现一个深绿色的边框,抬起时,边框消失。点击完成后,盒子的颜色改变。","在下面的例子中,我们通过对几个text组件的定位来演示stack和positioned的特性:","在之前介绍statefulwidget时,我们提到state对象有一个didchangedependencies回调,它会在“依赖”发生变化时被flutt","在之前我们已经介绍过dart语言的相关特性,读者可以翻看一下,如果读者已经熟悉dart语法,可以跳过本节,如果你还不了解dart,也不用担心,按照笔者经验,如果你有过其他编程语言经验(尤其是java和javascript)的话会非常容易上手dart。当然,如果你是ios开发者,也不用担心,dart中也有一些与swift比较相似的特性,如命名参数等,笔者当时学习dart时,只是花了一个小时,看完dart官网的languag","在之前的章节中,我们已经简单介绍过statelesswidget,statelesswidget相对比较简单,它继承自widget类,重写了createelement()方法:","在事件循环中,当某个任务发生异常并没有被捕获时,程序并不会退出,而直接导致的结果是当前任务的后续代码就不会被执行了,也就是说一个任务中的异常是不会影响其它任务执行的。","在介绍flutter异常捕获之前必须先了解一下dart单线程模型,只有了解了dart的代码执行流程,我们才能知道该在什么地方去捕获异常。","在介绍row和colum时,如果子widget超出屏幕范围,则会报溢出错误,如:","在介绍主题前我们先了解一些flutter中的color类。color类中颜色以一个int值保存,我们知道显示器颜色是由红、绿、蓝三基色组成,每种颜色站8比特,存储结构如下:","在以下示例中,tapboxb通过回调将其状态导出到其父组件,状态由父组件管理,因此它的父组件为statefulwidget。但是由于tapboxb不管理任何状态,所以tapboxb为statelesswidget。","在任何系统的ui框架中,动画实现的原理都是相同的,即:在一段时间内,快速地多次改变ui外观;由于人眼会产生视觉暂留,所以最终看到的就是一个“连续”的动画,这和电影的原理是一样的。我们将ui的一次改变称为一个动画帧,对应一次屏幕刷新,而决定动画流畅度的一个重要指标就是帧率fps(fram","在你flutter项目目录中通过","在你的mac上,通过","在全球,随着flutter被越来越多的知名公司应用在自己的商业app中,flutter这门新技术也逐渐进入了移动开发者的视野,尤其是当google在2018年io大会上发布了第一个preview版本后,国内刮起来一股学习flutter的热潮。","在前几节中,我们介绍了flutter中常用的可滚动组件,也说过可以用scrollcontroller来控制可滚动组件的滚动位置,本节先介绍一下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文件,以确保其内容的完整性和正确性。然后,运行","在可滚动组件的坐标描述中,通常将滚动方向称为主轴,非滚动方向称为纵轴。由于可滚动组件的默认方向一般都是沿垂直方向,所以默认情况下主轴就是指垂直方向,水平方向同理。","在后面,我们又介绍了align组件和stack/positioned、center的关系,读者可以对比理解。","在命令行运行","在图片下载完成后调用了paintingbinding.instance.instantiateimagecodec(bytes)对图片进行解码,值得注意的是instantiateimagecodec(...)也是一个n","在大型复杂应用中,尤其是需要全局共享的状态非常多时,使用provider将会大大简化我们的代码逻辑,降低出错的概率,提高开发效率。","在大型应用程序中,不同模块或package可能会与自己的本地化值捆绑在一起。","在字体文件中,每一个字符都对应一个位码,而每一个位码对应一个显示字形,不同的字体就是指字形不同,即字符对应的字形是不同的。而在iconfont中,只是将位码对应的字形做成了图标,所以不同的字符最终就会渲染成不同的图标。","在实战中,后台接口往往会返回一些结构化数据,如json、xml等,如之前我们请求github","在实际开发中,当我们发现已经使用sizedbox或constrainedbox给子元素指定了宽高,但是仍然没有效果时,几乎可以断定:已经有父元素已经设置了限制!举个例子,如material组件库中的appbar(导航栏)的右侧菜单中,我们使用sizedbox指定了loading按钮的大小,代码如下:","在客户端,methodchannel","在宿主平台上,methodchannel","在工具栏中点击","在工程根目录下创建一个images目录,并将图片avatar.png拷贝到该目录。","在布局阶段,父节点会调用子节点的layout()方法,下面我们看看renderobject中layout()方法的大致实现(删掉了一些无关代码和异常捕获):","在开发实现materi","在很多布局系统中都有viewport的概念,在flutter中,术语viewport(视口),如无特别说明,则是指一个widget的实际显示区域。例如,一个listview的显示区域高度是800像素,虽然其列表项总高度可能远远超过800像素,但是其viewport仍然是800像素。","在您的项目根文件夹中运行","在我们使用websocket后,要关闭连接:","在打开路由时传递参数","在按下时添加绿色边框,当抬起时,取消高亮","在接下来例子中,我们将连接到由websocket.org提供的测试服务器。服务器将简单地返回我们发送给它的相同消息!","在接下来的小节中,我们先详细介绍一下element、renderobject,它们是组成flutt","在接下来的章节中我们逐个来看看这三类框架的原理及优缺点。","在接收到滚动事件时,参数类型为scrollnotification,它包括一个metrics属性,它的类型是scrollmetrics,该属性包含当前viewport及滚动位置等信息:","在搜索框输入","在本书中经常会出现“树“的概念,在不同的场景可能指不同的意思,在说“widget树”时它可以指widget结构树,但由于widget与element有对应关系(一可能对多),在有些场景(flutter的sdk文档中)也代指“ui树”的意思。而在st","在本书前面章节已经介绍过imag","在本书的前面章节中,我们多次提到\"ui系统\"这个概念,本书中所指的ui系统特指:基于一个平台,在此平台上实现gui的一个系统,这里的平台特指操作系统,如android、ios或者windows、macos。我们说过各个平台ui系统的原理是相通的,也就是说无论是android还是ios,他们将一个用户界面展示到屏幕的流程是相似的,所以,在介绍flutt","在本实例中,我们只用到了登录接口和获取用户项目的接口,所以在git类中只定义了login(…)和getrepos(…)方法,如果读者要在本实例的基础上扩充功能,读者可以将其它的接口请求方法添加到git类中,这样便实现了网络请求接口在代码层面的集中管理和维护。","在本示例中,我们在异步任务中抛出了一个异常,then的回调函数将不会被执行,取而代之的是","在本示例中,是可以朝任意方向拖动的,但是在很多场景,我们只需要沿一个方向来拖动,如一个垂直方向的列表,gesturedetector可以只识别特定方向的手势事件,我们将上面的例子改为只能沿垂直方向拖动:","在本章中,为了让读者对布局类widget有个快速的认识,所以我们并不会深入到renderobject的细节中去。在学习本章时,读者的重点是掌握不同布局组件的布局特点,具体原理和细节等我们对flutter整体入门后,感兴趣的话再去研究。","在本章接下来的小节中,我们将通过一些实例来详细介绍自定义ui的过程,由于后两种方法本质是相同的,并且flutter中很多基础组件都是通过renderobject的形式来实现的,所以后续我们只介绍custompaint和canvas的方式,读者如果对自定义renderobject的方法好奇,可以查看flutter中相关基础组件对应的renderobject的实现源码,如renderparagraph或renderimage。","在本篇中,我们看看最后一种跨平台技术:自绘ui+原生。这种技术的思路是,通过在不同平台实现一个统一接口的渲染引擎来绘制ui,而不依赖系统原生控件,所以可以做到不同平台ui的一致性。注意,自绘引擎解决的是ui的跨平台问题,如果涉及其它系统能力调用,依然要涉及原生开发。这种平台技术的优点如下:","在构建materialapp时,我们配置了app支持的语言列表,以及监听了系统语言改变事件;另外materialapp消费(依赖)了thememodel和localemodel,所以当app主题或语言改变时materialapp会重新构建","在构建期间,flutter将asset放置到称为","在构建项目拥有者头像时调用了gmavatar(…)方法,该方法是是一个全局工具函数,专门用于获取头像图片,实现如下:","在某些情况下,动画值可能会超出animationcontroller的[0.0,1.0]的范围,这取决于具体的曲线。例如,fling()函数可以根据我们手指滑动(甩出)的速度(velocity)、力量(force)等来模拟一个手指甩出动画,因此它的动画值可以在[0.0,1.0]范围之外","在此笔者不对这些包做推荐,读者有兴趣都可以研究一下,了解它们各自的思想。","在此,一定要确保global.init()方法不能抛出异常,否则","在移动互联网发展初期,业务场景并不复杂,原生开发还可以应对产品需求迭代。","在移动端,各个平台或ui系统的原始指针事件模型基本都是一致,即:一次完整的事件分为三个阶段:手指按下、手指移动、和手指抬起,而更高级别的手势(如点击、双击、拖动等)都是基于这些原始事件的。","在笔者深入的了解flutter后,深知flutter必将是一个会改变移动开发格局的里程碑级作品,它从设计之初就对性能和开发效率兼顾,并且借鉴了react(一个web开发框架)的响应式的ui框架设计思想等,总之,很难用一两句话说完flutter的优点,同时我也很快成为了flutter的路转粉。","在笔者看来,dart的设计目标应该是同时借鉴了java和javascript。dart在静态语法方面和java非常相似,如类型定义、函数声明、泛型等,而在动态特性方面又和javascript很像,如函数式特性、异步支持等。除了融合java和javascript语言之所长之外,dart也具有一些其它具有表现力的语法,如可选命名参数、..(级联运算符)和?.(条件成员访问运算符)以及??(判空赋值运算符)。其实,对编程语言了解比较多的读者会发现,在dart中其实看到的不仅有java和javascript的影子,它还具有其它编程语言中的身影,如命名参数在object","在终端中运行:","在终端中运行:flutter","在给","在网络请求过程中可能会需要使用当前的context信息,比如在请求失败时","在设备像素比率为1.8的设备上,.../2.0x/my_icon.png","在请求阶段弹出load","在调用didchangedependencies()之后。","在调用didupdatewidget()之后。","在调用initstate()之后。","在调用setstate()之后。","在调试模式下需要抓包调试,所以我们使用代理,并禁用https证书校验","在路由页通过routesetting对象获取路由参数:","在软件开放,很多时候有一些公共的库或sdk可能会被很多项目用到,因此,将这些代码单独抽到一个独立模块,然后哪个项目需要使用时再直接集成这个模块,便可大大提高开发效率。很多编程语言或开发工具都支持这种“模块共享”机制,如java语言中这种独立模块会被打成一个jar包,android中的aar包,web开发中的npm包等。为了方便表述,我们将这种可共享的独立模块统一称为“包”(","在较新的android系统中,用户可以设置一个语言列表,这样一来,支持多语言的应用就会得到这个列表,应用通常的处理方式就是按照列表的顺序依次尝试加载相应的locale,如果某一种语言加载成功则会停止。图13","在输入时,android","在运行应用程序前,请运行flutter","在这个示例中,主要dart代码是在","在这种情况下,一个单一的gesturedetector被列出,并且监听“tap”手势(“tap”是tapgesturedetector的tostringshort函数输出的)","在这种情况下,每个逻辑像素代表3.5个设备像素。","在这种情况下,由于应用程序本地定义了字体,所以在创建textstyle时可以不指定package参数:","在选择匹配当前设备分辨率的图片时,flutter会使用到asset变体(见下文),将来,flutter可能会将这种机制扩展到本地化、阅读提示等方面。","在项目中设置json_serializ","在项目目录中,您应用程序的代码位于","基于aot的发布包:","基于jit的快速开发周期:flutter在开发阶段采用,采用jit模式,这样就避免了每次改动都要进行编译,极大的节省了开发时间;","基于sliver的延迟构建","基于widgetsapp的应用程序类似,只是不需要globalmateriallocalizations.delegate。","基于以上三点,相信读者和笔者一样,flutter未来如何,心中自有定论。到现在为止,我们已经对移动端开发技术有了一个全面的了解,接下来我们便要进入本书的主题,你准备好了吗!","基于此四点,尽管qt是移动端开发跨平台自绘引擎的先驱,但却成为了烈士。","基于此,我们可以设计一个简单的多线程的文件分块下载器,实现的思路是:","基础widget","基础版本","基础组件","堆叠,","填充(padding)","声明","声明分辨率相关的图片","声明文本样式","处于迭代中,功能会逐渐完善,所以建议读者直接使用该包(而不是手动复制上面的代码)。","处理包的相互依赖","处理抬起事件","处理按下事件","复写父类的方法,主要是设置诊断树的一些特性。","复杂的json对象往往会出现嵌套,我们可以通过一个特殊标志来手动指定嵌套的对象(后面举例)。","复选框选中状态","外部存储目录:可以使用getexternalstoragedirectory()来获取外部存储目录,如sd卡;由于ios不支持外部目录,所以在ios下调用该方法会抛出unsupportederror异常,而在android下结果是android","多行文本,需和maxlines配合使用(设为null或大于1)","多语言和多主题","多语言支持我们使用第十三章”国际化“中介绍的方案,所以还需要在根目录下创建一个\"i10n\"文件夹,用于保存各国语言对应的arb文件。","多重限制","大会上,flutter","大会上,googl","大多数应用程序都是通过materialapp为入口,但根据低级别的widgetsapp类为入口编写的应用程序也可以使用相同的类和逻辑进行国际化。materialapp实际上也是widgetsapp的一个包装。","头像","头部sliverappbar:sliverappbar对应appbar,两者不同之处在于sliverappbar可以集成到customscrollview。sliverappbar可以结合flexiblespacebar实`materi","好","如","如,","如web开发中的色值通常是一个字符串如\"#dc380d\",它是一个rgb值,我们可以通过下面这些方法将其转为color类:","如之前所述,原生开发可以访问平台所有功能,而混合开发中,h5代码是运行在webview中,而webview实质上就是一个浏览器内核,其javascript依然运行在一个权限受限的沙箱中,所以对于大多数系统能力都没有访问权限,如无法访问文件系统、不能使用蓝牙等。所以,对于h5不能实现的功能,都需要原生去做。而混合框架一般都会在原生代码中预先实现一些访问系统能力的api,","如何为英语系的国家指定同一个local","如何决定使用哪种管理方法?下面是官方给出的一些原则可以帮助你做决定:","如何学习flutter","如何对应用标题进行国际化","如何将颜色字符串转成color对象","如何设置isrepaintboundary属性呢?其实,如果使用了repaintboundary,其对应的renderrepaintboundary会自动将isrepaintboundary设为true的:","如果1、2验证都失败了,如果用户提供了badcertificatecallback回调,则会调用它,如果回调返回true,则允许继续链接,如果返回false,则终止链接。","如果behavior值改为hittestbehavior.opaque,则只会打印\"down1\"。","如果custompaint有子节点,为了避免子节点不必要的重绘并提高性能,通常情况下都会将子节点包裹在repaintboundary组件中,这样会在绘制时就会创建一个新的绘制层(layer),其子组件将在新的layer上绘制,而父组件将在原来layer上绘制,也就是说repaintboundari","如果dom只是外观风格发生变化,如颜色变化,会导致浏览器重绘界面。","如果dom树的结构发生变化,如尺寸、布局、节点隐藏等导致,浏览器就需要回流(及重新排版布局)。","如果element要重新插入到element树的其它位置,如element或element的祖先拥有一个globalkey(用于全局复用元素),那么framework会先将element从现有位置移除,然后再调用其activate方法,并将其renderobject重新attach到渲染树。","如果json文件名以下划线“_”开始,则忽略此json文件。","如果row里面嵌套row,或者column里面再嵌套column,那么只有对最外面的row或column会占用尽可能大的空间,里面row或column所占用的空间为实际大小,下面以column为例说明:","如果some_package声明了上面的依赖关系,other_package声明了url_launcher版本像’0.4.5’或’^0.4.0’,pub将能够自动解决问题。","如果xcode中的自动签名失败,请验证项目的","如果一切正常,","如果不是列表,则只删除uri相同的缓存","如果不足32位","如果不足64位","如果两端为圆角,则需要对起始位置进行调整,否则圆角部分会偏离起始位置","如果为true,则本次请求不使用缓存,但新的请求结果依然会被缓存","如果代码中有大量异步逻辑,并且出现大量异步任务依赖其它异步任务的结果时,必然会出现future.then回调中套回调情况。举个例子,比如现在有个需求场景是用户先登录,登录成功后会获得用户id,然后通过用户id,再去请求用户个人信息,获取到用户个人信息后,为了使用方便,我们需要将其缓存在本地文件系统,代码如下:","如果你一次输出太多,那么android有时会丢弃一些日志行。为了避免这种情况,您可以使用flutter的foundation库中的debugprint()。","如果你使用intellij的flutter插件,那么分析器在打开ide时就已经自动启用了,如果读者使用的是其它ide,强烈建议读者启用dart","如果你使用不同的文件名,那您还必须更新同一目录中的contents.json文件,图片的具体尺寸可以查看苹果官方的标准。","如果你使用终端是zsh,终端启动时","如果你想在windows系统自带命令行(而不是)运行flutter命令,需要添加以下环境变量到用户path:","如果你遇到包发布失败的情况,先检查是否因为众所周知的网络原因,如果是网络问题,可以使用vpn,这里需要注意的是一些代理只会代理部分app的网络请求,如浏览器的,它们可能并不能代理dart的网络请求,所以在这种情况下,即使开了代理也依然无法连接到pub,因此,在发布pub包时使用全局代理或全局vpn会保险些。如果网络没有问题,以管理员权限(sudo)运行发布命令重试。","如果冲突的依赖不是一个包,而是一个特定于android的库,比如guava,那么必须将依赖重写声明添加到gradle构建逻辑中。","如果发送的数据是formdata,则dio会将请求header的contenttype设为“multipart/form","如果图中超过这三条线之一,那么您的运行频率低于60hz。横轴代表帧。","如果在package包内部使用它自己定义的字体,也应该在创建文本样式时指定package参数,如上例所示。","如果在pubspec.yaml文件中声明了期望的资源,它将会打包到相应的package中。特别是,包本身使用的资源必须在pubspec.yaml中指定。","如果在上例中我们同时监听水平和垂直方向的拖动事件,那么我们斜着拖动时哪个方向会生效?实际上取决于第一次移动时两个轴上的位移分量,哪个轴的大,哪个轴在本次滑动事件竞争中就胜出。实际上flutter中的手势识别引入了一个arena的概念,arena直译为“竞技场”的意思,每一个手势识别器(gesturerecognizer)都是一个“竞争者”(gesturearenamember),当发生滑动事件时,他们都要在“竞技场”去竞争本次事件的处理权,而最终只有一个“竞争者”会胜出(win)。例如,假设有一个listview,它的第一个子组件也是listview,如果现在滑动这个子listview,父listview会动吗?答案是否定的,这时只有子listview会动,因为这时子listview会胜出而获得滑动事件的处理权。","如果在安装过程中遇到问题,可以先去flutter官网查看一下安装方式是否发生变化,或者在网上搜索一下解决方案。","如果子元素未超出当前边界,则绘制子元素","如果已安装git","如果已登录,则显示用户头像;若未登录,则显示默认头像","如果应用程序正在运行,请使用热重载按钮(⚡️图标)","如果异步任务发生错误,我们可以在catcherror中捕获错误,我们将上面示例改为:","如果您从未打算更改一个变量,那么使用","如果您使用observatory进行分析,请确保通过","如果您发现本书中的错误,欢迎点击右上角的”编辑按钮“,提pr。如果您想一起参与本书创作,可以参考《flutter实战》贡献指南。","如果您尝试调试合成图层,例如以确定是否以及在何处添加repaintboundari","如果您尝试调试合成问题,则可以使用debugdumplayertree()。对于上面的例子,它会输出:","如果您尝试调试布局问题,那么widgets层的树可能不够详细。在这种情况下,您可以通过调用debugdumprendertree()转储渲染树。","如果您现在按照size链继续往下查看,您会看到文本的大小是如何影响其按钮的框的宽度的,它们都是根据孩子的尺寸自行调整大小。","如果您编写自己的widget,则可以通过覆盖debugfillproperties()来添加信息。","如果您编写自己的渲染对象,则可以通过覆盖debugfillproperties()将信息添加到转储。","如果您重命名.png文件,则还必须在您androidmanifest.xml的标签的android:icon属性中更新名称。","如果想自定义路由切换动画,可以自己继承pageroute来实现,我们将在后面介绍动画时,实现一个自定义的路由组件。","如果想让flutter使用不同版本的android","如果我们tab页可以滑动切换的话,还需要在滑动过程中更新tabbar指示器的偏移!显然,要手动处理这些是很麻烦的,为此,material库提供了一个tabbarview组件,通过它不仅可以轻松的实现tab页,而且可以非常容易的配合tabbar来实现同步切换和滑动状态同步,示例如下:","如果我们使用flutter","如果我们嫌loading框太宽,想自定义对话框宽度,这时只使用sizedbox或constrainedbox是不行的,原因是showdialog中已经给对话框设置了宽度限制,根据我们在第五章“尺寸限制类容器”一节中所述,我们可以使用unconstrainedbox先抵消showdialog对宽度的限制,然后再使用sizedbox指定宽度,代码如下:","如果我们就是需要嵌套一个listview应该怎么做?这时,我们可以直接使用dialog类,如:","如果我们想剪裁子组件的特定区域,比如,在上面示例的图片中,如果我们只想截取图片中部40×30像素的范围应该怎么做?这时我们可以使用customclipper来自定义剪裁区域,实现代码如下:","如果我们想实现一个背景渐变的圆角按钮,按钮有没有相应的属性呢?答案是否定的,但是,我们可以通过其它方式来实现,我们将在后面\"自定义组件\"一章中实现。","如果我们想让整个300×150的矩形区域都能点击我们可以将behavior设为hittestbehavior.opaque。注意,该属性并不能用于在组件树中拦截(忽略)事件,它只是决定命中测试时的组件大小。","如果我们正在开发一个hello包,它依赖于另一个包,则需要将该依赖包添加到pubspec.yaml文件的dependencies部分。","如果我们正在本地开发一个包,包名为pkg1,我们可以通过下面方式依赖:","如果我们的flutter应用本身依赖某个包,我们需要将所依赖的包添加到depend","如果我们的应用要支持多种语言,那么我们需要“国际化”它。这意味着我们在开发时需要为应用程序支持的每种语言环境设置“本地化”的一些值,如文本和布局。flutter","如果我们直接修改hintcolor,那么下划线和提示文本的颜色都会变。值得高兴的是decoration中可以设置hintstyle,它可以覆盖hintcolor,并且主题中可以通过inputdecorationtheme来设置输入框默认的decoration。所以我们可以通过主题来自定义,代码如下:","如果我们需要将上面代码在现有flutter框架中跑起来,那么还是得提供一个”适配器“widget将homeview结合到现有框架中,下面customhome就相当于”适配器“:","如果接口返回的数量等于'page_size',则认为还有数据,反之则认为最后一页","如果是digest认证,可以创建digest认证凭据:","如果是fork的项目,则此字段表示fork的父项目信息","如果是post或put等可以携带请求体方法,可以通过httpclientrequest对象发送request","如果未在imag","如果某一个状态是不同widget共享的则最好由它们共同的父widget管理。","如果某一个组件有多个父级constrainedbox限制,那么最终会是哪个生效?我们看一个例子:","如果某个特定的arb中缺失某个属性,那么应用将会加载默认的arb文件(intl_messages.arb)中的相应属性,这是intl的托底策略。","如果每个项目都要构建一个上面这样的脚本显然很麻烦,为此,我们将上面脚本和生成模板封装了一个包,已经发布到了pub上,包名为json_model,开发者把该包加入开发依赖后,便可以用一条命令,根据json文件生成dart类。另外json_model","如果没有widget层,单靠element层是否可以搭建起一个可用的ui框架?如果可以应该是什么样子?","如果没有缓存策略,设置默认缓存策略","如果没有缓存,则调用load(t","如果状态是有关界面外观效果的,例如颜色、动画,那么状态最好由widget本身来管理。","如果状态是用户数据,如复选框的选中状态、滑块的位置,则该状态最好由父widget管理。","如果直到根节点也没找到一个layer,那么便需要绘制自身,因为没有其它节点可以绘制根节点。","如果第一步验证失败,但在创建httpclient时,已经通过securitycontext将证书添加到证书信任链中,那么当服务器返回的证书在信任链中的话,则验证通过。","如果系统的语言环境发生变化,widgetsapp将创建一个新的loc","如果给scaffold添加了抽屉菜单,默认情况下scaffold会自动将appbar的leading设置为菜单按钮(如上面截图所示),点击它便可打开抽屉菜单。如果我们想自定义菜单图标,可以手动来设置leading,如:","如果节点有子节点,它除了完成自身绘制逻辑之外,还要调用子节点的绘制方法。我们以renderflex对象为例说明:","如果要将父类状态暴露给子类,那么必须得有一种传递机制,而做这一套传递机制是无意义的,因为父子类之间状态的传递和子类本身逻辑是无关的。","如果要让里面的column占满外部column,可以使用expand","如果设备的locale区域设置发生更改,则loc","如果访问的路由页需要登录,但当前未登录,则直接返回登录页路由,","如果该条目不存在,创建一个新用户变量","如果该条目存在,","如果请求的https证书是可信ca颁发的,并且访问host包含在证书的domain列表中(或者符合通配规则)并且证书未过期,则验证通过。","如果这些命令中的任何一个失败并出现错误,请运行brew","如果通知监听器不为空,并且当前通知类型是该notificationlisten","如果遇到无法通过现有的组件来实现需要的ui时,我们可以通过自绘组件的方式来实现,例如我们需要一个颜色渐变的圆形进度条,而flutter提供的circularprogressindicator并不支持在显示精确进度时对进度条应用渐变色(其valuecolor","如果需要过滤uri,可以手动判断","如果需要,方法调用(消息传递)可以是反向的,即宿主作为客户端调用dart中实现的api。","如果需要,自定义命名策略也很容易。例如,如果我们正在使用的api返回带有snake_case的对象,但我们想在我们的模型中使用lowercamelcase,","如:android","子组件为正方形时剪裁为内贴圆形,为矩形时,剪裁为内贴椭圆","子组件是一个column","子组件的绘制将独立于父组件的绘制,repaintboundary会隔离其子节点和custompaint本身的绘制边界。示例如下:","字体","字体主题,包括标题、body等文字样式","字段,例如:","字符串内容超过一行,text宽度等于屏幕宽度,第二行文本便会居中显示。","存放所有路由页面类","它也没有定义坐标系统(如子节点定位是在笛卡尔坐标中还是极坐标?)和具体的布局协议(是通过宽高还是通过constraint和size?,或者是否由父节点在子节点布局之前或之后设置子节点的大小和位置等)。为此,flutter提供了一个renderbox类,它继承自`renderobject,布局坐标系统采用笛卡尔坐标系,这和android和ios原生坐标系是一致的,都是屏幕的top、left是原点,然后分宽高两个轴,大多数情况下,我们直接使用renderbox就可以了,除非遇到要自定义布局模型或坐标系统的情况,下面我们重点介绍一下renderbox。","它们可以如下方式获取到:","它实际上是一个imageprovider,有些时候你可能期望直接得到一个显示图片的widget,那么你可以使用image.asset()方法,如:","它是一个map,key为路由的名字,是个字符串;value是个builder回调函数,用于生成相应的路由widget。我们在通过路由名字打开新路由时,应用会根据路由名字在路由表中查找到对应的widgetbuilder回调函数,然后调用该回调函数生成路由widget并返回。","它是一个自动化的源代码生成器,可以在开发阶段为我们生成json序列化模板,这样一来,由于序列化代码不再由我们手写和维护,我们将运行时产生json序列化异常的风险降至最低。","它的返回值类型为布尔值,当返回值为true时,阻止冒泡,其父级widget将再也收不到该通知;当返回值为fals","安卓包配置问题","安装","安装android","安装flutter","安装flutter和dart插件","安装flutter插件","安装xcode","安装之后重新运行即可,如图1","安装步骤:","安装目录是“~/code/flutter_dir”,那么代码为:","安装遇到问题?","完成flutter框架初始化时.","完整代码:","完整的例子","完整的示例代码如下:","官网:阅读flutter官网的资源是快速入门的最佳方式,同时官网也是了解最新flutter发展动态的地方,由于目前flutter仍然处于快速发展阶段,所以建议读者还是时不时的去官网看看有没有新的动态。","定义_active:确定盒子的当前颜色的布尔值。","定义_handletap()函数,该函数在点击该盒子时更新_active,并调用setstate()更新ui。","定义一个\"模板的模板\",名为\"template.dart\":","定义一个controller:","定义一个item类,用于表示商品信息:","定义一个保存购物车内商品数据的cartmodel类:","定义一个背景蓝色,两边圆角的按钮。效果如图3","定义一个路由类faderout","定义一个通知类,要继承自notification类;","定义两个变量,用于保存用户名和密码,然后在onchange触发时,各自保存一下输入内容。","定义事件:","定义函数时,使用{param1,","定位到","定位到android","定位到您","定位参考系统不同;stack/positioned定位的的参考系可以是父容器矩形的四个顶点;而align则需要先通过align","定制进度指示器风格样式,可以通过custompaint","实例","实例方法","实例的","实例转化为一个map.","实例:http分块下载","实例:turnbox","实例:圆形渐变进度条","实例:无限加载列表","实现","实现_handletapboxchanged(),当盒子被点击时调用的方法。","实现delegate类","实现downloadchunk:","实现github账号登录、退出登录功能","实现local","实现localizations类","实现packag","实现renderobject","实现testflowdelegate:","实现widget的所有交互式行为。","实现一个全局的事件总线,将语言状态改变对应为一个事件,然后在app中依赖应用语言的组件的initst","实现一个计数器","实现代码如下:","实现代码很简单,不在赘述。唯一需要注意的是我们是通过navigator.of(context).pop(…)方法来关闭对话框的,这和路由返回的方式是一致的,并且都可以返回一个结果数据。现在,对话框我们已经构建好了,那么如何将它弹出来呢?还有对话框返回的数据如何应如何被接收呢?这些问题的答案都在showdialog()方法中。","实现代码省略","实现如下:","实现很简单,直接调用navigator的push方法打开了一个新的对话框路由_dialogroute,然后返回了push的返回值。可以对话框实际上正是通过路由的形式实现的,这也是为什么我们可以使用navigator的pop","实现快速的开发周期,热重载就是无需重启应用程序就能实时加载修改后的代码,并且不会丢失状态。简单的对代码进行更改,然后告诉ide或命令行工具你需要重新加载(点击reload按钮),你就会在你的设备或模拟器上看到更改。","实现的代码大致如下:","实现:","实际上alertdialog和simpledialog都使用了dialog类。由于alertdialog和simpledialog中使用了intrinsicwidth来尝试通过子组件的实际尺寸来调整自身尺寸,这就导致他们的子组件不能是延迟加载模型的组件(如listview、gridview","实际上sizedbox只是constrainedbox的一个定制,上面代码等价于:","实际上本示例只组合了rotationtransition一个组件,它是一个最简的组合类组件示例。另外,如果我们封装的是statefulwidget,那么一定要注意在组件更新时是否需要同步状态。比如我们要封装一个富文本展示组件myrichtext","实际上,flutter中真正代表屏幕上显示元素的类是element,也就是说widget只是描述element的配置数据!有关element的详细介绍我们将在本书后面的高级部分深入介绍,现在,读者只需要知道:widget只是ui元素的一个配置数据,并且一个widget可以对应多个element。这是因为同一个widget对象可以被添加到ui树的不同部分,而真正渲染时,ui树的每一个element节点都会对应一个widget对象。总结一下:","实际上,row和column都只会在主轴方向占用尽可能大的空间,而纵轴的长度则取决于他们最大子元素的长度。如果我们想让本例中的两个文本控件在整个手机屏幕中间对齐,我们有两种方法:","实际上,showdialog方法正是showgeneraldialog的一个封装,定制了material风格对话框的遮罩颜色和动画。material风格对话框打开/关闭动画是一个fade(渐隐渐显)动画,如果我们想使用一个缩放动画就可以通过transitionbuilder来自定义。下面我们自己封装一个showcustomdialog方法,它定制的对话框动画为缩放动画,并同时制定遮罩颜色为colors.black87:","实际业务中,在正式向服务器提交数据前,都会对各个输入框数据进行合法性校验,但是对每一个textfield都分别进行校验将会是一件很麻烦的事。还有,如果用户想清除一组textfield的内容,除了一个一个清除有没有什么更好的办法呢?为此,flutter提供了一个form","实际偏移","实际开发中,我们经常会遇到切换ui元素的场景,比如tab切换、路由切换。为了增强用户体验,通常在切换时都会指定一个动画,以使切换过程显得平滑。flutt","实际运行效果如图4","实际运行结果如图4","客户端发送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位”。","对app当前语言进行高亮显示","对view的抽象也是一样的,他们都将操作系统api抽象成一个基础对象(如用于2d图形绘制的canvas),然后再定义一套规则来描述ui,如ui树结构,ui操作的单线程原则等。","对下载的图片数据进行解码。","对于android,当打开新页面时,新的页面会从屏幕底部滑动到屏幕顶部;当关闭页面时,当前页面会从屏幕顶部滑动到屏幕底部后消失,同时上一个页面会显示到屏幕上。","对于buildcontext读者现在可以先作了解,随着本书后面内容的展开,也会用到context的一些方法,读者可以通过具体的场景对其有个直观的认识。关于buildcontext更多的内容,我们也将在后面高级部分再深入介绍。","对于get请求我们可以将query参数通过对象来传递,上面的代码等同于:","对于ios,当打开页面时,新的页面会从屏幕右侧边缘一致滑动到屏幕左边,直到新页面全部显示到屏幕上,而上一个页面则会从当前屏幕滑动到屏幕左侧而消失;当关闭页面时,正好相反,当前页面会从屏幕右侧滑出,同时上一个页面会从屏幕左侧滑入。","对于一些复杂或不规则的ui,我们可能无法通过组合其它组件的方式来实现,比如我们需要一个正六边形、一个渐变的圆形进度条、一个棋盘等。当然,有时候我们可以使用图片来实现,但在一些需要动态交互的场景静态图片也是实现不了的,比如要实现一个手写输入面板,这时,我们就需要来自己绘制ui外观。","对于一些组件来说,混合管理的方式会非常有用。在这种情况下,组件自身管理一些内部状态,而父组件管理一些其他外部状态。","对于上面的例子,它会输出:","对于只包含一个表达式的函数,可以使用简写语法","对于大多数情况,当您想要使用最新版本的xcode时,这是正确的路径。如果您需要使用不同的版本,请指定相应路径。","对于所有终端会话永久修改此变量的步骤是和特定计算机系统相关的。通常,您会在打开新窗口时将设置环境变量的命令添加到执行的文件中。例如","对于接下来的示例,希望读者可以跟着笔者一起亲自动手来写一下,这样不仅可以加深印象,而且也会对介绍的概念与技术有一个真切的体会。如果你还不是很熟悉dart语言或者没有移动开发经验,不用担心,只要你熟悉面向对象和基本编程概念(如变量、循环和条件控制),则可以完成本示例。","对于父widget来说,管理状态并告诉其子widget何时更新通常是比较好的方式。","对于纯dart包,只需在主lib/.dart文件内或lib目录中的文件中添加功能即可","对于线性布局,有主轴和纵轴之分,如果布局是沿水平方向,那么主轴就是指水平方向,而纵轴即垂直方向;如果布局沿垂直方向,那么主轴就是指垂直方向,而纵轴就是水平方向。在线性布局中,有两个定义对齐方式的枚举类mainaxisalignment和crossaxisalignment,分别代表主轴对齐和纵轴对齐。","对于自签名的证书,我们也可以将其添加到本地证书信任链中,这样证书验证时就会自动通过,而不会再走到badcertificatecallback回调中:","对于问题1,答案当然是肯定的,因为我们之前说过widget树只是element树的映射,我们完全可以直接通过element来搭建一个ui框架。下面举一个例子:","对于问题2,答案当然也是肯定的,flutter","对前面章节所学内容的一个应用及总结。","对图片数据进行解码","对应事件的订阅者队列","对应的element","对应请求头中的content","对应请求头中的keep","对应请求头中的user","对新child,绑定的动画会正向指向(forward)","对旧child,绑定的动画会反向执行(reverse)","对此方法做了优化,使重新执行变的很快,所以你可以重新构建任何需要更新的东西,而无需分别去修改各个widget。","对话框ui的build","对话框内容组件","对话框外形","对话框实现原理","对话框打开/关闭的动画","对话框打开/关闭的动画时长","对话框打开动画及遮罩","对话框操作按钮组","对话框本质上也是ui布局,通常一个对话框会包含标题、内容,以及一些操作按钮,为此,material库中提提供了一些现成的对话框组件来用于快速的构建出一个完整的对话框。","对话框状态管理","对话框的阴影","对话框背景色","对话框详解","对象:","对象加载:每个flutter应用程序都有一个rootbundle对象,","对象并不相同;另外statefulwidget类中添加了一个新的接口createstate()。","对象:","对齐与相对定位(align)","对齐方式(来自widget如center和align)显示为黄色箭头.","导入包","导入包。","导入字体图标文件;这一步和导入字体文件相同,假设我们的字体图标文件保存在项目根目录下,路径为\"fonts/iconfont.ttf\":","导入并创建dio实例:","导航栏右侧菜单","导航栏右边有一个分享按钮","导航栏底部菜单,通常为tab按钮组","导航栏阴影","导航返回拦截","导航返回拦截(willpopscope)","封装网络请求","将","将`repo.id`作为repoitem的默认key","将column的宽度指定为屏幕宽度;这很简单,我们可以通过constrainedbox或sizedbox(我们将在后面章节中专门介绍着两个widget)来强制更改宽度限制,例如:","将diagnosticsproperty对象作为方法参数,并调用父类方法。","将diagnosticsproperty对象作为方法的参数,并调用父类方法。","将flutter添加到path中,可以在任何终端会话中运行flutter命令。","将json字符串转为list/map的方法比较简单,它没有外部依赖或其它的设置,对于小项目很方便。但当项目变大时,这种手动编写序列化逻辑可能变得难以管理且容易出错,例如有如下json:","将materi","将minwidth设为double.infinity,可以使宽度占用尽可能多的空间。","将“english_words”(3.1.3版本)添加到依赖项列表,如下:","将不会被加载,解决办法就是修改","将不能再被调用。","将以下新方法添加到appdelegate.swift底部:","将其替换为所需的资源,并遵守每种屏幕密度(dpi)的建议图标大小标准。","将原生api通过webview注册到jsbridge中","将在我们运行生成命令后自动生成","将子组件剪裁为圆角矩形","将字符串","将安装包zip解压到你想安装flutt","将数据发送到服务器","将数据发送到服务器。","将栈顶路由出栈,result为页面关闭时返回给上一个页面的数据。","将点击次数以字符串类型写到文件中","将给定的路由入栈(即打开新的页面),返回值是一个future对象,用以接收新路由出栈(即关闭)时的返回数据。","将虚拟dom布局信息传递给原生;","将被选择。对于2.7的设备像素比率,.../3.0x/my_icon.png将被选择。","将选中状态返回","将需要绘制的比特数据发给gpu","小结","小节","就可以确定了,即该节点的大小与它自身的属性和其子节点无关,比如如果一个控件永远充满","尺寸限制类容器","尺寸限制类容器用于限制容器大小,flutter中提供了多种这样的容器,如constrainedbox、sizedbox、unconstrainedbox、aspectratio等,本节将介绍一些常用的。","尽可能的利用好shouldrepaint返回值;在ui树重新build时,控件在绘制前都会先调用该方法以确定是否有必要重绘;假如我们绘制的ui不依赖外部状态,那么就应该始终返回false,因为外部状态改变导致重新build时不会影响我们的ui外观;如果绘制依赖外部状态,那么我们就应该在shouldrepaint中判断依赖的状态是否改变,如果已改变则应返回true来重绘,反之则应返回false不需要重绘。","尽管还有其他库可用,但在本书中,我们介绍一下官方推荐的json_serializ","层","层叠布局","层叠布局stack、posit","层叠布局和web中的绝对定位、android中的frame布局是相似的,子组件可以根据距父容器四个角的位置来确定自身的位置。绝对定位允许子组件堆叠起来(按照代码中声明的顺序)。flutter中使用stack和positioned这两个组件来配合实现绝对定位。stack允许子组件堆叠,而positioned用于根据stack的四个角来确定子组件的位置。","展示应用第一帧时.","属性","属性为crossaxisalignment.center,那么子项在column纵轴方向(此时为水平方向)会居中对齐。注意,在水平方向对齐是有边界的,总宽度为column占用空间的实际宽度,而实际的宽度取决于子项中宽度最大的widget。在本例中,column有两个子widget,而显示“world”的text宽度最大,所以column的实际宽度则为text(\"world\")","属性及外观","属性只支持执行旋转动画时变化indicator的颜色),这时最好的方法就是通过自定义组件来绘制出我们期望的外观。我们可以通过flutter中提供的custompaint和canvas来实现ui自绘。","嵌套json","工作原理","工具:","工具来为package生成文档,开发者需要做的就是遵守文档注释语法在代码中添加文档注释,最后使用dartdoc可以直接生成api文档(一个静态网站)。文档注释是使用三斜线\"///\"开始,如:","工具版本。","工欲善其事必先利其器,本节首先会分别介绍一下在windows和macos下flutt","已经创建过了,则将根element","布局","布局消息传递;","布局类widgets简介","布局类widget一般都需要接收一个widget数组(children),他们直接或间接继承自(或包含)multichildrenderobjectwidget","布局类widget是按照一定的排列方式来对其子widget进行排列;而容器类widget一般只是包装其子widget,对其添加一些修饰(补白或背景色等)、变换(旋转或剪裁等)、或限制(大小等)。","布局类组件就是指直接或间接继承(包含)multichildrenderobjectwidget的widget,它们一般都会有一个children属性用于接收子widget。我们看一下继承关系","布局类组件简介","布局类组件都会包含一个或多个子组件,不同的布局类组件对子组件排版(layout)方式不同。我们在前面说过element树才是最终的绘制树,element树是通过widget树来创建的(通过widget.createelement()),嗯widget其实就是element的配置数据。在flutter中,根据widget是否需要包含子节点将widget分为了三类,分别对应三种element,如下表:","布局过程","布局限制类容器constrainedbox、sizebox","带\"*\"号的分支即你本地的flutter","带图标的按钮","带领读者了解如何使用flutter来开发一个完整app,了解flutter应用开发流程及工程结构等。","常用于会多次读取数据的异步任务场景,如网络内容下载、文件读写等。举个例子:","常见配置问题","常规>设备管理","常规方法","平台依赖、sdk版本等,而且它也是flutter开发推荐的ide之一(当然,你也可以使用其它编辑器或ide,我们将会在后面讨论)。","平台特定,开发成本高;不同平台必须维护不同代码,人力成本随之变大;","平台通道","平台通道使用标准消息编/解码器对消息进行编解码,它可以高效的对消息进行二进制序列化与反序列化。由于dart与原生平台之间数据类型有所差异,下面我们列出数据类型之间的映射关系。","平台通道数据类型支持","平台通道消息处理回调","平移","年","并信任您的证书。","并在每次收到消息时通知flutter重新构建界面。","并在那里创建一个。","并将一个widget放在通过new","并没有任何缓存,所以它也都会被重新构建,所以也会调用build()方法。","并混入了很多binding,在介绍这些binding之前我们先介绍一下window,下面是window的官方解释:","并用一个text来显示它们。","并选择","并非是一个widget,","广告:长期招聘前端、移动端高工,有意者请发简历到duwen32767@163.com","库中的按钮都有如下相同点:","库造成的,解决方法如下:","应用中main函数为应用程序的入口。main函数中调用了runapp","应用使用配置信息;没一个用户都应有自己的app配置信息,如主题、语言、以及数据缓存策略等。","应用入口。","应用或包的描述、简介。","应用的flutter部分通过平台通道(platform","应用程序中通常会包含一些贯穿app生命周期的变量信息,这些信息在app大多数地方可能都会被用到,比如当前用户信息、local信息等。在flutter中我们把需要全局共享的信息氛围两类:全局变量和共享状态。全局变量就是单纯指会贯穿整个app生命周期的变量,用于单纯的保存一些信息,或者封装一些全局工具和方法的对象。而共享状态则是指哪些需要跨组件或跨路由共享的信息,这些信息通常也是全局变量,而共享状态和全局变量的不同在于前者者发生改变时需要通知所有使用该状态的组件,而后者不需要。为此,我们将全局变量和共享状态分开单独管理。","应用结构。","应该在didchangedependencies()中做什么?","底下两层(foundation和animation、painting、gestures)在google的一些视频中被合并为一个dart","底部sliverfixedextentlist:它是一个所有子元素高度都为50像素的列表。","底部tab导航栏","底部导航","底部导航栏","底部导航栏打一个圆形的洞","底部菜单列表","建议使用","开发flutter插件","开发packag","开发人员只会关心该框是否处于active状态,而不在乎高亮显示是如何管理的,所以应该让tapbox内部处理这些细节。","开发人员选项","开发平台提供的api,所以我们定义一个git类,专门用于github","开发效率","开发效率低:qt使用c++作为其开发语言,而编程需要效率是直接会影响app开发效率的,c++作为一门静态语言,在ui开发方面灵活性不及javascript这样的动态语言,另外,c++需要开发者手动去管理内存分配,没有javascript及java中垃圾回收(gc)的机制。","开发效率高","开发效率;flutter的热重载可帮助开发者快速地进行测试、构建ui、添加功能并更快地修复错误。在ios和android模拟器或真机上可以实现毫秒级热重载,并且不会丢失状态。这真的很棒,相信我,如果你是一名原生开发者,体验了flutter开发流后,很可能就不想重新回去做原生了,毕竟很少有人不吐槽原生开发的编译速度。","开发者只需关注状态转移(数据),当状态发生变化,react框架会自动根据新的状态重新构建ui。","开发者可以根据实际需求来定制。","开头的任何内容都只能在调试模式下工作。","开始一直向父节点查找,直到找到","开始加速,后面减速","开始快,后面慢","开始慢,后面快","开始慢,然后加速,最后再减速","开始时高度从0增长到300像素,同时颜色由绿色渐变为红色;这个过程占据整个动画时间的60%。","异步ui更新(futurebuilder、streambuilder)","异步任务处于等待状态","异步任务已经终止.","异步支持","引入","引入dio:","引入english_words包。","引入pathprovider插件;在pubspec.yaml文件中添加如下声明:","引导用户登录;其它情况则正常打开路由。","弹出对话框","弹出底部菜单列表模态对话框","弹性布局flex","弹性布局允许子组件按照一定比例来分配父容器空间。弹性布局的概念在其它ui系统中也都存在,如h5中的弹性盒子布局,android中的flexboxlayout等。flutter中的弹性布局主要通过flex和expanded来配合实现。","弹性布局比较简单,唯一需要注意的就是row、column以及flex的关系。","弹性布局(flex)","强制使用","强制使用23.0版本的guava库,在hello/android/build.gradle中:","当animatedswitcher的child发生变化时(类型或key不同),旧child会执行隐藏动画,新child会执行执行显示动画。究竟执行何种动画效果则由transitionbuilder参数决定,该参数接受一个animatedswitchertransitionbuilder类型的builder,定义如下:","当app语言选为跟随系统(auto)时,在系通语言改变时,app语言会更新;当用户在app中选定了具体语言时(美国英语或中文简体),则app便会一直使用用户选定的语言,不会再随系统语言而变。语言状态类定义如下:","当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提供的现有组件无法满足我们的需求,或者我们为了共享代码需要封装一些通用组件,这时我们就需要自定义组件。在flutter中自定义组件有三种方式:通过组合其它组件、自绘和实现renderobject。本节我们先分别介绍一下这三种方式的特点,后面章节中则详细介绍它们的细节。","当layout结束后,每个节点的位置(相对于父节点的偏移)就已经确定了,renderobject就可以根据位置信息来进行最终的绘制。但是在layout过程中,节点的位置信息怎么保存?对于大多数renderbox子类来说如果子类只有一个子节点,那么子节点偏移一般都是offset.zero","当local","当scrollcontroller和可滚动组件关联时,可滚动组件首先会调用scrollcontroller的createscrollposition()方法来创建一个scrollposition来存储滚动位置信息,接着,可滚动组件会调用attach()方法,将创建的scrollposition添加到scrollcontroller的positions属性中,这一步称为“注册位置”,只有注册后animateto()","当text发生改变时,我们调用markneedsbuild()方法将当前element标记为dirty即可,标记为dirty的element会在下一帧中重建。实际上,state.setstate()在内部也是调用的markneedsbuild()方法。","当一个不可变的规则被违反时,它被报告给控制台,并带有一些上下文信息来帮助追踪问题的根源。","当一个路由中包含多个可滚动组件时,如果你发现在进行一些跳转或切换操作后,滚动位置不能正确恢复,这时你可以通过显式指定pagestoragekey来分别跟踪不同的可滚动组件的位置,如:","当使用dart","当创建一个animationcontroller时,需要传递一个vsync参数,它接收一个tickerprovider类型的对象,它的主要职责是创建ticker,定义如下:","当前没有异步任务,比如[futurebuilder]的[future]为null时","当前系统字体缩放比例。","当前系统默认的语言local","当前设备的dpi,即一个逻辑像素显示多少物理像素,数字越大,显示效果就越精细保真。","当前进度,取值范围","当前页号","当可滚动组件销毁时,会调用scrollcontroller的detach()方法,将其scrollposition对象从scrollcontroller的positions属性中移除,这一步称为“注销位置”,注销后animateto()","当同时监听ontap和ondoubletap事件时,当用户触发tap事件时,会有200毫秒左右的延时,这是因为当用户点击完之后很可能会再次点击以触发双击事件,所以gesturedetector会等一段时间来确定是否为双击事件。如果用户只监听了ontap(没有监听ondoubletap)事件时,则没有延时。","当在flutter中调用原生方法时,调用信息通过平台通道传递到原生,原生收到调用信息后方可执行指定的操作,如需返回数据,则原生会将数据再通过平台通道传递给flutter。值得注意的是消息传递是异步的,这确保了用户界面在消息传递时不会被挂起。","当在发送和接收值时,这些值在消息中的序列化和反序列化会自动进行。","当在调试模式设置为true时,它将覆盖这样一个网格。","当它被启用时,所有的盒子都会得到一个明亮的深青色边框,padding(来自widget如padding)显示为浅蓝色,子widget周围有一个深蓝色框,","当应用中需要一些跨组件(包括跨路由)的状态需要同步时,上面介绍的方法便很难胜任了。比如,我们有一个设置页,里面可以设置应用的语言,我们为了让设置实时生效,我们期望在语言状态发生改变时,app中依赖应用语言的组件能够重新build一下,但这些依赖应用语言的组件和设置页并不在一起,所以这种情况用上面的方法很难管理。这时,正确的做法是通过一个全局状态管理器来处理这种相距较远的组件之间的通信。目前主要有两种办法:","当您第一次attach真机设备进行ios开发时,需要同时信任你的mac和该设备上的开发证书。首次将ios设备连接到mac时,请在对话框中选择","当我们更改系统语言设置时,app中的localizations组件会重新构建,localizations.localeof(context)","当我们点击旋转按钮时,两个图标的旋转都会旋转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","当检测到点击时,它会通知父组件。","当点击时,将状态的改变传递给父组件。","当点击盒子并且_active状态改变时调用setstate()更新ui。","当然我们也可以创建自己curve,例如我们定义一个正弦曲线:","当然,parentdata并不仅仅可以用来存储偏移信息,通常所有和子节点特定的数据都可以存储到子节点的parentdata中,如containerbox的parentdata就保存了指向兄弟节点的previoussibling和nextsibling,element.visitchildren()方法也正是通过它们来实现对子节点的遍历。再比如keepal","当状态改变时,调用setstate()更新ui。","当组件内容超过当前显示视口(viewport)时,如果没有特殊处理,flutter则会提示overflow错误。为此,flutter提供了多种可滚动组件(scrol","当绘制区域大小改变回调","当缓存数量超过最大值或缓存的大小超过最大缓存容量,会调用此方法清理到缓存上限以内","当调试布局问题时,关键要看的是size和constraints字段。约束沿着树向下传递,尺寸向上传递。","当需要使用这个package时,我们可以通过\"package:\"指令来指定包的入口文件:","当需要绘制的内容大小溢出当前空间时,将会执行paintoverflowindicator()","很多人可能会问flutter中有没有像java开发中的gson/jackson一样的json序列化类库?答案是没有!因为这样的库需要使用运行时反射,这在flutter中是禁用的。运行时反射会干扰dart的tre","很多时候我们会依赖一些异步数据来动态更新ui,比如在打开一个页面时我们需要先从互联网上获取数据,在获取数据的过程中我们显式一个加载框,等获取到数据时我们再渲染页面;又比如我们想展示stream(比如文件流、互联网数据接收流)的进度。当然,通过statefulwidget我们完全可以实现上述这些功能。但由于在实际开发中依赖异步数据更新ui的这种场景非常常见,因此flutter专门提供了futurebuilder和streambuilder两个组件来快速实现这种功能。","很多时候我们需要给列表添加一个固定表头,比如我们想实现一个商品列表,需要在列表顶部添加一个“商品列表”标题,期望的效果如图6","很多时候,在路由跳转时我们需要带一些参数,比如打开商品详情页时,我们需要带一个商品id,这样商品详情页才知道展示哪个商品信息;又比如我们在填写订单时需要选择收获地址,打开地址选择页后,可以将用户选择的地址返回到订单页等等。下面我们通过一个简单的示例来演示新旧路由如何传参。","很明显了,独立绘制是通过在不同的layer(层)上绘制的。所以,很明显,正确使用isrepaintboundary属性可以提高绘制效率,避免不必要的重绘。具体原理是:和触发重新build和layout类似,renderobject也提供了一个markneedspaint()方法,其源码如下:","很明显,window正是flutt","很明显,由于flex本身没有需要绘制的东西,所以直接遍历其子节点,然后调用paintchild()来绘制子节点,同时将子节点parentdata中在layout阶段保存的offset加上自身偏移作为第二个参数传递给paintchild()。而如果子节点还有子节点时,paintchild()方法还会调用子节点的paint()方法,如此递归完成整个节点树的绘制,最终调用栈为:","很清晰,对于网络图片来说,会将其“url+缩放比例”作为缓存的key。也就是说如果两张图片的url或scale只要有一个不同,便会重新下载并分别缓存。","很简单吧,在上面的代码中,我们主要通过shape来指定其外形为一个圆角矩形。因为按钮背景是蓝色(深色),我们需要指定按钮主题colorbrightness为brightness.dark,这是为了保证按钮文字颜色为浅色。","微信图标","必须指定的参数有两个:","必须显式定义各种事件,不好管理","快应用","快应用是华为、小米、oppo、魅族等国内9大主流手机厂商共同制定的轻量级应用标准,目标直指微信小程序。它也是采用javascript语言开发,原生控件渲染,与react","快应用自身不支持vue或react语法,其采用原生javascript开发,其开发框架和微信小程序很像,值得一提的是小程序目前已经可以使用vue语法开发(mpvue),从原理上来讲,vue的语法也可以移植到快应用上。","快速内存分配","忽略pointerev","怎么样,很炫酷吧!gradientcircularprogressindicator已经被添加进了笔者维护的flukit组件库中了,读者如果有需要,可以直接依赖flukit包。","怎么样,是不是很简单,除了这些基本的用法,dio还支持请求配置、拦截器等,官方资料比较详细,故本书不再赘述,详情可以参考dio主页:https://github.com/flutterchina/dio","怎么样,通过boxdecoration我们实现了一个渐变按钮的外观,但此示例还不是一个标准的按钮,因为它还不能响应点击事件,我们将在后面“自定义组件”一章中实现一个完整功能的gradientbutton。另外,上面的例子中使用了lineargradient类,它用于定义线性渐变的类,flutter中还提供了其它渐变配置类,如radialgradient、sweepgradient,读者若有需要可以自行查看api文档。","思考","思考题:diff操作和dom批量更新难道不应该是浏览器的职责吗?第三方框架中去做合不合适?","思考题:flutter","思考题:为什么build方法的参数不定义成element对象,而要定义成buildcontext","思考题:使用transform对其子组件先进行平移然后再旋转和先旋转再平移,两者最终的效果一样吗?为什么?","思考题:在这个示例中,下划线颜色是固定的,所以获得焦点后颜色仍然为灰色,如何实现点击后下滑线也变色呢?","思考题:对于maxwidth和maxheight,多重限制的策略是什么样的呢?","思考题:既然stream可以接收多次事件,那能不能用stream来实现一个订阅者模式的事件总线?","性能","性能好;flow是一个对子组件尺寸以及位置调整非常高效的控件,flow用转换矩阵在对子组件进行位置调整的时候进行了优化:在flow定位过后,如果子组件的尺寸或者位置发生了变化,在flowdelegate中的paintchildren()方法中调用context.paintchild","性能问题","性能高;由于自绘引擎是直接调用系统api来绘制ui,所以性能和原生控件接近。","总结","总结一下,纯原生开发主要面临动态化和开发成本两个问题,而针对这两个问题,诞生了一些跨平台的动态化框架。","您也可以直接使用gridpaper组件将这种网格覆盖在非material应用程序上","您也可以通过使用","您也可以通过打开xcode完全自定义storyboard。在project","您也可以通过设置debugpaintsizeenabled为true以可视方式调试布局问题。","您可以通过android","您应该在您的设备或模拟器上会看到启动的应用程序:","您现在可以在hello/android/src源码中import","您现在可以在hello/ios/classes源码中","您现在就可以在android上运行该应用程序。如果您使用的是android模拟器,则可以通过工具栏中的\"...\"按钮访问extend","您的应用可以通过assetbundle对象访问其asset","您还可以调用debugdumpsemanticstree()获取语义树(呈现给系统可访问性api的树)的转储。","意为该节点的大小是否仅通过","感谢一直以来支持flutter中文网、flutter开源项目的人以及所有对本书提过pr的人,正是因为有你们,才有这本书。另外尤其感谢给本书打赏过的同学,你们的支持给了我很大的鼓励。","成功了!","我们decoratedbox可以支持背景色渐变和圆角,inkwell在手指按下有涟漪效果,所以我们可以通过组合decoratedbox和inkwell来实现gradientbutton,代码如下:","我们一般很少会使用flow,因为其过于复杂,需要自己实现子widget的位置转换,在很多场景下首先要考虑的是wrap是否满足需求。flow主要用于一些需要自定义布局策略或性能要求较高(如动画中)的场景。flow有如下优点:","我们上面实现的changenotifierprovider是有两个明显缺点:代码组织为题和性能问题,下面我们一一讨论。","我们之前介绍的http协议和websocket协议都属于应用层协议,除了它们,应用层协议还有很多如:smtp、ftp等,这些应用层协议的实现都是通过socket","我们之前已经介绍过rotatedbox,它可以旋转子组件,但是它有两个缺点:一是只能将其子节点以90度的倍数旋转;二是当旋转的角度发生变化时,旋转角度更新过程没有动画。","我们也可以使用自定义字体图标。iconfont.cn上有很多字体图标素材,我们可以选择自己需要的图标打包下载后,会生成一些不同格式的字体文件,在flutter中,我们使用ttf格式即可。","我们也可以在控制台,定位到当前工程目录,然后手动运行flutter","我们也知道,在很多时候我们都需要使用这个context","我们介绍一下scrollcontroller常用的属性和方法:","我们以networkimage为例,看看其load方法的实现:","我们以拖动手势为例,同时识别水平和垂直方向的拖动手势,当用户按下手指时就会触发竞争(水平方向和垂直方向),一旦某个方向“获胜”,则直到当次拖动手势结束都会沿着该方向移动。代码如下:","我们会发现右侧loading按钮大小并没有发生变化!这正是因为appbar中已经指定了actions按钮的限制条件,所以我们要自定义loading按钮大小,就必须通过unconstrainedbox来“去除”父元素的限制,代码如下:","我们使用shared_preferences包来对登录用户的profile信息进行持久化。shared_preferences是一个flutter插件,它通过android和ios平台提供的机制来实现数据持久化。由于shared_preferences的使用非常简单,读者可以自行查看其文档,在此不再赘述。","我们使用美元符“$”作为特殊标志符(如果与内容冲突,可以修改mo.dart中的tag常量,自定义标志符),脚本在遇到特殊标志符后会先把相应字段转为相应的对象或对象数组,对象数组需要在标志符后面添加数组符“[]”,符号后面接具体的类型名,此例中是person。其它类型同理,加入我们给user添加一个person类型的","我们使用返回的结果,在setstate中来更新用户界面状态batterylevel。","我们修改一下上面用户登录的示例,在提交之前校验:","我们先定义一个redbox,它是一个背景颜色为红色的盒子,不指定它的宽度和高度:","我们先来创建一个全新的flutter工程,命名为\"github_client_app\";创建新工程的步骤视读者使用的编辑器而定,都比较简单,在此不再赘述。创建完成后,工程结构如下:","我们先来看一下widget类的声明:","我们先来看一个简单的例子:","我们先来看看最终要实现的效果(图10","我们先注册一个路由:","我们先看一下构建显示总价text的代码:","我们先看一个示例,后面再单独讨论一下behavior属性。","我们先看看basic认证的基本过程:","我们先运行创建的工程,效果如图2","我们再看看renderbox默认的hittest()实现:","我们创建一个listview,当滚动位置发生变化时,我们先打印出当前滚动位置,然后判断当前位置是否超过1000像素,如果超过则在屏幕右下角显示一个“返回顶部”的按钮,该按钮点击后可以使listview恢复到初始位置;如果没有超过1000像素,则隐藏“返回顶部”按钮。代码如下:","我们创建一个tiproute路由,它接受一个提示文本参数,负责将传入它的文本显示在页面上,另外tiproute中我们添加一个“返回”按钮,点击后在返回上一个路由的同时会带上一个返回参数,下面我们看一下实现代码。","我们创建一个计时器的示例:每隔1秒,计数加1。这里,我们使用stream来实现每隔一秒生成一个数字:","我们发现onerror是fluttererror的一个静态属性,它有一个默认的处理方法","我们发现在调用rendererbinding.drawframe()方法前会调用","我们发现没有打印\"up\",这是因为在拖动时,刚开始按下手指时在没有移动时,拖动手势还没有完整的语义,此时tapdown手势胜出(win),此时打印\"down\",而拖动时,拖动手势会胜出,当手指抬起时,onhorizontaldragend","我们发现,错误是通过fluttererror.reporterror方法上报的,继续跟踪:","我们可以先想象一下运行效果:将alignment(2,0.0)带入上述坐标转换公式,可以得到flutterlogo的实际偏移坐标为(90,30)。实际运行如图4","我们可以发现linearprogressindicator和circularprogressindicator,并没有提供设置圆形进度条尺寸的参数;如果我们希望linearprogressindicator的现细一些,或者希望circularprogressindicator的圆大一些该怎么做?","我们可以发现使用provider,将会带来如下收益:","我们可以发现这些信息基本都是通过context来获取。","我们可以发现,通过观察者模式来实现跨组件状态共享有一些明显的缺点:","我们可以把对话框分为内部样式和外部样式两部分。内部样式指对话框中显示的具体内容,这部分内容我们已经在上面介绍过了;外部样式包含对话框遮罩样式、打开动画等,本节主要介绍如何自定义这些外部样式。","我们可以看到codec最终的结果是一个或多个(动图)帧,而这些帧最终会绘制到屏幕上。","我们可以看到element是flutt","我们可以看到notificationlistener的onnotification回调最终是在_dispatch方法中执行的,然后会根据返回值来确定是否继续向上冒泡。上面的源码实现其实并不复杂,通过阅读这些源码,一些额外的点读者可以注意一下:","我们可以看到pagebuild","我们可以看到wrap的很多属性在row(包括flex和column)中也有,如direction、crossaxisalignment、textdirection、verticaldirection等,这些参数意义是相同的,我们不再重复介绍,读者可以查阅前面介绍row的部分。读者可以认为wrap和flex(包括row和column)除了超出显示范围后wrap会折行外,其它行为基本相同。下面我们看一下wrap特有的几个属性:","我们可以看到,gridview和listview的大多数参数都是相同的,它们的含义也都相同的,如有疑惑读者可以翻阅listview一节,在此不再赘述。我们唯一需要关注的是griddelegate参数,类型是slivergriddelegate,它的作用是控制gridview子组件如何排列(layout)。","我们可以看到,inheritfromwidgetofexacttype()","我们可以看到,multiframeimagestreamcomplet","我们可以看到,在counterwidget从widget树中移除时,deactive和dispose会依次被调用。","我们可以看到,在绘制子节点时,如果child.isrepaintboundari","我们可以看到,实现hero动画只需要用hero组件将要共享的widget包装起来,并提供一个相同的tag即可,中间的过渡帧都是flutt","我们可以看到,无论是android","我们可以看到:","我们可以通过animation来监听动画每一帧以及执行状态的变化,animation有如下两个方法:","我们可以通过controller.positions.length来确定controller被几个可滚动组件使用。","我们可以通过curvedanimation来指定动画的曲线,如:","我们可以通过element.widget得到element节点对应的widget;我们已经反复讲过widget和element的对应关系,读者通过这些源码来加深理解。","我们可以通过intl.plural(...)来实现:","我们可以通过localeresolutioncallback或localelistresolutioncallback回调来监听locale改变的事件,我们先看看localeresolutioncallback的回调函数签名:","我们可以通过scaffold的bottomnavigationbar属性来设置底部导航,如本节开始示例所示,我们通过material组件库提供的bottomnavigationbar和bottomnavigationbaritem两种组件来实现material风格的底部导航栏。可以看到上面的实现代码非常简单,所以不再赘述,但是如果我们想实现如图5","我们可以通过调用addlistener()和removelistener()来添加、移除监听器(订阅者);通过调用notifylisteners()","我们可以通过调用json.decode方法来解码json","我们在“jsons”目录下创建一个“profile.json”文件,结构如下:","我们在“jsons”目录下创建一个“user.json”文件保存上述信息。","我们在“lib/common”目录下创建一个global类,它主要管理app的全局变量,定义如下:","我们在”lib/routes“下创建一个”home_page.dart“文件,实现如下:","我们在”事件处理与通知“一章中已经讲过flutter事件机制和命中测试流程,本节我们看一下其内部实现原理。","我们在上一节“计数器”示例的基础上,做如下修改:","我们在上面介绍了通知冒泡的现象及使用,现在我们更深入一些,介绍一下flutter框架中是如何实现通知冒泡的。为了搞清楚这个问题,就必须看一下源码,我们从通知分发的的源头出发,然后再顺腾摸瓜。由于通知是通过notification的dispatch(context)方法发出的,那我们先看看dispatch(context)方法中做了什么,下面是相关源码:","我们在前面的章节示例中多次用到过container组件,本节我们就详细介绍一下container组件。container是一个组合类容器,它本身不对应具体的renderobject,它是decoratedbox、constrainedbox、transform、padding、align等组件组合的一个多功能容器,所以我们只需通过一个container组件可以实现同时需要装饰、变换、限制的场景。下面是container的定义:","我们在前面章节的例子中已经使用过center组件来居中子元素了,现在我们正式来介绍一下它。通过查找sdk源码,我们看到center组件定义如下:","我们在用户选择删除一个文件时,会询问是否产出此文件;在用户选择一个文件夹是,应该再让用户确认是否删除子文件夹。为了在用户选择了文件夹时避免二次弹窗确认是否删除子目录,我们在确认对话框底部添加一个“同时删除子目录?”的复选框,如图7","我们在第二章”路由管理“一节中讲过:material组件库中提供了一个materialpageroute组件,它可以使用和平台风格一致的路由切换动画,如在ios上会左右滑动切换,而在android上会上下滑动切换。现在,我们如果在android上也想使用左右切换风格,该怎么做?一个简单的作法是可以直接使用cupertinopageroute,如:","我们在请求头中添加\"range:","我们如何收取消息并显示它们?在这个例子中,我们将使用一个streambuild","我们始终可以通过以下方式来获取应用的当前区域locale:","我们定义一个person.json内容修改为:","我们实现一个最小高度为50,宽度尽可能大的红色容器。","我们实现一个获取百度首页html的例子,示例效果如图11","我们实现一个路由换肤功能:","我们实现一个路由,当该路由打开时我们从网上获取数据,获取数据时弹一个加载框;获取结束时,如果成功则显示获取到的数据,如果失败则显示错误。由于我们还没有介绍在flutter中如何发起网络请求,所以在这里我们不真正去网络请求数据,而是模拟一下这个过程,隔3秒后返回一个字符串:","我们实现一个进度条在3秒内从灰色变成蓝色的动画:","我们实现一个页面,它包含:","我们对六个色块进行自定义流式布局:","我们将fractionaloffset(0.2,","我们将randomwordswidget","我们将上面图片放大的示例改为先放大再缩小再放大……这样的循环动画。要实现这种效果,我们只需要监听动画状态的改变即可,即:在动画正向执行结束时反转动画,在动画反向执行结束时再正向执行动画。代码如下:","我们将上面的例子改为:","我们将在介绍弹性布局时详细介绍expanded。","我们将执行动画的widget分离出来:","我们已经介绍过了showdialog方法,它是material组件库中提供的一个打开material风格对话框的方法。那如何打开一个普通风格的对话框呢(非material风格)?","我们已经在custompaint一节中介绍过repaintboundary,现在我们深入的了解一些。与","我们已经知道imag","我们已经知道localizations类中主要实现提供了本地化值,如文本:","我们已经知道对话框最终都是由showgeneraldialog方法打开的,我们来看看它的具体实现:","我们已经知道,statelesswidget和statefulwidget的build方法都会传一个buildcontext对象:","我们建议在通道名称前加一个唯一的“域名前缀”,例如samples.flutter.io/battery。","我们必须要翻译title和remainingemailsmessage字段,description是该字段的说明,通常给翻译人员看,代码中不会用到。","我们成功的自定义了下划线颜色和提问文字样式,细心的读者可能已经发现,通过这种方式自定义后,输入框在获取焦点时,labeltext不会高亮显示了,正如上图中的\"用户名\"本应该显示蓝色,但现在却显示为灰色,并且我们还是无法定义下划线宽度。另一种灵活的方式是直接隐藏掉textfield本身的下划线,然后通过container去嵌套定义样式,如:","我们按照之前经验,写出如下代码:","我们是通过组合rotationtransition和child来实现的旋转效果。","我们最终的异常捕获和上报代码大致如下:","我们来介绍一下scrollcontroller的另外三个方法:","我们根据\"@@locale\"字段可以看出这个arb对应的是中文简体的翻译,里面的title字段对应的正是我们应用标题的中文简体翻译。@title字段是对title的一些描述信息。","我们注册了命名路由表,以便在app中可以直接通过路由名跳转。","我们添加了一个打开新路由的按钮,并将按钮文字颜色设置为蓝色,点击该按钮后就会打开新的路由页面,效果如图2","我们点击”添加商品“按钮后,由于购物车商品总价会变化,所以显示总价的text更新是符合预期的,但是”添加商品“按钮本身没有变化,是不应该被重新build的。但是我们运行示例,每次点击”添加商品“按钮,控制台都会输出\"raisedbutton","我们的业务代码更关注数据了,只要更新model,则ui会自动更新,而不用在状态改变后再去手动调用setstate()来显式更新页面。","我们的根widget是multiprovider,它将主题、用户、语言三种状态绑定到了应用的根上,如此一来,任何路由中都可以通过provider.of()来获取这些状态,也就是说这三种状态是全局共享的!","我们看一个简单的例子:","我们看到“english_words”包最新的版本是3.1.3,并且支持flutter,接下来:","我们看到默认的实现里调用了hittestself()和hittestchildren()两个方法,这两个方法默认实现如下:","我们看到,load方法的返回值类型是imagestreamcomplet","我们看最后一行,通过addpersistentframecallback","我们看看custompaint构造函数:","我们看看edgeinsets提供的便捷方法:","我们看看imageprovider抽象类的详细定义:","我们看看themedata部分数据定义:","我们看看这些方法分别做了什么:","我们知道,在dart中stream","我们给上例中的stack指定一个fit属性,然后将三个子文本组件的顺序调整一下:","我们要实现的效果如图3","我们说过github有多种登录方式,为了简单起见,我们只实现通过用户名和密码登录。在实现登录页时有四点需要注意:","我们运行应用并打开该路由页面,在新路由页打开后,屏幕中央就会出现一个数字0,然后控制台日志输出:","我们还是以计数器为例,实现在应用退出重启后可以恢复点击次数。","我们通常会直接使用boxdecoration类,它是一个decoration的子类,实现了常用的装饰元素的绘制。","我们通过","我们通过container来实现如图5","我们通过gesturedetector对container进行手势识别,触发相应事件后,在container上显示事件名,为了增大点击区域,将container设置为200×100,代码如下:","我们通过github开放的api来请求flutterchina组织下的所有公开的开源项目,实现:","我们通过纯粹的element来模拟一个statefulwidget的功能,假设有一个页面,该页面有一个按钮,按钮的文本是一个9位数,点击一次按钮,则对9个数随机排一次序,代码如下:","我们通过读取响应流来获取服务器返回的数据,在读取时我们可以设置编码格式,这里是utf8。","我们队一个宽高相同的头像图片应用不同的fit值,效果如图3","我们需要实现一个显示购物车中所有商品总价的功能:","我是返回值","或","或animation。在动画的每一帧中,我们可以通过animation对象的value属性获取动画的当前状态值。","或事件处理器中调用它是最佳解决方案。","或以下命令找到模拟器:","或加微信demon","或更新的版本","或更高版本","或者点击","所以打洞位置在底部导航栏的正中间。","所有动画都由同一个animationcontroller驱动,无论动画需要持续多长时间,控制器的值必须在0.0到1.0之间,而每个动画的间隔(interval)也必须介于0.0和1.0之间。对于在间隔中设置动画的每个属性,需要分别创建一个tween","所有方向均使用相同数值的填充。","所有这些标志只能在调试模式下工作。通常,flutter框架中以“debug...”","所谓”命名路由“(name","所谓线性布局,即指沿水平或垂直方向排布子组件。flutter中通过row和column来实现线性布局,类似于android中的linearlayout控件。row和column都继承自flex,我们将在弹性布局一节中详细介绍flex。","手势冲突","手势冲突只是手势级别的,而手势是对原始指针的语义化的识别,所以在遇到复杂的冲突场景时,都可以通过listener直接识别原始指针事件来解决冲突。","手势竞争与冲突","手势识别","手指在蓝色矩形区域内移动即可看到当前指针偏移,当触发指针事件时,参数pointerdownevent、pointermoveevent、pointerupevent都是pointerevent的一个子类,pointerevent类中包括当前指针的一些信息,如:","手指按下时有涟漪效果","才会被调用,而","打包包中的","打开","打开(或创建)","打开`tiproute`,并等待返回结果","打开http连接,设置请求头:","打开lib/main.dart文件","打开lib/main.dart文件。","打开一个新路由,而打开新路由需要context信息。","打开抽屉菜单","打开插件首选项","打开终端并运行如下这些命令:","打开默认的xcode","执行intl.sh","执行上面代码,4秒后你会在控制台中看到“hello","执行删除操作","执行完后,消息循环机制便启动了。首先会按照先进先出的顺序逐个执行微任务队列中的任务,当所有微任务队列执行完后便开始执行事件队列中的任务,事件任务执行完毕后再去执行微任务,如此循环往复,生生不息。","执行效果如图,点击图9","找到下面这一部分,并加上","技术支持;现在google正在大力推广flutter,flutter的作者中很多人都是来自chromium团队,并且github上活跃度很高。另一个角度,从今年上半年flutter频繁的版本发布也可以看出google对flutter的投入的资源不小,所以在官方技术支持这方面,大可不必担心。","技术类型","抛出一个异常","抽屉菜单","抽屉菜单drawer","抽屉菜单分为两部分:顶部头像和底部功能菜单项。当用户未登录,则抽屉菜单顶部会显示一个默认的灰色占位图,若用户已登录,则会显示用户的头像。抽屉菜单底部有”换肤“和”语言“两个固定菜单,若用户已登录,则会多一个”注销“菜单。用户点击”换肤“和”语言“两个菜单项,会进入相应的设置页面。我们的抽屉菜单效果如图15","抽屉菜单通常将drawer组件作为根节点,它实现了material风格的菜单面板,mediaquery.removepadding可以移除drawer默认的一些留白(比如drawer默认顶部会留和手机状态栏等高的留白),读者可以尝试传递不同的参数来看看实际效果。抽屉菜单页由顶部和底部组成,顶部由用户头像和昵称组成,底部是一个菜单列表,用listview实现,关于listview我们将在后面“可滚动组件”一节详细介绍。","拖入图片,并命名为launchimage.png、launchimage@2x.png、launchimage@3x.png。","拖动、滑动","持久化profile信息","持久化存储;保存登录信息,用户信息等。","持续生成","指定","指定放置项目的位置,然后按蓝色的确定按钮","指示器的进度条颜色;值得注意的是,该值类型是animation,这允许我们对进度条的颜色也可以指定动画。如果我们不需要对进度条颜色执行动画,换言之,我们想对进度条应用一种固定的颜色,此时我们可以通过alwaysstoppedanimation来指定。","指针按下事件(以及该指针的后续事件)然后被分发到由命中测试发现的最内部的组件,然后从那里开始,事件会在组件树中向上冒泡,这些事件会从最内部的组件被分发到组件树根的路径上的所有组件,这和web开发中浏览器的事件冒泡机制相似,","按下时都会有“水波动画”(又称“涟漪动画”,就是点击时按钮上会出现水波荡漾的动画)。","按照惯例,widget的构造函数参数应使用命名参数,命名参数中的必要参数要添加@required标注,这样有利于静态代码分析器进行检查。另外,在继承widget时,第一个参数通常应该是key,另外,如果widget需要接收子widget,那么child或children参数通常应被放在参数列表的最后。同样是按照惯例,widget的属性应尽可能的被声明为final,防止被意外改变。","按钮","按钮外观可以通过其属性来定义,不同按钮属性大同小异,我们以flatbutton为例,介绍一下常见的按钮属性,详细的信息可以查看api文档。","按钮宽高","排行榜前","接下来实现mergetempfiles:","接下来就可以通过","接下来我们以materialapp类为入口的应用来说明如何支持国际化。","接下来我们可以在widget中使用locale值:","接下来我们在_myrichtextstate中要实现的功能有两个:","接下来我们来研究一下container组件margin和padding属性的区别:","接下来我们需要实现具体的缓存策略,由于我们使用的是dio","接下来,下载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这个包(如图2","接下来,我们将通过创建三个简单示例tapboxa、tapboxb和tapboxc来说明管理状态的不同方式。","接下来,我们添加java代码,使用android电池api来获取电池电量。此代码和在原生android应用中编写的代码完全相同。","接下来,我们添加kotlin代码,使用android电池api来获取电池电量,这和原生开发是一样的。","接下来,我们添加object","接下来,我们添加swift代码,使用ios电池api来获取电池电量,这和原生开发是相同的。","接下来,我们看看_myhomepagestate中都包含哪些东西:","接下来,我们调用通道上的方法,指定通过字符串标识符调用方法getbatterylevel。","接下来,执行整个任务流:","接下来,覆盖application方法并创建一个fluttermethodchannel绑定通道名称samples.flutter.io/battery:","接下来,让我们用android","接口决定是否重新剪裁。如果在应用中,剪裁区域始终不会发生变化时应该返回false,这样就不会触发重新剪裁,避免不必要的性能开销。如果剪裁区域会发生变化(比如在对剪裁区域执行一个动画),那么变化后应该返回true来重新执行剪裁。","接收一个text参数","接收图片数据","控制台输出:","控制焦点","提交前,先验证各个表单字段是否合法","提供了window.onmetricschang","提供了一个showgeneraldialog方法,签名如下:","提供了命令行转化方式,可以方便集成到ci等非ui环境的场景。","提供了我们需要连接到websocket服务器的工具。该package提供了一个websocketchannel允许我们既可以监听来自服务器的消息,又可以将消息发送到服务器的方法。","提供代码分析","提供四套可选主题色","提供图片数据源","提到原理,我们要从屏幕显示图像的基本原理谈起。我们知道显示器(屏幕)是由一个个物理显示单元组成,每一个单元我们可以称之为一个物理像素点,而每一个像素点可以发出多种颜色,显示器成相的原理就是在不同的物理像素点上显示不同的颜色,最终构成完整的图像。","提示文案”我是提示xxxx“是通过tiproute的text参数传递给新路由页的。我们可以通过等待navigator.push(…)返回的future来获取新路由的返回数据。","提示语","插件包:一种专用的dart包,其中包含用dart代码编写的api,以及针对android(使用java或kotlin)和针对ios(使用oc或swift)平台的特定实现,也就是说插件包括原生代码,一个具体的例子是battery插件包。","插件并点击","插件开发:android端api实现","插件开发:ios端api实现","插件开发:实现android端api","插件开发:实现ios端api","插件开发:平台通道简介","插件提供了一种平台透明的方式来访问设备文件系统上的常用位置。该类当前支持访问两个文件系统位置:","插槽(slot),所谓插槽,就是指预留的一个接口或位置,这个接口和位置是由其它对象来接入或占据的,这个接口或位置在软件中通常用预留变量来表示,而parentdata正是一个预留变量,它正是由par","搭建flutter开发环境","操作系统:","操作系统绘制api的封装","支持flutter开发工作流","支持国际化","支持国际化、intl包的使用","支持多种背景渐变色。","支持多语言","支持换肤","支持文件数组上传","收到滚动事件后获得的信息不同;notificationlistener在收到滚动事件时,通知中会携带当前滚动位置和viewport的一些信息,而scrollcontroller只能获取当前滚动位置。","收集日志","效果如图3","效果如图5","数字;会弹出数字键盘","数据保存的地方有了,那么接下来我们需要做的就是在数据发生变化的时候来重新构建inheritedprovider,那么现在就面临两个问题:","数据共享","数据共享(inheritedwidget)","数据发生变化怎么通知?","数据持久化","数据改变的消息传递被屏蔽了,我们无需手动去处理状态改变事件的发布和订阅了,这一切都被封装在provider中了。这真的很棒,帮我们省掉了大量的工作!","文件中,下面是它的源码:","文件夹","文件夹:包括包中公开的(public)代码,最少应有一个.dart文件","文件对缩进严格,所以必须严格按照每一层两个空格的方式进行缩进,此处assets前面应有两个空格。","文件操作","文本、字体样式","文本及样式","文本字符串","文本输入键盘","文档.","文档对象模型(document","文档目录:","新child显示动画时长","新child显示的动画曲线","新添加的依赖","新路由继承自statelesswidget,界面很简单,在页面中间显示一句\"thi","方法","方法,","方法。setstate方法的作用是通知flutter框架,有状态发生了改变,flutter框架收到通知后,会执行build方法来根据新的状态重新构建界面,","方法下方:","方法中将不会再被修改了,这种情况下","方法中构建的,而是通过showdialog单独构建的,所以调用在_dialogroutestate的context中调用setstate是无法影响通过showdialog构建的ui的。另外,我们可以从另外一个角度来理解这个现象,前面说过动画框也是通过路由的方式来实现的,那么上面的代码实际上就等同于企图在父路由中调用setstate来让子路由更新,这显然是不行的!简尔言之,根本原因就是context不对。那如何让复选框可点击呢?有常规方法和一个精妙的方法,下面我们分别介绍:","方法中订阅语言改变的事件。当用户在设置页切换语言后,我们发布语言改变事件,而订阅了此事件的组件就会收到通知,收到通知后调用setstate(...)方法重新build一下自身即可。","方法中调用了paintimage方法,而paintimage方法中通过canvas的drawimagerect(…)、drawimagenine(...)等方法来完成最终的绘制。","方法中除了完成自身布局,也必须完成子节点的布局,这是因为只有父子节点全部完成后布局流程才算真正完成。所以最终的调用栈将会变成:layout()","方法内部生成的。每次热更新时,build方法都会被执行,运行效果如图2","方法将textspan","方法时,会从当前","方法来移除它,移除后element.renderobject也会被从渲染树中移除,然后framework会调用element.deactiv","方法来退出对话框的原因。关于对话框的样式定制在_dialogroute中,没有什么新的东西,读者可以自行查看。","方法用来判断该renderobject","方法的部分实现(省略了无关代码):","方法,以生成封装了一系列本地化值的对象。通常这些对象为每个本地化值定义一个方法。","方法,可以给执行对象指定一个zone。zone表示一个代码执行的环境范围,为了方便理解,读者可以将zone类比为一个代码执行沙箱,不同沙箱的之间是隔离的,沙箱可以捕获、拦截或修改一些代码行为,如zone中可以捕获日志输出、timer创建、微任务调度的行为,同时zone也可以捕获所有未处理的异常。下面我们看看runzoned(...)方法定义:","方法,它的功能是启动flutter应用。runapp它接受一个widget参数,在本示例中它是一个myapp对象,myapp()是flutter应用的根组件。","方法,该方法的实现在schedulerbind","方法,这时element状态变为“inactive”状态。","旋转","无法连接,如图1","无论是materialpageroute、cupertinopageroute,还是pageroutebuilder,它们都继承自pageroute类,而pageroutebuilder其实只是pageroute的一个包装,我们可以直接继承pageroute类来实现自定义路由,上面的例子可以通过如下方式实现:","无论是做flutter中文网,还是写gitme,主要目标都是帮助开发者学习flutter,同时消除围观开发者疑虑。但当开发者们真正开始动手时,flutter的生态问题就变得尤为突出。由于在2018年初flutter刚起步时,很多基础的包和库都是空白,少数已有的一些库也大都是预览版(未到1.0),存在很多bug。这个状况不是一两个人花一两天能搞定的,这是需要聚整个flutter开发者社群之力,耗费数年时间才可能有所改善。因此,在2018年4月份,我以flutter中文网名义发起了flutter开源计划,该计划主要是开发一些常用的包来丰富flutter生态,帮助开发者提高开发效率。自在github建立flutter中文开发者社区账号以来,前后开源了dio、cookiejar、flukit等多个项目,而dio在开源两周后,就迅速成为flutter第三方包中star排名第一的开源库。","既然是context不对,那么直接的思路就是将复选框的选中逻辑单独封装成一个statefulwidget,然后其再内部管理复选状态。我们先来看看这种方法,下面是实现代码:","日志:","旧child隐藏的动画时长","旧child隐藏的动画曲线","时你会注意到有与缩放相关的参数)","时便会重新build,这时renderobject便会重新布局,我们是通过调用","时则不会。","时继续向上冒泡通知。","时(如widget树结构发生了变化,导致element对应的widget被移除),这时该祖先element就会调用deactivatechild","时,performresize()","时,才会触发重绘,这样便可以实现局部重绘。当","映射为原生控件树。","是","是bloc模式的flutter实现","是cached_network_image包中提供的一个widget,它不仅可以在图片加载过程中指定一个占位图,而且还可以对网络请求的图片进行缓存,更多详情读者可以自行查阅其文档。","是dart所有对象的根基类,也就是说所有类型都是object的子类(包括function和null),所以任何类型的数据都可以赋值给object声明的对象.","是flutter","是flutter应用的首页,它继承自statefulwidget类,表示它是一个有状态的组件(st","是javascript与原生应用之间通信的桥梁,作用和jsbridge一样,事实上,在ios中,很多jsbridge的实现都是基于","是material库中提供的flutt","是material库中提供的页面脚手架,它包含导航栏和body以及floatingactionbutton(如果需要的话)。","是material组件库提供的组件,它可以针对不同平台,实现与平台页面切换动画风格一致的路由切换动画:","是react","是web开发中react生态链中mobx包的flutter实现","是web开发中react生态链中redux包的flutter实现","是一个javascript解释器,它在react","是一个widgetbuilder类型的回调函数,它的作用是构建路由页面的具体内容,返回值是一个widget。我们通常要实现此回调,返回新路由的实例。","是一个抽象类,主要定义了图片数据获取的接口load(),从不同的数据源获取图片需要实现不同的imageprovid","是一个抽象类,它有两个常用的子类:alignment和","是不是很优雅!","是不是有质感了!之所以会这样,是因为raisedbutton默认有配置阴影:","是会报错的,原因是localizations.of会从当前的context沿着widget树向顶部查找demolocalizations,但是我们在materialapp中设置完demolocalizationsdelegate后,实际上demolocalizations是在当前context的子树中的,所以demolocalizations.of(context)会返回null,报错。那么我们该如何处理这种情况呢?其实很简单,我们只需要设置一个ongeneratetitle回调即可:","是使用","是否为release版","是否使用materialapp完全是可选的,但是使用它是一个很好的做法。在之前的示例中,我们已经使用过多个materi","是否启用缓存","是否在被点击的范围内,同时负责将被点击的","是否是下拉刷新触发","是否有设置代理。删除后问题即可解决。","是否私有项目","是否自动获取焦点。","是处理图片编解码的类的一个handler,实际上,它只是一个flutt","是应用的入口widget,实现如下:","是必选的,它不支持通过其它方式创建组件,所以学习","是每次布局都会被调用的。sizedbypar","是芯片系列,如","显示_counter状态的数值。","显示固定文本","显示效果如图4","显示效果如图7","显示进度条","更多","更多的配置属性读者可以参考paint类定义。","更改为","更新flutter应用程序启动图标的方式与在本机android或ios应用程序中更新启动图标的方式相同。","更新locale后materialapp会重新build","更新到了","更新后会rebuild,此时会创建一个rawimag","更新启动页","更新应用在gpu上的渲染,此方法会直接调用flutt","更新正在运行的应用程序。每次单击热重载或保存项目时,都会在正在运行的应用程序中随机选择不同的单词对。","更新状态。","更新环境变量","替换为","最内部renderpositionedbox再次松开约束,这次是将按钮中的文本居中。","最后","最后一步就是根据arb生成dart文件:","最后一步:添加多语言支持","最后,就是使用:","最后,我们创建一个按钮,每点击一次,就将sharedatawidget的值自增:","最后,我们在build创建包含一个小字体显示电池状态和一个用于刷新值的按钮的用户界面。","最后,我们完成之前添加的onmethodcall方法。我们需要处理平台方法名为getbatterylevel的调用消息,所以我们需要先在call参数判断调用的方法是否为getbatterylevel。","最后,我们完成之前添加的setmethodcallhandler方法。我们需要处理的平台方法名为getbatterylevel,所以我们在call参数中需要先判断是否为getbatterylevel。","最后,知识是应该付费的,创作不易,开源不等于免费,如果您是本书读者并手头宽裕,可以点击下面打赏按钮打赏;当然,如果您囊中羞涩,您也可以阅读本书,但我对您有个小小的要求,希望您在阅读的过程中能积极参与到本书的纠错以及未完成内容的创作上来,也算是有所付出。","最大缓存数","最好在应用程序启动时只设置一次。如果您在运行中更改它,尤其是在动画运行时将其值减小,则框架的观察时可能会倒退,这可能会导致断言并且通常会干扰您的工作。","最终效果如图5","最终显示效果是宽90,高60,也就是说是子constrainedbox的minwidth生效,而minheight是父constrainedbox生效。单凭这个例子,我们还总结不出什么规律,我们将上例中父子限制条件换一下:","最终的显示效果仍然是90,高60,效果相同,但意义不同,因为此时minwidth生效的是父constrainedbox,而minheight是子constrainedbox生效。","最终的绘制由rawimage来完成。","有renderobject","有一个animation参数,这是flutter路由管理器提供的,在路由切换时pagebuilder在每个动画帧都会被回调,因此我们可以通过animation对象来自定义过渡动画。","有一个debugshowmaterialgrid参数,","有一个onpressed属性来设置点击回调,当按钮按下时会执行该回调,如果不提供该回调则按钮会处于禁用状态,禁用状态不响应用户点击。","有一个底部导航","有一个抽屉菜单","有两点需要说明:","有了ongenerateroute回调,要实现上面控制页面权限的功能就非常容易:我们放弃使用路由表,取而代之的是提供一个ongenerateroute回调,然后在该回调中进行统一的权限控制,如:","有了上面的设置,源码生成器将生成用于序列化name和email字段的json代码。","有了全局变量,我们还需要考虑如何跨组件共享状态。当然,如果我们将要共享的状态全部用全局变量替代也是可以的,但是这在flutter开发中并不是一个好主意,因为组件的状态是和ui相关,而在状态改变时我们会期望依赖该状态的ui组件会自动更新,如果使用全局变量,那么我们必须得去手动处理状态变动通知、接收机制以及变量和组件依赖关系。因此,本实例中,我们使用前面介绍过的provider包来实现跨组件状态共享,因此我们需要定义相关的provider。在本实例中,需要共享的状态有登录用户信息、app主题信息、app语言信息。由于这些信息改变后都要立即通知其它依赖的该信息的widget更新,所以我们应该使用changenotifierprovider,另外,这些信息改变后都是需要更新profile信息并进行持久化的。综上所述,我们可以定义一个profilechangenotifier基类,然后让需要共享的model继承自该类即可,profilechangenotifier定义如下:","有了资料和社区后,对于我们学习者自身来说,最重要的还是要多动手、多实践,在本书后面的章节中,希望读者能够亲自动手写一下示例。准备好了吗,下一章中,我们将正式进入flutter的世界!","有些时候我们可能会需要一些复杂的动画,这些动画可能由一个动画序列或重叠的动画组成,比如:有一个柱状图,需要在高度增长的同时改变颜色,等到增长到最大高度后,我们需要在x轴上平移一段距离。可以发现上述场景在不同阶段包含了多种动画,要实现这种效果,使用交织动画(stagger","有些时候,我们会遇到无论异步任务执行成功或失败都需要做一些事的场景,比如在网络请求前弹出加载对话框,在请求结束后关闭对话框。这种场景,有两种方法,第一种是分别在then或catch中关闭一下对话框,第二种就是使用future的whencomplete回调,我们将上面示例改一下:","有些时候,我们需要等待多个异步任务都执行结束后才进行一些操作,比如我们有一个界面,需要先分别从两个网络接口获取数据,获取成功后,我们需要将两个接口数据进行特定的处理后再显示到ui界面上,应该怎么做?答案是future.wait,它接受一个future数组参数,只有数组中所有future都执行成功后,才会触发then的成功回调,只要有一个future执行失败,就会触发错误回调。下面,我们通过模拟future.delay","有些读者可能会觉得这个点也很简单,是的,的确很简单,之所以要在这里反复强调是因为这个点在实际开发中很容易被忽略,它虽然简单,但却很重要。总之,当我们在state中会缓存某些依赖widget参数的数据时,一定要注意在组件更新时是否需要同步状态。","有关key和widget复用的细节将会在本书后面高级部分深入讨论,读者现在只需知道,为widget显式添加key的话可能(但不一定)会使ui在重新构建时变的高效,读者目前可以先忽略此参数。本书后面的示例中,只会在构建列表项ui时会显式指定key。","有关上述步骤的详细信息,请参阅","有各种各样的工具和功能来帮助调试flutter应用程序。","有异常时则弹出错误提示","有时代理服务器也启用了身份验证,这和http协议的认证是相似的,httpclient提供了对应的proxy认证方法和属性:","有缓存则使用缓存,没有缓存则调用load方法加载图片,加载成功后:","有缓存,继续往下走","服务器会返回一个401","服务器验证用户凭据,如果通过就返回资源内容。","未读邮件数","本书不适合做为编程的入门读物。","本书后面示例中,路由默认都是通过scaffold创建。","本书官网访问量较大,由于服务器配置有限,所以某些时段访问本站可能略有延迟,如果延迟较久,读者可以直接在github上阅读本书。","本书将在\"功能型组件\"一章中介绍provider包的实现原理及用法,同时也将会在\"事件处理与通知\"一章中实现一个全局事件总线,读者有需要可以直接翻看。","本书是第一本系统介绍flutter技术的中文书籍,它是flutter中文社区发起的开源项目之一,旨在帮助开发者入门,系统地、循序渐进的了解flutter。","本书特色","本书读者对象","本地化值由localizations的","本地化的代理类","本实例app中语言和主题都是可以设置的,而两者都是通过changenotifierprovider来实现的:我们在main函数中使用了consumer2,依赖了thememodel和localemodel,因此,当我们在语言和主题设置页更该当前的配置后,consumer2的builder都会重新执行,构建一个新的materialapp,所以修改会立即生效。下面看一下语言和主题设置页的实现。","本小节我们介绍了app入口materialapp的一些配置,然后实现了app的首页。后面我们将展示登录页、换肤页、语言切换页。","本次请求禁用缓存,请求结果也不会被缓存。","本示例是对单个路由换肤,如果相对整个应用换肤,可以去修改materialapp的theme属性。","本章主要介绍了目前移动开发中三种跨平台技术,现在我们从框架角度对比一下:","本章先介绍了flutter中路由管理、传参的方式,然后又着重介绍了命名路由相关内容。在此需要说明一点,由于命名路由只是一种可选的路由管理方式,在实际开发中,读者可能心中会犹豫到底使用哪种路由管理方式。在此,根据笔者经验,建议读者最好统一使用命名路由的管理方式,这将会带来如下好处:","本章后面章节的示例中会使用一些布局类组件,如scaffold、row、column等,这些组件将在后面“布局类组件”一章中详细介绍,读者可以先不用关注。","本章将通过一些简单的示例来一步步介绍flutter的开发流程.","本章新建一个flutter工程,实现一个简单的github客户端。这个实例的主要目标有两个:","本章目录","本篇主要介绍一下","本节主要介绍了flutter","本节主要介绍了listview的一些公共参数以及常用的构造函数。不同的构造函数对应了不同的列表项生成模型,如果需要自定义列表项生成模型,可以通过listview.custom来自定义,它需要实现一个sliverchilddelegate用来给listview生成列表项组件,更多详情请参考api文档。","本节主要介绍了一下flutter的特点,如果你感到有些点还不是很好理解,不用着急,随着日后对flutter细节的了解,再回过头来看,相信你会有更深的体会。","本节主要解答一下在国际化中常见的问题。","本节介绍一下flutter中常用的一些基础widget,由于大多数widget的属性都比较多,我们在介绍widget时会着重介绍常用的属性,而不会像api文档一样所有属性都介绍,关于属性详细的信息请参考flutt","本节介绍了flutter","本节介绍了flutter中包管理、引用、下载的整体流程,我们将在后面的章节中介绍如果开发并发布我们自己的包。","本节先介绍一些flutter中用于处理手势的gesturedetector和gesturerecognizer,然后再仔细讨论一下手势竞争与冲突问题。","本节先来介绍一下原始指针事件(pointer","本节将主要介绍一下移动开发技术的进化历程,主要是想让读者知道flutter技术出现的背景。笔者认为,了解一门新技术出现的背景是非常重要的,因为只有了解之前是什么样的,才能理解为什么会是现在这样。","本节将详细介绍一下flutter中话框对话框的使用方式、实现原理、样式定制及状态管理。","本节将通过一个“http分块下载”的示例演示一下dio的具体用法。","本节我们主要介绍一下flutter从启动到显示的过程。","本节我们介绍了renderobject主要的功能和方法,理解这些内容可以帮助我们更好的理解flutt","本节我们会基于前面介绍过的dio网络库封装app中用到的网络请求接口,并同时应用一个简单的缓存策略。下面我们先介绍一下网络接口缓存原来,然后再封装app的业务请求接口。","本节我们先对flutter的框架做一个整体介绍,旨在让读者心中有一个整体的印象,这对初学者来说非常重要。如果一下子便深入到flutter中,就会像是一个在沙漠中没有地图的人,即使可以找到一个绿洲,但是他也不会知道下一个绿洲在哪。因此,无论学什么技术,都要现有一张清晰的“地图”,而我们的学习过程就是“按图索骥”,这样我们才不会陷于细节而“目无全牛”。言归正传,我们看一下flutter官方提供的flutter框架图,如图1","本节我们先梳理一下app中将用到的数据,然后生成相应的dart","本节我们学习了animatedswitcher的详细用法,同时也介绍了打破animatedswitcher动画对称性的方法。我们可以发现:在需要切换新旧ui元素的场景,animatedswitcher将十分实用。","本节我们实现一个圆形背景渐变进度条,它支持:","本节我们将实现一个turnbox组件,它不仅可以以任意角度来旋转其子节点,而且可以在角度发生变化时执行一个动画以过渡到新状态,同时,我们可以手动指定动画速度。","本节我们接着上一节\"获取电池电量\"插件的示例,来完成android端api的实现。以下步骤是使用java的示例,如果您更喜欢kotlin,可以直接跳到后面kotlin部分。","本节我们接着之前\"获取电池电量\"插件的示例,来完成ios端api的实现。以下步骤使用object","本节我们通过一个简单的示例说明了flutter应用国际化的基本过程及原理。但是上面的实例还有一个严重的不足就是我们需要在demolocalizations类中获取title时手动的判断当前语言locale,然后返回合适的文本。试想一下,当我们要支持的语言不是两种而是8种甚至20几种时,如果为每个文本属性都要分别去判断到底是哪种locale从而获取相应语言的文本将会是一件非常复杂的事。还有,通常情况下翻译人员并不是开发人员,能不能像i18n或i10n标准那样可以将翻译单独保存为一个arb文件交由翻译人员去翻译,翻译好之后开发人员再通过工具将arb文件转为代码。答案是肯定的!我们将在下一节介绍如何通过dart","本节换一个思路,我们先不去直接看image的源码,而根据已经掌握的知识来实现一个简版的“image组件”","本节来介绍一下app入口及首页。","本节给大家一些学习建议,分享一下笔者在学习flutter中的一些心得,希望可以帮助你提高学习效率,避免不必要的坑。","本节详细的介绍了element的生命周期,以及它widget、buildcontext的关系,也介绍了element在flutt","本节通过介绍事件总线在跨组件共享中的一些缺点引出了通过inheritedwidget来实现状态的共享的思想,然后基于该思想实现了一个简单的provider,在实现的过程中也更深入的探索了inheritedwidget与其依赖项的注册机制和更新机制。通过本节的学习,读者应该达到两个目标,首先是对inheritedwidget彻底吃透,其次是provider的设计思想。","本节重点介绍了align组件及两种偏移类align","权益","来保存子节的keepalive状态。","来创建一个package工程,如图12","来定位他们相对于stack的上下左右四条边的位置。stacks是基于web开发中的绝对定位(absolut","来实现flutter全局状态共享。","来实现这种”出入滑动动画“,代码如下:","来实现,该方法可以根据json字符串具体内容将其转为list或map,这样我们就可以通过他们来查找所需的值,如:","来执行","来更新ui这一步其实是通用的,如果每个动画中都加这么一句是比较繁琐的。animatedwidget类封装了调用setstate()的细节,并允许我们将widget分离出来,重构后的代码如下:","来标记element为dirty的。在renderobject中有一个类似的markneedslayout()方法,它会将renderobject的布局状态标记为","来模拟两个数据获取的异步任务,等两个异步任务都执行成功时,将两个异步任务的结果拼接打印出来,代码如下:","来演示如何缓存,以及如何利用inheritedwidget","来监听新消息,","来管理。","来绘制溢出部分提示,这个就是我们经常看到的溢出提示,如图14","来自定义绘制逻辑,实际上linearprogressindicator和circularprogressindicator也正是通过custompainter来实现外观绘制的。关于custompainter,我们将在后面“自定义widget”一章中详细介绍。","来获取widget树中默认的focusscopenode。下面看一个示例,在此示例中创建两个textfield,第一个自动获取焦点,然后创建两个按钮:","来获取。并且我们也说过renderobject的主要职责是layout和绘制,所有的renderobject会组成一棵渲染树rend","来获取临时目录;","来获取当前buildcontext的assetbundle。","来赋值的,parent通常会通过子renderobject的parentdata存储一些和子元素相关的数据,如在stack布局中,renderstack就会将子元素的偏移数据存储在子元素的parentdata中(具体可以查看positioned实现)。","来通知订阅者,然后由订阅者来重新构建inheritedprovider,这也是第二个问题的答案!接下来我们便实现这个订阅者类:","构建ui界面","构建ui界面的逻辑在build方法中,当myhomepage第一次创建时,_myhomepagestate类会被创建,当初始化完成后,flutter框架会调用widget的build方法来构建widget树,最终将widget树渲染到设备屏幕上。所以,我们看看_myhomepagestate的build方法中都干了什么事:","构建主页面","构建卡片底部信息","构建时输出日志","构建菜单项","构建过程支持“asset变体”的概念:不同版本的asset可能会显示在不同的上下文中。","构建错误信息","构建项目标题和简介","构造函数","构造函数,","构造函数的各个参数的意义:","构造函数,通过它可以轻松创建带图标的按钮,如图3","枚举值","查找,一直向上查找到是","查看“output”窗口中的输出是否有问题","标志,","标注,对于可选参数在特定场景需要判空或设置默认值等。这是由于使用者大多时候可能不了解组件的内部细节,所以为了保证代码健壮性,我们需要在用户错误地使用组件时能够兼容或报错提示(使用assert断言函数)。","标题填充","树中使用的一些类也具有tostringdeep,从该点返回整个子树的多行描述。已一些具有详细信息tostring的类会实现一个tostringshort,它只返回对象的类型或其他非常简短的(一个或两个单词)描述。","校验用户名","校验用户名(不能为空)","根据animation对象的控制方式,动画可以正向运行(从起始状态开始,到终止状态结束),也可以反向运行,甚至可以在中间切换方向。animation还可以生成除double之外的其他类型值,如:anim","根据你电脑屏幕大小,模拟高清屏ios设备可能会溢出屏幕。可以在模拟器的","根部的变换是应用设备像素比的变换;","框架为我们在很多关键的方法进行了异常捕获。这里举一个例子,当我们布局发生越界或不合规范时,flutter就会自动弹出一个错误界面,这是因为flutter已经在执行build方法时添加了异常捕获,最终的源码如下:","框架代表","框架和flutter","检查renderobject是否需要重绘,然后更新renderobject.needscompositing属性,如果该属性值被标记为true则需要重绘。","概念","模板中的“%t”、“%s”为占位符,将在脚本运行时动态被替换为合适的导入头和类名。","模糊进度条(会执行一个动画)","模糊进度条(会执行一个旋转动画)","次'),","正如debugdumpapp(),除布局或绘制阶段外,您可以随时调用此函数。作为一般规则,从fram","正如上文所述,","此代码只能暂时针对当前命令行窗口设置path环境变量,要想永久将flutter添加到path中请参考下面更新环境变量","此例中column子组件是两个","此处需要有一张插图","此外,可以使用专门的binarycodec、stringcodec和","此方法会直接调用flutter","此时context为对话框ui的根element,我们","此时context在localizations的子树中","此示例只展示了textstyle的部分属性,它还有一些其它属性,属性名基本都是自解释的,在此不再赘述,读者可以查阅sdk文档。值得注意的是:","此示例运行后,每次拖动只会沿一个方向移动(水平或垂直),而竞争发生在手指按下后首次移动(move)时,此例中具体的“获胜”条件是:首次移动时的位移在水平和垂直方向上的分量大的一个获胜。","此类由flutter","此行代码作用是导入了materi","此镜像为临时镜像,并不能保证一直可用,读者可以参考https://flutter.io/community/china","步骤","步骤分两步:","每个asset都通过相对于pubspec.yaml文件所在的文件系统路径来标识自身的路径。asset的声明顺序是无关紧要的,asset的实际目录可以是任意文件夹(在本示例中是assets文件夹)。","每个person都有nam","每个委托必须定义一个异步load()","每当渲染盒被要求重新布局和重新绘制时,这些都会将堆栈跟踪记录到控制台。如果这种方法对您有用,您可以使用services库中的debugprintstack()方法按需打印堆栈痕迹。","每次滚动结束,可滚动组件都会将滚动位置offset存储到pagestorage中,当可滚动组件重新创建时再恢复。如果scrollcontroller.keepscrolloffset为false,则滚动位置将不会被存储,可滚动组件重新创建时会使用scrollcontroller.initialscrolloffset;scrollcontroller.keepscrolloffset为true时,可滚动组件在第一次创建时,会滚动到initialscrolloffset处,因为这时还没有存储过滚动位置。在接下来的滚动中就会存储、恢复滚动位置,而initialscrolloffset会被忽略。","每次点击”添加商品“按钮,总价就会增加20,我们期望的功能实现了!可能有些读者会疑惑,我们饶了一大圈实现这么简单的功能有意义么?其实,就这个例子来看,只是更新同一个路由页中的一个状态,我们使用changenotifierprovider的优势并不明显,但是如果我们是做一个购物app呢?由于购物车数据是通常回事整个app共享的数据,会跨路由共享,如果我们将changenotifierprovider放在整个应用的widget树的根上,那么整个app就可以共享购物车的数据了,这时changenotifierprovider的优势将会非常明显。","每次运行提取命令时,intl_messages.arb都会根据代码重新生成,但其他arb文件不会,所以当要添加新的字段或方法时,其他arb文件是增量的,不用担心会覆盖。","每点击一次按钮,计数器就会自增,控制台就会打印一句日志:","比","比如navigator.push(buildcontext","没有自己的layer,","注册命名路由表","注册我们的deleg","注册路由表","注册,注意,不要在此类回调中再触发新的frame,这可以会导致循环刷新。","注意","注意:","注意animate()返回的是一个animation,而不是一个animatable。","注意,assetimag","注意,connectionstate.active只在streambuilder中才会出现。","注意,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","注意,ongenerateroute只会对命名路由生效。","注意,onhttpclientcreate会在当前dio实例内部需要创建httpclient时调用,所以通过此回调配置httpclient会对整个dio实例生效,如果你想针对某个应用请求单独的代理或证书校验策略,可以创建一个新的dio实例即可。","注意,”本地化的值和资源“是指我们针对不同语言准备的不同资源,这些资源一般是指文案(字符串),当然也会有一些其他的资源会根据不同语言地区而不同,比如我们需要显示一个app上架地的国旗图片,那么不同locale区域我们就需要提供不同的的国旗图片。","注意,代码中的有renderview和renderviewelement两个变量,renderview是一个renderobject,它是渲染树的根,而renderviewelement是renderview对应的element对象,可见该方法主要完成了根widget到根","注意,使用不同的框架或技术选型会对代码有不同的组织方式,因此,本节介绍的代码组织结构并不是固定或者“最佳”的,在实战中,读者可以自己根据情况调整源码结构。但是无论采取何种源码组织结构,但清晰和解耦是一个通用原则,我们应该让自己的代码结构清晰,以便交流和维护。","注意,如果circularprogressindicator显示空间的宽高不同,则会显示为椭圆。如:","注意,如果将上面示例中sharedatawidget.of()方法实现改成调用ancestorinheritedelementforwidgetofexacttype(),运行示例后,点击\"increment\"按钮,会发现__testwidgetstate的didchangedependencies()方法确实不会再被调用,但是其build()仍然会被调用!造成这个的原因其实是,点击\"increment\"按钮后,会调用_inheritedwidgettestroutestate的setstate()方法,此时会重新构建整个页面,由于示例中,__testwidget","注意,登录按钮的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插件的版本变化而变化,本例中会介绍计数器示例的全部代码,所以不会对本示例产生影响。","注意:","注意:animatedswitcher的新旧child,如果类型相同,则key必须不相等。","注意:dart中实现单例模式的标准做法就是使用static变量+工厂构造函数的方式,这样就可以保证new","注意:http协议中虽然可以通过keep","注意:materi","注意:一个路由中包含多个可滚动组件时,如果要分别跟踪它们的滚动位置,并非一定就得给他们分别提供pagestoragekey。这是因为scrollable本身是一个statefulwidget,它的状态中也会保存当前滚动位置,所以,只要可滚动组件本身没有被从树上detach掉,那么其state就不会销毁(dispose),滚动位置就不会丢失。只有当widget发生结构变化,导致可滚动组件的state销毁或重新构建时才会丢失状态,这种情况就需要显式指定pagestoragekey,通过pagestorage来存储滚动位置,一个典型的场景是在使用tabbarview时,在tab发生切换时,tab页中的可滚动组件的state就会销毁,这时如果想恢复滚动位置就需要指定pagestoragekey。","注意:上面这些参数并非listview特有,在本章后面介绍的其它可滚动组件也可能会拥有这些参数,它们的含义是相同的。","注意:代码中注释的部分是不能正常工作的,因为这个context是根context,而notificationlistener是监听的子树,所以我们通过builder来构建raisedbutton,来获得按钮位置的context。","注意:使用gesturerecognizer后一定要调用其dispose()方法来释放资源(主要是取消内部的计时器)。","注意:包在使用本身的资源时也应该加上package参数来获取。","注意:在继承statefulwidget重写其方法时,对于包含@mustcallsuper标注的父类方法,都要在子类方法中先调用父类方法。","注意:在这里需要提醒读者,在登录场景中,保护用户账号安全是一个非常重要且永恒的话题,在实际开发中应严格杜绝直接明文存储用户账密的行为。","注意:如果alertdialog的内容过长,内容将会溢出,这在很多时候可能不是我们期望的,所以如果对话框内容过长时,可以用singlechildscrollview将内容包裹起来。","注意:存在这样的一种情况,当你根据上述步骤设置了之后,依旧无法解决这个问题,并有类似于","注意:本节介绍的安装方式随着flutter的升级可能会发生变化,如果下面介绍的内容在您安装flutter时已经失效,请访问flutter官网,按照官网最新的安装教程安装。","注意:由于本书并非专门介绍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","测试代码如下:","测试代码运行后效果如图10","深入了解inheritedwidget","混合应用的优点是动态内容是h5,web技术栈,社区及资源丰富,缺点是性能不好,对于复杂用户界面或动画,webview不堪重任。","混合开发技术点","混合状态管理","混合管理(父widget和子widget都管理状态)。","添加flutter相关工具到path中:","添加以下路径:","添加到","添加到text中,之所以可以这样做,是因为text其实就是richtext的一个包装,而richtext是可以显示多种样式(富文本)的widget。","添加到购物车。这是唯一一种能从外部改变购物车的方法。","添加后,执行flutter","添加回调。","添加固定列表头","添加缓存插件","清除所有缓存","清除指定key对应的图片缓存","渐变色数组","渐变色的终止点,对应colors属性","渲染","渲染和绘制逻辑在rendererbinding中实现,查看其源发,发现在其initinstances()方法中有如下代码:","渲染层","渲染时需要javascript和原生之间通信,在有些场景如拖动可能会因为通信频繁导致卡顿。","源码及注释:源码注释应作为学习flutter的第一文档,flutt","源码可以看出只有","源码很简单,该方法主要任务是更新了所有被标记为“dirty”的renderobject的布局信息。主要的动作发生在node._layoutwithoutresize()方法中,该方法中会调用performlayout()进行重新布局。","源码:","滚动位置恢复","滚动监听","滚动监听及控制","滚动监听及控制scrollcontrol","漂浮按钮","灵活、组件库易维护、ui外观保真度和一致性高;由于ui渲染不依赖原生控件,也就不需要根据不同平台的控件单独维护一套组件库,所以代码容易维护。由于组件库是同一套代码、同一个渲染引擎,所以在不同平台,组件显示外观可以做到高保真和高一致性;另外,由于不依赖原生控件,也就不会受原生布局系统的限制,这样布局系统会非常灵活。","灵活;由于我们需要自己实现flowdelegate的paintchildren()方法,所以我们需要自己计算每一个组件的位置,因此,可以自定义布局策略。","点击","点击container时,由于它在absorbpointer的子树上,所以不会响应指针事件,所以日志不会输出\"in\",但absorbpointer本身是可以接收指针事件的,所以会输出\"up\"。如果将absorbpointer换成ignorepointer,那么两个都不会输出。","点击“获取百度首页”按钮后,会请求百度首页,请求成功后,我们将返回内容显示出来并在控制台打印响应header,代码如下:","点击、双击、长按","点击其它主题色块后,app主题色立马切换生效。","点击或指针事件回调","点击按钮则按钮文本会随机排序。","点击按钮,弹出该对话框:","点击第一个按钮可以将焦点从第一个textfield挪到第二个textfield。","点击第二个按钮可以关闭键盘。","热重载失效问题","热重载应用,再次点击“open","热重载按钮","热重载(hot","焦点可以通过focusnode和focusscopenode来控制,默认情况下,焦点由focusscope来管理,它代表焦点控制范围,可以在这个范围内可以通过focusscopenode在输入框之间移动焦点、设置默认焦点等。我们可以通过focusscope.of(context)","然后pubspec.yaml文件中只需包含:","然后加载图像,使用:","然后将该对象用作其子对象。最终的结果是animatedbuilder返回的对象插入到widget树中。","然后我们可以通过如下方式使用它:","然后我们实现一个子组件_testwidget,在其build方法中引用sharedatawidget中的数据。同时,在其didchangedependencies()","然后我们将调用部分代码改为:","然后我们点击⚡️按钮热重载,控制台输出日志如下:","然后打开你应用程序的observatori","然后按回车键","然后授予执行权限:","然后暴露给webview以供javascript调用,这样一来,webview就成为了javascript与原生api之间通信的桥梁,主要负责javascript与原生之间传递调用消息,而消息的传递必须遵守一个标准的协议,它规定了消息的格式与含义,我们把依赖于webview的用于在javascript与原生之间通信并实现了某种消息传输协议的工具称之为webview","然后点击","然后热重载,日志如下:","然后设置输入框controller:","然后访问","然后调用","然后运行,发现并没有出现我们期望的效果,相反触发了一个异常;","然后选择","然后选择里面的","然后,将下面的新方法添加到activity类中的,位于oncr","然后,应用程序可以声明一个字体,如下面的示例所示:","然后,当我们运行上面的代码时我们会发现复选框根本选不中!为什么会这样呢?其实原因很简单,我们知道setstate方法只会针对当前context的子树重新build,但是我们的对话框并不是在_dialogroutestate的build","然后,我们通过cliprect来执行剪裁,为了看清图片实际所占用的位置,我们设置一个红色背景:","然后,转到ios设备上的设置菜单,选择","父widget管理子widget的状态","父节点对子节点大小的限制,该值根据父节点的布局逻辑确定。另外一个参数是","版本。","版本号可能随着时间推移会发生变化,读者可以使用最新版。","特定平台","特殊情况","状态。","状态管理","状态访问不便","环境变量设置为相应的sdk安装目录。","现在flutter社区已经有很多专门用于状态管理的包了,在此我们列出几个相对评分比较高的:","现在可以在hello中import","现在可以在ios上运行应用程序,如果使用的是ios模拟器,请注意,它不支持电池api,因此应用程序将显示“电池信息不可用”。","现在可以在ios上运行该应用程序了,如果使用的是ios模拟器,请注意,它不支持电池api,因此应用程序将显示“电池信息不可用”。","现在可以进行分块下载了:","现在在图片上双指张开、收缩就可以放大、缩小图片。本示例比较简单,实际中我们通常还需要一些其它功能,如双击放大或缩小一定倍数、双指张开离开屏幕时执行一个减速放大动画等,读者可以在学习完后面”动画“一章中的内容后自己来尝试实现一下。","现在如果我们想实现各种”滑动出入动画\"\"便非常容易,只需给direction传递不同的方向值即可,比如要实现”上入下出“,则:","现在就可以在android上运行该应用程序了,如果使用的是android模拟器,则可以通过工具栏中的\"...\"按钮访问extend","现在就可以将customhome添加到widget树了,我们在一个新路由页创建它,最终效果如下如图14","现在就有一个问题:如何管理复选框的选中状态?习惯上,我们会在路由页的state中来管理选中状态,我们可能会写出如下这样的代码:","现在工程目录变为:","现在我们再看看上面的示例,我们将alignment(1.0,","现在我们可以在demolocalizations类中添加需要国际化的属性或方法,如上面示例代码中的title属性,这时我们就要用到intl库提供的一些方法,这些方法可以帮我们轻松实现不同语言的一些语法特性,如复数语境,举个例子,比如我们有一个电子邮件列表页,我们需要在顶部显示未读邮件的数量,在未读数量不同事,我们展示的文本可能会不同:","现在我们可以通intl_translation包的工具来提取代码中的字符串到一个arb文件,运行如下命名:","现在我们就完成了路由表的注册。上面的代码中home路由并没有使用命名路由,如果我们也想将home注册为命名路由应该怎么做呢?其实很简单,直接看代码:","现在我们建立了连接,我们可以监听来自服务器的消息,在我们发送消息给测试服务器之后,它会返回相同的消息。","现在我们所需要的各个工具类都已完成,下面我们通过一个购物车的例子来看看怎么使用上面的这些类。","现在我们按住圆形“a”拖动然后抬起手指,控制台日志如下:","现在我们来介绍一下dart线程运行过程,如上图中所示,入口函数","现在我们看一下缓存的key,因为map中相同key的值会被覆盖,也就是说key是图片缓存的一个唯一标识,只要是不同key,那么图片数据就会分别缓存(即使事实上是同一张图片)。那么图片的唯一标识是什么呢?跟踪源码,很容易发现key正是imageprovider.obtainkey()方法的返回值,而此方法需要imageprovider子类去重写,这也就意味着不通的imageprovider对key的定义逻辑会不同。其实也很好理解,比如对于networkimage,将图片的url作为key会很合适,而对于assetimage,则应该将“包名+路径”作为唯一的key。下面我们以networkimage为例,看一下它的obtainkey()实现:","现在我们看看flutter为什么选择dart语言?笔者根据官方解释以及自己对flutter的理解总结了以下几条(由于其它跨平台框架都将javascript作为其开发语言,所以主要将dart和javascript做一个对比):","现在来思考一下,如果我们只想在__testwidgetstate中引用sharedatawidget数据,但却不希望在sharedatawidget发生变化时调用__testwidgetstate的didchangedependencies()方法应该怎么办?其实答案很简单,我们只需要将sharedatawidget.of()的实现改一下即可:","现在画布有了,我们最后还缺一个画笔,flutter提供了paint类来实现画笔。在paint中,我们可以配置画笔的各种属性如粗细、颜色、样式等。如:","现在请读者自行查看handlebeginframe()","现在,序列化逻辑移到了模型本身内部。采用这种新方法,我们可以非常容易地反序列化user.","现在,想必imag","现在,我们使用showcustomdialog打开文件删除确认对话框,代码如下:","现在,我们回头来看一下,混合应用无非就是在第一步中预先实现一系列api供javascript调用,让javascript有访问系统的能力,看到这里,我相信你也可以自己实现一个混合开发框架了。","现在,我们回答之前提出的问题,为什么build()方法房在state(而不是statefulwidget)中","现在,我们将整个计数器执行流程串起来:当右下角的floatingactionbutton按钮被点击之后,会调用_incrementcounter方法。在_incrementcounter方法中,首先会自增_counter计数器(状态),然后setstate会通知flutter框架状态发生变化,接着,flutter框架会调用build方法以新的状态重新构建ui,最终显示在设备屏幕上。","现在,我们将要共享的状态放到一个model类中,然后让它继承自changenotifier,这样当共享的状态改变时,我们只需要调用notifylisteners()","现在,我们己经介绍完了alertdialog、simpledialog以及dialog。上面的示例中,我们在调用showdialog时,在builder中都是构建了这三个对话框组件的一种,可能有些读者会惯性的以为在builder中只能返回这三者之一,其实这不是必须的!就拿dialog的示例来距离,我们完全可以用下面的代码来替代dialog:","现在,我们来和qt","现在,我们重点来介绍一下behavior属性,它决定子组件如何响应命中测试,它的值类型为hittestbehavior,这是一个枚举类,有三个枚举值:","现在,我们需要的json数据已经定义完毕,现在只需要运行json_model","现在,无论是点击导航栏tab菜单还是在页面上左右滑动,tab页面都会切换,并且tab菜单的状态和tab页面始终保持同步!那它们是如何实现同步的呢?细心的读者可能已经发现,上例中tabbar和tabbarview的controller是同一个!正是如此,tabbar和tabbarview正是通过同一个controller来实现菜单切换和滑动状态同步的,有关tabcontroller的详细信息,我们不再本书做过多介绍,使用时读者直接查看sdk即可。","现在,目前已经确定,在接下来章节中,我们将分模块一步一步实现上述功能。","理解state的生命周期对flutter开发非常重要,为了加深读者印象,本节我们通过一个实例来演示一下state的生命周期。在接下来的示例中,我们实现一个计数器widget,点击它可以使计数器加1,由于要保存计数器的数值状态,所以我们应继承statefulwidget,代码如下:","理论上可以使用任何文本编辑器与命令行工具来构建flutter应用程序。","生态系统得以快速增长,由此可见,flutter在开发者中受到了热烈的欢迎,其未来发展值得期待!","生态;从github上来看,目前flutter活跃用户正在高速增长。从stackoverflow上提问来看,flutter社区现在已经很庞大。flutter的文档、资源也越来越丰富,开发过程中遇到的很多问题都可以在stackoverflow或其github","生成dart","生成文档","生成缓存key,后面会根据此key来检测是否有缓存","生成随机字符串","生效了!","用android","用animatedbuilder重构","用animatedwidget可以从动画中分离出widget,而动画的渲染过程(即设置宽高)仍然在animatedwidget中,假设如果我们再添加一个widget透明度变化的动画,那么我们需要再实现一个animatedwidget,这样不是很优雅,如果我们能把渲染过程也抽象出来,那就会好很多,而animatedbuilder正是将渲染逻辑分离出来,","用于从一个map构造出一个","用于保存购物车中商品列表","用于创建和state","用于指定最大宽高、fractionallysizedbox","用于指定该属性的开始值和结束值。也就是说0.0到1.0代表整个动画过程,我们可以给不同动画指定不同的起始点和终止点来决定它们的开始时间和终止时间。","用于绑定平台消息通道(messag","用户信息","用户信息(profile)应包括如下信息:","用户名不能为空,如果为空则提示“用户名不能为空”。","用户名或密码字段在调用登录接口前有本地合法性校验(比如不能为空)。","用户所处地理位置","用户手指按下:offset(26.3,","用户改变app语言后,通知依赖项更新,新语言会立即生效","用户注销登录后,为了便于用户在退出app前再次登录,我们需要记住上次登录的用户名。","用户点击”注销“,usermodel.us","用户状态","用户状态在登录状态发生变化时更新、通知其依赖项,我们定义如下:","用户简介","用途","由于","由于android","由于app主页要显示其所有项目信息,我们在“jsons”目录下创建一个“repo.json”文件保存项目信息。通过参考github","由于dart是类型安全的语言,支持静态类型检测,所以可以在编译前发现一些类型的错误,并排除潜在问题,这一点对于前端开发者来说可能会更具有吸引力。与之不同的,javascript是一个弱类型语言,也因此前端社区出现了很多给javascript代码添加静态类型检测的扩展语言和工具,如:微软的typescript以及facebook的flow。相比之下,dart本身就支持静态类型,这是它的一个重要优势。","由于flutter","由于flutter会同时构建android和ios两个平台的发布包,所以flutter同时依赖android","由于github服务器在国内访问速度较慢,我们对github","由于globalkey要保持全局唯一性,我们使用静态变量存储","由于json.decode()仅返回一个map,这意味着直到运行时我们才知道值的类型。","由于rn和react原理相通,并且flutter也是受react启发,很多思想也都是相通的,万丈高楼平地起,我们有必要深入了解一下react原理。react是一个响应式的web框架,我们先了解一下两个重要的概念:dom树与响应式编程。","由于rotatedbox是作用于layout阶段,所以子组件会旋转90度(而不只是绘制的内容),decoration会作用到子组件所占用的实际空间上,所以最终就是上图的效果,读者可以和前面transform.rotate示例对比理解。","由于列表项高度为50像素,当滑动到第20个列表项后,右下角“返回顶部”按钮会显示,点击该按钮,listview会在返回顶部的过程中执行一个滚动动画,动画时间是200毫秒,动画曲线是curves.ease,关于动画的详细内容我们将在后面“动画”一章中详细介绍。","由于在国内访问flutter有时可能会受到限制,flutter官方为中国开发者搭建了临时镜像,大家可以将如下环境变量加入到用户环境变量中:","由于在国内访问github服务器速度较慢,所以我们应用一些简单的缓存策略:将请求的url作为key,对请求的返回值在一个指定时间段类进行缓存,另外设置一个最大缓存数,当超过最大缓存数后移除最早的一条缓存。但是也得提供一种针对特定接口或请求决定是否启用缓存的机制,这种机制可以指定哪些接口或那次请求不应用缓存,这种机制是很有必要的,比如登录接口就不应该缓存,又比如用户在下拉刷新时就不应该再应用缓存。在实现缓存之前我们先定义保存缓存信息的cacheobject类:","由于在网络数据传输和持久化时,我们需要通过json来传输、保存数据;但是在应用开发时我们又需要将json转成dart","由于我们指定了","由于我们没有指定column的mainaxissize,所以使用默认值mainaxissize.max,则column会在垂直方向占用尽可能多的空间,此例中为屏幕高度。","由于我们的dart代码都在“lib”文件夹下,笔者根据技术选型和经验在lib文件下创建了如下目录:","由于我们需要使用外部图片和icon资源,所以我们在项目根目录下分别创建”imgs“和”fonts“文件件,前者用于保存图片,后者用于保存icon文件。关于图片和icon,读者可以参考第三章中相应的内容。","由于手势竞争最终只有一个胜出者,所以,当有多个手势识别器时,可能会产生冲突。假设有一个widget,它可以左右拖动,现在我们也想检测在它上面手指按下和抬起的事件,代码如下:","由于最终的图形计算和绘制都是由相应的硬件来完成,而直接操作硬件的指令通常都会有操作系统屏蔽,应用开发者通常不会直接面对硬件,操作系统屏蔽了这些底层硬件操作后会提供一些封装后的api供操作系统之上的应用调用,但是对于应用开发者来说,直接调用这些操作系统提供的api是比较复杂和低效的,因为操作系统提供的api往往比较基础,直接调用需要了解api的很多细节。正是因为这个原因,几乎所有用于开发gui程序的编程语言都会在操作系统之上再封装一层,将操作系统原生api封装在一个编程框架和模型中,然后定义一种简单的开发规则来开发gui应用程序,而这一层抽象,正是我们所说的“ui”系统,如android","由于本身功能较多,这里我们只介绍其常用的api及特性。还有,请记住,futur","由于渲染依赖原生控件,不同平台的控件需要单独维护,并且当系统更新时,社区控件可能会滞后;除此之外,其控件系统也会受到原生ui系统限制,例如,在android中,手势冲突消歧规则是固定的,这在使用不同人写的控件嵌套时,手势冲突问题将会变得非常棘手。","由于矩阵变化只会作用在绘制阶段,所以在某些场景下,在ui需要变化时,可以直接通过矩阵变化来达到视觉上的ui改变,而不需要去重新触发build流程,这样会节省layout的开销,所以性能会比较好。如之前介绍的flow组件,它内部就是用矩阵变换来更新ui,除此之外,flutter的动画组件中也大量使用了transform以提高性能。","由于第一个text应用变换(放大)后,其在绘制时会放大,但其占用的空间依然为红色部分,所以第二个text会紧挨着红色部分,最终就会出现文字重合。","由于第一个子文本组件text(\"hello","由于篇幅所限,本书中大多数示例代码都只是部分核心代码,读者可以去这里查看下载。","由于解析文本字符串,构建出textspan是一个耗时操作,为了不在每次build的时候都解析一次,所以我们在initstate中对解析的结果进行了缓存,然后再build中直接使用解析的结果_textspan。这看起来很不错,但是上面的代码有一个严重的问题,就是父组件传入的text发生变化时(组件树结构不变),那么myrichtext显示的内容不会更新,原因就是initstate只会在state创建时被调用,所以在text发生变化时,parsetext没有重新执行,导致_textspan任然是旧的解析值。要解决这个问题也很简单,我们只需添加一个didupdatewidget回调,然后再里面重新调用parsetext即可:","画图像","画圆","画圆弧","画椭圆","画点","画矩形","画笔paint","画线","画路径","登录github后,我们需要获取当前登录者的github账号信息,github","登录后可以查看自己的项目主页","登录成功后需更新用户信息。","登录按钮","登录接口,登录成功后返回用户信息","登录状态可以持久化;","登录状态改变后发布状态改变事件","登录用户的token(oauth)或密码","登录页","登录页代码大致如下:","的","的column的子widget中。","的materi","的pushnamed方法:","的。这样来看它的作用就比较明显了,意思就是当一个控件的大小被改变时可能会影响到它的","的全路径作为它的值.","的包装类,也就是说图片的编解码逻辑不是在dart","的坐标原点为矩形的左侧顶点,这和布局系统的一致,所以理解起来会比较容易。fractionaloffset的坐标转换公式为:","的大小了,于是","的大小,那么","的定义:","的宽度,所以居中对齐后text(\"hi\")会显示在text(\"world\")的中间部分。","的必要基础。而react","的所有api的返回值仍然是一个future对象,所以可以很方便的进行链式调用”","的所有api的返回值仍然是一个future对象,所以可以很方便的进行链式调用。","的报错信息,请检查","的桥梁。","的概念:","的特殊存档中,应用程序可以在运行时读取它们(但不能修改)。","的私有数据,可以通过实例zone[key]获取,可以理解为每个“沙箱”的私有数据。","的职责都是相同的,它们只是语言载体和底层的系统不同而已。那么可不可以实现这么一个ui系统:可以使用同一种编程语言开发,然后针对不同操作系统api抽象一个对上接口一致,对下适配不同操作系统的的中间层,然后在打包编译时再使用相应的中间层代码?如果可以做到,那么我们就可以使用同一套代码编写跨平台的应用了。而flutter的原理正是如此,它提供了一套dart","监听文本变化","监听文本变化也有两种方式:","监听来自服务器的消息","监听来自服务器的消息。","监听滚动通知","监听焦点变化","监听焦点状态改变事件","监听的通知类型,则调用当前notificationlistener的onnotif","监听系统语言切换","目前android","目前混合开发框架的典型代表有:cordova、ion","目前,程序主要有两种运行方式:静态编译与动态解释。静态编译的程序在执行前全部被翻译为机器码,通常将这种类型称为aot","目录","直接将对话框ui对应的element标记为dirti","相似,repaintboundary是用于在确定重绘边界的,与relayoutboundary不同的是,这个绘制边界需要由开发者通过repaintboundari","相反,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的一个包装类,spacer的源码如下:","示例代码:","示例运行后,我们点击对话框“取消”按钮或遮罩,控制台就会输出\"取消删除\",如果点击“删除”按钮,控制台就会输出\"已确认删除\"。","示例:","示例:javascript调用原生api获取手机型号","示例:五子棋/盘","示例:登录输入框","示例:自定义渐变按钮","社区","禁止改变购物车里的商品信息","禁用时的阴影","移动开发技术简介","移除model的监听器","空白(如没有任何子节点的container)以灰色显示。","竞争","笔者在大学时读过候捷(真名侯俊杰)写的一些c++相关书籍,在他的《深入浅出mfc》一书中,有一句话我映像非常深","第一个进度条会执行旋转动画,而第二个进度条是静止的,它停在50%的位置。","第一个进度条在执行循环动画:蓝色条一直在移动,而第二个进度条是静止的,停在50%的位置。","第一个问题其实很好解决,我们当然可以使用之前介绍的eventbus来进行事件通知,但是为了更贴近flutter开发,我们使用flutter中sdk中提供的changenotifier类","第一次运行flutter命令(如flutt","第一步:创建dart包","第一步:创建必要目录","第一种方式比较简单,不在举例,我们来重点看一下第二种方式,我们以用户名输入框举例:","第一章:起步","第一:qt移动开发社区太小,学习资料不足,生态不好。","第七章:功能型组件","第三步:添加需要国际化的属性","第三章:基础组件","第三:移动端发力较晚,市场已被其它动态化框架占领(hybrid和rn)。","第九章:动画","第二层为手势,描述由一个或多个指针移动组成的语义动作,如拖动、缩放、双击等。本章将先分别介绍如何处理这两种事件,最后再介绍一下flutter中重要的notification机制。","第二步:实现localizations和delegate类","第二章中已经讲过如何使用package(包),我们知道通过package可以创建共享的模块化代码,本节将重点讲一下如何开发并发布我们自己的package。一个最小的package包括:","第二章:第一个flutter应用","第二:官方推广不利,支持不够。","第五步:生成dart代码","第五章:容器类组件","第八章:事件处理与通知","第六章:可滚动组件","第十一章:文件操作与网络请求","第十三章:国际化","第十二章:包与插件","第十五章:一个完整的flutter应用","第十四章:flutter核心原理","第十章:自定义组件","第四步:生成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回调队列,","类中还定义了许多其它的曲线,在此便不一一介绍,读者可以自行查看curves类定义。","类似于javascript中的var,它可以接收任何类型的变量,但最大的不同是dart中var变量一旦赋值,类型便会确定,则不能再改变其类型,如:","类似于原生开发,flutter也可以为当前设备加载适合其分辨率的图像。","类型","类型,","类型一旦确定后则不能再更改其类型。","类型安全","类是一个预置的枚举类,定义了许多常用的曲线,下面列几种常用的:","精妙的解法","精心设计的动画会让用户界面感觉更直观、流畅,能改善用户体验。","系统可随时清除的临时目录(缓存)。在ios上,这对应于nstemporarydirectory()","系统字体缩放变化回调","系统要求","红色","约束条件为","纵轴(垂直)方向间距","线性布局row、column","线性布局(row和column)","线性进度条高度指定为3","组件","组件一般位于widget树中其它业务组件的顶部,它的作用是定义区域locale以及设置子树依赖的本地化资源。","组件中;典型地,在一个懒加载列表中,如果将列表项包裹在automatickeepalive中,在该列表项滑出视口时它也不会被gc(垃圾回收),它会使用keepalivenotification来保存其状态。如果列表项自己维护其keepalive状态,那么此参数必须置为false。","组件了,如:scaffold、appbar、flatbutton等。要使用materi","组件会自动加载新区域的locale值,然后重新build使用(依赖)了它们的组件,之所以会这样,是因为localizations内部使用了inheritedwidget","组件可以调整子组件的位置,并且可以根据子组件的宽高来确定自身的的宽高,定义如下:","组件名称","组件将连接到一个stream,","组件并重建它,这样子树中通过localizations.localeof(context)","组件库中提供了material风格的单选开关switch和复选框checkbox,它们都是继承自statelesswidget,所以它们本身不会保存当前选择状态,因此它们的选中状态都是由父组件来管理的。当switch或checkbox被点击时,会触发它们的onchanged回调,我们可以在此回调中处理选中状态改变逻辑。下面看一个简单的例子:","组件库中提供了两种进度指示器:linearprogressindicator和circularprogressindicator,它们都可以同时用于精确的进度指示和模糊的进度指示。精确进度通常用于任务进度可以计算和预估的情况,比如文件下载;而模糊进度则用户任务进度无法准确获得的情况,如下拉刷新,数据提交等。","组件库中提供了多种按钮组件如raisedbutton、flatbutton、outlinebutton等,它们都是直接或间接对rawmaterialbutton组件的包装定制,所以他们大多数属性都和rawmaterialbutton一样。在介绍各个按钮时我们先介绍其默认外观,而按钮的外观大都可以通过属性来自定义,我们在后面统一介绍这些属性。另外,所有materi","组件库中有一些组件可以根据实际运行平台来切换表现风格,比如materialpageroute,在路由切换时,如果是android系统,它将会使用android系统默认的页面切换动画(从底向上);如果是ios系统,它会使用ios系统默认的页面切换动画(从右向左)。由于在前面的示例中还没有cupertino组件的示例,下面我们实现一个简单的cupertino组件风格的页面:","组件库中,我们会在很多组件中见到elevation相关的属性,它们都是用来控制阴影的,这是因为阴影在material设计风格中是一种很重要的表现形式,以后在介绍其它组件时,便不再赘述。","组件库提供的本地化的字符串和其他值,它可以使materi","组件库的主题数据,material组件需要遵守相应的设计规范,而这些规范可自定义部分都定义在themedata中了,所以我们可以通过themedata来自定义应用主题。在子组件中,我们可以通过theme.of方法来获取当前的themedata。","组件库的本地化字符串由materiallocalizations类定义,此类的实例由materialapp类提供的localizationdelegate创建,","组件开始,","组件支持多语言。","组件本身宽高的属性;它们是两个缩放因子,会分别乘以子元素的宽、高,最终的结果就是align","组件来实现的,上面的示例代码实际上等价于:","组件的imag","组件的state对象,原理可以参考本书后面“element与buildcontext”","组件的宽高。","组件的简单演示应用程序。","组件自己指定,如:","组件那么丰富,但是它仍在不断的完善中。值得一提的是在materi","组件,center","组件,column的作用是将其所有子组件沿屏幕垂直方向依次排列;","组件,它使用keepaliveparentdatamixin(继承自parentdata)","组件,它可以和floatingactionbutton配合实现这种“打洞”效果,源码如下:","组件,它可以对输入框进行分组,然后进行一些统一操作,如输入内容校验、输入框重置以及输入内容保存。","组件,它可以结合画笔custompainter来实现自定义图形绘制。","组件,它和tabbarview功能相似,读者可以自行了解一下。","组件,它是material组件库提供的material风格的tab菜单。","组件,并提到flutter框架对加载过的图片是有缓存的(内存),默认最大缓存数量是1000,最大缓存空间为100m。本节便详细介绍image的原理及图片缓存机制,下面我们先看看imageprovid","组件,需要先引入它:","组件:","组合其它widget","组合实例:turnbox","组合现有组件","细心的读者可能会发现这个按钮没有阴影(点击之后也没有),这样会显得没有质感。其实这也很容易,将上面的flatbutton换成raisedbutton就行,其它代码不用改(这里","细心的读者可能已经发现上面示例中通过addlistener()和setstate()","绘制","绘制前回调,一般会受显示器的垂直同步信号vsync驱动,当屏幕刷新时就会被调用","绘制回调","绘制尽可能多的分层;在上面五子棋的示例中,我们将棋盘和棋子的绘制放在了一起,这样会有一个问题:由于棋盘始终是不变的,用户每次落子时变的只是棋子,但是如果按照上面的代码来实现,每次绘制棋子时都要重新绘制一次棋盘,这是没必要的。优化的方法就是将棋盘单独抽为一个组件,并设置其shouldrepaint回调值为false,然后将棋盘组件作为背景。然后将棋子的绘制放到另一个组件中,这样每次落子时只需要绘制棋子。","绘制是比较昂贵的操作,所以我们在实现自绘控件时应该考虑到性能开销,下面是两条关于性能优化的建议:","绘制的很频繁或很复杂时,可以通过repaintboundari","绘制过程","给model添加监听器","给子节点创建一个layer","给每一个动画对象指定时间间隔(interval)","给目标statefulwidget添加globalkey。","统计应用启动时间","继承statefulwidget不便","继承statelesswidget类,因为所有状态都由其父组件处理。","继承自","继承自statelesswidget类,所以它可以直接嵌套到widget树中。","综上所述,可以发现,对于statefulwidget,将build方法放在state中,可以给开发带来很大的灵活性。","综上所述,我们的证书校验其实就是提供一个badcertificatecallback回调,下面通过一个示例来说明。","综上所述,笔者比较建议使用命名路由,当然这并不是什么金科玉律,读者可以根据自己偏好或实际情况来决定。","综上所述,笔者还是很看好dart语言的将来,之所以表这个态,是因为在新技术发展初期,很多人可能还有所摇摆,有所犹豫,所以有必要给大家打一剂强心针,当然,这是一个见仁见智的问题,大家可以各抒己见。","绿色","缓存上限设置的setter","缓存创建时间","缓存图片","缓存容量上限","缓存数量上限(1000)","缓存的处理逻辑在这里,记为a,下面详细介绍","缓存的最长时间,单位(秒)","缓存策略信息,结构见\"cacheconfig.json\"","缓存队列","缘起","缩放","缺少依赖库问题","缺点:","网络接口缓存","网络缓存对象","网络请求封装","网络请求;需要请求github","美国英语","而boxconstraints.tightfor(width:","而changenotifierprovider则会重新构建子树,所以inheritedprovider将会更新,此时依赖它的子孙widget就会被重新构建。","而dynamic与object相同之处在于,他们声明的变量可以在后期改变赋值类型。","而image正是连接起imageprovider和rawimag","而object声明的对象只能使用object的属性与方法,","而package中主要的功能的源码都在src目录下。shelf","而rn中将虚拟dom映射为原生控件的过程中分两步:","而在dart中几乎是完全平移了javascript中的这两者:future相当于promise,而async/await连名字都没改。接下来我们看看通过future和async/await如何消除上面示例中的嵌套问题。","而实际上constrainedbox和sizedbox都是通过renderconstrainedbox来渲染的,我们可以看到constrainedbox和sizedbox的createrenderobject()方法都返回的是一个renderconstrainedbox对象:","而浏览器的重绘和回流都是比较昂贵的操作,如果每一次改变都直接对dom进行操作,这会带来性能问题,而批量操作只会触发一次dom更新。","耗时操作:解析文本字符串,构建出textspan。","背景支持渐变色","背景画笔,会显示在子节点后面;","背景色","背景装饰","脚本我们通过dart来写,源码如下:","自动化生成模板","自动填充上次登录的用户名,填充后将焦点定位到密码输入框","自动生成model","自定义widget方法简介","自定义尺寸","自定义按钮外观","自定义样式","自定义组件方法简介","自定义组件样式","自定义编解码器","自定义路由切换动画","自定义路由过渡动画","自定义进度指示器样式","自定义通知","自定义遮罩颜色","自绘","自绘ui+原生","自绘ui+原生(qt","自绘实例:圆形背景渐变进度条","自绘控件非常强大,理论上可以实现任何2d图形外观,实际上flutter提供的所有组件最终都是通过调用canvas绘制出来的,只不过绘制的逻辑被封装起来了,读者有兴趣可以查看具有外观样式的组件源码,找到其对应的renderobject对象,如text对应的renderparagraph对象最终会通过canvas实现文本绘制逻辑。下一节我们会再通过一个自绘的圆形背景渐变进度条的实例来帮助读者加深印象。","自绘组件","至此flutter部分的测试代码写好了,接下来我们需要实现android和ios平台下的api,由于平台api实现部分篇幅较大,我们将在接下来的两节中,分别介绍android和ios端api的实现。","至此我们便实现了一个迷你的provider,它具备pub上provid","至此真相大白,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类了:","致谢","英语系的国家非常多,如美国、英国、澳大利亚等,这些英语系国家虽然说的都是英语,但也会有一些区别。如果我们的app只想提供一种英语(如美国英语)供所有英语系国家使用,我们可以在前面介绍的localelistresolutioncallback中来做兼容:","获取flutter","获取formstate后,","获取一下,","获取下一个动画帧","获取应用目录","获取当前locale的字符串表示","获取当前主题,如果为设置主题,则默认使用蓝色主题","获取当前区域local","获取当前用户的app语言配置locale类,如果为null,则语言跟随系统语言","获取的locale就会更新。","获取的locale就会更新,最终界面会重新build达到切换语言的效果。但是这个过程是隐式完成的,我们并没有主动去监听系统语言切换,但是有时我们需要在系统语言发生改变时做一些事,比如系统语言切换为一种我们app不支持的语言时,我们需要设置一个默认的语言,这时我们就需要监听locale改变事件。","获取输入内容","获取输入内容有两种方式:","获取项目信息的api文档,定义出最终的“repo.json”文件结构,如下:","获取项目所有依赖包的最新版本。","获得焦点时focusnode.hasfocus值为true,失去焦点时为false。","菜单下设置设备比例。","菜单中的设置,确保模拟器正在使用64位设备(iphon","菜单图标","菜单文本","蓝色","虽然flutter中文网给中国开发者提供了很好的第一手了解flutter的资料,但是笔者还会经常遇到一些对flutter技术处于围观而不愿尝试的开发者。这主要是因为当时flutter在国内没有成功案例,再加上新技术都有学习成本,所以即使有文档,也会有一些开发者犹豫是否来学习。为了解决这部分开发者的疑虑,我就想如果能用flutter开发一个完整的app发布到应用商店,这样开发者就可以在犹豫的时候可以先实际感受一下flutter应用,这样有个直观的了解后,就会容易做出判断,为此,我开发了gitme,它是一个github客户端,它支持了源码浏览、issue、label等github的大多数功能,到目前为止,通过gitme登录过github账号的用户有8000多人,日活用户有1000人。更重要的是,有很多人正是用了gitme后,才来学flutter的。","虽然上面的两种方法都可以实现自定义切换动画,但实际使用时应优先考虑使用pageroutebuilder,这样无需定义一个新的路由类,使用起来会比较方便。但是有些时候pageroutebuilder是不能满足需求的,例如在应用过渡动画时我们需要读取当前路由的一些属性,这时就只能通过继承pageroute的方式了,举个例子,假如我们只想在打开新路由时应用动画,而在返回时不使用动画,那么我们在构建过渡动画时就必须判断当前路由isactive属性是否为true,代码如下:","虽然上面的例子比较简单,但它却将provider的原理和流程体现的很清楚,图7","虽然做的事情已经够多了,但是仍有一些很有必要去做的事情,由于时间原因,一直被搁置。","虽然我们可以通过decoration属性来定义输入框样式,但是有一些样式如下划线默认颜色及宽度都是不能直接自定义的,下面的代码没有效果:","虽然这非常方便,但如果我们不需要每次在model类中进行更改时都要手动运行构建命令的话会更好。","表单form","表示只执行一次","表示圆形进度条的粗细。示例如下:","表示循环执行","装饰容器decoratedbox","要为ios开发flutter应用程序,您需要xcod","要了解您的应用程序导致重新布局或重新绘制的原因,您可以分别设置debugprintmarkneedslayoutstacks和","要使用flutter_localizations包,首先需要添加依赖到pubspec.yaml文件中:","要使用package中定义的字体,必须提供package参数。例如,假设上面的字体声明位于my_package包中。然后创建textstyle的过程如下:","要使用tween对象,需要调用其animate()方法,然后传入一个控制器对象。例如,以下代码在500毫秒内生成从0到255的整数值。","要使用此功能,必须首先启用辅助功能,例如启用系统辅助工具或semanticsdebugg","要使用由localizationsdelegate的load方法之一产生的对象,可以指定一个buildcontext和对象的类型来找到它。例如,materi","要关闭调试模式并使用发布模式,请使用flutter","要准备在android模拟器上运行并测试flutter应用,请按照以下步骤操作:","要准备在android设备上运行并测试flutter应用,需要android","要准备在ios模拟器上运行并测试flutter应用,请按以下步骤操作:","要创建交织动画,需要使用多个动画对象(animation)。","要加载依赖包中的图像,必须给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","要查更改,请调用","要查看您的更改,请调用","要获得应用程序性能图,请将materialapp构造函数的showperformanceoverlay参数设置为true。","要调用debugdumprendertree(),您需要添加import'package:flutter/rendering.dart';到您的源文件。","要转储widgets库的状态,请调用debugdumpapp()。","要通过路由名称来打开新路由,可以使用navig","观其发展,在2018年5月份,flutter","解决依赖冲突","解压安装包到你想安装的目录,如:","解析文本字符串“text”,生成textspan缓存起来;","解释","解释:","解释:第一个row很简单,默认为居中对齐;第二个row,由于mainaxissize值为mainaxissize.min,row的宽度等于两个text的宽度和,所以对齐是无意义的,所以会从左往右显示;第三个row设置textdirection值为textdirection.rtl,所以子组件会从右向左的顺序排列,而此时mainaxisalignment.end表示左对齐,所以最终显示结果就是图中第三行的样子;第四个row测试的是纵轴的对齐方式,由于两个子text字体不一样,所以其高度也不同,我们指定了verticaldirection值为verticaldirection.up,即从低向顶排列,而此时crossaxisalignment值为crossaxisalignment.start表示底对齐。","计数器应用示例","订阅者必须需显式注册状态改变回调,也必须在组件销毁时手动去解绑回调以避免内存泄露。","订阅者模式,changenotifier定义大致如下:","让app支持多语言","让您的应用继续运行.","让您的应用继续运行。","让我们看看如何将我们的user类转换为一个json_serializable。为了简单起见,我们使用前面示例中的简化json","讲到这里,读者可能发现flutter","设为false,不建立依赖关系","设为新的,由此可以看出element","设置app图标","设置controller:","设置deleg","设置onchange回调,如:","设置其孩子的约束为:boxconstraints(0.0flatbutton定义的一部分,它在其内容上设置最小宽度为88像素,并且设置高度为36.0像素(这是materi","设置它的最简单方法是在void","设置状态的自增函数。","设置用户token(可能为null,代表未登录)","设置给了子树column节点处,这样一来column的所有子孙text默认都会继承该样式,除非text显示指定不继承样式,如代码中注释2。示例运行效果如图3","设置默认值,并从第三个字符开始选中后面的字符","设计规范中有些是不能自定义的,如导航栏高度,themedata只包含了可自定义部分。","证书校验","试想一下,如果我们的statefulwidget有很多状态,而每次状态改变都要调用build方法,由于状态是保存在state中的,如果build方法在statefulwidget中,那么build方法和状态分别在两个类中,那么构建时读取状态将会很不方便!试想一下,如果真的将build方法放在statefulwidget中的话,由于构建用户界面过程需要依赖state,所以build方法将必须加一个state参数,大概是下面这样:","该builder在animatedswitcher的child切换时会分别对新、旧child绑定动画:","该函数是该tostring方法用来填充小部件描述信息的。","该命令会同时更新flutter","该命令检查你的环境并在命令行窗口中显示报告。dart","该图仅在应用程序绘制时更新,因此如果它处于空闲状态,该图将停止移动。","该子类实现了一个横轴为固定数量子元素的layout算法,其构造函数为:","该子类实现了一个横轴子元素为固定最大长度的layout算法,其构造函数为:","该对话框样式代码如下:","该应用的state类拥有当前的应用状态。我们需要延长这一点以保持当前的电量","该接口主要是为了配合实现图片缓存,imageprovider从数据源加载完数据后,会在全局的imagecache中缓存图片数据,而图片数据缓存是一个map,而map的key便是调用此方法的返回值,不同的key代表不同的图片数据缓存。","该方法只有两个参数,含义见注释。该方法返回一个future,它正是用于接收对话框的返回值:如果我们是通过点击对话框遮罩关闭的,则future的值为null,否则为我们通过navigator.of(context).pop(result)返回的result值,下面我们看一下整个示例:","该方法用于在dart中获取模板类型","该方法用于添加用户凭据,如:","该方法直接调用了rendererbinding的drawframe()方法:","该方法负责创建根element,即renderobjecttowidgetelement,并且将element与widget","该方法进行了最终的绘制,可以看出它不是重绘了所有","该标志用橙色或轮廓线标出每个层的边界,或者使用debugrepaintrainbowenabled标志,","该用户关注的人数","该类继承statefulwidget,然后定义了一个of()静态方法供子类方便获取widget树中的inheritedprovider中保存的共享状态(model),下面我们实现该类对应的_changenotifierproviderstate类:","该组件在应用程序的根部创建了一些必要的组件,比如theme组件,它用于配置应用的主题。","该组件的状态。由于我们只需要维护一个点击次数计数器,所以定义一个_counter状态:","该计数器示例中,每点击一次右下角带“+”号的悬浮按钮,屏幕中央的数字就会加1。","该调用可能失败(平台不支持平台api,例如在模拟器中运行时),所以我们将invokemethod调用包装在tri","该项目是否为fork的项目","该项目的开源许可证","详细的文档语法请参考dartdoc","语义","语义化","语义化不明确;由于changenotifierprovider是订阅者,那么依赖cartmodel的widget自然就是订阅者,其实也就是状态的消费者,如果我们用build","语义化即semantics,主要是提供给读屏软件的接口,也是实现辅助功能的基础,通过语义化接口可以让机器理解页面上的内容,对于有视力障碍用户可以使用读屏软件来理解ui内容。如果一个renderobject要支持语义化接口,可以实现","语义化更明确。","语义化标签(用于读屏软件)","语法中很多地方也都借鉴了java和javascript。","语法是基于","语法而创造。与","语言选择页","请导航至.../android/app/src/main。在res/drawable/launch_background.xml,通过自定义drawable来实现自定义启动界面(你也可以直接换一张图片)。","请求","请求:","请求失败,显示错误","请求头","请求已结束","请求成功,显示数据","请求未结束,显示load","请求结束后,如果请求失败,则展示错误信息;如果成功,则将项目名称列表展示出来。","请求结束,关闭httpclient:","请确保运行flutter","请阅读下面代码,先想象一下运行的结果:","读取响应内容:","读取点击次数(以字符串)","读者可以自己运行本示例查看运行结果。注意,本示例只是为了演示streambuilder的使用,在实战中,凡是ui会依赖多个异步数据而发生变化的场景都可以使用streambuilder。","读者可以运行示例看看效果。","读者在此只需要知道帧监听器和状态监听器的区别,在后面的章节中我们将会举例说明。","读者应该将这两点牢记在心中。","读者最好接触过pc客户端、移动开发或web前端开发中的一种。","读者至少熟悉一种编程语言。","谁来重新构建inheritedprovider?","调度","调度frame,该方法执行后,onbeginframe和ondrawframe将紧接着会在合适时机被调用,","调用","调用android","调用imageprovider.resolve方法,获得imagestream。","调用validate()方法校验用户名密码是否合法,校验","调用widget.createel","调用函数时,可以使用指定命名参数。例如:paramname:","调用时,将slidetransition替换成myslidetransition即可:","调用系统api渲染","调试flutter","调试flutter应用","调试动画","调试动画最简单的方法是减慢它们的速度。为此,请将timedilation变量(在scheduler库中)设置为大于1.0的数字,例如50.0。","调试应用程序层","调试性能问题","调试模式断言","账号信息更新时间","账号创建时间","购物车中商品的总价","购物车示例","资源","资源管理","起初,我没有出版实体书的打算,当时我以为开发者直接通过在线访问本书官网即方便又不用付费,何乐而不为。但在本书上线后,很多读者来添加微信好友,表示非常有收益,很期待出版纸质书,甚至有比较热心的读者想提前付定金预定!我理解,这是大家对我所做之事的认可和鼓励。考虑到,确实有一部分读者,尤其是还没毕业的同学,可能更喜欢通过书籍去学习,为此,我已经和机械工业出版社合作,目前本书纸质版正在出版中,敬请关注。","跟踪dart代码性能","跟踪的分支,要切换分支,可以使用flutter","跟踪输出保存为start_up_info.json,在flutter工程目录在build目录下。输出列出了从应用程序启动到这些跟踪事件(以微秒捕获)所用的时间:","跨平台技术简介","跨平台自绘引擎","跨组件状态共享(provider)","路径可以是相对的,也可以是绝对的。","路由(route)在移动开发中通常指页面(page),这跟web开发中单页应用的route概念意义是相同的,route在android中通常指一个activity,在ios中指一个viewcontroller。所谓路由管理,就是管理页面之间如何跳转,通常也可被称为导航管理。flutter中的路由管理和原生开发类似,无论是android还是ios,导航管理都会维护一个路由栈,路由入栈(push)操作对应打开一个新页面,路由出栈(pop)操作对应页面关闭操作,而路由管理主要是指如何来管理路由栈。","路由a","路由b:","路由传值","路由参数","路由生成钩子","路由管理","路由表","路由表的注册方式很简单,我们回到之前“计数器”的示例,然后在myapp类的build方法中找到materialapp,添加routes属性,代码如下:","路由返回值:","转到","输入","输入框内编辑文本在水平方向的对齐方式。","输入框及表单","输入框和表单","输入项目名称","运行","运行上面两个示例,图片加载成功后如图3","运行上面代码,点击routertestroute页的”打开提示页“按钮,会打开tiproute页,运行效果如图2","运行代码生成程序","运行后效果如图3","运行后效果如图5","运行后效果如图6","运行后效果如图7","运行后效果如图8","运行后点击右下角悬浮按钮则可以切换主题,如图7","运行后界面如图7","运行后,一切都将自动执行,现在好多了,不是吗?","运行后,和上图一样,完美实现了!","运行后,就可以在任意方向拖动了,运行效果如图8","运行后,我截取动画执行过程中的一帧,如图9","运行后,效果如图3","运行启动你应用程序","运行应用程序","运行效果如下图6","运行效果如图14","运行效果如图15","运行效果如图3","运行效果如图4","运行效果如图5","运行效果如图6","运行效果如图7","运行效果如图8","运行效果如图:","运行效果见图4","运行效果:","运行此命令后,会将我们之前通过intl","运行示例代码,当点击“+1”按钮时,原先的数字会逐渐缩小直至隐藏,而新数字会逐渐放大,我截取了动画执行过程的一帧,如图9","运行示例后效果如图7","运行结果如图6","运行结果如图7","近来在网上发现很多原封不动复制本书的镜像网站和大量复制或引用了本书但未注明出处的博客、文章甚至书籍;对此,笔者在此声明,本书著作权归wendux所有,任何组织或个人在未经授权的情况下复制、拷贝、抄袭本书用于商业目的,笔者保留追究其法律责任的权利。如果是非商业目的的转载和引用,请注明出处并附上本书网址。另外如有出版机构愿意为本书出版实体书或者想转载本书内容,亦或是想合作,请加微信demon","返回","返回1","返回2","返回值决定是否继续向上遍历","返回值是一个locale,此locale为flutt","返回值类型为bool,为true时表示还有数据,为false时则表示后续没有数据了。onretrievedata","返回的值。在android上,这是getcachedir())返回的值。","返回的是一个control","还有一个问题,通过repaintboundari","还有很多其它方法,如navigator.replace、navigator.popuntil等,详情请参考api文档或sdk源码注释,在此不再赘述。下面我们还需要介绍一下路由相关的另一个概念“命名路由”。","还有,熟悉web开发的同学可能会发现align组件的特性和web开发中相对定位(position:","这一步可以使用任意http","这一步和windows下步骤一致,不再赘述。","这一步完成后,请求信息就已经发送给服务器了,返回一个httpclientresponse对象,它包含响应头(header)和响应流(响应体的stream),接下来就可以通过读取响应流来获取响应内容。","这一类问题是由于无法连接到","这与在flutter应用程序或任何其他dart项目中引用软件包没有什么不同。","这两个包都是基于inheritedwidget的,原理相似","这个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,这是你获得的树)。","这是一个便捷类,会获得当前context和指定数据类型的provid","这是一个封装print,它将输出限制在一个级别,避免被android内核丢弃。","这是一个很有意思,但也很有争议的问题,在了解flutter为什么选择了","这是一个纯","这是一种写法","这是一种常用的缩小`context`范围的方式","这是因为单词对是在","这是来自rendering库的布尔值。它可以在任何时候启用,并在为true时影响绘制。","这是根layer的tostringdeep输出的。","这是根renderobject对象的tostringdeep函数的输出。","这是由于要去google下载android","这是第二种写法","这样一下,便实现了对新、旧child的动画绑定。animatedswitcher的默认值是animatedswitcher.defaulttransitionbuild","这样一来,我们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,","这段代码有两点可以优化:","这种方式是通过拼装其它组件来组合成一个新的组件。例如我们之前介绍的container就是一个组合组件,它是由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在重绘时使用了转换矩阵,并没有实际调整组件位置。","进阶","连接android模拟器","连接android真机设备","连接ios模拟器","连接ios真机设备","连接不上android","连接到websocket服务器","连接到websocket服务器。","连接的设备名是","连接设备运行flutter应用","追加","适配","选择","选择一个设备并选择","选择一个运行该应用的android设备。如果没有列出可用,请选择","通常可滚动组件的子组件可能会非常多、占用的总高度也会非常大;如果要一次性将子组件全部构建出将会非常昂贵!为此,flutter中提出一个sliver(中文为”薄片“的意思)概念,如果一个可滚动组件支持sliver模型,那么该滚动可以将子组件分成好多个”薄片“(sliver),只有当sliver出现在视口中时才会去构建它,这种模型也称为”基于sliver的延迟构建模型“。可滚动组件中有很多都支持基于sliver的延迟构建模型,如listview、gridview,但是也有不支持该模型的,如singlechildscrollview。","通常我们会将singletickerproviderstatemixin添加到state的定义中,然后将state对象作为vsync的值,这在后面的例子中可以见到。","通常,可以使用defaultassetbundle.of()在应用运行时来间接加载asset(例如json文件),而在widget上下文之外,或其它assetbundle句柄不可用时,可以使用rootbundle直接加载这些asset,例如:","通用\"切换动画\"组件(animatedswitcher)","通知notif","通知冒泡原理","通知冒泡和web开发中浏览器事件冒泡原理是相似的,都是事件从出发源逐层向上传递,我们可以在上层节点任意位置来监听通知/事件,也可以终止冒泡过程,终止冒泡后,通知将不会再向上传递。","通知冒泡的流程和原理,便于读者加深理解和学习flutter的框架设计思想,在此,再次建议读者在平时学习中能多看看源码,定会受益匪浅。","通知监听器(订阅者),重新构建inheritedprovider,","通知(notification)是flutter中一个重要的机制,在widget树中,每一个节点都可以分发通知,通知会沿着当前节点向上传递,所有父节点都可以通过notificationlistener来监听通知。flutter中将这种由子向父的传递通知的机制称为通知冒泡(notif","通过","通过_formkey.currentst","通过android","通过animatedbuilder可以封装常见的过渡效果来复用动画。下面我们通过封装一个growtransition来说明,它可以对子widget实现放大动画:","通过builder来获取raisedbutton所在widget树的真正context(element)","通过builder来获得构建checkbox的`context`,","通过context.canvas可以取到canvas对象,接下来就可以调用canva","通过controller监听,如:","通过controller直接获取。","通过controller获取输入框内容","通过formdata上传多个文件:","通过future回调中再返回future的方式虽然能避免层层嵌套,但是还是有一层回调,有没有一种方式能够让我们可以像写同步代码那样来执行异步任务而不使用回调的方式?答案是肯定的,这就要使用async/await了,下面我们先直接看代码,然后再解释,代码如下:","通过globalkey来获取state对象","通过httpclientrequest可以设置请求header,如:","通过httpclient发起http请求","通过imageprovider.resolve方法可以得到一个imagestream(图片数据流),然后监听imagestream的变化。当图片数据源发生变化时,imagestream会触发相应的事件,而本例中我们只设置了图片成功的监听器_updateimage,而_updateimage中只更新了_imageinfo。值得注意的是,如果是静态图,imagestream只会触发一次时间,如果是动态图,则会触发多次事件,每一次都会有一个解码后的图片帧。","通过json.decode()","通过notificationlistener可以在从可滚动组件到widget树根之间任意位置都能监听。而scrollcontroller只能和具体的可滚动组件关联后才可以。","通过rootbundl","通过switch和checkbox我们可以看到,虽然它们本身是与状态(是否选中)关联的,但它们却不是自己来维护状态,而是需要父组件来管理状态,然后当用户点击时,再通过事件通知给父组件,这样是合理的,因为switch和checkbox是否选中本就和用户数据关联,而这些用户数据也不可能是它们的私有状态。我们在自定义组件时也应该思考一下哪种状态的管理方式最为合理。","通过tabbar我们只能生成一个静态的菜单,真正的tab页还没有实现。由于tab菜单和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即可。","通过检查模拟器","通过第一个分块请求检测服务器是否支持分块传输","通过组合现有widget实现","通过组合的方式定义组件和我们之前写界面并无差异,不过在抽离出单独的组件时我们要考虑代码规范性,如必要参数要用@requir","通过路由名打开新路由页","通过这个示例可以看到,使用图标就像使用文本一样,但是这种方式需要我们提供每个图标的码点,这并对开发者不友好,所以,flutter封装了icondata和icon来专门显示字体图标,上面的例子也可以用如下方式实现:","通过这种方法,我们失去了大部分静态类型语言特性:类型安全、自动补全和最重要的编译时异常。这样一来,我们的代码可能会变得非常容易出错。例如,当我们访问name或email字段时,我们输入的很快,导致字段名打错了。但由于这个json在map结构中,所以编译器不知道这个错误的字段名,所以编译时不会报错。","通过这种组件组合的方式,也可以定义背景圆角等。一般来说,优先通过decoration来自定义样式,如果decoration实现不了,再用widget组合的方式。","通道的客户端和宿主通过通道构造函数中传递的通道名称进行连接。单个应用中使用的所有通道名称必须是唯一的;","速度快、性能高、可以实现复杂动画及绘制,整体用户体验好;","遮罩颜色","遵循xcode签名流程来配置您的项目:","那么buildcontext到底是什么呢,查看其定义,发现其是一个抽象接口类:","那么我们可以使用@jsonkey标注:","那么我们的代码就不会通过编译,而不是在运行时崩溃。","那么有什么方法可以彻底去除父constrainedbox的限制吗?答案是否定的!所以在此提示读者,在定义一个通用的组件时,如果要对子组件指定限制,那么一定要注意,因为一旦指定限制条件,子组件如果要进行相关自定义大小时将可能非常困难,因为子组件在不更改父组件的代码的情况下无法彻底去除其限制条件。","那么这两个graphics/background.png和graphics/dark/background.png","那么问题来了,难道就不能用animatedswitcher了?答案当时是否定的!仔细想想这个问题,究其原因,就是因为同一个animation正向(forward)和反向(reverse)是对称的。所以如果我们可以打破这种对称性,那么便可以实现这个功能,下面我们来封装一个myslidetransition,它和slidetransition唯一的不同就是对动画的反向执行进行了(从左边滑出隐藏):","那么,现在就带来了一个问题:实际上,我们只想更新子树中依赖了sharedatawidget的组件,而现在只要调用_inheritedwidgettestroutestate的setstate()方法,所有子节点都会被重新build,这很没必要,那么有什么办法可以避免呢?答案是缓存!一个简单的作法就是通过封装一个statefulwidget,将子widget树缓存起来,具体作法下一节我们将通过实现一个provid","那我们就有潜在的冲突。避免这种情况的最好方法是在指定依赖关系时,程序包作者使用版本范围而不是特定版本。","那这个context对象对应的实现类到底是谁呢?我们顺藤摸瓜,发现build调用是发生在statelesswidget和statefulwidget对应的statelesselement和statefulelement的build方法中,以statelesselement为例:","邮箱","部分。","都将包含在您的asset","配置xcode命令行工具以使用新安装的xcode版本","配置与使用","采用dart语言开发","采用web开发技术栈,社区庞大、上手快、开发成本相对较低。","重启android","重启windows以应用此更改.","重新启动","重新运行mo.sh,生成的user.dart如下:","重绘","针对原生开发面临问题,人们一直都在努力寻找好的解决方案,而时至今日,已经有很多跨平台框架(注意,本书中所指的“跨平台”若无特殊说明,即特指android和ios两个平台),根据其原理,主要分为三类:","锁定事件","问题的原因搞清楚了,那么我们如何避免这不必要重构呢?既然按钮重新被build是因为按钮和inheritedwidget建立了依赖关系,那么我们只要打破或解除这种依赖关系就可以了。那么如何解除按钮和inheritedwidget的依赖关系呢?我们上一节介绍inheritedwidget时已经讲过了:调用inheritfromwidgetofexacttype()","间接继承自element类,与statefulwidget相对应(作为其配置数据)。statefulelement中可能会多次调用createstate()来创建状态(state)对象。","间接继承自element类,与statelesswidget相对应(作为其配置数据)。","队列。","阻止冒泡","除了flutter内部通知,我们也可以自定义通知,下面我们看看如何实现自定义通知:","除了pushnamed方法,还有pushreplacementnamed等其他管理命名路由的方法,读者可以自行查看api文档。接下来我们通过路由名来打开新的路由页,修改flatbutton的onpressed回调代码,改为:","除了上一节我们介绍过的可滚动组件的通用属性外,我们重点看一下reverse和primary两个属性:","除了上面介绍的这些常用的尺寸限制类容器外,还有一些其他的尺寸限制类容器,比如aspectratio,它可以指定子组件的长宽比、limitedbox","除了上面列举的,","除了上面提到的methodchannel,还可以使用basicmessagechannel,它支持使用自定义消息编解码器进行基本的异步消息传递。","随着学习flutter的人越来越多,一部分开发者通过查看官网的文档就能入门,但也有很多开发者感觉学习时仍然有些吃力,主要原因有两个,首先官网的文档主要是为了引导开发者快速上手的,讲的并不是很细;其次是我们虽然翻译了官方文档,但是对于flutt","隐藏loading框","需子类实现","需要一个alignmentgeometry类型的值,表示子组件在父组件中的起始位置。alignmentgeometri","需要一个codec参数,该参数类型为future。codec","需要安装两个插件:","需要显式调用changenotifierprovider.of,当app内部依赖cartmodel很多时,这样的代码将很冗余。","需要注意的是,scrollcontroller的animateto()","需要注意的是,由于github本身功能非常多,我们的焦点并不是去实现github的所有业务功能。因此,我们只需要实现一个app的骨架,能达到上面这两点即可。下面对我们要实现的功能如下:","需要注意的是,目前github有三种登录方式,分别是账号密码登录、oauth授权登录、二次认证登录;这三种登录方式的安全性依次加强,但是在本示例中,为了简单起见,我们使用账号密码登录,因此我们需要保存用户的密码。","需要注意的是,通常singlechildscrollview只应在期望的内容不会超过屏幕太多时使用,这是因为singlechildscrollview不支持基于sliver的延迟实例化模型,所以如果预计视口可能包含超出屏幕尺寸太多的内容时,那么使用singlechildscrollview将会非常昂贵(性能差),此时应该使用一些支持sliver延迟加载的可滚动组件,如listview。","需要注意的是:由于rendererbinding只是一个mixin,而with它的是widgetsbinding,所以我们需要看看widgetsbinding中是否重写该方法,查看widgetsbinding的drawframe()方法源码:","需要注意的有三点:","需要说明:","页面标题","项目下提issue。","项目信息","项目信息列表项","项目占用的存储大小","项目拥有者,结构见\"user.json\"","颜色","颜色亮度","颜色和主题","颜色固定黑色\")","颜色跟随主题\")","首先创建一个新的应用程序:","首先在android","首先在原生中实现获取手机型号的api","首先打开xcode中flutter应用程序的ios部分:","首先,在项目根目录下创建一个i10n","首先,我们构建通道。我们使用methodchannel调用一个方法来返回电池电量。","首先,我们通过继承inheritedwidget,将当前计数器点击次数保存在sharedatawidget的data属性中:","首先,我们需要一个保存需要共享的数据inheritedwidget,由于具体业务数据类型不可预期,为了通用性,我们使用泛型,定义一个通用的inheritedprovider类,它继承自inheritedwidget:","首先,添加需要导入的依赖。","首先,自定义一个customclipper:","首次推出了一款新的用于创建跨平台、高性能的移动应用框架——flutter。","首页","验证avd配置是否正确,然后选择","验证“flutter/bin”是否已在path中:","验证无误后,我们就可以运行发布命令了:","验证配置","高","高度增长到300后,开始沿x轴向右平移100像素;这个过程占用整个动画时间的40%。","高性能","默认不支持","默认复选框不选中","默认情况下,animationcontroller对象值的范围是[0.0,1.0]。如果我们需要构建ui的动画值在不同的范围或不同的数据类型,则可以使用tween来添加映射以生成不同的范围或数据类型的值。例如,像下面示例,tween生成[","默认情况下,flutter","默认情况下,flutter使用的android","默认情况下,模板支持使用java编写android代码,或使用object","默认构造函数","默认构造函数有一个children参数,它接受一个widget列表(list)。这种方式适合只有少量的子组件的情况,因为这种方式需要将所有children都提前创建好(这需要做大量工作),而不是等到子widget真正显示的时候再创建,也就是说通过默认构造函数构建的listview没有应用基于sliver的懒加载模型。实际上通过此方式创建的listview和使用singlechildscrollview+column的方式没有本质的区别。下面是一个例子:","默认的样式风格,我们使用material作为本路由的根。","默认语言区域不对","!=","(ahead","(custompaint与canvas)","(react","(下面讨论)。","(主资源),后者被认为是一种变体(variant)。","(如果已经安装了brew,跳过此步骤)。","(我们将在后面容器类组件一章中介绍)来指定尺寸,如:","(或者更具体地说,如果您不调用window.render去响应window.ondrawframe)的话,","(非首次绘制),该方法会将被标记为“dirty”",")",")widget,所以当添加完商品后,cartmodel发生变化,会通知changenotifierprovider,",")是google官方的dart",")的任何时间调用此方法(在调用runapp()之后)。",",mount方法中首先调用element所对应widget的createrenderobject方法创建与element相关联的renderobject对象,然后调用element.attachrenderobject方法将element.renderobject添加到渲染树中插槽指定的位置(这一步不是必须的,一般发生在element树结构发生变化时才需要重新attach)。插入到渲染树后的element就处于“active”状态,处于“active”状态后就可以显示在屏幕上了(可以隐藏)。",",下面命名路由相关的方法也是一样的。",",也就是说1x中没有的话会在2x中找,2x中还没有的话就在3x中找。",",也正因如此,customscrollview才可以将多个sliver\"粘\"在一起,这些sliver共用customscrollview的scrollable,所以最终才实现了统一的滑动效果。",",使用json字符串作为参数:",",其中",",则独立绘制,反之则一起绘制。那独立绘制是怎么实现的呢?",",在其中添加:sourc",",在搜索结果列表中选择",",如assetimage是实现了从asset中加载图片的imageprovider,而networkimage实现了从网络加载图片的imageprovider。",",如果一个应用的大多数功能都是h5实现的话,我们称其为web",",如果在then中返回的是一个future的话,该future会执行,执行结束后会触发后面的then回调,这样依次向下,就避免了层层嵌套。",",如果有多个子节点,则每个子节点的偏移就可能不同。而子节点在父节点的偏移数据正是通过renderobject的parentdata属性来保存的。在renderbox中,其parentdata属性默认是一个boxparentdata对象,该属性只能通过父节点的setupparentdata()方法来设置:",",如此递归完成整个ui的布局。",",它可以自动处理url链接,定义如下:",",它实现了一个交错gridview的布局模型,可以很轻松的实现这种布局,详情读者可以自行了解。",",它是一个抽象类,定义了管理图片加载过程的一些接口,imag",",它是用于控制/监听tab菜单切换的。接下来通过tabbar生成了一个底部菜单栏,tabbar的tabs属性接受一个widget数组,表示每一个tab子菜单,我们可以自定义,也可以像示例中一样直接使用tab",",它继承自listenable,也实现了一个flutter风格的发布者",",当盒子被点击时调用。",",我们在介绍该组件时讲过:当子组件的build函数引用了inheritedwidget时,会创建对inheritedwidget的隐式依赖关系。因此,当inheritedwidget发生更改时,即localizations的locale设置发生更改时,将重建所有依赖它的子组件。",",我们正是通过这种方式来将动画和动画执行的曲线关联起来的。我们指定动画的曲线为curves.easein,它表示动画开始时比较慢,结束时比较快。",",所以就会逐渐放大。值得注意的是动画完成时要释放控制器(调用dispose()方法)以防止内存泄漏。",",打开appdelegate.m",",比如我们可以通过snapshot.connectionstate获取异步任务的状态信息、通过snapshot.haserror判断异步任务是否有错误等等,完整的定义读者可以查看asyncsnapshot类定义。",",灰色为false,如图3",",然后再上面绘制子节点",",然后将",",然后打开appdelegate.swift",",至今每天有3000多人在线浏览本书。那为什么不直接出版?如果直接出版,不仅有稿费,而且也能保护知识产权,而直接开源,不就就只能当雷锋了?其实,无论是做中文网、写gitme、做flutter开源项目,我的出发点都是为了能帮助中国开发者了解、学习flutter,而这是一件非常有意义的事,只要坚持做对别人有价值的事,那么上帝迟早会奖赏你;当然我们也在网站中留了打赏的按钮,如果读者觉得有帮助,可以扫码打赏,请笔者喝一杯咖啡。另外由于成书比较仓促,当时书中也有很多错误,开源后,有很多读者提pr来纠正书中的错别字,时至今日,有78名开发者为本书提过pr,我在此,衷心的感谢你们。",",表示是否为三态,其默认值为fals",",这时checkbox有两种状态即“选中”和“不选中”,对应的value值为true和fals",",这样其他开发者就可以轻松使用它。",",采用混合模式开发的app我们称之为混合应用或hybrid",",重启",":",":maxlength代表输入框文本的最大长度,设置后输入框右下角会显示输入的文本计数。maxlengthenforced决定当输入文本长度超过maxlength时是否阻止输入,为true时会阻止输入,为false时不会阻止输入但输入框会变红。",":子组件数组。",":由于不同平台默认支持的字体集不同,所以在手动指定字体时一定要先在不同平台测试一下。",";而容器类widget一般只需要接收一个子widget(child),他们直接或间接继承自(或包含)singlechildrenderobjectwidget。","?这主要是为了提高开发的灵活性。如果将build()方法在statefulwidget中则会有两个问题:","~/.bash_profil","~/.zshrc"],"pipeline":["stopWordFilter","stemmer"]},"store":{"./":{"url":"./","title":"缘起","keywords":"","body":"\n简介\n本书是第一本系统介绍Flutter技术的中文书籍,它是Flutter中文社区发起的开源项目之一,旨在帮助开发者入门,系统地、循序渐进的了解Flutter。\n\n本书官网访问量较大,由于服务器配置有限,所以某些时段访问本站可能略有延迟,如果延迟较久,读者可以直接在Github上阅读本书。\n\n关于作者\n作者wendux,高级技术专家(前端方向)、掘金知名专栏作者、Flutter中文网发起人、Flutter中文社区开源项目发起人;Github社区知名开发者,是dio、fly、dsBridge等多个知名开源项目作者。曾就职于百度、小赢科技等互联网公司,从事过PC桌面开发、移动端开发以及Web开发,负责过多次核心技术攻关,现就职于字节跳动业务团队,目前闲暇时,主要关注大前端行业发展。\n\n广告:长期招聘前端、移动端高工,有意者请发简历到duwen32767@163.com 或加微信Demons-du,期待和你做同事!\n\n缘起\n在全球,随着Flutter被越来越多的知名公司应用在自己的商业APP中,Flutter这门新技术也逐渐进入了移动开发者的视野,尤其是当Google在2018年IO大会上发布了第一个Preview版本后,国内刮起来一股学习Flutter的热潮。\n在Flutter发布之初,当时,我在看完Flutter原理介绍后,就对它产生了浓厚的兴趣。当时笔者身边也一些人比较关注Flutter,我也被经常问到关于Flutter的一些问题,比如Flutter怎么样?和RN有什么区别?Flutter为什么要用Dart?当时也听到了一些批评的声音,比如有些人说Flutter只是重复造轮子,没啥亮点、Flutter最大的缺点就是使用了Dart语言等。在听到这些问题及论调后,我深知这是对Flutter的不了解而造成的,这和当时国内缺乏Flutter中文文档和教程有直接关系,很多人对Flutter的了解都只停留在Google的发布会介绍(有中文翻译)。\n在笔者深入的了解Flutter后,深知Flutter必将是一个会改变移动开发格局的里程碑级作品,它从设计之初就对性能和开发效率兼顾,并且借鉴了React(一个Web开发框架)的响应式的UI框架设计思想等,总之,很难用一两句话说完Flutter的优点,同时我也很快成为了Flutter的路转粉。\n为了更好的帮助中国开发者了解这门新技术,我在2018年初开始翻译Flutter官网文档,同年4月份上线了Flutter中文网,上线后反响很强烈,Flutter中文网也很快被传播开,百度搜索排名迅速蹿升到前三,截止目前,Flutter中文官网日PV在7万左右,每日独立访问人数近一万多。\n虽然Flutter中文网给中国开发者提供了很好的第一手了解Flutter的资料,但是笔者还会经常遇到一些对Flutter技术处于围观而不愿尝试的开发者。这主要是因为当时Flutter在国内没有成功案例,再加上新技术都有学习成本,所以即使有文档,也会有一些开发者犹豫是否来学习。为了解决这部分开发者的疑虑,我就想如果能用Flutter开发一个完整的APP发布到应用商店,这样开发者就可以在犹豫的时候可以先实际感受一下Flutter应用,这样有个直观的了解后,就会容易做出判断,为此,我开发了Gitme,它是一个Github客户端,它支持了源码浏览、Issue、Label等Github的大多数功能,到目前为止,通过Gitme登录过Github账号的用户有8000多人,日活用户有1000人。更重要的是,有很多人正是用了Gitme后,才来学Flutter的。\n无论是做Flutter中文网,还是写Gitme,主要目标都是帮助开发者学习Flutter,同时消除围观开发者疑虑。但当开发者们真正开始动手时,Flutter的生态问题就变得尤为突出。由于在2018年初Flutter刚起步时,很多基础的包和库都是空白,少数已有的一些库也大都是预览版(未到1.0),存在很多bug。这个状况不是一两个人花一两天能搞定的,这是需要聚整个Flutter开发者社群之力,耗费数年时间才可能有所改善。因此,在2018年4月份,我以Flutter中文网名义发起了Flutter开源计划,该计划主要是开发一些常用的包来丰富Flutter生态,帮助开发者提高开发效率。自在github建立Flutter中文开发者社区账号以来,前后开源了dio、cookieJar、flukit等多个项目,而dio在开源两周后,就迅速成为Flutter第三方包中Star排名第一的开源库。\n虽然做的事情已经够多了,但是仍有一些很有必要去做的事情,由于时间原因,一直被搁置。\n随着学习Flutter的人越来越多,一部分开发者通过查看官网的文档就能入门,但也有很多开发者感觉学习时仍然有些吃力,主要原因有两个,首先官网的文档主要是为了引导开发者快速上手的,讲的并不是很细;其次是我们虽然翻译了官方文档,但是对于Flutter SDK文档并没有翻译,而在开发中遇到的一些具体问题通常都得去查看SDK文档。所以,要解决这两个问题,必须得有一个系统化的Flutter教程,它不仅可以快速引导开发者入门,而且也能触及到一些细节和原理,最好也能提供一些学习和研究Flutter的方法。因此,如果能有一本能系统地介绍Flutter的书籍便是便是非常棒的!但是,当时没有一本关于Flutter的中文书籍,因此,我便计划写一本能由浅入深、系统介绍Flutter的书。2018年12月,《Flutter实战》完成初稿,并在Github上开源,同时上线了《Flutter实战》电子书官网 ,至今每天有3000多人在线浏览本书。那为什么不直接出版?如果直接出版,不仅有稿费,而且也能保护知识产权,而直接开源,不就就只能当雷锋了?其实,无论是做中文网、写Gitme、做Flutter开源项目,我的出发点都是为了能帮助中国开发者了解、学习Flutter,而这是一件非常有意义的事,只要坚持做对别人有价值的事,那么上帝迟早会奖赏你;当然我们也在网站中留了打赏的按钮,如果读者觉得有帮助,可以扫码打赏,请笔者喝一杯咖啡。另外由于成书比较仓促,当时书中也有很多错误,开源后,有很多读者提PR来纠正书中的错别字,时至今日,有78名开发者为本书提过PR,我在此,衷心的感谢你们。\n起初,我没有出版实体书的打算,当时我以为开发者直接通过在线访问本书官网即方便又不用付费,何乐而不为。但在本书上线后,很多读者来添加微信好友,表示非常有收益,很期待出版纸质书,甚至有比较热心的读者想提前付定金预定!我理解,这是大家对我所做之事的认可和鼓励。考虑到,确实有一部分读者,尤其是还没毕业的同学,可能更喜欢通过书籍去学习,为此,我已经和机械工业出版社合作,目前本书纸质版正在出版中,敬请关注。\n本书特色\n笔者在大学时读过候捷(真名侯俊杰)写的一些C++相关书籍,在他的《深入浅出MFC》一书中,有一句话我映像非常深 “唯有深入,方能浅出”。我非常认同这句话,对于一门技术,只有了解的深入,才能用最浅显、通俗的话语描述出。我在写作本书时,深入浅出就是一个主要目标。所以,本书的目标不仅是想告诉读者如何使用Flutter,而且也非常关注各个知识点的底层实现以及设计思想。从本书章节划分上来看,入门篇为“浅出”,进阶篇则是“深入”。另外由于PC客户端开发、移动开发、Web开发这些经验我都有,而Flutter本质上是一个UI系统,而UI系统的设计和实现在”大前端“下有很多相通之处,所以在本书中的一些知识点我也会对比一些其他UI系统(主要是Android或Web)相应的实现,便于有相关开发经验的读者对比理解。\n本书读者对象\n\n读者至少熟悉一种编程语言。\n读者最好接触过PC客户端、移动开发或Web前端开发中的一种。\n本书不适合做为编程的入门读物。\n\n关于随书源码\n由于篇幅所限,本书中大多数示例代码都只是部分核心代码,读者可以去这里查看下载。\n致谢\n感谢一直以来支持Flutter中文网、Flutter开源项目的人以及所有对本书提过PR的人,正是因为有你们,才有这本书。另外尤其感谢给本书打赏过的同学,你们的支持给了我很大的鼓励。\n权益\n最后,知识是应该付费的,创作不易,开源不等于免费,如果您是本书读者并手头宽裕,可以点击下面打赏按钮打赏;当然,如果您囊中羞涩,您也可以阅读本书,但我对您有个小小的要求,希望您在阅读的过程中能积极参与到本书的纠错以及未完成内容的创作上来,也算是有所付出。\n近来在网上发现很多原封不动复制本书的镜像网站和大量复制或引用了本书但未注明出处的博客、文章甚至书籍;对此,笔者在此声明,本书著作权归wendux所有,任何组织或个人在未经授权的情况下复制、拷贝、抄袭本书用于商业目的,笔者保留追究其法律责任的权利。如果是非商业目的的转载和引用,请注明出处并附上本书网址。另外如有出版机构愿意为本书出版实体书或者想转载本书内容,亦或是想合作,请加微信Demons-du.\n最后\n如果您发现本书中的错误,欢迎点击右上角的”编辑按钮“,提PR。如果您想一起参与本书创作,可以参考《Flutter实战》贡献指南。\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":"1.1:移动开发技术简介","keywords":"","body":"1.1 移动开发技术简介\n本节将主要介绍一下移动开发技术的进化历程,主要是想让读者知道Flutter技术出现的背景。笔者认为,了解一门新技术出现的背景是非常重要的,因为只有了解之前是什么样的,才能理解为什么会是现在这样。\n1.1.1 原生开发与跨平台技术\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在接下来的章节中我们逐个来看看这三类框架的原理及优缺点。\n1.1.2 Hybrid技术简介\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不堪重任。\n1.1.3 React 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(Domain Specific Language) 语法是基于 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(Just In Time),执行效率和AOT(Ahead Of Time)代码仍有差距。\n由于渲染依赖原生控件,不同平台的控件需要单独维护,并且当系统更新时,社区控件可能会滞后;除此之外,其控件系统也会受到原生UI系统限制,例如,在Android中,手势冲突消歧规则是固定的,这在使用不同人写的控件嵌套时,手势冲突问题将会变得非常棘手。\n\n1.1.4 QT Mobile\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开发效率低:QT使用C++作为其开发语言,而编程需要效率是直接会影响APP开发效率的,C++作为一门静态语言,在UI开发方面灵活性不及JavaScript这样的动态语言,另外,C++需要开发者手动去管理内存分配,没有JavaScript及Java中垃圾回收(GC)的机制。\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是移动端开发跨平台自绘引擎的先驱,但却成为了烈士。\n1.1.5 Flutter出世\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。而今天(2019年5月29日),已经有65K的Star。经历了短短2年多的时间,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未来如何,心中自有定论。到现在为止,我们已经对移动端开发技术有了一个全面的了解,接下来我们便要进入本书的主题,你准备好了吗!\n1.1.6 小节\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":"1.2:初识Flutter","keywords":"","body":"1.2 初识Flutter\n1.2.1 Flutter简介\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作为其绘图引擎。\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细节的了解,再回过头来看,相信你会有更深的体会。\n1.2.2 Flutter框架结构\n本节我们先对Flutter的框架做一个整体介绍,旨在让读者心中有一个整体的印象,这对初学者来说非常重要。如果一下子便深入到Flutter中,就会像是一个在沙漠中没有地图的人,即使可以找到一个绿洲,但是他也不会知道下一个绿洲在哪。因此,无论学什么技术,都要现有一张清晰的“地图”,而我们的学习过程就是“按图索骥”,这样我们才不会陷于细节而“目无全牛”。言归正传,我们看一下Flutter官方提供的Flutter框架图,如图1-1所示:\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。\n1.2.3 如何学习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技术的推广,相信很快网上将会有很多Flutter相关的文章、博客,读者可以多去浏览、阅读。\n\n总结\n有了资料和社区后,对于我们学习者自身来说,最重要的还是要多动手、多实践,在本书后面的章节中,希望读者能够亲自动手写一下示例。准备好了吗,下一章中,我们将正式进入Flutter的世界!\n"},"chapter1/install_flutter.html":{"url":"chapter1/install_flutter.html","title":"1.3:搭建Flutter开发环境","keywords":"","body":"1.3 搭建Flutter开发环境\n工欲善其事必先利其器,本节首先会分别介绍一下在Windows和macOS下Flutter SDK的安装,然后再介绍一下配IDE和模拟器的使用。\n1.3.1 安装Flutter\n由于Flutter会同时构建Android和IOS两个平台的发布包,所以Flutter同时依赖Android SDK和iOS SDK,在安装Flutter时也需要安装相应平台的构建工具和SDK。下面我们分别介绍一下Windows和macOS下的环境搭建。\n\n注意:本节介绍的安装方式随着Flutter的升级可能会发生变化,如果下面介绍的内容在您安装Flutter时已经失效,请访问Flutter官网,按照官网最新的安装教程安装。\n\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/,打开后如图1-2所示:\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、stable,其中stable分支为稳定分支(日后有新的稳定版本发布后可能也会有新的稳定分支,如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 \n1.3.2 IDE配置与使用\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工具栏,如图1-3所示:\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\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\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你会立即在运行的应用程序中看到更新的字符串。\n1.3.3 连接设备运行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,如图1-5:\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 值是否唯一,如图1-7所示:\n\n\n运行 flutter run启动flutter应用程序。\n\n\n\n\n1.3.4 常见配置问题\nAndroid Studio问题\n缺少依赖库问题\n上手安卓最常遇见的问题之一,错误如图1-8所示,此时点击超链接即可自动跳转到安装页面\n\n安装之后重新运行即可,如图1-9:\n\n连接不上Android Repository\n这也是最常见的问题之一,当你发现自己无法下载部分依赖的时候,请优先考虑这种情况。进入 File -> Settings -> Appearance & Behavior -> System Settings -> Android SDK -> SDK Update Sites 列表,可以看到此时的 Android Repository 无法连接,如图1-10所示:\n\n这是由于要去Google下载Android SDK,但在国内目前无法访问Google所致,因此,我们可以配置代理或使用vpn。\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 maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' } //添加这一句\n }\n}\n\n进入 File/ Settings/ Build, Execution, Deployment/ BuildTools/ 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\nHot Reload 热重载失效问题\n在给 Terminal 之类的终端模拟器设置代理之后,会导致”Hot Reload“重载失效,此时调用 Save (cmd-s / ctrl-s)将不会进行热重载,热重载按钮 (带有闪电⚡️图标的按钮)也不会显示,将代理移除即可解决。\n另外,有些情况下热重载是不生效的,比如修改了main函数、修改了全局静态方法等,读者可以认为”Hot Reload“只会重新构建整个widget树,如果变动不在构建widget树的过程中,”Hot Reload“就不会起作用。\n"},"chapter1/dart.html":{"url":"chapter1/dart.html","title":"1.4:Dart语言简介","keywords":"","body":"1.4 Dart语言简介\n在之前我们已经介绍过Dart语言的相关特性,读者可以翻看一下,如果读者已经熟悉Dart语法,可以跳过本节,如果你还不了解Dart,也不用担心,按照笔者经验,如果你有过其他编程语言经验(尤其是Java和JavaScript)的话会非常容易上手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\n1.4.1 变量声明\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\n Object 是Dart所有对象的根基类,也就是说所有类型都是Object的子类(包括Function和Null),所以任何类型的数据都可以赋值给Object声明的对象.\n dynamic与var一样都是关键词,声明的变量可以赋值任意对象。\n 而dynamic与Object相同之处在于,他们声明的变量可以在后期改变赋值类型。\n dynamic t;\n Object x;\n t = \"hi world\";\n x = 'Hello Object';\n //下面代码没有问题\n t = 1000;\n x = 1000;\n\ndynamic与Object不同的是,dynamic声明的对象编译器会提供所有可能的组合,\n而Object声明的对象只能使用Object的属性与方法, 否则编译器会报错。如:\n dynamic a;\n Object b;\n main() {\n a = \"\";\n b = \"\";\n printLengths();\n } \n\n printLengths() {\n // no warning\n print(a.length);\n // warning:\n // The getter 'length' is not defined for the class 'Object'\n print(b.length);\n }\n\n变量a不会报错, 变量b编译器会报错\ndynamic的这个特性与Objective-C中的id作用很像.\ndynamic的这个特点使得我们在使用它时需要格外注意,这很容易引入一个运行时错误.\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\n1.4.2 函数\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\n1.4.3 异步支持\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\n1.4.4 Stream\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\n1.4.5 Dart和Java及JavaScript对比\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(目前只停留在Lambda表达式),而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":"2.1:计数器示例","keywords":"","body":"2.1 计数器应用示例\n用Android Studio和VS Code创建的Flutter应用模板默认是一个简单的计数器示例。本节先仔细讲解一下这个计数器Demo的源码,让读者对Flutter应用程序结构有个基本了解,然后在随后的小节中将会基于此示例,一步一步添加一些新的功能来介绍Flutter应用的其它概念与技术。\n对于接下来的示例,希望读者可以跟着笔者一起亲自动手来写一下,这样不仅可以加深印象,而且也会对介绍的概念与技术有一个真切的体会。如果你还不是很熟悉Dart语言或者没有移动开发经验,不用担心,只要你熟悉面向对象和基本编程概念(如变量、循环和条件控制),则可以完成本示例。\n2.1.1 创建Flutter应用模板\n通过Android Studio或VS Code创建一个新的Flutter工程,命名为\"first_flutter_app\"。创建好后,就会得到一个计数器应用的Demo。\n\n注意,默认Demo示例可能随着编辑器Flutter插件的版本变化而变化,本例中会介绍计数器示例的全部代码,所以不会对本示例产生影响。\n\n我们先运行创建的工程,效果如图2-1所示:\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(MyApp());\n\n\n与C/C++、Java类似,Flutter 应用中main函数为应用程序的入口。main函数中调用了runApp 方法,它的功能是启动Flutter应用。runApp它接受一个Widget参数,在本示例中它是一个MyApp对象,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\n在Flutter中,大多数东西都是widget(后同”组件“或”部件“),包括对齐(alignment)、填充(padding)和布局(layout)等,它们嗾使以widget的形式提供。\n\nFlutter在构建页面时,会调用组件的build方法,widget的主要工作是提供一个build()方法来描述如何构建UI界面(通常是通过组合、拼装其它基础widget)。\n\nMaterialApp 是Material库中提供的Flutter APP框架,通过它可以设置应用的名称、主题、语言、首页及路由列表等。MaterialApp也是一个widget。\n\nScaffold 是Material库中提供的页面脚手架,它包含导航栏和Body以及FloatingActionButton(如果需要的话)。 本书后面示例中,路由默认都是通过Scaffold创建。\n\nhome 为Flutter应用的首页,它也是一个widget。\n\n\n\n\n2.1.2 首页\n class 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\n class _MyHomePageState extends State {\n ...\n }\n\nMyHomePage 是Flutter应用的首页,它继承自StatefulWidget类,表示它是一个有状态的组件(Stateful widget)。关于Stateful widget我们将在第三章”Widget简介“一节自习介绍,现在我们只需简单认为有状态的组件(Stateful widget) 和无状态的组件(Stateless widget)有两点不同:\n\nStateful widget可以拥有状态,这些状态在widget生命周期中是可以变的,而Stateless widget是不可变的。\n\nStateful widget至少由两个类组成:\n\n一个StatefulWidget类。\n一个 State类; StatefulWidget类本身是不变的,但是State类中持有的状态在widget生命周期中可能会发生变化。\n\n_MyHomePageState类是MyHomePage类对应的状态类。看到这里,读者可能已经发现:和MyApp 类不同, MyHomePage类中并没有build方法,取而代之的是,build方法被挪到了_MyHomePageState方法中,至于为什么这么做,先留个疑问,在分析完完整代码后再来解答。\n\n\nState类\n接下来,我们看看_MyHomePageState中都包含哪些东西:\n\n该组件的状态。由于我们只需要维护一个点击次数计数器,所以定义一个_counter状态:\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树(后同”组件树“或”部件树“)的body属性。组件树可以很复杂。\nbody的组件树中包含了一个Center 组件,Center 可以将其子组件树对齐到屏幕中心。此例中, Center 子组件是一个Column 组件,Column的作用是将其所有子组件沿屏幕垂直方向依次排列; 此例中Column子组件是两个 Text,第一个Text 显示固定文本 “You have pushed the button this many times:”,第二个Text 显示_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试想一下,如果我们的StatefulWidget有很多状态,而每次状态改变都要调用build方法,由于状态是保存在State中的,如果build方法在StatefulWidget中,那么build方法和状态分别在两个类中,那么构建时读取状态将会很不方便!试想一下,如果真的将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":"2.2:路由管理","keywords":"","body":"2.2 路由管理\n路由(Route)在移动开发中通常指页面(Page),这跟web开发中单页应用的Route概念意义是相同的,Route在Android中通常指一个Activity,在iOS中指一个ViewController。所谓路由管理,就是管理页面之间如何跳转,通常也可被称为导航管理。Flutter中的路由管理和原生开发类似,无论是Android还是iOS,导航管理都会维护一个路由栈,路由入栈(push)操作对应打开一个新页面,路由出栈(pop)操作对应页面关闭操作,而路由管理主要是指如何来管理路由栈。\n2.2.1 一个简单示例\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 MaterialPageRoute(builder: (context) {\n return NewRoute();\n }));\n },\n ),\n ],\n )\n\n我们添加了一个打开新路由的按钮,并将按钮文字颜色设置为蓝色,点击该按钮后就会打开新的路由页面,效果如图2-2和2-3所示。\n \n\n\n2.2.2 MaterialPageRoute\nMaterialPageRoute继承自PageRoute类,PageRoute类是一个抽象类,表示占有整个屏幕空间的一个模态路由页面,它还定义了路由构建及切换时过渡动画的相关接口及属性。MaterialPageRoute 是Material组件库提供的组件,它可以针对不同平台,实现与平台页面切换动画风格一致的路由切换动画:\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来实现,我们将在后面介绍动画时,实现一个自定义的路由组件。\n\n2.2.3 Navigator\nNavigator是一个路由管理的组件,它提供了打开和退出路由页方法。Navigator通过一个栈来管理活动路由集合。通常当前屏幕显示的页面就是栈顶的路由。Navigator提供了一系列方法来管理路由栈,在此我们只介绍其最常用的两个方法:\nFuture push(BuildContext context, Route route)\n将给定的路由入栈(即打开新的页面),返回值是一个Future对象,用以接收新路由出栈(即关闭)时的返回数据。\nbool pop(BuildContext context, [ result ])\n将栈顶路由出栈,result为页面关闭时返回给上一个页面的数据。\nNavigator 还有很多其它方法,如Navigator.replace、Navigator.popUntil等,详情请参考API文档或SDK源码注释,在此不再赘述。下面我们还需要介绍一下路由相关的另一个概念“命名路由”。\n实例方法\nNavigator类中第一个参数为context的静态方法都对应一个Navigator的实例方法, 比如Navigator.push(BuildContext context, Route route)等价于Navigator.of(context).push(Route route) ,下面命名路由相关的方法也是一样的。\n2.2.4 路由传值\n很多时候,在路由跳转时我们需要带一些参数,比如打开商品详情页时,我们需要带一个商品id,这样商品详情页才知道展示哪个商品信息;又比如我们在填写订单时需要选择收获地址,打开地址选择页后,可以将用户选择的地址返回到订单页等等。下面我们通过一个简单的示例来演示新旧路由如何传参。\n示例\n我们创建一个TipRoute路由,它接受一个提示文本参数,负责将传入它的文本显示在页面上,另外TipRoute中我们添加一个“返回”按钮,点击后在返回上一个路由的同时会带上一个返回参数,下面我们看一下实现代码。\nTipRoute实现代码:\nclass TipRoute extends StatelessWidget {\n TipRoute({\n Key key,\n @required this.text, // 接收一个text参数\n }) : super(key: key);\n final String text;\n\n @override\n Widget build(BuildContext context) {\n return Scaffold(\n appBar: AppBar(\n title: Text(\"提示\"),\n ),\n body: Padding(\n padding: EdgeInsets.all(18),\n child: Center(\n child: Column(\n children: [\n Text(text),\n RaisedButton(\n onPressed: () => Navigator.pop(context, \"我是返回值\"),\n child: Text(\"返回\"),\n )\n ],\n ),\n ),\n ),\n );\n }\n}\n\n下面是打开新路由TipRoute的代码:\nclass RouterTestRoute extends StatelessWidget {\n @override\n Widget build(BuildContext context) {\n return Center(\n child: RaisedButton(\n onPressed: () async {\n // 打开`TipRoute`,并等待返回结果\n var result = await Navigator.push(\n context,\n MaterialPageRoute(\n builder: (context) {\n return TipRoute(\n // 路由参数\n text: \"我是提示xxxx\",\n );\n },\n ),\n );\n //输出`TipRoute`路由返回结果\n print(\"路由返回值: $result\");\n },\n child: Text(\"打开提示页\"),\n ),\n );\n }\n}\n\n运行上面代码,点击RouterTestRoute页的”打开提示页“按钮,会打开TipRoute页,运行效果如图2-4所示下:\n\n需要说明:\n\n提示文案”我是提示xxxx“是通过TipRoute的text参数传递给新路由页的。我们可以通过等待Navigator.push(…)返回的Future来获取新路由的返回数据。\n\n在TipRoute页中有两种方式可以返回到上一页;第一种方式时直接点击导航栏返回箭头,第二种方式是点击页面中的”返回“按钮。这两种返回方式的区别是前者不会返回数据给上一个路由,而后者会。下面是分别点击页面中的返回按钮和导航栏返回箭头后,RouterTestRoute页中print方法在控制台输出的内容:\nI/flutter (27896): 路由返回值: 我是返回值\nI/flutter (27896): 路由返回值: null\n\n\n上面介绍的是非命名路由的传值方式,命名路由的传值方式会有所不同,我们会在下面介绍命名路由时介绍。\n2.2.5 命名路由\n所谓”命名路由“(Named Route)即有名字的路由,我们可以先给路由起一个名字,然后就可以通过路由名字直接打开新的路由了,这为路由管理带来了一种直观、简单的方式。\n路由表\n要想使用命名路由,我们必须先提供并注册一个路由表(routing table),这样应用程序才知道哪个名字与哪个路由组件相对应。其实注册路由表就是给路由起名字,路由表的定义如下:\nMap routes;\n\n它是一个Map,key为路由的名字,是个字符串;value是个builder回调函数,用于生成相应的路由widget。我们在通过路由名字打开新路由时,应用会根据路由名字在路由表中查找到对应的WidgetBuilder回调函数,然后调用该回调函数生成路由widget并返回。\n注册路由表\n路由表的注册方式很简单,我们回到之前“计数器”的示例,然后在MyApp类的build方法中找到MaterialApp,添加routes属性,代码如下:\nMaterialApp(\n title: 'Flutter Demo',\n theme: ThemeData(\n primarySwatch: Colors.blue,\n ),\n //注册路由表\n routes:{\n \"new_page\":(context)=>NewRoute(),\n ... // 省略其它路由注册信息\n } ,\n home: MyHomePage(title: 'Flutter Demo Home Page'),\n);\n\n现在我们就完成了路由表的注册。上面的代码中home路由并没有使用命名路由,如果我们也想将home注册为命名路由应该怎么做呢?其实很简单,直接看代码:\nMaterialApp(\n title: 'Flutter Demo',\n initialRoute:\"/\", //名为\"/\"的路由作为应用的home(首页)\n theme: ThemeData(\n primarySwatch: Colors.blue,\n ),\n //注册路由表\n routes:{\n \"new_page\":(context)=>NewRoute(),\n \"/\":(context)=> MyHomePage(title: 'Flutter Demo Home Page'), //注册首页路由\n } \n);\n\n可以看到,我们只需在路由表中注册一下MyHomePage路由,然后将其名字作为MaterialApp的initialRoute属性值即可,该属性决定应用的初始路由页是哪一个命名路由。\n通过路由名打开新路由页\n要通过路由名称来打开新路由,可以使用Navigator 的pushNamed方法:\nFuture pushNamed(BuildContext context, String routeName,{Object arguments})\n\nNavigator 除了pushNamed方法,还有pushReplacementNamed等其他管理命名路由的方法,读者可以自行查看API文档。接下来我们通过路由名来打开新的路由页,修改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在Flutter最初的版本中,命名路由是不能传递参数的,后来才支持了参数;下面展示命名路由如何传递并获取路由参数:\n我们先注册一个路由:\n routes:{\n \"new_page\":(context)=>EchoRoute(),\n } ,\n\n在路由页通过RouteSetting对象获取路由参数:\nclass EchoRoute extends StatelessWidget {\n\n @override\n Widget build(BuildContext context) {\n //获取路由参数 \n var args=ModalRoute.of(context).settings.arguments\n //...省略无关代码\n }\n}\n\n在打开路由时传递参数\nNavigator.of(context).pushNamed(\"new_page\", arguments: \"hi\");\n\n适配\n假设我们也想将上面路由传参示例中的TipRoute路由页注册到路由表中,以便也可以通过路由名来打开它。但是,由于TipRoute接受一个text 参数,我们如何在不改变TipRoute源码的前提下适配这种情况?其实很简单:\nMaterialApp(\n ... //省略无关代码\n routes: {\n \"tip2\": (context){\n return TipRoute(text: ModalRoute.of(context).settings.arguments);\n },\n }, \n);\n\n2.2.6 路由生成钩子\n假设我们要开发一个电商APP,当用户没有登录时可以看店铺、商品等信息,但交易记录、购物车、用户个人信息等页面需要登录后才能看。为了实现上述功能,我们需要在打开每一个路由页前判断用户登录状态!如果每次打开路由前我们都需要去判断一下将会非常麻烦,那有什么更好的办法吗?答案是有!\nMaterialApp有一个onGenerateRoute属性,它在打开命名路由时会可能会被调用,之所以说可能,是因为当调用Navigator.pushNamed(...)打开命名路由时,如果指定的路由名在路由表中已注册,则会调用路由表中的builder函数来生成路由组件;如果路由表中没有注册,才会调用onGenerateRoute来生成路由。onGenerateRoute回调签名如下:\nRoute Function(RouteSettings settings)\n\n有了onGenerateRoute回调,要实现上面控制页面权限的功能就非常容易:我们放弃使用路由表,取而代之的是提供一个onGenerateRoute回调,然后在该回调中进行统一的权限控制,如:\nMaterialApp(\n ... //省略无关代码\n onGenerateRoute:(RouteSettings settings){\n return MaterialPageRoute(builder: (context){\n String routeName = settings.name;\n // 如果访问的路由页需要登录,但当前未登录,则直接返回登录页路由,\n // 引导用户登录;其它情况则正常打开路由。\n }\n );\n }\n);\n\n\n注意,onGenerateRoute只会对命名路由生效。\n\n2.2.7 总结\n本章先介绍了Flutter中路由管理、传参的方式,然后又着重介绍了命名路由相关内容。在此需要说明一点,由于命名路由只是一种可选的路由管理方式,在实际开发中,读者可能心中会犹豫到底使用哪种路由管理方式。在此,根据笔者经验,建议读者最好统一使用命名路由的管理方式,这将会带来如下好处:\n\n语义化更明确。\n代码更好维护;如果使用匿名路由,则必须在调用Navigator.push的地方创建新路由页,这样不仅需要import新路由页的dart文件,而且这样的代码将会非常分散。\n可以通过onGenerateRoute做一些全局的路由跳转前置处理逻辑。\n\n综上所述,笔者比较建议使用命名路由,当然这并不是什么金科玉律,读者可以根据自己偏好或实际情况来决定。\n另外,还有一些关于路由管理的内容我们没有介绍,比如路由MaterialApp中还有navigatorObservers和onUnknownRoute两个回调属性,前者可以监听所有路由跳转动作,后者在打开一个不存在的命名路由时会被调用,由于这些功能并不常用,而且也比较简单,我们便不再花费篇幅来介绍了,读者可以自行查看API文档。\n"},"chapter2/flutter_package_mgr.html":{"url":"chapter2/flutter_package_mgr.html","title":"2.3:包管理","keywords":"","body":"2.3 包管理\n在软件开放,很多时候有一些公共的库或SDK可能会被很多项目用到,因此,将这些代码单独抽到一个独立模块,然后哪个项目需要使用时再直接集成这个模块,便可大大提高开发效率。很多编程语言或开发工具都支持这种“模块共享”机制,如Java语言中这种独立模块会被打成一个jar包,Android中的aar包,Web开发中的npm包等。为了方便表述,我们将这种可共享的独立模块统一称为“包”( Package)。\n一个APP在实际开发中往往会依赖很多包,而这些包通常都有交叉依赖关系、版本依赖等,如果由开发者手动来管理应用中的依赖包将会非常麻烦。因此,各种开发生态或编程语言官方通常都会提供一些包管理工具,比如在Android提供了Gradle来管理依赖,iOS用Cocoapods或Carthage来管理依赖,Node中通过npm等。而在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发布我们的包和插件。我们将在后面的章节中介绍如何向Pub发布我们的包和插件。\n示例\n接下来,我们实现一个显示随机字符串的widget。有一个名为“english_words”的开源软件包,其中包含数千个常用的英文单词以及一些实用功能。我们首先在pub上找到english_words这个包(如图2-5所示),确定其最新的版本号和是否支持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下载包。在Android Studio的编辑器视图中查看pubspec.yaml时(图2-6),单击右上角的 Packages get 。\n\n这会将依赖包安装到您的项目。我们可以在控制台中看到以下内容:\nflutter packages get\nRunning \"flutter packages get\" in flutter_in_action...\nProcess finished with exit code 0\n\n我们也可以在控制台,定位到当前工程目录,然后手动运行flutter packages get 命令来下载依赖包。另外,需要注意dependencies和dev_dependencies的区别,前者的依赖包将作为APP的源码的一部分参与编译,生成最终的安装包。而后者的依赖包只是作为开发阶段的一些工具包,主要是用于帮助我们提高开发、测试效率,比如flutter的自动化测试包等。\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 添加到 _MyHomePageState.build 的Column的子widget中。\nColumn(\n mainAxisAlignment: MainAxisAlignment.center,\n children: [\n ... //省略无关代码\n RandomWordsWidget(),\n ],\n)\n\n\n如果应用程序正在运行,请使用热重载按钮(⚡️图标) 更新正在运行的应用程序。每次单击热重载或保存项目时,都会在正在运行的应用程序中随机选择不同的单词对。 这是因为单词对是在 build 方法内部生成的。每次热更新时,build方法都会被执行,运行效果如图2-7所示。\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上面介绍的这些依赖方式是Flutter开发中常用的,但还有一些其它依赖方式,完整的内容读者可以自行查看:https://www.dartlang.org/tools/pub/dependencies 。\n总结\n本节介绍了Flutter中包管理、引用、下载的整体流程,我们将在后面的章节中介绍如果开发并发布我们自己的包。\n"},"chapter2/flutter_assets_mgr.html":{"url":"chapter2/flutter_assets_mgr.html","title":"2.4:资源管理","keywords":"","body":"2.4 资源管理\nFlutter APP安装包中会包含代码和 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\n\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”,见图2-8)。 只需按照Android开发人员指南中的说明, 将其替换为所需的资源,并遵守每种屏幕密度(dpi)的建议图标大小标准。\n\n\n注意: 如果您重命名.png文件,则还必须在您AndroidManifest.xml的标签的android:icon属性中更新名称。\n\n\niOS\n在Flutter项目的根目录中,导航到.../ios/Runner。该目录中Assets.xcassets/AppIcon.appiconset已经包含占位符图片(见图2-9), 只需将它们替换为适当大小的图片,保留原始文件名称。\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进行自定义,如图2-11所示。\n\n"},"chapter2/flutter_app_debug.html":{"url":"chapter2/flutter_app_debug.html","title":"2.5:调试Flutter APP","keywords":"","body":"2.5 调试Flutter应用\n有各种各样的工具和功能来帮助调试Flutter应用程序。\nDart 分析器\n在运行应用程序前,请运行flutter analyze测试你的代码。这个工具是一个静态代码检查工具,它是dartanalyzer工具的一个包装,主要用于分析代码并帮助开发者发现可能的错误,比如,Dart分析器大量使用了代码中的类型注释来帮助追踪问题,避免var、无类型的参数、无类型的列表文字等。\n 如果你使用IntelliJ的Flutter插件,那么分析器在打开IDE时就已经自动启用了,如果读者使用的是其它IDE,强烈建议读者启用Dart 分析器,因为在大多数时候,Dart 分析器可以在代码运行前发现大多数问题。\nDart Observatory (语句级的单步调试和分析器)\n如果我们使用flutter run启动应用程序,那么当它运行时,我们可以打开Observatory工具的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}\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应用调试过程中,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))\n... #省略剩余内容\n\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)\n... # 省略\n\n这是根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\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\n跟踪Dart代码性能\n要执行自定义性能跟踪和测量Dart任意代码段的wall/CPU时间(类似于在Android上使用systrace)。 使用dart:developer的Timeline工具来包含你想测试的代码块,例如:\nTimeline.startSync('interesting function');\n// iWonderHowLongThisTakes();\nTimeline.finishSync();\n\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您也可以直接使用GridPaper组件将这种网格覆盖在非Material应用程序上 。\n"},"chapter2/thread_model_and_error_report.html":{"url":"chapter2/thread_model_and_error_report.html","title":"2.6:Dart线程模型及异常捕获","keywords":"","body":"2.6 Flutter异常捕获\n在介绍Flutter异常捕获之前必须先了解一下Dart单线程模型,只有了解了Dart的代码执行流程,我们才能知道该在什么地方去捕获异常。\n2.6.1 Dart单线程模型\n在Java和Objective-C(以下简称“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在事件循环中,当某个任务发生异常并没有被捕获时,程序并不会退出,而直接导致的结果是当前任务的后续代码就不会被执行了,也就是说一个任务中的异常是不会影响其它任务执行的。\n2.6.2 Flutter异常捕获\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":"第三章:基础组件","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":"3.1:Widget简介","keywords":"","body":"3.1 Widget简介\n3.1.1 概念\n在前面的介绍中,我们知道在Flutter中几乎所有的对象都是一个Widget。与原生开发中“控件”不同的是,Flutter中的Widget的概念更广泛,它不仅可以表示UI元素,也可以表示一些功能性的组件如:用于手势检测的 GestureDetector widget、用于APP主题数据传递的Theme等等,而原生开发中的控件通常只是指UI元素。在后面的内容中,我们在描述UI元素时可能会用到“控件”、“组件”这样的概念,读者心里需要知道他们就是widget,只是在不同场景的不同表述而已。由于Flutter主要就是用于构建用户界面的,所以,在大多数时候,读者可以认为widget就是一个控件,不必纠结于概念。\n3.1.2 Widget与Element\n在Flutter中,Widget的功能是“描述一个UI元素的配置数据”,它就是说,Widget其实并不是表示最终绘制在设备屏幕上的显示元素,而它只是描述显示元素的一个配置数据。\n实际上,Flutter中真正代表屏幕上显示元素的类是Element,也就是说Widget只是描述Element的配置数据!有关Element的详细介绍我们将在本书后面的高级部分深入介绍,现在,读者只需要知道:Widget只是UI元素的一个配置数据,并且一个Widget可以对应多个Element。这是因为同一个Widget对象可以被添加到UI树的不同部分,而真正渲染时,UI树的每一个Element节点都会对应一个Widget对象。总结一下:\n\nWidget实际上就是Element的配置数据,Widget树实际上是一个配置树,而真正的UI渲染树是由Element构成;不过,由于Element是通过Widget生成的,所以它们之间有对应关系,在大多数场景,我们可以宽泛地认为Widget树就是指UI控件树或UI渲染树。\n一个Widget对象可以对应多个Element对象。这很好理解,根据同一份配置(Widget),可以创建多个实例(Element)。\n\n读者应该将这两点牢记在心中。\n3.1.3 Widget主要接口\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类来实现一个新组件,相反,我们通常会通过继承StatelessWidget或StatefulWidget来间接继承Widget类来实现。StatelessWidget和StatefulWidget都是直接继承自Widget类,而这两个类也正是Flutter中非常重要的两个抽象类,它们引入了两种Widget模型,接下来我们将重点介绍一下这两个类。\n3.1.4 StatelessWidget\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需要接收子Widget,那么child或children参数通常应被放在参数列表的最后。同样是按照惯例,Widget的属性应尽可能的被声明为final,防止被意外改变。\n\n然后我们可以通过如下方式使用它:\nWidget build(BuildContext context) {\n return Echo(text: \"hello world\");\n}\n\n运行后效果如图3-1所示:\n\n3.1.5 StatefulWidget\n和StatelessWidget一样,StatefulWidget也是继承自Widget类,并重写了createElement()方法,不同的是返回的Element 对象并不相同;另外StatefulWidget类中添加了一个新的接口createState()。\n下面我们看看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\n3.1.6 State\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 Scaffold(\n body: Center(\n child: FlatButton(\n child: Text('$_counter'),\n //点击后计数器自增\n onPressed:()=>setState(()=> ++_counter,\n ),\n ),\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\nStatefulWidget生命周期如图3-2所示:\n\n注意:在继承StatefulWidget重写其方法时,对于包含@mustCallSuper标注的父类方法,都要在子类方法中先调用父类方法。\n3.1.7 Flutter SDK内置组件库介绍\nFlutter提供了一套丰富、强大的基础组件,在基础组件库之上Flutter又提供了一套Material风格(Android默认的视觉风格)和一套Cupertino风格(iOS视觉风格)的组件库。要使用基础组件库,需要先导入:\nimport 'package:flutter/widgets.dart';\n\n下面我们介绍一下常用的组件。\n基础组件\n\nText:该组件可让您创建一个带格式的文本。\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组件\nFlutter提供了一套丰富的Material组件,它可以帮助我们构建遵循Material Design设计规范的应用程序。Material应用程序以MaterialApp 组件开始, 该组件在应用程序的根部创建了一些必要的组件,比如Theme组件,它用于配置应用的主题。 是否使用MaterialApp完全是可选的,但是使用它是一个很好的做法。在之前的示例中,我们已经使用过多个Material 组件了,如:Scaffold、AppBar、FlatButton等。要使用Material 组件,需要先引入它:\nimport 'package:flutter/material.dart';\n\nCupertino组件\nFlutter也提供了一套丰富的Cupertino风格的组件,尽管目前还没有Material 组件那么丰富,但是它仍在不断的完善中。值得一提的是在Material 组件库中有一些组件可以根据实际运行平台来切换表现风格,比如MaterialPageRoute,在路由切换时,如果是Android系统,它将会使用Android系统默认的页面切换动画(从底向上);如果是iOS系统,它会使用iOS系统默认的页面切换动画(从右向左)。由于在前面的示例中还没有Cupertino组件的示例,下面我们实现一个简单的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下面(图3-3)是在iPhoneX上页面效果截图:\n\n关于示例\n本章后面章节的示例中会使用一些布局类组件,如Scaffold、Row、Column等,这些组件将在后面“布局类组件”一章中详细介绍,读者可以先不用关注。\n总结\nFlutter提供了丰富的组件,在实际的开发中你可以根据需要随意使用它们,而不必担心引入过多组件库会让你的应用安装包变大,这不是web开发,dart在编译时只会编译你使用了的代码。由于Material和Cupertino都是在基础组件库之上的,所以如果我们的应用中引入了这两者之一,则不需要再引入flutter/widgets.dart了,因为它们内部已经引入过了。\n"},"chapter3/state_manage.html":{"url":"chapter3/state_manage.html","title":"3.2:状态管理","keywords":"","body":"3.2 状态管理\n响应式的编程框架中都会有一个永恒的主题——“状态(State)管理”,无论是在React/Vue(两者都是支持响应式编程的Web开发框架)还是Flutter中,他们讨论的问题和解决的思想都是一致的。所以,如果你对React/Vue的状态管理有了解,可以跳过本节。言归正传,我们想一个问题,StatefulWidget的状态应该被谁管理?Widget本身?父Widget?都会?还是另一个对象?答案是取决于实际情况!以下是管理状态的最常见的方法:\n\nWidget管理自己的状态。\nWidget管理子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,如图3-4所示。\n下面的例子将使用GestureDetector来识别点击事件,关于该GestureDetector的详细内容我们将在后面“事件处理”一章中介绍。\n3.2.1 Widget管理自身状态\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\n3.2.2 父Widget管理子Widget的状态\n对于父Widget来说,管理状态并告诉其子Widget何时更新通常是比较好的方式。 例如,IconButton是一个图标按钮,但它是一个无状态的Widget,因为我们认为父Widget需要知道该按钮是否被点击来采取相应的处理。\n在以下示例中,TapboxB通过回调将其状态导出到其父组件,状态由父组件管理,因此它的父组件为StatefulWidget。但是由于TapboxB不管理任何状态,所以TapboxB为StatelessWidget。\nParentWidgetState 类:\n\n为TapboxB 管理_active状态。\n实现_handleTapboxChanged(),当盒子被点击时调用的方法。\n当状态改变时,调用setState()更新UI。\n\nTapboxB 类:\n\n继承StatelessWidget类,因为所有状态都由其父组件处理。\n当检测到点击时,它会通知父组件。\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\n3.2.3 混合状态管理\n对于一些组件来说,混合管理的方式会非常有用。在这种情况下,组件自身管理一些内部状态,而父组件管理一些其他外部状态。\n在下面TapboxC示例中,手指按下时,盒子的周围会出现一个深绿色的边框,抬起时,边框消失。点击完成后,盒子的颜色改变。 TapboxC将其_active状态导出到其父组件中,但在内部管理其_highlight状态。这个例子有两个状态对象_ParentWidgetState和_TapboxCState。\n_ParentWidgetStateC类:\n\n管理_active 状态。\n实现 _handleTapboxChanged() ,当盒子被点击时调用。\n当点击盒子并且_active状态改变时调用setState()更新UI。\n\n_TapboxCState 对象:\n\n管理_highlight 状态。\nGestureDetector监听所有tap事件。当用户点下时,它添加高亮(深绿色边框);当用户释放时,会移除高亮。\n当按下、抬起、或者取消点击时更新_highlight状态,调用setState()更新UI。\n当点击时,将状态的改变传递给父组件。\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 @override\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 @override\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另一种实现可能会将高亮状态导出到父组件,但同时保持_active状态为内部状态,但如果你要将该TapBox给其它人使用,可能没有什么意义。 开发人员只会关心该框是否处于Active状态,而不在乎高亮显示是如何管理的,所以应该让TapBox内部处理这些细节。\n3.3.4 全局状态管理\n当应用中需要一些跨组件(包括跨路由)的状态需要同步时,上面介绍的方法便很难胜任了。比如,我们有一个设置页,里面可以设置应用的语言,我们为了让设置实时生效,我们期望在语言状态发生改变时,APP中依赖应用语言的组件能够重新build一下,但这些依赖应用语言的组件和设置页并不在一起,所以这种情况用上面的方法很难管理。这时,正确的做法是通过一个全局状态管理器来处理这种相距较远的组件之间的通信。目前主要有两种办法:\n\n实现一个全局的事件总线,将语言状态改变对应为一个事件,然后在APP中依赖应用语言的组件的initState 方法中订阅语言改变的事件。当用户在设置页切换语言后,我们发布语言改变事件,而订阅了此事件的组件就会收到通知,收到通知后调用setState(...)方法重新build一下自身即可。\n使用一些专门用于状态管理的包,如Provider、Redux,读者可以在pub上查看其详细信息。\n\n本书将在\"功能型组件\"一章中介绍Provider包的实现原理及用法,同时也将会在\"事件处理与通知\"一章中实现一个全局事件总线,读者有需要可以直接翻看。\n"},"chapter3/text.html":{"url":"chapter3/text.html","title":"3.3:文本、字体样式","keywords":"","body":"3.3 文本及样式\n3.3.1 Text\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运行效果如图3-5所示:\n\n\ntextAlign:文本的对齐方式;可以选择左对齐、右对齐还是居中。注意,对齐的参考系是Text widget本身。本例中虽然是指定了居中对齐,但因为Text文本内容宽度不足一行,Text的宽度和文本内容长度相等,那么这时指定对齐方式是没有意义的,只有Text宽度大于文本内容长度时指定此属性才有意义。下面我们指定一个较长的字符串:\nText(\"Hello world \"*6, //字符串重复六次\n textAlign: TextAlign.center,\n);\n\n运行效果如图3-6所示:\n\n\n\n​ 字符串内容超过一行,Text宽度等于屏幕宽度,第二行文本便会居中显示。\n\nmaxLines、overflow:指定文本显示的最大行数,默认情况下,文本是自动折行的,如果指定此参数,则文本最多不会超过指定的行。如果有多余的文本,可以通过overflow来指定截断方式,默认是直接截断,本例中指定的截断方式TextOverflow.ellipsis,它会将多余文本截断后以省略符“...”表示;TextOverflow的其它截断方式请参考SDK文档。\ntextScaleFactor:代表文本相对于当前字体大小的缩放因子,相对于去设置文本的样式style属性的fontSize,它是调整字体大小的一个快捷方式。该属性的默认值可以通过MediaQueryData.textScaleFactor获得,如果没有MediaQuery,那么会默认值将为1.0。\n\n3.3.2 TextStyle\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效果如图3-7所示:\n\n此示例只展示了TextStyle的部分属性,它还有一些其它属性,属性名基本都是自解释的,在此不再赘述,读者可以查阅SDK文档。值得注意的是:\n\nheight:该属性用于指定行高,但它并不是一个绝对值,而是一个因子,具体的行高等于fontSize*height。\n\nfontFamily :由于不同平台默认支持的字体集不同,所以在手动指定字体时一定要先在不同平台测试一下。\n\nfontSize:该属性和Text的textScaleFactor都用于控制字体大小。但是有两个主要区别:\n\nfontSize可以精确指定字体大小,而textScaleFactor只能通过缩放比例来控制。\ntextScaleFactor主要是用于系统字体大小设置改变时对Flutter应用字体进行全局调整,而fontSize通常用于单个文本,字体大小不会跟随系统字体大小变化。\n\n\n\n3.3.3 TextSpan\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用于对该文本片段上用于手势进行识别处理。下面我们看一个效果(图3-8),然后用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\n3.3.4 DefaultTextStyle\n在Widget树中,文本的样式默认是可以被继承的(子类文本类组件未指定具体样式时可以使用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。示例运行效果如图3-9:\n\n3.3.5 字体\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":"3.4:按钮","keywords":"","body":"3.4 按钮\n3.4.1 Material组件库中的按钮\nMaterial 组件库中提供了多种按钮组件如RaisedButton、FlatButton、OutlineButton等,它们都是直接或间接对RawMaterialButton组件的包装定制,所以他们大多数属性都和RawMaterialButton一样。在介绍各个按钮时我们先介绍其默认外观,而按钮的外观大都可以通过属性来自定义,我们在后面统一介绍这些属性。另外,所有Material 库中的按钮都有如下相同点:\n\n按下时都会有“水波动画”(又称“涟漪动画”,就是点击时按钮上会出现水波荡漾的动画)。\n有一个onPressed属性来设置点击回调,当按钮按下时会执行该回调,如果不提供该回调则按钮会处于禁用状态,禁用状态不响应用户点击。\n\nRaisedButton\nRaisedButton 即\"漂浮\"按钮,它默认带有阴影和灰色背景。按下后,阴影会变大,如图3-10所示:\n\n使用RaisedButton非常简单,如:\nRaisedButton(\n child: Text(\"normal\"),\n onPressed: () {},\n);\n\nFlatButton\nFlatButton即扁平按钮,默认背景透明并不带阴影。按下后,会有背景色,如图3-11所示:\n\n使用FlatButton也很简单,代码如下:\nFlatButton(\n child: Text(\"normal\"),\n onPressed: () {},\n)\n\nOutlineButton\nOutlineButton默认有一个边框,不带阴影且背景透明。按下后,边框颜色会变亮、同时出现背景和阴影(较弱),如图3-12所示:\n\n使用OutlineButton也很简单,代码如下:\nOutlineButton(\n child: Text(\"normal\"),\n onPressed: () {},\n)\n\nIconButton\nIconButton是一个可点击的Icon,不包括文字,默认没有背景,点击后会出现背景,如图3-13所示:\n\n代码如下:\nIconButton(\n icon: Icon(Icons.thumb_up),\n onPressed: () {},\n)\n\n带图标的按钮\nRaisedButton、FlatButton、OutlineButton都有一个icon 构造函数,通过它可以轻松创建带图标的按钮,如图3-14所示:\n\n代码如下:\nRaisedButton.icon(\n icon: Icon(Icons.send),\n label: Text(\"发送\"),\n onPressed: _onPressed,\n),\nOutlineButton.icon(\n icon: Icon(Icons.add),\n label: Text(\"添加\"),\n onPressed: _onPressed,\n),\nFlatButton.icon(\n icon: Icon(Icons.info),\n label: Text(\"详情\"),\n onPressed: _onPressed,\n),\n\n3.4.2 自定义按钮外观\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定义一个背景蓝色,两边圆角的按钮。效果如图3-15所示:\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,这是为了保证按钮文字颜色为浅色。\nFlutter 中没有提供去除背景的设置,假若我们需要去除背景,则可以通过将背景颜色设置为全透明来实现。对应上面的代码,便是将 color: Colors.blue 替换为 color: Color(0x000000)。\n细心的读者可能会发现这个按钮没有阴影(点击之后也没有),这样会显得没有质感。其实这也很容易,将上面的FlatButton换成RaisedButton就行,其它代码不用改(这里 color 也不做更改),换了之后的效果如图3-16所示:\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 组件库中,我们会在很多组件中见到elevation相关的属性,它们都是用来控制阴影的,这是因为阴影在Material设计风格中是一种很重要的表现形式,以后在介绍其它组件时,便不再赘述。\n如果我们想实现一个背景渐变的圆角按钮,按钮有没有相应的属性呢?答案是否定的,但是,我们可以通过其它方式来实现,我们将在后面\"自定义组件\"一章中实现。\n"},"chapter3/img_and_icon.html":{"url":"chapter3/img_and_icon.html","title":"3.5:图片和Icon","keywords":"","body":"3.5 图片及ICON\n3.5.1 图片\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.yaml中的flutter部分添加如下内容:\n assets:\n - images/avatar.png\n\n\n注意: 由于 yaml 文件对缩进严格,所以必须严格按照每一层两个空格的方式进行缩进,此处assets前面应有两个空格。\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运行上面两个示例,图片加载成功后如图3-17所示:\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一图胜万言! 我们队一个宽高相同的头像图片应用不同的fit值,效果如图3-18所示:\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运行效果如图3-19所示(彩色):\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运行后效果如图3-20所示:\n\n\n\n完整的示例代码如下:\nimport 'package:flutter/material.dart';\n\nclass ImageAndIconRoute extends StatelessWidget {\n @override\n Widget build(BuildContext context) {\n var img=AssetImage(\"imgs/avatar.png\");\n return SingleChildScrollView(\n child: Column(\n children: [\n Image(\n image: img,\n height: 50.0,\n width: 100.0,\n fit: BoxFit.fill,\n ),\n Image(\n image: img,\n height: 50,\n width: 50.0,\n fit: BoxFit.contain,\n ),\n Image(\n image: img,\n width: 100.0,\n height: 50.0,\n fit: BoxFit.cover,\n ),\n Image(\n image: img,\n width: 100.0,\n height: 50.0,\n fit: BoxFit.fitWidth,\n ),\n Image(\n image: img,\n width: 100.0,\n height: 50.0,\n fit: BoxFit.fitHeight,\n ),\n Image(\n image: img,\n width: 100.0,\n height: 50.0,\n fit: BoxFit.scaleDown,\n ),\n Image(\n image: img,\n height: 50.0,\n width: 100.0,\n fit: BoxFit.none,\n ),\n Image(\n image: img,\n width: 100.0,\n color: Colors.blue,\n colorBlendMode: BlendMode.difference,\n fit: BoxFit.fill,\n ),\n Image(\n image: img,\n width: 100.0,\n height: 200.0,\n repeat: ImageRepeat.repeatY ,\n )\n ].map((e){\n return Row(\n children: [\n Padding(\n padding: EdgeInsets.all(16.0),\n child: SizedBox(\n width: 100,\n child: e,\n ),\n ),\n Text(e.fit.toString())\n ],\n );\n }).toList()\n ),\n );\n }\n}\n\nImage缓存\nFlutter框架对加载过的图片是有缓存的(内存),默认最大缓存数量是1000,最大缓存空间为100M。关于Image的详细内容及原理我们将会在后面进阶部分深入介绍。\n3.5.2 ICON\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运行效果如图3-21所示:\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运行后效果如图3-22所示:\n\n\n\n"},"chapter3/radio_and_checkbox.html":{"url":"chapter3/radio_and_checkbox.html","title":"3.6:单选框和复选框","keywords":"","body":"3.6 单选开关和复选框\nMaterial 组件库中提供了Material风格的单选开关Switch和复选框Checkbox,它们都是继承自StatelessWidget,所以它们本身不会保存当前选择状态,因此它们的选中状态都是由父组件来管理的。当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()通知Flutter framework重新构建UI。\n\n属性及外观\nSwitch和Checkbox属性比较简单,读者可以查看API文档,它们都有一个activeColor属性,用于设置激活态的颜色。至于大小,到目前为止,Checkbox的大小是固定的,无法自定义,而Switch只能定义宽度,高度也是固定的。值得一提的是Checkbox有一个属性tristate ,表示是否为三态,其默认值为false ,这时Checkbox有两种状态即“选中”和“不选中”,对应的value值为true和false 。如果tristate值为true时,value的值会增加一个状态null,读者可以自行了解。\n总结\n通过Switch和Checkbox我们可以看到,虽然它们本身是与状态(是否选中)关联的,但它们却不是自己来维护状态,而是需要父组件来管理状态,然后当用户点击时,再通过事件通知给父组件,这样是合理的,因为Switch和Checkbox是否选中本就和用户数据关联,而这些用户数据也不可能是它们的私有状态。我们在自定义组件时也应该思考一下哪种状态的管理方式最为合理。\n"},"chapter3/input_and_form.html":{"url":"chapter3/input_and_form.html","title":"3.7:输入框和表单","keywords":"","body":"3.7 输入框及表单\nMaterial组件库中提供了输入框组件TextField和表单组件Form。下面我们分别介绍一下。\n3.7.1 TextField\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系统下键盘样式如图3-24所示:\n\n\nstyle:正在编辑的文本样式。\n\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运行后,效果如图3-25所示:\n\n获取输入内容\n获取输入内容有两种方式:\n\n定义两个变量,用于保存用户名和密码,然后在onChange触发时,各自保存一下输入内容。\n通过controller直接获取。\n\n第一种方式比较简单,不在举例,我们来重点看一下第二种方式,我们以用户名输入框举例:\n定义一个controller:\n//定义一个controller\nTextEditingController _unameController = 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\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 = TextEditingController();\n\n设置默认值,并从第三个字符开始选中后面的字符\n_selectionController.text=\"hello world!\";\n_selectionController.selection=TextSelection(\n baseOffset: 2,\n extentOffset: _selectionController.text.length\n);\n\n设置controller:\nTextField(\n controller: _selectionController,\n)\n\n运行效果如图3-26所示:\n\n控制焦点\n焦点可以通过FocusNode和FocusScopeNode来控制,默认情况下,焦点由FocusScope来管理,它代表焦点控制范围,可以在这个范围内可以通过FocusScopeNode在输入框之间移动焦点、设置默认焦点等。我们可以通过FocusScope.of(context) 来获取Widget树中默认的FocusScopeNode。下面看一个示例,在此示例中创建两个TextField,第一个自动获取焦点,然后创建两个按钮:\n\n点击第一个按钮可以将焦点从第一个TextField挪到第二个TextField。\n点击第二个按钮可以关闭键盘。\n\n我们要实现的效果如图3-27所示:\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运行效果如图3-28所示:\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通过这种组件组合的方式,也可以定义背景圆角等。一般来说,优先通过decoration来自定义样式,如果decoration实现不了,再用widget组合的方式。\n\n思考题:在这个示例中,下划线颜色是固定的,所以获得焦点后颜色仍然为灰色,如何实现点击后下滑线也变色呢?\n\n3.7.2 表单Form\n实际业务中,在正式向服务器提交数据前,都会对各个输入框数据进行合法性校验,但是对每一个TextField都分别进行校验将会是一件很麻烦的事。还有,如果用户想清除一组TextField的内容,除了一个一个清除有没有什么更好的办法呢?为此,Flutter提供了一个Form 组件,它可以对输入框进行分组,然后进行一些统一操作,如输入内容校验、输入框重置以及输入内容保存。\nForm\nForm继承自StatefulWidget对象,它对应的状态类为FormState。我们先看看Form类的定义:\nForm({\n @required Widget child,\n bool autovalidate = false,\n WillPopCallback onWillPop,\n VoidCallback onChanged,\n})\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组件,它继承自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 Scaffold(\n appBar: AppBar(\n title:Text(\"Form Test\"),\n ),\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运行后效果如图3-29所示:\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"},"chapter3/progress.html":{"url":"chapter3/progress.html","title":"3.8:进度指示器","keywords":"","body":"3.8 进度指示器\nMaterial 组件库中提供了两种进度指示器:LinearProgressIndicator和CircularProgressIndicator,它们都可以同时用于精确的进度指示和模糊的进度指示。精确进度通常用于任务进度可以计算和预估的情况,比如文件下载;而模糊进度则用户任务进度无法准确获得的情况,如下拉刷新,数据提交等。\nLinearProgressIndicator\nLinearProgressIndicator是一个线性、条状的进度条,定义如下:\nLinearProgressIndicator({\n double value,\n Color backgroundColor,\n Animation valueColor,\n ...\n})\n\n\nvalue:value表示当前的进度,取值范围为[0,1];如果value为null时则指示器会执行一个循环动画(模糊进度);当value不为null时,指示器为一个具体进度的进度条。\nbackgroundColor:指示器的背景色。\nvalueColor: 指示器的进度条颜色;值得注意的是,该值类型是Animation,这允许我们对进度条的颜色也可以指定动画。如果我们不需要对进度条颜色执行动画,换言之,我们想对进度条应用一种固定的颜色,此时我们可以通过AlwaysStoppedAnimation来指定。\n\n示例\n// 模糊进度条(会执行一个动画)\nLinearProgressIndicator(\n backgroundColor: Colors.grey[200],\n valueColor: AlwaysStoppedAnimation(Colors.blue),\n),\n//进度条显示50%\nLinearProgressIndicator(\n backgroundColor: Colors.grey[200],\n valueColor: AlwaysStoppedAnimation(Colors.blue),\n value: .5, \n)\n\n运行效果如图3-30所示:\n\n第一个进度条在执行循环动画:蓝色条一直在移动,而第二个进度条是静止的,停在50%的位置。\nCircularProgressIndicator\nCircularProgressIndicator是一个圆形进度条,定义如下:\n CircularProgressIndicator({\n double value,\n Color backgroundColor,\n Animation valueColor,\n this.strokeWidth = 4.0,\n ... \n})\n\n前三个参数和LinearProgressIndicator相同,不再赘述。strokeWidth 表示圆形进度条的粗细。示例如下:\n// 模糊进度条(会执行一个旋转动画)\nCircularProgressIndicator(\n backgroundColor: Colors.grey[200],\n valueColor: AlwaysStoppedAnimation(Colors.blue),\n),\n//进度条显示50%,会显示一个半圆\nCircularProgressIndicator(\n backgroundColor: Colors.grey[200],\n valueColor: AlwaysStoppedAnimation(Colors.blue),\n value: .5,\n),\n\n运行效果如图3-31所示:\n\n第一个进度条会执行旋转动画,而第二个进度条是静止的,它停在50%的位置。\n自定义尺寸\n我们可以发现LinearProgressIndicator和CircularProgressIndicator,并没有提供设置圆形进度条尺寸的参数;如果我们希望LinearProgressIndicator的现细一些,或者希望CircularProgressIndicator的圆大一些该怎么做?\n其实LinearProgressIndicator和CircularProgressIndicator都是取父容器的尺寸作为绘制的边界的。知道了这点,我们便可以通过尺寸限制类Widget,如ConstrainedBox、SizedBox (我们将在后面容器类组件一章中介绍)来指定尺寸,如:\n// 线性进度条高度指定为3\nSizedBox(\n height: 3,\n child: LinearProgressIndicator(\n backgroundColor: Colors.grey[200],\n valueColor: AlwaysStoppedAnimation(Colors.blue),\n value: .5,\n ),\n),\n// 圆形进度条直径指定为100\nSizedBox(\n height: 100,\n width: 100,\n child: CircularProgressIndicator(\n backgroundColor: Colors.grey[200],\n valueColor: AlwaysStoppedAnimation(Colors.blue),\n value: .7,\n ),\n),\n\n运行效果如图3-32所示:\n\n注意,如果CircularProgressIndicator显示空间的宽高不同,则会显示为椭圆。如:\n// 宽高不等\nSizedBox(\n height: 100,\n width: 130,\n child: CircularProgressIndicator(\n backgroundColor: Colors.grey[200],\n valueColor: AlwaysStoppedAnimation(Colors.blue),\n value: .7,\n ),\n),\n\n运行效果如图3-33所示:\n\n进度色动画\n前面说过可以通过valueColor对进度条颜色做动画,关于动画我们将在后面专门的章节详细介绍,这里先给出一个例子,读者在了解了Flutter动画一章后再回过头来看。\n我们实现一个进度条在3秒内从灰色变成蓝色的动画:\nimport 'package:flutter/material.dart';\n\nclass ProgressRoute extends StatefulWidget {\n @override\n _ProgressRouteState createState() => _ProgressRouteState();\n}\n\nclass _ProgressRouteState extends State\n with SingleTickerProviderStateMixin {\n AnimationController _animationController;\n\n @override\n void initState() {\n //动画执行时间3秒 \n _animationController =\n new AnimationController(vsync: this, duration: Duration(seconds: 3));\n _animationController.forward();\n _animationController.addListener(() => setState(() => {}));\n super.initState();\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: Column(\n children: [\n Padding(\n padding: EdgeInsets.all(16),\n child: LinearProgressIndicator(\n backgroundColor: Colors.grey[200],\n valueColor: ColorTween(begin: Colors.grey, end: Colors.blue)\n .animate(_animationController), // 从灰色变成蓝色\n value: _animationController.value,\n ),\n );\n ],\n ),\n );\n }\n}\n\n自定义进度指示器样式\n定制进度指示器风格样式,可以通过CustomPainter Widget 来自定义绘制逻辑,实际上LinearProgressIndicator和CircularProgressIndicator也正是通过CustomPainter来实现外观绘制的。关于CustomPainter,我们将在后面“自定义Widget”一章中详细介绍。\n\nflutter_spinkit 包提供了多种风格的模糊进度指示器,读者若是感兴趣,可以参考。\n\n"},"chapter4/":{"url":"chapter4/","title":"第四章:布局类组件","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":"4.1:布局类组件简介","keywords":"","body":"4.1 布局类组件简介\n布局类组件都会包含一个或多个子组件,不同的布局类组件对子组件排版(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,通常基础组件都属于这一类,如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布局类组件就是指直接或间接继承(包含)MultiChildRenderObjectWidget的Widget,它们一般都会有一个children属性用于接收子Widget。我们看一下继承关系 Widget > RenderObjectWidget > (Leaf/SingleChild/MultiChild)RenderObjectWidget 。\nRenderObjectWidget类中定义了创建、更新RenderObject的方法,子类必须实现他们,关于RenderObject我们现在只需要知道它是最终布局、渲染UI界面的对象即可,也就是说,对于布局类组件来说,其布局算法都是通过对应的RenderObject对象来实现的,所以读者如果对接下来介绍的某个布局类组件的原理感兴趣,可以查看其对应的RenderObject的实现,比如Stack(层叠布局)对应的RenderObject对象就是RenderStack,而层叠布局的实现就在RenderStack中。\n在本章中,为了让读者对布局类Widget有个快速的认识,所以我们并不会深入到RenderObject的细节中去。在学习本章时,读者的重点是掌握不同布局组件的布局特点,具体原理和细节等我们对Flutter整体入门后,感兴趣的话再去研究。\n"},"chapter4/row_and_column.html":{"url":"chapter4/row_and_column.html","title":"4.2:线性布局(Row、Column)","keywords":"","body":"4.2 线性布局(Row和Column)\n所谓线性布局,即指沿水平或垂直方向排布子组件。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:表示水平方向子组件的布局顺序(是从左往右还是从右往左),默认为系统当前Locale环境的文本方向(如中文、英语都是从左往右,而阿拉伯语是从右往左)。\nmainAxisSize:表示Row在主轴(水平)方向占用的空间,默认是MainAxisSize.max,表示尽可能多的占用水平方向的空间,此时无论子widgets实际占用多少水平空间,Row的宽度始终等于水平方向的最大宽度;而MainAxisSize.min表示尽可能少的占用水平空间,当子组件没有占满水平剩余空间,则Row的实际宽度等于所有子组件占用的的水平空间;\nmainAxisAlignment:表示子组件在Row所占用的水平空间内对齐方式,如果mainAxisSize值为MainAxisSize.min,则此属性无意义,因为子组件的宽度等于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:表示子组件在纵轴方向的对齐方式,Row的高度等于子组件中最高的子元素高度,它的取值和MainAxisAlignment一样(包含start、end、 center三个值),不同的是crossAxisAlignment的参考系是verticalDirection,即verticalDirection值为VerticalDirection.down时crossAxisAlignment.start指顶部对齐,verticalDirection值为VerticalDirection.up时,crossAxisAlignment.start指底部对齐;而crossAxisAlignment.end和crossAxisAlignment.start正好相反;\nchildren :子组件数组。\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实际运行结果如图4-1所示:\n\n解释:第一个Row很简单,默认为居中对齐;第二个Row,由于mainAxisSize值为MainAxisSize.min,Row的宽度等于两个Text的宽度和,所以对齐是无意义的,所以会从左往右显示;第三个Row设置textDirection值为TextDirection.rtl,所以子组件会从右向左的顺序排列,而此时MainAxisAlignment.end表示左对齐,所以最终显示结果就是图中第三行的样子;第四个Row测试的是纵轴的对齐方式,由于两个子Text字体不一样,所以其高度也不同,我们指定了verticalDirection值为VerticalDirection.up,即从低向顶排列,而此时crossAxisAlignment值为CrossAxisAlignment.start表示底对齐。\nColumn\nColumn可以在垂直方向排列其子组件。参数和Row一样,不同的是布局方向为垂直,主轴纵轴正好相反,读者可类比Row来理解,下面看一个例子:\nimport 'package:flutter/material.dart';\n\nclass CenterColumnRoute extends StatelessWidget {\n @override\n Widget build(BuildContext context) {\n return Column(\n crossAxisAlignment: CrossAxisAlignment.center,\n children: [\n Text(\"hi\"),\n Text(\"world\"),\n ],\n );\n }\n}\n\n运行效果如图4-2所示:\n\n解释:\n\n由于我们没有指定Column的mainAxisSize,所以使用默认值MainAxisSize.max,则Column会在垂直方向占用尽可能多的空间,此例中为屏幕高度。\n由于我们指定了 crossAxisAlignment 属性为CrossAxisAlignment.center,那么子项在Column纵轴方向(此时为水平方向)会居中对齐。注意,在水平方向对齐是有边界的,总宽度为Column占用空间的实际宽度,而实际的宽度取决于子项中宽度最大的Widget。在本例中,Column有两个子Widget,而显示“world”的Text宽度最大,所以Column的实际宽度则为Text(\"world\") 的宽度,所以居中对齐后Text(\"hi\")会显示在Text(\"world\")的中间部分。\n\n实际上,Row和Column都只会在主轴方向占用尽可能大的空间,而纵轴的长度则取决于他们最大子元素的长度。如果我们想让本例中的两个文本控件在整个手机屏幕中间对齐,我们有两种方法:\n\n将Column的宽度指定为屏幕宽度;这很简单,我们可以通过ConstrainedBox或SizedBox(我们将在后面章节中专门介绍着两个Widget)来强制更改宽度限制,例如:\nConstrainedBox(\n constraints: BoxConstraints(minWidth: double.infinity), \n child: Column(\n crossAxisAlignment: CrossAxisAlignment.center,\n children: [\n Text(\"hi\"),\n Text(\"world\"),\n ],\n ),\n);\n\n将minWidth设为double.infinity,可以使宽度占用尽可能多的空间。\n\n使用Center Widget;我们将在后面章节中介绍。\n\n\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运行效果如图4-3所示:\n\n如果要让里面的Column占满外部Column,可以使用Expanded 组件:\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运行效果如图4-4所示:\n\n我们将在介绍弹性布局时详细介绍Expanded。\n"},"chapter4/flex.html":{"url":"chapter4/flex.html","title":"4.3:弹性布局(Flex)","keywords":"","body":"4.3 弹性布局(Flex)\n弹性布局允许子组件按照一定比例来分配父容器空间。弹性布局的概念在其它UI系统中也都存在,如H5中的弹性盒子布局,Android中的FlexboxLayout等。Flutter中的弹性布局主要通过Flex和Expanded来配合实现。\nFlex\nFlex组件可以沿着水平或垂直方向排列子组件,如果你知道主轴方向,使用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子组件所占用的空间。\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运行效果如图4-5所示:\n\n示例中的Spacer的功能是占用指定比例的空间,实际上它只是Expanded的一个包装类,Spacer的源码如下:\nclass Spacer extends StatelessWidget {\n const Spacer({Key key, this.flex = 1})\n : assert(flex != null),\n assert(flex > 0),\n super(key: key);\n\n final int flex;\n\n @override\n Widget build(BuildContext context) {\n return Expanded(\n flex: flex,\n child: const SizedBox.shrink(),\n );\n }\n}\n\n小结\n弹性布局比较简单,唯一需要注意的就是Row、Column以及Flex的关系。\n"},"chapter4/wrap_and_flow.html":{"url":"chapter4/wrap_and_flow.html","title":"4.4:流式布局(Wrap、Flow)","keywords":"","body":"4.4 流式布局\n在介绍Row和Colum时,如果子widget超出屏幕范围,则会报溢出错误,如:\nRow(\n children: [\n Text(\"xxx\"*100)\n ],\n);\n\n运行效果如图4-6所示:\n\n可以看到,右边溢出部分报错。这是因为Row默认只有一行,如果超出屏幕不会折行。我们把超出屏幕显示范围会自动折行的布局称为流式布局。Flutter中通过Wrap和Flow来支持流式布局,将上例中的Row换成Wrap后溢出部分则会自动折行,下面我们分别介绍Wrap和Flow.\n4.4.1 Wrap\n下面是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运行效果如图4-7所示:\n\n4.4.2 Flow\n我们一般很少会使用Flow,因为其过于复杂,需要自己实现子widget的位置转换,在很多场景下首先要考虑的是Wrap是否满足需求。Flow主要用于一些需要自定义布局策略或性能要求较高(如动画中)的场景。Flow有如下优点:\n\n性能好;Flow是一个对子组件尺寸以及位置调整非常高效的控件,Flow用转换矩阵在对子组件进行位置调整的时候进行了优化:在Flow定位过后,如果子组件的尺寸或者位置发生了变化,在FlowDelegate中的paintChildren()方法中调用context.paintChild 进行重绘,而context.paintChild在重绘时使用了转换矩阵,并没有实际调整组件位置。\n灵活;由于我们需要自己实现FlowDelegate的paintChildren()方法,所以我们需要自己计算每一个组件的位置,因此,可以自定义布局策略。\n\n缺点:\n\n使用复杂。\n不能自适应子组件大小,必须通过指定父容器大小或实现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运行效果见图4-8:\n\n可以看到我们主要的任务就是实现paintChildren,它的主要任务是确定每个子widget位置。由于Flow不能自适应子widget的大小,我们通过在getSize返回一个固定大小来指定Flow的大小。\n"},"chapter4/stack.html":{"url":"chapter4/stack.html","title":"4.5:层叠布局(Stack、Positioned)","keywords":"","body":"4.5 层叠布局 Stack、Positioned\n层叠布局和Web中的绝对定位、Android中的Frame布局是相似的,子组件可以根据距父容器四个角的位置来确定自身的位置。绝对定位允许子组件堆叠起来(按照代码中声明的顺序)。Flutter中使用Stack和Positioned这两个组件来配合实现绝对定位。Stack允许子组件堆叠,而Positioned用于根据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)或部分定位的子组件。所谓部分定位,在这里特指没有在某一个轴上定位:left、right为横轴,top、bottom为纵轴,只要包含某个轴上的一个定位属性就算在该轴上有定位。\ntextDirection:和Row、Wrap的textDirection功能一样,都用于确定alignment对齐的参考系,即:textDirection的值为TextDirection.ltr,则alignment的start代表左,end代表右,即从左往右的顺序;textDirection的值为TextDirection.rtl,则alignment的start代表右,end代表左,即从右往左的顺序。\nfit:此参数用于确定没有定位的子组件如何去适应Stack的大小。StackFit.loose表示使用子组件的大小,StackFit.expand表示扩伸到Stack的大小。\noverflow:此属性决定如何显示超出Stack显示空间的子组件;值为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用于指定需要定位元素的宽度和高度。注意,Positioned的width、height 和其它地方的意义稍微有点区别,此处用于配合left、top 、right、 bottom来定位组件,举个例子,在水平方向时,你只能指定left、right、width三个属性中的两个,如指定left和width后,right会自动算出(left+width),如果同时指定三个属性则会报错,垂直方向同理。\n示例\n在下面的例子中,我们通过对几个Text组件的定位来演示Stack和Positioned的特性:\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运行效果见图4-9:\n\n由于第一个子文本组件Text(\"Hello world\")没有指定定位,并且alignment值为Alignment.center,所以它会居中显示。第二个子文本组件Text(\"I am Jack\")只指定了水平方向的定位(left),所以属于部分定位,即垂直方向上没有定位,那么它在垂直方向的对齐方式则会按照alignment指定的对齐方式对齐,即垂直方向居中。对于第三个子文本组件Text(\"Your friend\"),和第二个Text原理一样,只不过是水平方向没有定位,则水平方向居中。\n我们给上例中的Stack指定一个fit属性,然后将三个子文本组件的顺序调整一下:\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显示效果如图4-10所示:\n\n可以看到,由于第二个子文本组件没有定位,所以fit属性会对它起作用,就会占满Stack。由于Stack子元素是堆叠的,所以第一个子文本组件被第二个遮住了,而第三个在最上层,所以可以正常显示。\n"},"chapter4/alignment.html":{"url":"chapter4/alignment.html","title":"4.6:对齐与相对定位(Align)","keywords":"","body":"4.6 对齐与相对定位(Align)\n在上一节中我们讲过通过Stack和Positioned,我们可以指定一个或多个子元素相对于父元素各个边的精确偏移,并且可以重叠。但如果我们只想简单的调整一个子元素在父元素中的位置的话,使用Align组件会更简单一些。\n4.6.1 Align\nAlign 组件可以调整子组件的位置,并且可以根据子组件的宽高来确定自身的的宽高,定义如下:\nAlign({\n Key key,\n this.alignment = Alignment.center,\n this.widthFactor,\n this.heightFactor,\n Widget child,\n})\n\n\nalignment : 需要一个AlignmentGeometry类型的值,表示子组件在父组件中的起始位置。AlignmentGeometry 是一个抽象类,它有两个常用的子类:Alignment和 FractionalOffset,我们将在下面的示例中详细介绍。\nwidthFactor和heightFactor是用于确定Align 组件本身宽高的属性;它们是两个缩放因子,会分别乘以子元素的宽、高,最终的结果就是Align 组件的宽高。\n\n示例\n我们先来看一个简单的例子:\nContainer(\n height: 120.0,\n width: 120.0,\n color: Colors.blue[50],\n child: Align(\n alignment: Alignment.topRight,\n child: FlutterLogo(\n size: 60,\n ),\n ),\n)\n\n运行效果如图4-11所示:\n\nFlutterLogo 是Flutter SDK提供的一个组件,内容就是Flutter的商标。在上面的例子中,我们显式指定了Container的宽、高都为120。如果我们不显式指定宽高,而通过同时指定widthFactor和heightFactor 为2也是可以达到同样的效果:\nAlign(\n widthFactor: 2,\n heightFactor: 2,\n alignment: Alignment.topRight,\n child: FlutterLogo(\n size: 60,\n ),\n),\n\n因为FlutterLogo的宽高为60,则Align的最终宽高都为2*60=120。\n另外,我们通过Alignment.topRight将FlutterLogo定位在Container的右上角。那Alignment.topRight是什么呢?通过源码我们可以看到其定义如下:\n//右上角\nstatic const Alignment topRight = Alignment(1.0, -1.0);\n\n可以看到它只是Alignment的一个实例,下面我们介绍一下Alignment。\nAlignment\nAlignment继承自AlignmentGeometry,表示矩形内的一个点,他有两个属性x、y,分别表示在水平和垂直方向的偏移,Alignment定义如下:\nAlignment(this.x, this.y)\n\nAlignment Widget会以矩形的中心点作为坐标原点,即Alignment(0.0, 0.0) 。x、y的值从-1到1分别代表矩形左边到右边的距离和顶部到底边的距离,因此2个水平(或垂直)单位则等于矩形的宽(或高),如Alignment(-1.0, -1.0) 代表矩形的左侧顶点,而Alignment(1.0, 1.0)代表右侧底部终点,而Alignment(1.0, -1.0) 则正是右侧顶点,即Alignment.topRight。为了使用方便,矩形的原点、四个顶点,以及四条边的终点在Alignment类中都已经定义为了静态常量。\nAlignment可以通过其坐标转换公式将其坐标转为子元素的具体偏移坐标:\n(Alignment.x*childWidth/2+childWidth/2, Alignment.x*childHeight+childHeight/2)\n其中childWidth为子元素的宽度,childHeight为子元素高度。\n现在我们再看看上面的示例,我们将Alignment(1.0, -1.0)带入上面公式,可得FlutterLogo的实际偏移坐标正是(60,0)。下面再看一个例子:\n Align(\n widthFactor: 2,\n heightFactor: 2,\n alignment: Alignment(2,0.0),\n child: FlutterLogo(\n size: 60,\n ),\n)\n\n我们可以先想象一下运行效果:将Alignment(2,0.0)带入上述坐标转换公式,可以得到FlutterLogo的实际偏移坐标为(90,30)。实际运行如图4-12所示:\n\nFractionalOffset\nFractionalOffset 继承自 Alignment,它和 Alignment唯一的区别就是坐标原点不同!FractionalOffset 的坐标原点为矩形的左侧顶点,这和布局系统的一致,所以理解起来会比较容易。FractionalOffset的坐标转换公式为:\n实际偏移 = (FractionalOffse.x * childWidth, FractionalOffse.y * childHeight)\n下面看一个例子:\nContainer(\n height: 120.0,\n width: 120.0,\n color: Colors.blue[50],\n child: Align(\n alignment: FractionalOffset(0.2, 0.6),\n child: FlutterLogo(\n size: 60,\n ),\n ),\n)\n\n实际运行效果如图4-13所示下:\n\n我们将FractionalOffset(0.2, 0.6)带入坐标转换公式得FlutterLogo实际偏移为(12,36),和实际运行效果吻合。\n4.6.2 Align和Stack对比\n可以看到,Align和Stack/Positioned都可以用于指定子元素相对于父元素的偏移,但它们还是有两个主要区别:\n\n定位参考系统不同;Stack/Positioned定位的的参考系可以是父容器矩形的四个顶点;而Align则需要先通过alignment 参数来确定坐标原点,不同的alignment会对应不同原点,最终的偏移是需要通过alignment的转换公式来计算出。\nStack可以有多个子元素,并且子元素可以堆叠,而Align只能有一个子元素,不存在堆叠。\n\n4.6.3 Center组件\n我们在前面章节的例子中已经使用过Center组件来居中子元素了,现在我们正式来介绍一下它。通过查找SDK源码,我们看到Center组件定义如下:\nclass Center extends Align {\n const Center({ Key key, double widthFactor, double heightFactor, Widget child })\n : super(key: key, widthFactor: widthFactor, heightFactor: heightFactor, child: child);\n}\n\n可以看到Center继承自Align,它比Align只少了一个alignment 参数;由于Align的构造函数中alignment 值为Alignment.center,所以,我们可以认为Center组件其实是对齐方式确定(Alignment.center)了的Align。\n总结\n本节重点介绍了Align组件及两种偏移类Alignment 和FractionalOffset,读者需要理解这两种偏移类的区别及各自的坐标转化公式。另外,在此建议读者在需要制定一些精确的偏移时应优先使用FractionalOffset,因为它的坐标原点和布局系统相同,能更容易算出实际偏移。\n在后面,我们又介绍了Align组件和Stack/Positioned、Center的关系,读者可以对比理解。\n还有,熟悉Web开发的同学可能会发现Align组件的特性和Web开发中相对定位(position: relative)非常像,是的!在大多数时候,我们可以直接使用Align组件来实现Web中相对定位的效果,读者可以类比记忆。\n"},"chapter5/":{"url":"chapter5/","title":"第五章:容器类组件","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":"5.1:填充(Padding)","keywords":"","body":"5.1 填充(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示例\n下面的示例主要展示了EdgeInsets的不同用法,比较简单,源码如下:\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运行效果如图5-1所示:\n\n"},"chapter5/constrainedbox_and_sizebox.html":{"url":"chapter5/constrainedbox_and_sizebox.html","title":"5.2:尺寸限制类容器(ConstrainedBox等)","keywords":"","body":"5.2 尺寸限制类容器\n尺寸限制类容器用于限制容器大小,Flutter中提供了多种这样的容器,如ConstrainedBox、SizedBox、UnconstrainedBox、AspectRatio等,本节将介绍一些常用的。\n5.2.1 ConstrainedBox\nConstrainedBox用于对子组件添加额外的约束。例如,如果你想让子组件的最小高度是80像素,你可以使用const BoxConstraints(minHeight: 80.0)作为子组件的约束。\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运行效果如图5-2所示:\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文档。\n5.2.2 SizedBox\nSizedBox用于给子元素指定固定的宽高,如:\nSizedBox(\n width: 80.0,\n height: 80.0,\n child: redBox\n)\n\n运行效果如图5-3所示:\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\n5.2.3 多重限制\n如果某一个组件有多个父级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,他们的限制条件不同,运行后效果如图5-4所示:\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运行效果如图5-5所示:\n\n最终的显示效果仍然是90,高60,效果相同,但意义不同,因为此时minWidth生效的是父ConstrainedBox,而minHeight是子ConstrainedBox生效。\n通过上面示例,我们发现有多重限制时,对于minWidth和minHeight来说,是取父子中相应数值较大的。实际上,只有这样才能保证父限制与子限制不冲突。\n\n思考题:对于maxWidth和maxHeight,多重限制的策略是什么样的呢?\n\n5.2.4 UnconstrainedBox\nUnconstrainedBox不会对子组件产生任何限制,它允许其子组件按照其本身大小绘制。一般情况下,我们会很少直接使用此组件,但在\"去除\"多重限制的时候也许会有帮助,我们看下下面的代码:\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)仍然是生效的,只不过它不影响最终子元素redBox的大小,但仍然还是占有相应的空间,可以认为此时的父ConstrainedBox是作用于子UnconstrainedBox上,而redBox只受子ConstrainedBox限制,这一点请读者务必注意。\n那么有什么方法可以彻底去除父ConstrainedBox的限制吗?答案是否定的!所以在此提示读者,在定义一个通用的组件时,如果要对子组件指定限制,那么一定要注意,因为一旦指定限制条件,子组件如果要进行相关自定义大小时将可能非常困难,因为子组件在不更改父组件的代码的情况下无法彻底去除其限制条件。\n在实际开发中,当我们发现已经使用SizedBox或ConstrainedBox给子元素指定了宽高,但是仍然没有效果时,几乎可以断定:已经有父元素已经设置了限制!举个例子,如Material组件库中的AppBar(导航栏)的右侧菜单中,我们使用SizedBox指定了loading按钮的大小,代码如下:\n AppBar(\n title: Text(title),\n actions: [\n SizedBox(\n width: 20, \n height: 20,\n child: CircularProgressIndicator(\n strokeWidth: 3,\n valueColor: AlwaysStoppedAnimation(Colors.white70),\n ),\n )\n ],\n)\n\n上面代码运行后,效果如图5-7所示:\n\n我们会发现右侧loading按钮大小并没有发生变化!这正是因为AppBar中已经指定了actions按钮的限制条件,所以我们要自定义loading按钮大小,就必须通过UnconstrainedBox来“去除”父元素的限制,代码如下:\nAppBar(\n title: Text(title),\n actions: [\n UnconstrainedBox(\n child: SizedBox(\n width: 20,\n height: 20,\n child: CircularProgressIndicator(\n strokeWidth: 3,\n valueColor: AlwaysStoppedAnimation(Colors.white70),\n ),\n ),\n )\n ],\n)\n\n运行后效果如图5-8所示:\n\n生效了!\n5.2.4 其它尺寸限制类容器\n除了上面介绍的这些常用的尺寸限制类容器外,还有一些其他的尺寸限制类容器,比如AspectRatio,它可以指定子组件的长宽比、LimitedBox 用于指定最大宽高、FractionallySizedBox 可以根据父容器宽高的百分比来设置子组件宽高等,由于这些容器使用起来都比较简单,我们便不再赘述,读者可以自行了解。\n"},"chapter5/decoratedbox.html":{"url":"chapter5/decoratedbox.html","title":"5.3:装饰容器(DecoratedBox)","keywords":"","body":"5.3 装饰容器DecoratedBox\nDecoratedBox可以在其子组件绘制前(或后)绘制一些装饰(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:在子组件之后绘制,即背景装饰。\nforeground:在子组件之上绘制,即前景。\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运行后效果如图5-9所示:\n\n怎么样,通过BoxDecoration我们实现了一个渐变按钮的外观,但此示例还不是一个标准的按钮,因为它还不能响应点击事件,我们将在后面“自定义组件”一章中实现一个完整功能的GradientButton。另外,上面的例子中使用了LinearGradient类,它用于定义线性渐变的类,Flutter中还提供了其它渐变配置类,如RadialGradient、SweepGradient,读者若有需要可以自行查看API文档。\n"},"chapter5/transform.html":{"url":"chapter5/transform.html","title":"5.4:变换(Transform)","keywords":"","body":"5.4 变换(Transform)\nTransform可以在其子组件绘制时对其应用一些矩阵变换来实现一些特效。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运行效果如图5-10所示:\n\n\n关于矩阵变换的相关内容属于线性代数范畴,本书不做讨论,读者有兴趣可以自行了解。本书中,我们把焦点放在Flutter中一些常见的变换效果上。另外,由于矩阵变化时发生在绘制时,而无需重新布局和构建等过程,所以性能很好。\n\n平移\nTransform.translate接收一个offset参数,可以在绘制时沿x、y轴对子组件平移指定的距离。\nDecoratedBox(\n decoration:BoxDecoration(color: Colors.red),\n //默认原点为左上角,左移20像素,向上平移5像素 \n child: Transform.translate(\n offset: Offset(-20.0, -5.0),\n child: Text(\"Hello world\"),\n ),\n)\n\n效果如图5-11所示:\n\n旋转\nTransform.rotate可以对子组件进行旋转变换,如:\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效果如图5-12所示:\n\n缩放\nTransform.scale可以对子组件进行缩小或放大,如:\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效果如图5-13所示:\n\n注意\n\nTransform的变换是应用在绘制阶段,而并不是应用在布局(layout)阶段,所以无论对子组件应用何种变化,其占用空间的大小和在屏幕上的位置都是固定不变的,因为这些是在布局阶段就确定的。下面我们具体说明:\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运行效果如图5-14所示:\n\n由于第一个Text应用变换(放大)后,其在绘制时会放大,但其占用的空间依然为红色部分,所以第二个Text会紧挨着红色部分,最终就会出现文字重合。\n\n由于矩阵变化只会作用在绘制阶段,所以在某些场景下,在UI需要变化时,可以直接通过矩阵变化来达到视觉上的UI改变,而不需要去重新触发build流程,这样会节省layout的开销,所以性能会比较好。如之前介绍的Flow组件,它内部就是用矩阵变换来更新UI,除此之外,Flutter的动画组件中也大量使用了Transform以提高性能。\n\n\n\n思考题:使用Transform对其子组件先进行平移然后再旋转和先旋转再平移,两者最终的效果一样吗?为什么?\n\nRotatedBox\nRotatedBox和Transform.rotate功能相似,它们都可以对子组件进行旋转变换,但是有一点不同:RotatedBox的变换是在layout阶段,会影响在子组件的位置和大小。我们将上面介绍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效果如图5-15所示:\n\n由于RotatedBox是作用于layout阶段,所以子组件会旋转90度(而不只是绘制的内容),decoration会作用到子组件所占用的实际空间上,所以最终就是上图的效果,读者可以和前面Transform.rotate示例对比理解。\n"},"chapter5/container.html":{"url":"chapter5/container.html","title":"5.5:Container容器","keywords":"","body":"5.5 Container\n我们在前面的章节示例中多次用到过Container组件,本节我们就详细介绍一下Container组件。Container是一个组合类容器,它本身不对应具体的RenderObject,它是DecoratedBox、ConstrainedBox、Transform、Padding、Align等组件组合的一个多功能容器,所以我们只需通过一个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\nContainer的大多数属性在介绍其它容器时都已经介绍过了,不再赘述,但有两点需要说明:\n\n容器的大小可以通过width、height属性来指定,也可以通过constraints来指定;如果它们同时存在时,width、height优先。实际上Container内部会根据width、height来生成一个constraints。\ncolor和decoration是互斥的,如果同时设置它们则会报错!实际上,当指定color时,Container内会自动创建一个decoration。\n\n实例\n我们通过Container来实现如图5-16所示的卡片:\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具备多种组件的功能,通过查看Container源码,我们会很容易发现它正是前面我们介绍过的多种组件组合而成。在Flutter中,Container组件也正是组合优先于继承的实例。\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 组件来实现的,上面的示例代码实际上等价于:\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":"5.6:Scaffold、TabBar、底部导航","keywords":"","body":"5.6 Scaffold、TabBar、底部导航\nMaterial组件库提供了丰富多样的组件,本节介绍一些常用的组件,其余的读者可以自行查看文档或Flutter Gallery中Material组件部分的示例。\n\nFlutter Gallery是Flutter官方提供的Flutter Demo,源码位于flutter源码中的examples目录下,笔者强烈建议用户将Flutter Gallery示例跑起来,它是一个很全面的Flutter示例应用,是非常好的参考Demo,也是笔者学习Flutter的第一手资料。\n\n5.6.1 Scaffold\n一个完整的数路由页可能会包含导航栏、抽屉菜单(Drawer)以及底部Tab导航菜单等。如果每个路由页面都需要开发者自己手动去实现这些,这会是一件非常麻烦且无聊的事。幸运的是,Flutter Material组件库提供了一些现成的组件来减少我们的开发任务。Scaffold是一个路由页的骨架,我们使用它可以很容易地拼装出一个完整的页面。\n示例\n我们实现一个页面,它包含:\n\n一个导航栏\n导航栏右边有一个分享按钮\n有一个抽屉菜单\n有一个底部导航\n右下角有一个悬浮的动作按钮\n\n最终效果如图5-18、图5-19所示:\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上面代码中我们用到了如下组件:\n\n\n\n组件名称\n解释\n\n\n\n\nAppBar\n一个导航栏骨架\n\n\nMyDrawer\n抽屉菜单\n\n\nBottomNavigationBar\n底部导航栏\n\n\nFloatingActionButton\n漂浮按钮\n\n\n\n下面我们来分别介绍一下它们。\n5.6.2 AppBar\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代码运行效果如图5-20所示:\n\n可以看到左侧菜单已经替换成功。\n代码中打开抽屉菜单的方法在ScaffoldState中,通过Scaffold.of(context)可以获取父级最近的Scaffold 组件的State对象,原理可以参考本书后面“Element与BuildContext” 一章。Flutter还有一种通用的获取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按钮组,将要实现的效果如图5-21所示:\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\n上面代码首先创建了一个TabController ,它是用于控制/监听Tab菜单切换的。接下来通过TabBar生成了一个底部菜单栏,TabBar的tabs属性接受一个Widget数组,表示每一个Tab子菜单,我们可以自定义,也可以像示例中一样直接使用Tab 组件,它是Material组件库提供的Material风格的Tab菜单。\nTab组件有三个可选参数,除了可以指定文字外,还可以指定Tab菜单图标,或者直接自定义组件样式。Tab组件定义如下:\nTab({\n Key key,\n this.text, // 菜单文本\n this.icon, // 菜单图标\n this.child, // 自定义组件样式\n})\n\n开发者可以根据实际需求来定制。\nTabBarView\n通过TabBar我们只能生成一个静态的菜单,真正的Tab页还没有实现。由于Tab菜单和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组件,通过它不仅可以轻松的实现Tab页,而且可以非常容易的配合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运行后效果如图5-22所示:\n\n现在,无论是点击导航栏Tab菜单还是在页面上左右滑动,Tab页面都会切换,并且Tab菜单的状态和Tab页面始终保持同步!那它们是如何实现同步的呢?细心的读者可能已经发现,上例中TabBar和TabBarView的controller是同一个!正是如此,TabBar和TabBarView正是通过同一个controller来实现菜单切换和滑动状态同步的,有关TabController的详细信息,我们不再本书做过多介绍,使用时读者直接查看SDK即可。\n另外,Material组件库也提供了一个PageView 组件,它和TabBarView功能相似,读者可以自行了解一下。\n5.6.3 抽屉菜单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 //移除抽屉菜单顶部默认留白\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默认的一些留白(比如Drawer默认顶部会留和手机状态栏等高的留白),读者可以尝试传递不同的参数来看看实际效果。抽屉菜单页由顶部和底部组成,顶部由用户头像和昵称组成,底部是一个菜单列表,用ListView实现,关于ListView我们将在后面“可滚动组件”一节详细介绍。\n5.6.4 FloatingActionButton\nFloatingActionButton是Material设计规范中的一种特殊Button,通常悬浮在页面的某一个位置作为某种常用动作的快捷入口,如本节示例中页面右下角的\"➕\"号按钮。我们可以通过Scaffold的floatingActionButton属性来设置一个FloatingActionButton,同时通过floatingActionButtonLocation属性来指定其在页面中悬浮的位置,这个比较简单,不再赘述。\n5.6.5 底部Tab导航栏\n我们可以通过Scaffold的bottomNavigationBar属性来设置底部导航,如本节开始示例所示,我们通过Material组件库提供的BottomNavigationBar和BottomNavigationBarItem两种组件来实现Material风格的底部导航栏。可以看到上面的实现代码非常简单,所以不再赘述,但是如果我们想实现如图5-23所示效果的底部导航栏应该怎么做呢?\n\nMaterial组件库中提供了一个BottomAppBar 组件,它可以和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\n所以打洞位置在底部导航栏的正中间。\nBottomAppBar的shape属性决定洞的外形,CircularNotchedRectangle实现了一个圆形的外形,我们也可以自定义外形,比如,Flutter Gallery示例中就有一个”钻石“形状的示例,读者感兴趣可以自行查看。\n"},"chapter5/clip.html":{"url":"chapter5/clip.html","title":"5.7:剪裁(Clip)","keywords":"","body":"5.7 剪裁(Clip)\nFlutter中提供了一些剪裁函数,用于对组件进行剪裁。\n\n\n\n剪裁Widget\n作用\n\n\n\n\nClipOval\n子组件为正方形时剪裁为内贴圆形,为矩形时,剪裁为内贴椭圆\n\n\nClipRRect\n将子组件剪裁为圆角矩形\n\n\nClipRect\n剪裁子组件到实际占用的矩形大小(溢出部分剪裁)\n\n\n\n下面看一个例子:\nimport 'package:flutter/material.dart';\n\nclass ClipTestRoute extends StatelessWidget {\n @override\n Widget build(BuildContext context) {\n // 头像 \n Widget avatar = Image.asset(\"imgs/avatar.png\", width: 60.0);\n return Center(\n child: Column(\n children: [\n avatar, //不剪裁\n ClipOval(child: avatar), //剪裁为圆形\n ClipRRect( //剪裁为圆角矩形\n borderRadius: BorderRadius.circular(5.0),\n child: avatar,\n ), \n Row(\n mainAxisAlignment: MainAxisAlignment.center,\n children: [\n Align(\n alignment: Alignment.topLeft,\n widthFactor: .5,//宽度设为原来宽度一半,另一半会溢出\n child: avatar,\n ),\n Text(\"你好世界\", style: TextStyle(color: Colors.green),)\n ],\n ),\n Row(\n mainAxisAlignment: MainAxisAlignment.center,\n children: [\n ClipRect(//将溢出部分剪裁\n child: Align(\n alignment: Alignment.topLeft,\n widthFactor: .5,//宽度设为原来宽度一半\n child: avatar,\n ),\n ),\n Text(\"你好世界\",style: TextStyle(color: Colors.green))\n ],\n ),\n ],\n ),\n );\n }\n}\n\n运行效果如图5-24所示:\n\n上面示例代码注释比较详细,在此不再赘述。但值得一提的是最后的两个Row!它们通过Align设置widthFactor为0.5后,图片的实际宽度等于60×0.5,即原宽度一半,但此时图片溢出部分依然会显示,所以第一个“你好世界”会和图片的另一部分重合,为了剪裁掉溢出部分,我们在第二个Row中通过ClipRect将溢出部分剪裁掉了。\nCustomClipper\n如果我们想剪裁子组件的特定区域,比如,在上面示例的图片中,如果我们只想截取图片中部40×30像素的范围应该怎么做?这时我们可以使用CustomClipper来自定义剪裁区域,实现代码如下:\n首先,自定义一个CustomClipper:\nclass MyClipper extends CustomClipper {\n @override\n Rect getClip(Size size) => Rect.fromLTWH(10.0, 15.0, 40.0, 30.0);\n\n @override\n bool shouldReclip(CustomClipper oldClipper) => false;\n}\n\n\ngetClip()是用于获取剪裁区域的接口,由于图片大小是60×60,我们返回剪裁区域为Rect.fromLTWH(10.0, 15.0, 40.0, 30.0),及图片中部40×30像素的范围。\nshouldReclip() 接口决定是否重新剪裁。如果在应用中,剪裁区域始终不会发生变化时应该返回false,这样就不会触发重新剪裁,避免不必要的性能开销。如果剪裁区域会发生变化(比如在对剪裁区域执行一个动画),那么变化后应该返回true来重新执行剪裁。\n\n然后,我们通过ClipRect来执行剪裁,为了看清图片实际所占用的位置,我们设置一个红色背景:\nDecoratedBox(\n decoration: BoxDecoration(\n color: Colors.red\n ),\n child: ClipRect(\n clipper: MyClipper(), //使用自定义的clipper\n child: avatar\n ),\n)\n\n运行效果如图5-25所示:\n\n可以看到我们的剪裁成功了,但是图片所占用的空间大小仍然是60×60(红色区域),这是因为剪裁是在layout完成后的绘制阶段进行的,所以不会影响组件的大小,这和Transform原理是相似的。\n"},"chapter6/":{"url":"chapter6/","title":"第六章:可滚动组件","keywords":"","body":"本章目录\n\n可滚动Widgets简介\nSingleChildScrollView\nListView\nGridView \nCustomScrollView \n滚动监听及控制ScrollController \n\n"},"chapter6/intro.html":{"url":"chapter6/intro.html","title":"6.1:可滚动组件简介","keywords":"","body":"6.1 可滚动组件简介\n当组件内容超过当前显示视口(ViewPort)时,如果没有特殊处理,Flutter则会提示Overflow错误。为此,Flutter提供了多种可滚动组件(Scrollable Widget)用于显示列表和长布局。在本章中,我们先介绍一下常用的可滚动组件(如ListView、GridView等),然后介绍一下ScrollController。可滚动组件都直接或间接包含一个Scrollable组件,因此它们包括一些共同的属性,为了避免重复介绍,我们在此统一介绍一下:\nScrollable({\n ...\n this.axisDirection = AxisDirection.down,\n this.controller,\n this.physics,\n @required this.viewportBuilder, //后面介绍\n})\n\n\naxisDirection滚动方向。\nphysics:此属性接受一个ScrollPhysics类型的对象,它决定可滚动组件如何响应用户操作,比如用户滑动完抬起手指后,继续执行动画;或者滑动到边界时,如何显示。默认情况下,Flutter会根据具体平台分别使用不同的ScrollPhysics对象,应用不同的显示效果,如当滑动到边界时,继续拖动的话,在iOS上会出现弹性效果,而在Android上会出现微光效果。如果你想在所有平台下使用同一种效果,可以显式指定一个固定的ScrollPhysics,Flutter SDK中包含了两个ScrollPhysics的子类,他们可以直接使用:\nClampingScrollPhysics:Android下微光效果。\nBouncingScrollPhysics:iOS下弹性效果。\n\n\ncontroller:此属性接受一个ScrollController对象。ScrollController的主要作用是控制滚动位置和监听滚动事件。默认情况下,Widget树中会有一个默认的PrimaryScrollController,如果子树中的可滚动组件没有显式的指定controller,并且primary属性值为true时(默认就为true),可滚动组件会使用这个默认的PrimaryScrollController。这种机制带来的好处是父组件可以控制子树中可滚动组件的滚动行为,例如,Scaffold正是使用这种机制在iOS中实现了点击导航栏回到顶部的功能。我们将在本章后面“滚动控制”一节详细介绍ScrollController。\n\nScrollbar\nScrollbar是一个Material风格的滚动指示器(滚动条),如果要给可滚动组件添加滚动条,只需将Scrollbar作为可滚动组件的任意一个父级组件即可,如:\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基于Sliver的延迟构建\n通常可滚动组件的子组件可能会非常多、占用的总高度也会非常大;如果要一次性将子组件全部构建出将会非常昂贵!为此,Flutter中提出一个Sliver(中文为”薄片“的意思)概念,如果一个可滚动组件支持Sliver模型,那么该滚动可以将子组件分成好多个”薄片“(Sliver),只有当Sliver出现在视口中时才会去构建它,这种模型也称为”基于Sliver的延迟构建模型“。可滚动组件中有很多都支持基于Sliver的延迟构建模型,如ListView、GridView,但是也有不支持该模型的,如SingleChildScrollView。\n主轴和纵轴\n在可滚动组件的坐标描述中,通常将滚动方向称为主轴,非滚动方向称为纵轴。由于可滚动组件的默认方向一般都是沿垂直方向,所以默认情况下主轴就是指垂直方向,水平方向同理。\n"},"chapter6/single_child_scrollview.html":{"url":"chapter6/single_child_scrollview.html","title":"6.2:SingleChildScrollView","keywords":"","body":"6.2 SingleChildScrollView\nSingleChildScrollView类似于Android中的ScrollView,它只能接收一个子组件。定义如下:\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时,那么滑动方向就是从右往左。其实此属性本质上是决定可滚动组件的初始滚动位置是在“头”还是“尾”,取false时,初始滚动位置在“头”,反之则在“尾”,读者可以自己试验。\nprimary:指是否使用widget树中默认的PrimaryScrollController;当滑动方向为垂直方向(scrollDirection值为Axis.vertical)并且没有指定controller时,primary默认为true.\n\n需要注意的是,通常SingleChildScrollView只应在期望的内容不会超过屏幕太多时使用,这是因为SingleChildScrollView不支持基于Sliver的延迟实例化模型,所以如果预计视口可能包含超出屏幕尺寸太多的内容时,那么使用SingleChildScrollView将会非常昂贵(性能差),此时应该使用一些支持Sliver延迟加载的可滚动组件,如ListView。\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运行效果如图6-1所示:\n\n"},"chapter6/listview.html":{"url":"chapter6/listview.html","title":"6.3:ListView","keywords":"","body":"6.3 ListView\nListView是最常用的可滚动组件之一,它可以沿一个方向线性排布所有子组件,并且它也支持基于Sliver的延迟构建模型。我们看看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上面参数分为两组:第一组是可滚动组件的公共参数,本章第一节中已经介绍过,不再赘述;第二组是ListView各个构造函数(ListView有多个构造函数)的共同参数,我们重点来看看这些参数,:\n\nitemExtent:该参数如果不为null,则会强制children的”长度“为itemExtent的值;这里的”长度“是指滚动方向上子组件的长度,也就是说如果滚动方向是垂直方向,则itemExtent代表子组件的高度;如果滚动方向为水平方向,则itemExtent就代表子组件的宽度。在ListView中,指定itemExtent比让子组件自己决定自身长度会更高效,这是因为指定itemExtent后,滚动系统可以提前知道列表的长度,而无需每次构建子组件时都去再计算一下,尤其是在滚动位置频繁变化时(滚动系统需要频繁去计算列表高度)。\nshrinkWrap:该属性表示是否根据子组件的总长度来设置ListView的长度,默认值为false 。默认情况下,ListView的会在滚动方向尽可能多的占用空间。当ListView在一个无边界(滚动方向上)的容器中时,shrinkWrap必须为true。\naddAutomaticKeepAlives:该属性表示是否将列表项(子组件)包裹在AutomaticKeepAlive 组件中;典型地,在一个懒加载列表中,如果将列表项包裹在AutomaticKeepAlive中,在该列表项滑出视口时它也不会被GC(垃圾回收),它会使用KeepAliveNotification来保存其状态。如果列表项自己维护其KeepAlive状态,那么此参数必须置为false。\naddRepaintBoundaries:该属性表示是否将列表项(子组件)包裹在RepaintBoundary组件中。当可滚动组件滚动时,将列表项包裹在RepaintBoundary中可以避免列表项重绘,但是当列表项重绘的开销非常小(如一个颜色块,或者一个较短的文本)时,不添加RepaintBoundary反而会更高效。和addAutomaticKeepAlive一样,如果列表项自己维护其KeepAlive状态,那么此参数必须置为false。\n\n\n注意:上面这些参数并非ListView特有,在本章后面介绍的其它可滚动组件也可能会拥有这些参数,它们的含义是相同的。\n\n默认构造函数\n默认构造函数有一个children参数,它接受一个Widget列表(List)。这种方式适合只有少量的子组件的情况,因为这种方式需要将所有children都提前创建好(这需要做大量工作),而不是等到子widget真正显示的时候再创建,也就是说通过默认构造函数构建的ListView没有应用基于Sliver的懒加载模型。实际上通过此方式创建的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再次强调,可滚动组件通过一个List来作为其children属性时,只适用于子组件较少的情况,这是一个通用规律,并非ListView自己的特性,像GridView也是如此。\n\nListView.builder\nListView.builder适合列表项比较多(或者无限)的情况,因为只有当子组件真正显示的时候才会被创建,也就说通过该构造函数创建的ListView是支持基于Sliver的懒加载模型的。下面看一下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\n可滚动组件的构造函数如果需要一个列表项Builder,那么通过该构造函数构建的可滚动组件通常就是支持基于Sliver的懒加载模型的,反之则不支持,这是个一般规律。我们在后面在介绍可滚动组件的构造函数时将不再专门说明其是否支持基于Sliver的懒加载模型了。\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运行效果如图6-2所示:\n\nListView.separated\nListView.separated可以在生成的列表项之间添加一个分割组件,它比ListView.builder多了一个separatorBuilder参数,该参数是一个分割组件生成器。\n下面我们看一个例子:奇数行添加一条蓝色下划线,偶数行添加一条绿色下划线。\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 super.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运行后效果如图6-4、6-5所示:\n\n代码比较简单,读者可以参照代码中的注释理解,故不再赘述。需要说明的是,_retrieveData()的功能是模拟从数据源异步获取数据,我们使用english_words包的generateWordPairs()方法每次生成20个单词。\n添加固定列表头\n很多时候我们需要给列表添加一个固定表头,比如我们想实现一个商品列表,需要在列表顶部添加一个“商品列表”标题,期望的效果如图6-6所示:\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运行效果如图6-7所示:\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运行效果如下图6-8所示:\n\n可以看到,我们期望的效果实现了,但是这种方法并不优雅,如果页面布局发生变化,比如表头布局调整导致表头高度改变,那么剩余空间的高度就得重新计算。那么有什么方法可以自动拉伸ListView以填充屏幕剩余空间的方法吗?当然有!答案就是Flex。前面已经介绍过在弹性布局中,可以使用Expanded自动拉伸组件大小,并且我们也说过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总结\n本节主要介绍了ListView的一些公共参数以及常用的构造函数。不同的构造函数对应了不同的列表项生成模型,如果需要自定义列表项生成模型,可以通过ListView.custom来自定义,它需要实现一个SliverChildDelegate用来给ListView生成列表项组件,更多详情请参考API文档。\n"},"chapter6/gridview.html":{"url":"chapter6/gridview.html","title":"6.4:GridView","keywords":"","body":"6.4 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子组件如何排列(layout)。\nSliverGridDelegate是一个抽象类,定义了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两个参数共同决定的。注意,这里的子元素指的是子组件的最大显示空间,注意确保子组件的实际大小不要超出子元素的空间。\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)内的话,子元素最终实际长度都为112.5,而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":"6.5:CustomScrollView","keywords":"","body":"6.5 CustomScrollView\nCustomScrollView是可以使用Sliver来自定义滚动模型(效果)的组件。它可以包含多种滚动模型,举个例子,假设有一个页面,顶部需要一个GridView,底部需要一个ListView,而要求整个页面的滑动效果是统一的,即它们看起来是一个整体。如果使用GridView+ListView来实现的话,就不能保证一致的滑动效果,因为它们的滚动效果是分离的,所以这时就需要一个\"胶水\",把这些彼此独立的可滚动组件\"粘\"起来,而CustomScrollView的功能就相当于“胶水”。\n可滚动组件的Sliver版\nSliver在前面讲过,有细片、薄片之意,在Flutter中,Sliver通常指可滚动组件子元素(就像一个个薄片一样)。但是在CustomScrollView中,需要粘起来的可滚动组件就是CustomScrollView的Sliver了,如果直接将ListView、GridView作为CustomScrollView是不行的,因为它们本身是可滚动组件而并不是Sliver!因此,为了能让可滚动组件能和CustomScrollView配合使用,Flutter提供了一些可滚动组件的Sliver版,如SliverList、SliverGrid等。实际上Sliver版的可滚动组件和非Sliver版的可滚动组件最大的区别就是前者不包含滚动模型(子身不能再滚动),而后者包含滚动模型 ,也正因如此,CustomScrollView才可以将多个Sliver\"粘\"在一起,这些Sliver共用CustomScrollView的Scrollable,所以最终才实现了统一的滑动效果。\n\nSliver系列Widget比较多,我们不会一一介绍,读者只需记住它的特点,需要时再去查看文档即可。上面之所以说“大多数“Sliver都和可滚动组件对应,是由于还有一些如SliverPadding、SliverAppBar等是和可滚动组件无关的,它们主要是为了结合CustomScrollView一起使用,这是因为CustomScrollView的子组件必须都是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个子组件。\n底部SliverFixedExtentList:它是一个所有子元素高度都为50像素的列表。\n\n运行效果如图:\n\n"},"chapter6/scroll_controller.html":{"url":"chapter6/scroll_controller.html","title":"6.6:滚动监听及控制(ScrollController)","keywords":"","body":"6.6 滚动监听及控制\n在前几节中,我们介绍了Flutter中常用的可滚动组件,也说过可以用ScrollController来控制可滚动组件的滚动位置,本节先介绍一下ScrollController,然后以ListView为例,展示一下ScrollController的具体用法。最后,再介绍一下路由切换时如何来保存滚动位置。\n6.6.1 ScrollController\nScrollController构造函数如下:\nScrollController({\n double initialScrollOffset = 0.0, //初始滚动位置\n this.keepScrollOffset = true,//是否保存滚动位置\n ...\n})\n\n我们介绍一下ScrollController常用的属性和方法:\n\noffset:可滚动组件当前的滚动位置。\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是一个用于保存页面(路由)相关数据的组件,它并不会影响子树的UI外观,其实,PageStorage是一个功能型组件,它拥有一个存储桶(bucket),子树中的Widget可以通过指定不同的PageStorageKey来存储各自的数据或状态。\n每次滚动结束,可滚动组件都会将滚动位置offset存储到PageStorage中,当可滚动组件重新创建时再恢复。如果ScrollController.keepScrollOffset为false,则滚动位置将不会被存储,可滚动组件重新创建时会使用ScrollController.initialScrollOffset;ScrollController.keepScrollOffset为true时,可滚动组件在第一次创建时,会滚动到initialScrollOffset处,因为这时还没有存储过滚动位置。在接下来的滚动中就会存储、恢复滚动位置,而initialScrollOffset会被忽略。\n当一个路由中包含多个可滚动组件时,如果你发现在进行一些跳转或切换操作后,滚动位置不能正确恢复,这时你可以通过显式指定PageStorageKey来分别跟踪不同的可滚动组件的位置,如:\nListView(key: PageStorageKey(1), ... );\n...\nListView(key: PageStorageKey(2), ... );\n\n不同的PageStorageKey,需要不同的值,这样才可以为不同可滚动组件保存其滚动位置。\n\n注意:一个路由中包含多个可滚动组件时,如果要分别跟踪它们的滚动位置,并非一定就得给他们分别提供PageStorageKey。这是因为Scrollable本身是一个StatefulWidget,它的状态中也会保存当前滚动位置,所以,只要可滚动组件本身没有被从树上detach掉,那么其State就不会销毁(dispose),滚动位置就不会丢失。只有当Widget发生结构变化,导致可滚动组件的State销毁或重新构建时才会丢失状态,这种情况就需要显式指定PageStorageKey,通过PageStorage来存储滚动位置,一个典型的场景是在使用TabBarView时,在Tab发生切换时,Tab页中的可滚动组件的State就会销毁,这时如果想恢复滚动位置就需要指定PageStorageKey。\n\nScrollPosition\nScrollPosition是用来保存可滚动组件的滚动位置的。一个ScrollController对象可以同时被多个可滚动组件使用,ScrollController会为每一个可滚动组件创建一个ScrollPosition对象,这些ScrollPosition保存在ScrollController的positions属性中(List)。ScrollPosition是真正保存滑动位置信息的对象,offset只是一个便捷属性:\ndouble get offset => position.pixels;\n\n一个ScrollController虽然可以对应多个可滚动组件,但是有一些操作,如读取滚动位置offset,则需要一对一!但是我们仍然可以在一对多的情况下,通过其它方法读取滚动位置,举个例子,假设一个ScrollController同时被两个可滚动组件使用,那么我们可以通过如下方式分别读取他们的滚动位置:\n...\ncontroller.positions.elementAt(0).pixels\ncontroller.positions.elementAt(1).pixels\n...\n\n我们可以通过controller.positions.length来确定controller被几个可滚动组件使用。\nScrollPosition的方法\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和可滚动组件关联时,可滚动组件首先会调用ScrollController的createScrollPosition()方法来创建一个ScrollPosition来存储滚动位置信息,接着,可滚动组件会调用attach()方法,将创建的ScrollPosition添加到ScrollController的positions属性中,这一步称为“注册位置”,只有注册后animateTo() 和 jumpTo()才可以被调用。\n当可滚动组件销毁时,会调用ScrollController的detach()方法,将其ScrollPosition对象从ScrollController的positions属性中移除,这一步称为“注销位置”,注销后animateTo() 和 jumpTo() 将不能再被调用。\n需要注意的是,ScrollController的animateTo() 和 jumpTo()内部会调用所有ScrollPosition的animateTo() 和 jumpTo(),以实现所有和该ScrollController关联的可滚动组件都滚动到指定的位置。\n6.6.2 滚动监听\nFlutter Widget树中子Widget可以通过发送通知(Notification)与父(包括祖先)Widget通信。父级组件可以通过NotificationListener组件来监听自己关注的通知,这种通信方式类似于Web开发中浏览器的事件冒泡,我们在Flutter中沿用“冒泡”这个术语,关于通知冒泡我们将在后面”事件处理与通知“一章中详细介绍。\n可滚动组件在滚动时会发送ScrollNotification类型的通知,ScrollBar正是通过监听滚动通知来实现的。通过NotificationListener监听滚动事件和通过ScrollController有两个主要的不同:\n\n通过NotificationListener可以在从可滚动组件到widget树根之间任意位置都能监听。而ScrollController只能和具体的可滚动组件关联后才可以。\n收到滚动事件后获得的信息不同;NotificationListener在收到滚动事件时,通知中会携带当前滚动位置和ViewPort的一些信息,而ScrollController只能获取当前滚动位置。\n\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运行结果如图6-16所示:\n\n在接收到滚动事件时,参数类型为ScrollNotification,它包括一个metrics属性,它的类型是ScrollMetrics,该属性包含当前ViewPort及滚动位置等信息:\n\npixels:当前滚动位置。\nmaxScrollExtent:最大可滚动长度。\nextentBefore:滑出ViewPort顶部的长度;此示例中相当于顶部滑出屏幕上方的列表长度。\nextentInside:ViewPort内部长度;此示例中屏幕显示的列表部分的长度。\nextentAfter:列表中未滑入ViewPort部分的长度;此示例中列表底部未显示到屏幕范围部分的长度。\natEdge:是否滑到了可滚动组件的边界(此示例中相当于列表顶或底部)。\n\nScrollMetrics还有一些其它属性,读者可以自行查阅API文档。\n"},"chapter7/":{"url":"chapter7/","title":"第七章:功能型组件","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":"7.1:导航返回拦截(WillPopScope)","keywords":"","body":"7.1 导航返回拦截(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":"7.2:数据共享(InheritedWidget)","keywords":"","body":"7.2 数据共享(InheritedWidget)\nInheritedWidget是Flutter中非常重要的一个功能型组件,它提供了一种数据在widget树种从上到下的传递、共享方式,比如我们在应用的根widget中通过InheritedWidget共享了一个数据,那么我们便可以在任意子widget中来获取该共享的数据!这个特性在一些需要在widget树中共享数据的场景中非常方便!如Flutter SDK中正是通过InheritedWidget来共享应用主题(Theme)和Locale (当前语言环境)信息的。\n\nInheritedWidget和React中的context功能类似,和逐级传递数据相比,它们能实现组件跨级传递数据。InheritedWidget的在widget树中数据传递方向是从上到下的,这和通知Notification(将在下一章中介绍)的传递方向正好相反。\n\ndidChangeDependencies\n在之前介绍StatefulWidget时,我们提到State对象有一个didChangeDependencies回调,它会在“依赖”发生变化时被Flutter Framework调用。而这个“依赖”指的就是子widget是否使用了父widget中InheritedWidget的数据!如果使用了,则代表子widget依赖有依赖InheritedWidget;如果没有使用则代表没有依赖。这种机制可以使子组件在所依赖的InheritedWidget变化时来更新自身!比如当主题、locale(语言)等发生变化时,依赖其的子widget的didChangeDependencies方法将会被调用。\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 final 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 //如果返回true,则子树中依赖(build函数中有调用)本widget\n //的子widget的`state.didChangeDependencies`会被调用\n return old.data != data;\n }\n}\n\n然后我们实现一个子组件_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运行后界面如图7-1所示:\n\n每点击一次按钮,计数器就会自增,控制台就会打印一句日志:\nI/flutter ( 8513): Dependencies change\n可见依赖发生变化后,其didChangeDependencies()会被调用。但是读者要注意,如果_TestWidget的build方法中没有使用ShareDataWidget的数据,那么它的didChangeDependencies()将不会被调用,因为它并没有依赖ShareDataWidget。例如,我们将__TestWidgetState代码该为下面这样,didChangeDependencies()将不会被调用:\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 return Text(\"text\");\n }\n\n @override\n void didChangeDependencies() {\n super.didChangeDependencies();\n // build方法中没有依赖InheritedWidget,此回调不会被调用。\n print(\"Dependencies change\");\n }\n}\n\n上面的代码中,我们将build()方法中依赖ShareDataWidget的代码注释掉了,然后返回一个固定Text,这样一来,当点击Increment按钮后,ShareDataWidget的data虽然发生变化,但由于__TestWidgetState并未依赖ShareDataWidget,所以__TestWidgetState的didChangeDependencies方法不会被调用。其实,这个机制很好理解,因为在数据发生变化时只对使用该数据的Widget更新是合理并且性能友好的。\n\n思考题:Flutter framework是怎么知道子widget有没有依赖InheritedWidget的?\n\n应该在didChangeDependencies()中做什么?\n一般来说,子widget很少会重写此方法,因为在依赖改变后framework也都会调用build()方法。但是,如果你需要在依赖改变后执行一些昂贵的操作,比如网络请求,这时最好的方式就是在此方法中执行,这样可以避免每次build()都执行这些昂贵操作。\n深入了解InheritedWidget\n现在来思考一下,如果我们只想在__TestWidgetState中引用ShareDataWidget数据,但却不希望在ShareDataWidget发生变化时调用__TestWidgetState的didChangeDependencies()方法应该怎么办?其实答案很简单,我们只需要将ShareDataWidget.of()的实现改一下即可:\n//定义一个便捷方法,方便子树中的widget获取共享数据\nstatic ShareDataWidget of(BuildContext context) {\n //return context.inheritFromWidgetOfExactType(ShareDataWidget);\n return context.ancestorInheritedElementForWidgetOfExactType(ShareDataWidget).widget;\n}\n\n唯一的改动就是获取ShareDataWidget对象的方式,把inheritFromWidgetOfExactType()方法换成了context.ancestorInheritedElementForWidgetOfExactType(ShareDataWidget).widget,那么他们到底有什么区别呢,我们看一下这两个方法的源码(实现代码在Element类中,Context和Element的关系我们将在后面专门介绍):\n@override\nInheritedElement ancestorInheritedElementForWidgetOfExactType(Type targetType) {\n final InheritedElement ancestor = _inheritedWidgets == null ? null : _inheritedWidgets[targetType];\n return ancestor;\n}\n\n@override\nInheritedWidget inheritFromWidgetOfExactType(Type targetType, { Object aspect }) {\n final InheritedElement ancestor = _inheritedWidgets == null ? null : _inheritedWidgets[targetType];\n //多出的部分\n if (ancestor != null) {\n assert(ancestor is InheritedElement);\n return inheritFromElement(ancestor, aspect: aspect);\n }\n _hadUnsatisfiedDependencies = true;\n return null;\n}\n\n我们可以看到,inheritFromWidgetOfExactType() 比 ancestorInheritedElementForWidgetOfExactType()多调了inheritFromElement方法,inheritFromElement源码如下:\n@override\nInheritedWidget inheritFromElement(InheritedElement ancestor, { Object aspect }) {\n //注册依赖关系\n _dependencies ??= HashSet();\n _dependencies.add(ancestor);\n ancestor.updateDependencies(this, aspect);\n return ancestor.widget;\n}\n\n可以看到inheritFromElement方法中主要是注册了依赖关系!看到这里也就清晰了,调用inheritFromWidgetOfExactType() 和 ancestorInheritedElementForWidgetOfExactType()的却别就是前者会注册依赖关系,而后者不会,所以在调用inheritFromWidgetOfExactType()时,InheritedWidget和依赖它的子孙组件关系变完成了注册,之后当InheritedWidget发生变化时,就会更新依赖它的孙组件,也就是会调用依赖它的孙组件的didChangeDependencies()方法和build()方法。而当调用的是 ancestorInheritedElementForWidgetOfExactType()时,由于没有注册依赖关系,所以之后当InheritedWidget发生变化时,就不会更新相应的子孙Widget。\n注意,如果将上面示例中ShareDataWidget.of()方法实现改成调用ancestorInheritedElementForWidgetOfExactType(),运行示例后,点击\"Increment\"按钮,会发现__TestWidgetState的didChangeDependencies()方法确实不会再被调用,但是其build()仍然会被调用!造成这个的原因其实是,点击\"Increment\"按钮后,会调用_InheritedWidgetTestRouteState的setState()方法,此时会重新构建整个页面,由于示例中,__TestWidget 并没有任何缓存,所以它也都会被重新构建,所以也会调用build()方法。\n那么,现在就带来了一个问题:实际上,我们只想更新子树中依赖了ShareDataWidget的组件,而现在只要调用_InheritedWidgetTestRouteState的setState()方法,所有子节点都会被重新build,这很没必要,那么有什么办法可以避免呢?答案是缓存!一个简单的作法就是通过封装一个StatefulWidget,将子Widget树缓存起来,具体作法下一节我们将通过实现一个Provider Widget 来演示如何缓存,以及如何利用InheritedWidget 来实现Flutter全局状态共享。\n"},"chapter7/provider.html":{"url":"chapter7/provider.html","title":"7.3: 跨组件状态共享(Provider)","keywords":"","body":"7.3 跨组件状态共享(Provider)\n在Flutter开发中,状态管理是一个永恒的话题。一般的原则是:如果状态是组件私有的,则应该由组件自己管理;如果状态要跨组件共享,则该状态应该由各个组件共同的父元素来管理。对于组件私有的状态管理很好理解,但对于跨组件共享的状态,管理的方式就比较多了,如使用全局事件总线EventBus(将在下一章中介绍),它是一个观察者模式的实现,通过它就可以实现跨组件状态同步:状态持有方(发布者)负责更新、发布状态,状态使用方(观察者)监听状态改变事件来执行一些操作。下面我们看一个登陆状态同步的简单示例:\n定义事件:\nenum Event{\n login,\n ... //省略其它事件\n}\n\n登录页代码大致如下:\n// 登录状态改变后发布状态改变事件\nbus.emit(Event.login);\n\n依赖登录状态的页面:\nvoid onLoginChanged(e){\n //登录状态变化处理逻辑\n}\n\n@override\nvoid initState() {\n //订阅登录状态改变事件\n bus.on(Event.login,onLogin);\n super.initState();\n}\n\n@override\nvoid dispose() {\n //取消订阅\n bus.off(Event.login,onLogin);\n super.dispose();\n}\n\n我们可以发现,通过观察者模式来实现跨组件状态共享有一些明显的缺点:\n\n必须显式定义各种事件,不好管理\n订阅者必须需显式注册状态改变回调,也必须在组件销毁时手动去解绑回调以避免内存泄露。\n\n在Flutter当中有没有更好的跨组件状态管理方式了呢?答案是肯定的,那怎么做的?我们想想前面介绍的InheritedWidget,它的天生特性就是能绑定InheritedWidget与依赖它的子孙组件的依赖关系,并且当InheritedWidget数据发生变化时,可以自动更新依赖的子孙组件!利用这个特性,我们可以将需要跨组件共享的状态保存在InheritedWidget中,然后在子组件中引用InheritedWidget即可,Flutter社区著名的Provider包正是基于这个思想实现的一套跨组件状态共享解决方案,接下来我们便详细介绍一下Provider的用法及原理。\nProvider\n为了加强读者的理解,我们不直接去看Provider包的源代码,相反,我会带着你根据上面描述的通过InheritedWidget实现的思路来一步一步地实现一个最小功能的Provider。\n首先,我们需要一个保存需要共享的数据InheritedWidget,由于具体业务数据类型不可预期,为了通用性,我们使用泛型,定义一个通用的InheritedProvider类,它继承自InheritedWidget:\n// 一个通用的InheritedWidget,保存任需要跨组件共享的状态\nclass InheritedProvider extends InheritedWidget {\n InheritedProvider({@required this.data, Widget child}) : super(child: child);\n\n //共享状态使用泛型\n final T data;\n\n @override\n bool updateShouldNotify(InheritedProvider old) {\n //在此简单返回true,则每次更新都会调用依赖其的子孙节点的`didChangeDependencies`。\n return true;\n }\n}\n\n数据保存的地方有了,那么接下来我们需要做的就是在数据发生变化的时候来重新构建InheritedProvider,那么现在就面临两个问题:\n\n数据发生变化怎么通知?\n谁来重新构建InheritedProvider?\n\n第一个问题其实很好解决,我们当然可以使用之前介绍的eventBus来进行事件通知,但是为了更贴近Flutter开发,我们使用Flutter中SDK中提供的ChangeNotifier类 ,它继承自Listenable,也实现了一个Flutter风格的发布者-订阅者模式,ChangeNotifier定义大致如下:\nclass ChangeNotifier implements Listenable {\n\n @override\n void addListener(VoidCallback listener) {\n //添加监听器\n }\n @override\n void removeListener(VoidCallback listener) {\n //移除监听器\n }\n\n void notifyListeners() {\n //通知所有监听器,触发监听器回调 \n }\n\n ... //省略无关代码\n}\n\n我们可以通过调用addListener()和removeListener()来添加、移除监听器(订阅者);通过调用notifyListeners() 可以触发所有监听器回调。\n现在,我们将要共享的状态放到一个Model类中,然后让它继承自ChangeNotifier,这样当共享的状态改变时,我们只需要调用notifyListeners() 来通知订阅者,然后由订阅者来重新构建InheritedProvider,这也是第二个问题的答案!接下来我们便实现这个订阅者类:\n// 该方法用于在Dart中获取模板类型\nType _typeOf() => T;\n\nclass ChangeNotifierProvider extends StatefulWidget {\n ChangeNotifierProvider({\n Key key,\n this.data,\n this.child,\n });\n\n final Widget child;\n final T data;\n\n //定义一个便捷方法,方便子树中的widget获取共享数据\n static T of(BuildContext context) {\n final type = _typeOf>();\n final provider = context.inheritFromWidgetOfExactType(type) as InheritedProvider;\n return provider.data;\n }\n\n @override\n _ChangeNotifierProviderState createState() => _ChangeNotifierProviderState();\n}\n\n该类继承StatefulWidget,然后定义了一个of()静态方法供子类方便获取Widget树中的InheritedProvider中保存的共享状态(model),下面我们实现该类对应的_ChangeNotifierProviderState类:\nclass _ChangeNotifierProviderState extends State> {\n void update() {\n //如果数据发生变化(model类调用了notifyListeners),重新构建InheritedProvider\n setState(() => {});\n }\n\n @override\n void didUpdateWidget(ChangeNotifierProvider oldWidget) {\n //当Provider更新时,如果新旧数据不\"==\",则解绑旧数据监听,同时添加新数据监听\n if (widget.data != oldWidget.data) {\n oldWidget.data.removeListener(update);\n widget.data.addListener(update);\n }\n super.didUpdateWidget(oldWidget);\n }\n\n @override\n void initState() {\n // 给model添加监听器\n widget.data.addListener(update);\n super.initState();\n }\n\n @override\n void dispose() {\n // 移除model的监听器\n widget.data.removeListener(update);\n super.dispose();\n }\n\n @override\n Widget build(BuildContext context) {\n return InheritedProvider(\n data: widget.data,\n child: widget.child,\n );\n }\n}\n\n可以看到_ChangeNotifierProviderState类的主要作用就是监听到共享状态(model)改变时重新构建Widget树。注意,在_ChangeNotifierProviderState类中调用setState()方法,widget.child始终是同一个,所以执行build时,InheritedProvider的child引用的始终是同一个子widget,所以widget.child并不会重新build,这也就相当于对child进行了缓存!当然如果ChangeNotifierProvider父级Widget重新build时,则其传入的child便有可能会发生变化。\n现在我们所需要的各个工具类都已完成,下面我们通过一个购物车的例子来看看怎么使用上面的这些类。\n购物车示例\n我们需要实现一个显示购物车中所有商品总价的功能:\n\n向购物车中添加新商品时总价更新\n\n定义一个Item类,用于表示商品信息:\nclass Item {\n Item(this.price, this.count);\n double price; //商品单价\n int count; // 商品份数\n //... 省略其它属性\n}\n\n定义一个保存购物车内商品数据的CartModel类:\nclass CartModel extends ChangeNotifier {\n // 用于保存购物车中商品列表\n final List _items = [];\n\n // 禁止改变购物车里的商品信息\n UnmodifiableListView get items => UnmodifiableListView(_items);\n\n // 购物车中商品的总价\n double get totalPrice =>\n _items.fold(0, (value, item) => value + item.count * item.price);\n\n // 将 [item] 添加到购物车。这是唯一一种能从外部改变购物车的方法。\n void add(Item item) {\n _items.add(item);\n // 通知监听器(订阅者),重新构建InheritedProvider, 更新状态。\n notifyListeners();\n }\n}\n\n CartModel即要跨组件共享的model类。最后我们构建示例页面:\nclass ProviderRoute extends StatefulWidget {\n @override\n _ProviderRouteState createState() => _ProviderRouteState();\n}\n\nclass _ProviderRouteState extends State {\n @override\n Widget build(BuildContext context) {\n return Center(\n child: ChangeNotifierProvider(\n data: CartModel(),\n child: Builder(builder: (context) {\n return Column(\n children: [\n Builder(builder: (context){\n var cart=ChangeNotifierProvider.of(context);\n return Text(\"总价: ${cart.totalPrice}\");\n }),\n Builder(builder: (context){\n print(\"RaisedButton build\"); //在后面优化部分会用到\n return RaisedButton(\n child: Text(\"添加商品\"),\n onPressed: () {\n //给购物车中添加商品,添加后总价会更新\n ChangeNotifierProvider.of(context).add(Item(20.0, 1));\n },\n );\n }),\n ],\n );\n }),\n ),\n );\n }\n}\n\n运行示例后效果如图7-2所示:\n\n每次点击”添加商品“按钮,总价就会增加20,我们期望的功能实现了!可能有些读者会疑惑,我们饶了一大圈实现这么简单的功能有意义么?其实,就这个例子来看,只是更新同一个路由页中的一个状态,我们使用ChangeNotifierProvider的优势并不明显,但是如果我们是做一个购物APP呢?由于购物车数据是通常回事整个APP共享的数据,会跨路由共享,如果我们将ChangeNotifierProvider放在整个应用的Widget树的根上,那么整个APP就可以共享购物车的数据了,这时ChangeNotifierProvider的优势将会非常明显。\n虽然上面的例子比较简单,但它却将Provider的原理和流程体现的很清楚,图7-3是Provider的原理图:\n\nModel变化后会自动通知ChangeNotifierProvider(订阅者),ChangeNotifierProvider内部会重新构建InheritedWidget,而依赖该InheritedWidget的子孙Widget就会更新。\n我们可以发现使用Provider,将会带来如下收益:\n\n我们的业务代码更关注数据了,只要更新Model,则UI会自动更新,而不用在状态改变后再去手动调用setState()来显式更新页面。\n数据改变的消息传递被屏蔽了,我们无需手动去处理状态改变事件的发布和订阅了,这一切都被封装在Provider中了。这真的很棒,帮我们省掉了大量的工作!\n在大型复杂应用中,尤其是需要全局共享的状态非常多时,使用Provider将会大大简化我们的代码逻辑,降低出错的概率,提高开发效率。 \n\n优化\n我们上面实现的ChangeNotifierProvider是有两个明显缺点:代码组织为题和性能问题,下面我们一一讨论。\n代码组织问题\n我们先看一下构建显示总价Text的代码:\nBuilder(builder: (context){\n var cart=ChangeNotifierProvider.of(context);\n return Text(\"总价: ${cart.totalPrice}\");\n})\n\n这段代码有两点可以优化:\n\n需要显式调用ChangeNotifierProvider.of,当APP内部依赖CartModel很多时,这样的代码将很冗余。\n语义化不明确;由于ChangeNotifierProvider是订阅者,那么依赖CartModel的Widget自然就是订阅者,其实也就是状态的消费者,如果我们用Builder Widget来构建,语义话就不是很明确;如果我们能使用一个具有明确语义的Widget,比如就叫Consumer,这样最终的代码语义将会很明确,只要看到Consumer,我们就知道它是依赖某个跨组件或全局的状态。\n\n为了优化这两个问题,我们可以封装一个Consumer Widget,实现如下:\n// 这是一个便捷类,会获得当前context和指定数据类型的Provider\nclass Consumer extends StatelessWidget {\n Consumer({\n Key key,\n @required this.builder,\n this.child,\n }) : assert(builder != null),\n super(key: key);\n\n final Widget child;\n\n final Widget Function(BuildContext context, T value) builder;\n\n @override\n Widget build(BuildContext context) {\n return builder(\n context,\n ChangeNotifierProvider.of(context), //自动获取Model\n );\n }\n}\n\nConsumer实现非常简单,它通过指定模板参数,然后再内部自动调用ChangeNotifierProvider.of获取相应的Model,并且Consumer这个名字本身也是具有确切语义(消费者)。现在上面的代码块可以优化为如下这样:\nConsumer(\n builder: (context, cart)=> Text(\"总价: ${cart.totalPrice}\");\n)\n\n是不是很优雅!\n性能问题\n上面的代码还有一个性能问题,就在构建”添加按钮“的代码处:\nBuilder(builder: (context) {\n print(\"RaisedButton build\"); // 构建时输出日志\n return RaisedButton(\n child: Text(\"添加商品\"),\n onPressed: () {\n ChangeNotifierProvider.of(context).add(Item(20.0, 1));\n },\n );\n}\n\n我们点击”添加商品“按钮后,由于购物车商品总价会变化,所以显示总价的Text更新是符合预期的,但是”添加商品“按钮本身没有变化,是不应该被重新build的。但是我们运行示例,每次点击”添加商品“按钮,控制台都会输出\"RaisedButton build\"日志,也就是说”添加商品“按钮在每次点击时其自身都会重新build!这是为什么呢?如果你已经理解了InheritedWidget的更新机制,那么答案一眼就能看出:这是因为构建RaisedButton的Builder中调用了ChangeNotifierProvider.of,也就是说依赖了Widget树上面的InheritedWidget(即InheritedProvider )Widget,所以当添加完商品后,CartModel发生变化,会通知ChangeNotifierProvider, 而ChangeNotifierProvider则会重新构建子树,所以InheritedProvider将会更新,此时依赖它的子孙Widget就会被重新构建。\n问题的原因搞清楚了,那么我们如何避免这不必要重构呢?既然按钮重新被build是因为按钮和InheritedWidget建立了依赖关系,那么我们只要打破或解除这种依赖关系就可以了。那么如何解除按钮和InheritedWidget的依赖关系呢?我们上一节介绍InheritedWidget时已经讲过了:调用inheritFromWidgetOfExactType() 和 ancestorInheritedElementForWidgetOfExactType()的却别就是前者会注册依赖关系,而后者不会。所以我们只需要将ChangeNotifierProvider.of的实现改为下面这样既可:\n //添加一个listen参数,表示是否建立依赖关系\n static T of(BuildContext context, {bool listen = true}) {\n final type = _typeOf>();\n final provider = listen\n ? context.inheritFromWidgetOfExactType(type) as InheritedProvider\n : context.ancestorInheritedElementForWidgetOfExactType(type)?.widget\n as InheritedProvider;\n return provider.data;\n }\n\n然后我们将调用部分代码改为:\nColumn(\n children: [\n Consumer(\n builder: (BuildContext context, cart) =>Text(\"总价: ${cart.totalPrice}\"),\n ),\n Builder(builder: (context) {\n print(\"RaisedButton build\");\n return RaisedButton(\n child: Text(\"添加商品\"),\n onPressed: () {\n // listen 设为false,不建立依赖关系\n ChangeNotifierProvider.of(context, listen: false)\n .add(Item(20.0, 1));\n },\n );\n })\n ],\n )\n\n修改后在此运行上面的示例,我们会发现点击”添加商品“按钮后,控制台不会再输出\"RaisedButton build\"了,即按钮不会被重新构建了。而总价仍然会更新,这是因为Consumer中调用ChangeNotifierProvider.of时listen值为默认值true,所以还是会建立依赖关系。\n至此我们便实现了一个迷你的Provider,它具备Pub上Provider Package中的核心功能;但是我们的迷你版功能并不全面,如只实现了一个可监听的ChangeNotifierProvider,并没有实现只用于数据共享的Provider;还有就是我们的实现还有些边界没有考虑的到,比如如何保证在Widget树重新build时Model始终是单例等。所以建议读者在实战中还是使用Provider Package,而本节实现这个迷你Provider的主要目的主要是为了帮助读者了解Provider Package底层的原理。\n其它状态管理包\n现在Flutter社区已经有很多专门用于状态管理的包了,在此我们列出几个相对评分比较高的:\n\n\n\n包名\n介绍\n\n\n\n\nProvider & Scoped Model\n这两个包都是基于InheritedWidget的,原理相似\n\n\nRedux\n是Web开发中React生态链中Redux包的Flutter实现\n\n\nMobX\n是Web开发中React生态链中MobX包的Flutter实现\n\n\nBLoC\n是BLoC模式的Flutter实现\n\n\n\n在此笔者不对这些包做推荐,读者有兴趣都可以研究一下,了解它们各自的思想。\n总结\n本节通过介绍事件总线在跨组件共享中的一些缺点引出了通过InheritedWidget来实现状态的共享的思想,然后基于该思想实现了一个简单的Provider,在实现的过程中也更深入的探索了InheritedWidget与其依赖项的注册机制和更新机制。通过本节的学习,读者应该达到两个目标,首先是对InheritedWidget彻底吃透,其次是Provider的设计思想。\nInheritedWidget是Flutter中非常重要的一个Widget,像国际化、主题等都是通过它来实现,所以我们也不惜篇幅,通过好几节来介绍它的,在下一节中,我们将介绍另一个基于InheritedWidget的组件Theme(主题)。\n"},"chapter7/theme.html":{"url":"chapter7/theme.html","title":"7.4:颜色和主题(Theme)","keywords":"","body":"7.4 颜色和主题\n7.4.1 颜色\n在介绍主题前我们先了解一些Flutter中的Color类。Color类中颜色以一个int值保存,我们知道显示器颜色是由红、绿、蓝三基色组成,每种颜色站8比特,存储结构如下:\n\n\n\nBit(位)\n颜色\n\n\n\n\n0-7\n蓝色\n\n\n8-15\n绿色\n\n\n16-23\n红色\n\n\n24-31\nAlpha (不透明度)\n\n\n\n上面表格中的的字段在Color类中都有对应的属性,而Color中的众多方法也就是操作这些属性的,由于大多比较简单,读者可以查看类定义了解。在此我们主要讨论两点:色值转换和亮度。\n如何将颜色字符串转成Color对象\n如Web开发中的色值通常是一个字符串如\"#dc380d\",它是一个RGB值,我们可以通过下面这些方法将其转为Color类:\nColor(0xffdc380d); //如果颜色固定可以直接使用整数值\n//颜色是一个字符串变量\nvar c = \"dc380d\";\nColor(int.parse(c,radix:16)|0xFF000000) //通过位运算符将Alpha设置为FF\nColor(int.parse(c,radix:16)).withAlpha(255) //通过方法将Alpha设置为FF\n\n颜色亮度\n假如我们需要要实现一个背景颜色和Title可以自定义导航栏,并且背景色为深色时我们应该让Title显示浅色;背景色为浅色时,Title显示深色。要实现这个功能,我们就需要来计算背景色的亮度。Color类中提供了一个computeLuminance()方法,他可以返回一个[0-1]的一个值,数字越大颜色就越浅,我们可以根据它来动态确定Title的颜色,下面是导航栏NavBar的简单实现:\nclass NavBar extends StatelessWidget {\n final String title;\n final Color color; //背景颜色\n\n NavBar({\n Key key,\n this.color,\n this.title,\n });\n\n @override\n Widget build(BuildContext context) {\n return Container(\n constraints: BoxConstraints(\n minHeight: 52,\n minWidth: double.infinity,\n ),\n decoration: BoxDecoration(\n color: color,\n boxShadow: [\n //阴影\n BoxShadow(\n color: Colors.black26,\n offset: Offset(0, 3),\n blurRadius: 3,\n ),\n ],\n ),\n child: Text(\n title,\n style: TextStyle(\n fontWeight: FontWeight.bold,\n //根据背景色亮度来确定Title颜色\n color: color.computeLuminance() \n测试代码如下:\nColumn(\n children: [\n //背景为蓝色,则title自动为白色\n NavBar(color: Colors.blue, title: \"标题\"), \n //背景为白色,则title自动为黑色\n NavBar(color: Colors.white, title: \"标题\"),\n ]\n)\n\n运行效果如图7-4所示:\n\nMaterialColor\nMaterialColor是实现Material Design中的颜色的类,它包含一种颜色的10个级别的渐变色。MaterialColor通过\"[]\"运算符的索引值来代表颜色的深度,有效的索引有:50,100,200,…,900,数字越大,颜色越深。MaterialColor的默认值为索引等于500的颜色。举个例子,Colors.blue是预定义的一个MaterialColor类对象,定义如下:\nstatic const MaterialColor blue = MaterialColor(\n _bluePrimaryValue,\n {\n 50: Color(0xFFE3F2FD),\n 100: Color(0xFFBBDEFB),\n 200: Color(0xFF90CAF9),\n 300: Color(0xFF64B5F6),\n 400: Color(0xFF42A5F5),\n 500: Color(_bluePrimaryValue),\n 600: Color(0xFF1E88E5),\n 700: Color(0xFF1976D2),\n 800: Color(0xFF1565C0),\n 900: Color(0xFF0D47A1),\n },\n);\nstatic const int _bluePrimaryValue = 0xFF2196F3;\n\nColors.blue[50]到Colors.blue[100]的色值从浅蓝到深蓝渐变,效果如图7-5所示:\n\n7.4.2 Theme\nTheme组件可以为Material APP定义主题数据(ThemeData)。Material组件库里很多组件都使用了主题数据,如导航栏颜色、标题字体、Icon样式等。Theme内会使用InheritedWidget来为其子树共享样式数据。\nThemeData\nThemeData用于保存是Material 组件库的主题数据,Material组件需要遵守相应的设计规范,而这些规范可自定义部分都定义在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运行后点击右下角悬浮按钮则可以切换主题,如图7-6、7-7所示:\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"},"chapter7/futurebuilder_and_streambuilder.html":{"url":"chapter7/futurebuilder_and_streambuilder.html","title":"7.5:异步UI更新(FutureBuilder、StreamBuilder)","keywords":"","body":"7.5 异步UI更新(FutureBuilder、StreamBuilder)\n很多时候我们会依赖一些异步数据来动态更新UI,比如在打开一个页面时我们需要先从互联网上获取数据,在获取数据的过程中我们显式一个加载框,等获取到数据时我们再渲染页面;又比如我们想展示Stream(比如文件流、互联网数据接收流)的进度。当然,通过StatefulWidget我们完全可以实现上述这些功能。但由于在实际开发中依赖异步数据更新UI的这种场景非常常见,因此Flutter专门提供了FutureBuilder和StreamBuilder两个组件来快速实现这种功能。\n7.5.1 FutureBuilder\nFutureBuilder会依赖一个Future,它会根据所依赖的Future的状态来动态构建自身。我们看一下FutureBuilder构造函数:\nFutureBuilder({\n this.future,\n this.initialData,\n @required this.builder,\n})\n\n\nfuture:FutureBuilder依赖的Future,通常是一个异步耗时任务。\n\ninitialData:初始数据,用户设置默认数据。\n\nbuilder:Widget构建器;该构建器会在Future执行的不同阶段被多次调用,构建器签名如下:\nFunction (BuildContext context, AsyncSnapshot snapshot)\n\nsnapshot会包含当前异步任务的状态信息及结果信息 ,比如我们可以通过snapshot.connectionState获取异步任务的状态信息、通过snapshot.hasError判断异步任务是否有错误等等,完整的定义读者可以查看AsyncSnapshot类定义。\n另外,FutureBuilder的builder函数签名和StreamBuilder的builder是相同的。\n\n\n示例\n我们实现一个路由,当该路由打开时我们从网上获取数据,获取数据时弹一个加载框;获取结束时,如果成功则显示获取到的数据,如果失败则显示错误。由于我们还没有介绍在flutter中如何发起网络请求,所以在这里我们不真正去网络请求数据,而是模拟一下这个过程,隔3秒后返回一个字符串:\nFuture mockNetworkData() async {\n return Future.delayed(Duration(seconds: 2), () => \"我是从互联网上获取的数据\");\n}\n\nFutureBuilder使用代码如下:\n...\nWidget build(BuildContext context) {\n return Center(\n child: FutureBuilder(\n future: mockNetworkData(),\n builder: (BuildContext context, AsyncSnapshot snapshot) {\n // 请求已结束\n if (snapshot.connectionState == ConnectionState.done) {\n if (snapshot.hasError) {\n // 请求失败,显示错误\n return Text(\"Error: ${snapshot.error}\");\n } else {\n // 请求成功,显示数据\n return Text(\"Contents: ${snapshot.data}\");\n }\n } else {\n // 请求未结束,显示loading\n return CircularProgressIndicator();\n }\n },\n ),\n );\n}\n\n运行结果如图7-8、7-9所示:\n\n上面代码中我们在builder中根据当前异步任务状态ConnectionState来返回不同的widget。ConnectionState是一个枚举类,定义如下:\nenum ConnectionState {\n /// 当前没有异步任务,比如[FutureBuilder]的[future]为null时\n none,\n\n /// 异步任务处于等待状态\n waiting,\n\n /// Stream处于激活状态(流上已经有数据传递了),对于FutureBuilder没有该状态。\n active,\n\n /// 异步任务已经终止.\n done,\n}\n\n注意,ConnectionState.active只在StreamBuilder中才会出现。\n7.5.2 StreamBuilder\n我们知道,在Dart中Stream 也是用于接收异步事件数据,和Future 不同的是,它可以接收多个异步操作的结果,它常用于会多次读取数据的异步任务场景,如网络内容下载、文件读写等。StreamBuilder正是用于配合Stream来展示流上事件(数据)变化的UI组件。下面看一下StreamBuilder的默认构造函数:\nStreamBuilder({\n Key key,\n this.initialData,\n Stream stream,\n @required this.builder,\n})\n\n可以看到和FutureBuilder的构造函数只有一点不同:前者需要一个future,而后者需要一个stream。\n示例\n我们创建一个计时器的示例:每隔1秒,计数加1。这里,我们使用Stream来实现每隔一秒生成一个数字:\nStream counter() {\n return Stream.periodic(Duration(seconds: 1), (i) {\n return i;\n });\n}\n\nStreamBuilder使用代码如下:\n\n Widget build(BuildContext context) {\n return StreamBuilder(\n stream: counter(), //\n //initialData: ,// a Stream or null\n builder: (BuildContext context, AsyncSnapshot snapshot) {\n if (snapshot.hasError)\n return Text('Error: ${snapshot.error}');\n switch (snapshot.connectionState) {\n case ConnectionState.none:\n return Text('没有Stream');\n case ConnectionState.waiting:\n return Text('等待数据...');\n case ConnectionState.active:\n return Text('active: ${snapshot.data}');\n case ConnectionState.done:\n return Text('Stream已关闭');\n }\n return null; // unreachable\n },\n );\n }\n\n读者可以自己运行本示例查看运行结果。注意,本示例只是为了演示StreamBuilder的使用,在实战中,凡是UI会依赖多个异步数据而发生变化的场景都可以使用StreamBuilder。\n"},"chapter7/dailog.html":{"url":"chapter7/dailog.html","title":"7.6:对话框详解","keywords":"","body":"7.6 对话框详解\n本节将详细介绍一下Flutter中话框对话框的使用方式、实现原理、样式定制及状态管理。\n7.6.1 使用对话框\n对话框本质上也是UI布局,通常一个对话框会包含标题、内容,以及一些操作按钮,为此,Material库中提提供了一些现成的对话框组件来用于快速的构建出一个完整的对话框。\nAlertDialog\n下面我们主要介绍一下Material库中的AlertDialog组件,它的构造函数定义如下:\nconst AlertDialog({\n Key key,\n this.title, //对话框标题组件\n this.titlePadding, // 标题填充\n this.titleTextStyle, //标题文本样式\n this.content, // 对话框内容组件\n this.contentPadding = const EdgeInsets.fromLTRB(24.0, 20.0, 24.0, 24.0), //内容的填充\n this.contentTextStyle,// 内容文本样式\n this.actions, // 对话框操作按钮组\n this.backgroundColor, // 对话框背景色\n this.elevation,// 对话框的阴影\n this.semanticLabel, //对话框语义化标签(用于读屏软件)\n this.shape, // 对话框外形\n})\n\n参数都比较简单,不在赘述。下面我们看一个例子,假如我们要在删除文件事弹出一个确认对话框,该对话框如图7-10所示:\n\n该对话框样式代码如下:\nAlertDialog(\n title: Text(\"提示\"),\n content: Text(\"您确定要删除当前文件吗?\"),\n actions: [\n FlatButton(\n child: Text(\"取消\"),\n onPressed: () => Navigator.of(context).pop(), //关闭对话框\n ),\n FlatButton(\n child: Text(\"删除\"),\n onPressed: () {\n // ... 执行删除操作\n Navigator.of(context).pop(true); //关闭对话框\n },\n ),\n ],\n);\n\n实现代码很简单,不在赘述。唯一需要注意的是我们是通过Navigator.of(context).pop(…)方法来关闭对话框的,这和路由返回的方式是一致的,并且都可以返回一个结果数据。现在,对话框我们已经构建好了,那么如何将它弹出来呢?还有对话框返回的数据如何应如何被接收呢?这些问题的答案都在showDialog()方法中。\nshowDialog()是Material组件库提供的一个用于弹出Material风格对话框的方法,签名如下:\nFuture showDialog({\n @required BuildContext context,\n bool barrierDismissible = true, //点击对话框barrier(遮罩)时是否关闭它\n WidgetBuilder builder, // 对话框UI的builder\n})\n\n该方法只有两个参数,含义见注释。该方法返回一个Future,它正是用于接收对话框的返回值:如果我们是通过点击对话框遮罩关闭的,则Future的值为null,否则为我们通过Navigator.of(context).pop(result)返回的result值,下面我们看一下整个示例:\n//点击该按钮后弹出对话框\nRaisedButton(\n child: Text(\"对话框1\"),\n onPressed: () async {\n //弹出对话框并等待其关闭\n bool delete = await showDeleteConfirmDialog1();\n if (delete == null) {\n print(\"取消删除\");\n } else {\n print(\"已确认删除\");\n //... 删除文件\n }\n },\n),\n\n// 弹出对话框\nFuture showDeleteConfirmDialog1() {\n return showDialog(\n context: context,\n builder: (context) {\n return AlertDialog(\n title: Text(\"提示\"),\n content: Text(\"您确定要删除当前文件吗?\"),\n actions: [\n FlatButton(\n child: Text(\"取消\"),\n onPressed: () => Navigator.of(context).pop(), // 关闭对话框\n ),\n FlatButton(\n child: Text(\"删除\"),\n onPressed: () {\n //关闭对话框并返回true\n Navigator.of(context).pop(true);\n },\n ),\n ],\n );\n },\n );\n}\n\n示例运行后,我们点击对话框“取消”按钮或遮罩,控制台就会输出\"取消删除\",如果点击“删除”按钮,控制台就会输出\"已确认删除\"。\n\n注意:如果AlertDialog的内容过长,内容将会溢出,这在很多时候可能不是我们期望的,所以如果对话框内容过长时,可以用SingleChildScrollView将内容包裹起来。\n\nSimpleDialog\nSimpleDialog也是Material组件库提供的对话框,它会展示一个列表,用于列表选择的场景。下面是一个选择APP语言的示例,运行结果如图7-11。\n\n实现代码如下:\nFuture changeLanguage() async {\n int i = await showDialog(\n context: context,\n builder: (BuildContext context) {\n return SimpleDialog(\n title: const Text('请选择语言'),\n children: [\n SimpleDialogOption(\n onPressed: () {\n // 返回1\n Navigator.pop(context, 1);\n },\n child: Padding(\n padding: const EdgeInsets.symmetric(vertical: 6),\n child: const Text('中文简体'),\n ),\n ),\n SimpleDialogOption(\n onPressed: () {\n // 返回2\n Navigator.pop(context, 2);\n },\n child: Padding(\n padding: const EdgeInsets.symmetric(vertical: 6),\n child: const Text('美国英语'),\n ),\n ),\n ],\n );\n });\n\n if (i != null) {\n print(\"选择了:${i == 1 ? \"中文简体\" : \"美国英语\"}\");\n }\n}\n\n列表项组件我们使用了SimpleDialogOption组件来包装了一下,它相当于一个FlatButton,只不过按钮文案是左对齐的,并且padding较小。上面示例运行后,用户选择一种语言后,控制台就会打印出它。\nDialog\n实际上AlertDialog和SimpleDialog都使用了Dialog类。由于AlertDialog和SimpleDialog中使用了IntrinsicWidth来尝试通过子组件的实际尺寸来调整自身尺寸,这就导致他们的子组件不能是延迟加载模型的组件(如ListView、GridView 、 CustomScrollView等),如下面的代码运行后会报错。\nAlertDialog(\n content: ListView(\n children: ...//省略\n ),\n);\n\n如果我们就是需要嵌套一个ListView应该怎么做?这时,我们可以直接使用Dialog类,如:\nDialog(\n child: ListView(\n children: ...//省略\n ),\n);\n\n下面我们看一个弹出一个有30个列表项的对话框示例,运行效果如图7-12所示:\n\n实现代码如下:\nFuture showListDialog() async {\n int index = await showDialog(\n context: context,\n builder: (BuildContext context) {\n var child = Column(\n children: [\n ListTile(title: Text(\"请选择\")),\n Expanded(\n child: ListView.builder(\n itemCount: 30,\n itemBuilder: (BuildContext context, int index) {\n return ListTile(\n title: Text(\"$index\"),\n onTap: () => Navigator.of(context).pop(index),\n );\n },\n )),\n ],\n );\n //使用AlertDialog会报错\n //return AlertDialog(content: child);\n return Dialog(child: child);\n },\n );\n if (index != null) {\n print(\"点击了:$index\");\n }\n}\n\n现在,我们己经介绍完了AlertDialog、SimpleDialog以及Dialog。上面的示例中,我们在调用showDialog时,在builder中都是构建了这三个对话框组件的一种,可能有些读者会惯性的以为在builder中只能返回这三者之一,其实这不是必须的!就拿Dialog的示例来距离,我们完全可以用下面的代码来替代Dialog:\n// return Dialog(child: child) \nreturn UnconstrainedBox(\n constrainedAxis: Axis.vertical,\n child: ConstrainedBox(\n constraints: BoxConstraints(maxWidth: 280),\n child: Material(\n child: child,\n type: MaterialType.card,\n ),\n ),\n);\n\n上面代码运行后可以实现一样的效果。现在我们总结一下:AlertDialog、SimpleDialog以及Dialog是Material组件库提供的三种对话框,旨在帮助开发者快速构建出符合Material设计规范的对话框,但读者完全可以自定义对话框样式,因此,我们仍然可以实现各种样式的对话框,这样即带来了易用性,又有很强的扩展性。\n7.6.2 对话框打开动画及遮罩\n我们可以把对话框分为内部样式和外部样式两部分。内部样式指对话框中显示的具体内容,这部分内容我们已经在上面介绍过了;外部样式包含对话框遮罩样式、打开动画等,本节主要介绍如何自定义这些外部样式。\n\n关于动画相关内容我们将在本书后面章节介绍,下面内容读者可以先了解一下(不必深究),读者可以在学习完动画相关内容后再回头来看。\n\n我们已经介绍过了showDialog方法,它是Material组件库中提供的一个打开Material风格对话框的方法。那如何打开一个普通风格的对话框呢(非Material风格)? Flutter 提供了一个showGeneralDialog方法,签名如下:\nFuture showGeneralDialog({\n @required BuildContext context,\n @required RoutePageBuilder pageBuilder, //构建对话框内部UI\n bool barrierDismissible, //点击遮罩是否关闭对话框\n String barrierLabel, // 语义化标签(用于读屏软件)\n Color barrierColor, // 遮罩颜色\n Duration transitionDuration, // 对话框打开/关闭的动画时长\n RouteTransitionsBuilder transitionBuilder, // 对话框打开/关闭的动画\n})\n\n实际上,showDialog方法正是showGeneralDialog的一个封装,定制了Material风格对话框的遮罩颜色和动画。Material风格对话框打开/关闭动画是一个Fade(渐隐渐显)动画,如果我们想使用一个缩放动画就可以通过transitionBuilder来自定义。下面我们自己封装一个showCustomDialog方法,它定制的对话框动画为缩放动画,并同时制定遮罩颜色为Colors.black87:\nFuture showCustomDialog({\n @required BuildContext context,\n bool barrierDismissible = true,\n WidgetBuilder builder,\n}) {\n final ThemeData theme = Theme.of(context, shadowThemeOnly: true);\n return showGeneralDialog(\n context: context,\n pageBuilder: (BuildContext buildContext, Animation animation,\n Animation secondaryAnimation) {\n final Widget pageChild = Builder(builder: builder);\n return SafeArea(\n child: Builder(builder: (BuildContext context) {\n return theme != null\n ? Theme(data: theme, child: pageChild)\n : pageChild;\n }),\n );\n },\n barrierDismissible: barrierDismissible,\n barrierLabel: MaterialLocalizations.of(context).modalBarrierDismissLabel,\n barrierColor: Colors.black87, // 自定义遮罩颜色\n transitionDuration: const Duration(milliseconds: 150),\n transitionBuilder: _buildMaterialDialogTransitions,\n );\n}\n\nWidget _buildMaterialDialogTransitions(\n BuildContext context,\n Animation animation,\n Animation secondaryAnimation,\n Widget child) {\n // 使用缩放动画\n return ScaleTransition(\n scale: CurvedAnimation(\n parent: animation,\n curve: Curves.easeOut,\n ),\n child: child,\n );\n}\n\n现在,我们使用showCustomDialog打开文件删除确认对话框,代码如下:\n... //省略无关代码\nshowCustomDialog(\n context: context,\n builder: (context) {\n return AlertDialog(\n title: Text(\"提示\"),\n content: Text(\"您确定要删除当前文件吗?\"),\n actions: [\n FlatButton(\n child: Text(\"取消\"),\n onPressed: () => Navigator.of(context).pop(),\n ),\n FlatButton(\n child: Text(\"删除\"),\n onPressed: () {\n // 执行删除操作\n Navigator.of(context).pop(true);\n },\n ),\n ],\n );\n },\n);\n\n运行效果如图7-13所示:\n\n可以发现,遮罩颜色比通过showDialog方法打开的对话框更深。另外对话框打开/关闭的动画已变为缩放动画了,读者可以亲自运行示例查看效果。\n7.6.3 对话框实现原理\n我们已经知道对话框最终都是由showGeneralDialog方法打开的,我们来看看它的具体实现:\nFuture showGeneralDialog({\n @required BuildContext context,\n @required RoutePageBuilder pageBuilder,\n bool barrierDismissible,\n String barrierLabel,\n Color barrierColor,\n Duration transitionDuration,\n RouteTransitionsBuilder transitionBuilder,\n}) {\n return Navigator.of(context, rootNavigator: true).push(_DialogRoute(\n pageBuilder: pageBuilder,\n barrierDismissible: barrierDismissible,\n barrierLabel: barrierLabel,\n barrierColor: barrierColor,\n transitionDuration: transitionDuration,\n transitionBuilder: transitionBuilder,\n ));\n}\n\n实现很简单,直接调用Navigator的push方法打开了一个新的对话框路由_DialogRoute,然后返回了push的返回值。可以对话框实际上正是通过路由的形式实现的,这也是为什么我们可以使用Navigator的pop 方法来退出对话框的原因。关于对话框的样式定制在_DialogRoute中,没有什么新的东西,读者可以自行查看。\n7.6.4 对话框状态管理\n我们在用户选择删除一个文件时,会询问是否产出此文件;在用户选择一个文件夹是,应该再让用户确认是否删除子文件夹。为了在用户选择了文件夹时避免二次弹窗确认是否删除子目录,我们在确认对话框底部添加一个“同时删除子目录?”的复选框,如图7-14所示:\n\n现在就有一个问题:如何管理复选框的选中状态?习惯上,我们会在路由页的State中来管理选中状态,我们可能会写出如下这样的代码:\nclass _DialogRouteState extends State {\n bool withTree = false; // 复选框选中状态\n\n @override\n Widget build(BuildContext context) {\n return Column(\n children: [\n RaisedButton(\n child: Text(\"对话框2\"),\n onPressed: () async {\n bool delete = await showDeleteConfirmDialog2();\n if (delete == null) {\n print(\"取消删除\");\n } else {\n print(\"同时删除子目录: $delete\");\n }\n },\n ),\n ],\n );\n }\n\n Future showDeleteConfirmDialog2() {\n withTree = false; // 默认复选框不选中\n return showDialog(\n context: context,\n builder: (context) {\n return AlertDialog(\n title: Text(\"提示\"),\n content: Column(\n crossAxisAlignment: CrossAxisAlignment.start,\n mainAxisSize: MainAxisSize.min,\n children: [\n Text(\"您确定要删除当前文件吗?\"),\n Row(\n children: [\n Text(\"同时删除子目录?\"),\n Checkbox(\n value: withTree,\n onChanged: (bool value) {\n //复选框选中状态发生变化时重新构建UI\n setState(() {\n //更新复选框状态\n withTree = !withTree;\n });\n },\n ),\n ],\n ),\n ],\n ),\n actions: [\n FlatButton(\n child: Text(\"取消\"),\n onPressed: () => Navigator.of(context).pop(),\n ),\n FlatButton(\n child: Text(\"删除\"),\n onPressed: () {\n //执行删除操作\n Navigator.of(context).pop(withTree);\n },\n ),\n ],\n );\n },\n );\n }\n}\n\n然后,当我们运行上面的代码时我们会发现复选框根本选不中!为什么会这样呢?其实原因很简单,我们知道setState方法只会针对当前context的子树重新build,但是我们的对话框并不是在_DialogRouteState的build 方法中构建的,而是通过showDialog单独构建的,所以调用在_DialogRouteState的context中调用setState是无法影响通过showDialog构建的UI的。另外,我们可以从另外一个角度来理解这个现象,前面说过动画框也是通过路由的方式来实现的,那么上面的代码实际上就等同于企图在父路由中调用setState来让子路由更新,这显然是不行的!简尔言之,根本原因就是context不对。那如何让复选框可点击呢?有常规方法和一个精妙的方法,下面我们分别介绍:\n常规方法\n既然是context不对,那么直接的思路就是将复选框的选中逻辑单独封装成一个StatefulWidget,然后其再内部管理复选状态。我们先来看看这种方法,下面是实现代码:\n// 单独封装一个内部管理选中状态的复选框组件\nclass DialogCheckbox extends StatefulWidget {\n DialogCheckbox({\n Key key,\n this.value,\n @required this.onChanged,\n });\n\n final ValueChanged onChanged;\n final bool value;\n\n @override\n _DialogCheckboxState createState() => _DialogCheckboxState();\n}\n\nclass _DialogCheckboxState extends State {\n bool value;\n\n @override\n void initState() {\n value = widget.value;\n super.initState();\n }\n\n @override\n Widget build(BuildContext context) {\n return Checkbox(\n value: value,\n onChanged: (v) {\n //将选中状态通过事件的形式抛出\n widget.onChanged(v);\n setState(() {\n //更新自身选中状态\n value = v;\n });\n },\n );\n }\n}\n\n下面是弹出对话框的代码:\nFuture showDeleteConfirmDialog3() {\n bool _withTree = false; //记录复选框是否选中\n return showDialog(\n context: context,\n builder: (context) {\n return AlertDialog(\n title: Text(\"提示\"),\n content: Column(\n crossAxisAlignment: CrossAxisAlignment.start,\n mainAxisSize: MainAxisSize.min,\n children: [\n Text(\"您确定要删除当前文件吗?\"),\n Row(\n children: [\n Text(\"同时删除子目录?\"),\n DialogCheckbox(\n value: _withTree, //默认不选中\n onChanged: (bool value) {\n //更新选中状态\n _withTree = !_withTree;\n },\n ),\n ],\n ),\n ],\n ),\n actions: [\n FlatButton(\n child: Text(\"取消\"),\n onPressed: () => Navigator.of(context).pop(),\n ),\n FlatButton(\n child: Text(\"删除\"),\n onPressed: () {\n // 将选中状态返回\n Navigator.of(context).pop(_withTree);\n },\n ),\n ],\n );\n },\n );\n}\n\n最后,就是使用:\nRaisedButton(\n child: Text(\"话框3(复选框可点击)\"),\n onPressed: () async {\n //弹出删除确认对话框,等待用户确认\n bool deleteTree = await showDeleteConfirmDialog3();\n if (deleteTree == null) {\n print(\"取消删除\");\n } else {\n print(\"同时删除子目录: $deleteTree\");\n }\n },\n),\n\n运行后效果如图7-15所示:\n\n可见复选框能选中了,点击“取消”或“删除”后,控制台就会打印出最终的确认状态。\n精妙的解法\n上面的方法虽然能解决对话框状态更新的问题,但是有一个明显的缺点——对话框上所有需要会改变状态的组件都得单独封装在一个在内部管理状态StatefulWidget中,这样不仅麻烦,而且复用性不大。因此,我们来想想能不能找到一种更简单的方法?要确认这个问题,我们就得先想想UI是怎么更新的,我们知道在调用setState方法后StatefulWidget就会重新build,那setState方法做了什么呢?我们能不能从中找到方法?顺着这个思路,我们就得看一下setState的核心源码:\nvoid setState(VoidCallback fn) {\n ... //省略无关代码\n _element.markNeedsBuild();\n}\n\n可以发现,setState中调用了Element的markNeedsBuild()方法,我们前面说过,Flutter是一个响应式框架,要更新UI只需改变状态后通知框架页面需要重构即可,而Element的markNeedsBuild()方法正是来实现这个功能的!markNeedsBuild()方法会将当前的Element对象标记为“dirty”(脏的),在每一个Frame,Flutter都会重新构建被标记为“dirty”Element对象。既然如此,我们有没有办法获取到对话框内部UI的Element对象,然后将其表姐为为“dirty”呢?答案是肯定的!我们可以通过Context来得到Element对象,至于Element与Context的关系我们将会在后面“Flutter核心原理”一章中再深入介绍,现在只需要简单的认为:在组件树种,context实际上就是Element对象的引用。知道这个后,那么解决的方案就呼之欲出了,我们可以通过如下方式来让复选框可以更新:\nFuture showDeleteConfirmDialog4() {\n bool _withTree = false;\n return showDialog(\n context: context,\n builder: (context) {\n return AlertDialog(\n title: Text(\"提示\"),\n content: Column(\n crossAxisAlignment: CrossAxisAlignment.start,\n mainAxisSize: MainAxisSize.min,\n children: [\n Text(\"您确定要删除当前文件吗?\"),\n Row(\n children: [\n Text(\"同时删除子目录?\"),\n Checkbox( // 依然使用Checkbox组件\n value: _withTree,\n onChanged: (bool value) {\n // 此时context为对话框UI的根Element,我们 \n // 直接将对话框UI对应的Element标记为dirty\n (context as Element).markNeedsBuild();\n _withTree = !_withTree;\n },\n ),\n ],\n ),\n ],\n ),\n actions: [\n FlatButton(\n child: Text(\"取消\"),\n onPressed: () => Navigator.of(context).pop(),\n ),\n FlatButton(\n child: Text(\"删除\"),\n onPressed: () {\n // 执行删除操作\n Navigator.of(context).pop(_withTree);\n },\n ),\n ],\n );\n },\n );\n}\n\n上面的代码运行后复选框也可以正常选中。可以看到,我们只用了一行代码便解决了这个问题!当然上面的代码并不是最优,因为我们只需要更新复选框的状态,而此时的context我们用的是对话框的根context,所以会导致整个对话框UI组件全部rebuild,因此最好的作法是将context的“范围”缩小,也就是说只将Checkbox的Element标记为dirty,优化后的代码为:\n... //省略无关代码\nRow(\n children: [\n Text(\"同时删除子目录?\"),\n // 通过Builder来获得构建Checkbox的`context`,\n // 这是一种常用的缩小`context`范围的方式\n Builder(\n builder: (BuildContext context) {\n return Checkbox(\n value: _withTree,\n onChanged: (bool value) {\n (context as Element).markNeedsBuild();\n _withTree = !_withTree;\n },\n );\n },\n ),\n ],\n),\n\n7.6.5 其它类型的对话框\n底部菜单列表\nshowModalBottomSheet方法可以弹出一个Material风格的底部菜单列表模态对话框,示例如下:\n// 弹出底部菜单列表模态对话框\nFuture _showModalBottomSheet() {\n return showModalBottomSheet(\n context: context,\n builder: (BuildContext context) {\n return ListView.builder(\n itemCount: 30,\n itemBuilder: (BuildContext context, int index) {\n return ListTile(\n title: Text(\"$index\"),\n onTap: () => Navigator.of(context).pop(index),\n );\n },\n );\n },\n );\n}\n\n点击按钮,弹出该对话框:\nRaisedButton(\n child: Text(\"显示底部菜单列表\"),\n onPressed: () async {\n int type = await _showModalBottomSheet();\n print(type);\n },\n),\n\n运行后效果如图7-16所示:\n\nshowModalBottomSheet的实现原理和showGeneralDialog实现原理相同,都是通过路由的方式来实现的,读者可以查看源码对比。但值得一提的是还有一个showBottomSheet方法,该方法会从设备底部向上弹出一个全屏的菜单列表,示例如下:\n// 返回的是一个controller\nPersistentBottomSheetController _showBottomSheet() {\n return showBottomSheet(\n context: context,\n builder: (BuildContext context) {\n return ListView.builder(\n itemCount: 30,\n itemBuilder: (BuildContext context, int index) {\n return ListTile(\n title: Text(\"$index\"),\n onTap: (){\n // do something\n print(\"$index\");\n Navigator.of(context).pop();\n },\n );\n },\n );\n },\n );\n}\n\n运行效果如图7-17所示:\n\nPersistentBottomSheetController中包含了一下控制对话框的方法比如close方法可以关闭该对话框,功能比较简单,读者可以自行查看源码。唯一需要注意的是,showBottomSheet和我们上面介绍的弹出对话框的方法原理不同:showBottomSheet是调用widget树顶部的Scaffold组件的ScaffoldState的showBottomSheet同名方法实现,也就是说要调用showBottomSheet方法就必须得保证父级组件中有Scaffold。\nLoading框\n其实Loading框可以直接通过showDialog+AlertDialog来自定义:\nshowLoadingDialog() {\n showDialog(\n context: context,\n barrierDismissible: false, //点击遮罩不关闭对话框\n builder: (context) {\n return AlertDialog(\n content: Column(\n mainAxisSize: MainAxisSize.min,\n children: [\n CircularProgressIndicator(),\n Padding(\n padding: const EdgeInsets.only(top: 26.0),\n child: Text(\"正在加载,请稍后...\"),\n )\n ],\n ),\n );\n },\n );\n}\n\n显示效果如图7-18所示:\n\n如果我们嫌Loading框太宽,想自定义对话框宽度,这时只使用SizedBox或ConstrainedBox是不行的,原因是showDialog中已经给对话框设置了宽度限制,根据我们在第五章“尺寸限制类容器”一节中所述,我们可以使用UnconstrainedBox先抵消showDialog对宽度的限制,然后再使用SizedBox指定宽度,代码如下:\n... //省略无关代码\nUnconstrainedBox(\n constrainedAxis: Axis.vertical,\n child: SizedBox(\n width: 280,\n child: AlertDialog(\n content: Column(\n mainAxisSize: MainAxisSize.min,\n children: [\n CircularProgressIndicator(value: .8,),\n Padding(\n padding: const EdgeInsets.only(top: 26.0),\n child: Text(\"正在加载,请稍后...\"),\n )\n ],\n ),\n ),\n ),\n);\n\n代码运行后,效果如图7-19所示:\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":"8.1:原始指针事件处理","keywords":"","body":"8.1 原始指针事件处理\n本节先来介绍一下原始指针事件(Pointer Event,在移动设备上通常为触摸事件),下一节再介绍手势处理。\n在移动端,各个平台或UI系统的原始指针事件模型基本都是一致,即:一次完整的事件分为三个阶段:手指按下、手指移动、和手指抬起,而更高级别的手势(如点击、双击、拖动等)都是基于这些原始事件的。\n当指针按下时,Flutter会对应用程序执行命中测试(Hit Test),以确定指针与屏幕接触的位置存在哪些组件(widget), 指针按下事件(以及该指针的后续事件)然后被分发到由命中测试发现的最内部的组件,然后从那里开始,事件会在组件树中向上冒泡,这些事件会从最内部的组件被分发到组件树根的路径上的所有组件,这和Web开发中浏览器的事件冒泡机制相似, 但是Flutter中没有机制取消或停止”冒泡“过程,而浏览器的冒泡是可以停止的。注意,只有通过命中测试的组件才能触发事件。\nFlutter中可以使用Listener来监听原始触摸事件,按照本书对组件的分类,则Listener也是一个功能性组件。下面是Listener的构造函数定义:\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运行后效果如图8-1所示:\n\n手指在蓝色矩形区域内移动即可看到当前指针偏移,当触发指针事件时,参数PointerDownEvent、PointerMoveEvent、PointerUpEvent都是PointerEvent的一个子类,PointerEvent类中包括当前指针的一些信息,如:\n\nposition:它是鼠标相对于当对于全局坐标的偏移。\ndelta:两次指针移动事件(PointerMoveEvent)的距离。\npressure:按压力度,如果手机屏幕支持压力传感器(如iPhone的3D Touch),此属性会更有意义,如果手机不支持,则始终为1。\norientation:指针移动方向,是一个角度值。\n\n上面只是PointerEvent一些常用属性,除了这些它还有很多属性,读者可以查看API文档。\n现在,我们重点来介绍一下behavior属性,它决定子组件如何响应命中测试,它的值类型为HitTestBehavior,这是一个枚举类,有三个枚举值:\n\ndeferToChild:子组件会一个接一个的进行命中测试,如果子组件中有测试通过的,则当前组件通过,这就意味着,如果指针事件作用于子组件上时,其父级组件也肯定可以收到该事件。\n\nopaque:在命中测试时,将当前组件当成不透明处理(即使本身是透明的),最终的效果相当于当前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上例中,只有点击文本内容区域才会触发点击事件,因为 deferToChild 会去子组件判断是否命中测试,而该例中子组件就是 Text(\"Box A\") 。\n如果我们想让整个300×150的矩形区域都能点击我们可以将behavior设为HitTestBehavior.opaque。注意,该属性并不能用于在组件树中拦截(忽略)事件,它只是决定命中测试时的组件大小。\n\ntranslucent:当点击组件透明区域时,可以对自身边界内及底部可视区域都进行命中测试,这意味着点击顶部组件透明区域时,顶部组件和底部组件都可以接收到事件,例如:\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范围内非文本区域点击时(顶部组件透明区域),控制台只会打印“down0”,也就是说顶部组件没有接收到事件,而只有底部接收到了。当放开注释后,再点击时顶部和底部都会接收到事件,此时会打印:\nI/flutter ( 3039): down1\nI/flutter ( 3039): down0\n如果behavior值改为HitTestBehavior.opaque,则只会打印\"down1\"。\n\n\n忽略PointerEvent\n假如我们不想让某个子树响应PointerEvent的话,我们可以使用IgnorePointer和AbsorbPointer,这两个组件都能阻止子树接收指针事件,不同之处在于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":"8.2:手势识别","keywords":"","body":"8.2 手势识别\n本节先介绍一些Flutter中用于处理手势的GestureDetector和GestureRecognizer,然后再仔细讨论一下手势竞争与冲突问题。\n8.2.1 GestureDetector\nGestureDetector是一个用于手势识别的功能性组件,我们通过它可以来识别各种手势。GestureDetector实际上是指针事件的语义化封装,接下来我们详细介绍一下各种手势识别。\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运行效果如图8-2所示:\n\n注意: 当同时监听onTap和onDoubleTap事件时,当用户触发tap事件时,会有200毫秒左右的延时,这是因为当用户点击完之后很可能会再次点击以触发双击事件,所以GestureDetector会等一段时间来确定是否为双击事件。如果用户只监听了onTap(没有监听onDoubleTap)事件时,则没有延时。\n拖动、滑动\n一次完整的手势过程是指用户手指按下到抬起的整个过程,期间,用户按下手指后可能会移动,也可能不会移动。GestureDetector对于拖动和滑动事件是没有区分的,他们本质上是一样的。GestureDetector会将要监听的组件的原点(左上角)作为本次手势的原点,当用户在监听的组件上按下手指时,手势识别就会开始。下面我们看一个拖动圆形字母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运行后,就可以在任意方向拖动了,运行效果如图8-3所示:\n\n日志:\nI/flutter ( 8513): 用户手指按下:Offset(26.3, 101.8)\nI/flutter ( 8513): Velocity(235.5, 125.8)\n代码解释:\n\nDragDownDetails.globalPosition:当用户按下时,此属性为用户按下的位置相对于屏幕(而非父组件)原点(左上角)的偏移。\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运行效果如图8-4所示:\n\n现在在图片上双指张开、收缩就可以放大、缩小图片。本示例比较简单,实际中我们通常还需要一些其它功能,如双击放大或缩小一定倍数、双指张开离开屏幕时执行一个减速放大动画等,读者可以在学习完后面”动画“一章中的内容后自己来尝试实现一下。\n8.2.2 GestureRecognizer\nGestureDetector内部是使用一个或多个GestureRecognizer来识别各种手势的,而GestureRecognizer的作用就是通过Listener来将原始指针事件转换为语义手势,GestureDetector直接可以接收一个子widget。GestureRecognizer是一个抽象类,一种手势的识别器对应一个GestureRecognizer的子类,Flutter实现了丰富的手势识别器,我们可以直接使用。\n示例\n假设我们要给一段富文本(RichText)的不同部分分别添加点击事件处理器,但是TextSpan并不是一个widget,这时我们不能用GestureDetector,但TextSpan有一个recognizer属性,它可以接收一个GestureRecognizer。\n假设我们需要在点击时给文本变色:\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\n注意:使用GestureRecognizer后一定要调用其dispose()方法来释放资源(主要是取消内部的计时器)。\n\n8.2.3 手势竞争与冲突\n竞争\n如果在上例中我们同时监听水平和垂直方向的拖动事件,那么我们斜着拖动时哪个方向会生效?实际上取决于第一次移动时两个轴上的位移分量,哪个轴的大,哪个轴在本次滑动事件竞争中就胜出。实际上Flutter中的手势识别引入了一个Arena的概念,Arena直译为“竞技场”的意思,每一个手势识别器(GestureRecognizer)都是一个“竞争者”(GestureArenaMember),当发生滑动事件时,他们都要在“竞技场”去竞争本次事件的处理权,而最终只有一个“竞争者”会胜出(win)。例如,假设有一个ListView,它的第一个子组件也是ListView,如果现在滑动这个子ListView,父ListView会动吗?答案是否定的,这时只有子ListView会动,因为这时子ListView会胜出而获得滑动事件的处理权。\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":"8.3:全局事件总线","keywords":"","body":"8.3 事件总线\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事件总线通常用于组件之间状态共享,但关于组件之间状态共享也有一些专门的包如redux、以及前面介绍过的Provider。对于一些简单的应用,事件总线是足以满足业务需求的,如果你决定使用状态管理包的话,一定要想清楚您的APP是否真的有必要使用它,防止“化简为繁”、过度设计。\n"},"chapter8/notification.html":{"url":"chapter8/notification.html","title":"8.4:通知(Notification)","keywords":"","body":"8.4 Notification\n通知(Notification)是Flutter中一个重要的机制,在widget树中,每一个节点都可以分发通知,通知会沿着当前节点向上传递,所有父节点都可以通过NotificationListener来监听通知。Flutter中将这种由子向父的传递通知的机制称为通知冒泡(Notification Bubbling)。通知冒泡和用户触摸事件冒泡是相似的,但有一点不同:通知冒泡可以中止,但用户触摸事件不行。\n\n通知冒泡和Web开发中浏览器事件冒泡原理是相似的,都是事件从出发源逐层向上传递,我们可以在上层节点任意位置来监听通知/事件,也可以终止冒泡过程,终止冒泡后,通知将不会再向上传递。\n\nFlutter中很多地方使用了通知,如可滚动组件(Scrollable Widget)滑动时就会分发滚动通知(ScrollNotification),而Scrollbar正是通过监听ScrollNotification来确定滚动条位置的。\n下面是一个监听可滚动组件滚动通知的例子:\nNotificationListener(\n onNotification: (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上例中,我们通过NotificationListener来监听子ListView的滚动通知的,NotificationListener定义如下:\nclass NotificationListener extends StatelessWidget {\n const NotificationListener({\n Key key,\n @required this.child,\n this.onNotification,\n }) : super(key: key);\n ...//省略无关代码 \n}\n\n我们可以看到:\n\nNotificationListener 继承自StatelessWidget类,所以它可以直接嵌套到Widget树中。\n\nNotificationListener 可以指定一个模板参数,该模板参数类型必须是继承自Notification;当显式指定模板参数时,NotificationListener 便只会接收该参数类型的通知。举个例子,如果我们将上例子代码给为:\n//指定监听通知的类型为滚动结束通知(ScrollEndNotification)\nNotificationListener(\n onNotification: (notification){\n //只会在滚动结束时才会触发此回调\n print(notification);\n },\n child: ListView.builder(\n itemCount: 100,\n itemBuilder: (context, index) {\n return ListTile(title: Text(\"$index\"),);\n }\n ),\n);\n\n上面代码运行后便只会在滚动结束时在控制台打印出通知的信息。\n\nonNotification回调为通知处理回调,其函数签名如下:\ntypedef NotificationListenerCallback = bool Function(T notification);\n\n它的返回值类型为布尔值,当返回值为true时,阻止冒泡,其父级Widget将再也收不到该通知;当返回值为false 时继续向上冒泡通知。\n\n\nFlutter的UI框架实现中,除了在可滚动组件在滚动过程中会发出ScrollNotification之外,还有一些其它的通知,如SizeChangedLayoutNotification、KeepAliveNotification 、LayoutChangedNotification等,Flutter正是通过这种通知机制来使父元素可以在一些特定时机来做一些事情。\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 return true;\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运行效果如图8-6所示:\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 print(notification.msg); //打印通知\n return false;\n },\n child: NotificationListener(\n onNotification: (notification) {\n setState(() {\n _msg+=notification.msg+\" \";\n });\n return false; \n },\n child: ...//省略重复代码\n ),\n );\n }\n}\n\n上列中两个NotificationListener进行了嵌套,子NotificationListener的onNotification回调返回了false,表示不阻止冒泡,所以父NotificationListener仍然会受到通知,所以控制台会打印出通知信息;如果将子NotificationListener的onNotification回调的返回值改为true,则父NotificationListener便不会再打印通知了,因为子NotificationListener已经终止通知冒泡了。\n通知冒泡原理\n我们在上面介绍了通知冒泡的现象及使用,现在我们更深入一些,介绍一下Flutter框架中是如何实现通知冒泡的。为了搞清楚这个问题,就必须看一下源码,我们从通知分发的的源头出发,然后再顺腾摸瓜。由于通知是通过Notification的dispatch(context)方法发出的,那我们先看看dispatch(context)方法中做了什么,下面是相关源码:\nvoid dispatch(BuildContext target) {\n target?.visitAncestorElements(visitAncestor);\n}\n\ndispatch(context)中调用了当前context的visitAncestorElements方法,该方法会从当前Element开始向上遍历父级元素;visitAncestorElements有一个遍历回调参数,在遍历过程中对遍历到的父级元素都会执行该回调。遍历的终止条件是:已经遍历到根Element或某个遍历回调返回false。源码中传给visitAncestorElements方法的遍历回调为visitAncestor方法,我们看看visitAncestor方法的实现:\n//遍历回调,会对每一个父级Element执行此回调\nbool visitAncestor(Element element) {\n //判断当前element对应的Widget是否是NotificationListener。\n\n //由于NotificationListener是继承自StatelessWidget,\n //故先判断是否是StatelessElement\n if (element is StatelessElement) {\n //是StatelessElement,则获取element对应的Widget,判断\n //是否是NotificationListener 。\n final StatelessWidget widget = element.widget;\n if (widget is NotificationListener) {\n //是NotificationListener,则调用该NotificationListener的_dispatch方法\n if (widget._dispatch(this, element)) \n return false;\n }\n }\n return true;\n}\n\nvisitAncestor会判断每一个遍历到的父级Widget是否是NotificationListener,如果不是,则返回true继续向上遍历,如果是,则调用NotificationListener的_dispatch方法,我们看看_dispatch方法的源码:\n bool _dispatch(Notification notification, Element element) {\n // 如果通知监听器不为空,并且当前通知类型是该NotificationListener\n // 监听的通知类型,则调用当前NotificationListener的onNotification\n if (onNotification != null && notification is T) {\n final bool result = onNotification(notification);\n // 返回值决定是否继续向上遍历\n return result == true; \n }\n return false;\n }\n\n我们可以看到NotificationListener的onNotification回调最终是在_dispatch方法中执行的,然后会根据返回值来确定是否继续向上冒泡。上面的源码实现其实并不复杂,通过阅读这些源码,一些额外的点读者可以注意一下:\n\nContext上也提供了遍历Element树的方法。\n我们可以通过Element.widget得到element节点对应的widget;我们已经反复讲过Widget和Element的对应关系,读者通过这些源码来加深理解。\n\n总结\nFlutter中通过通知冒泡实现了一套自低向上的消息传递机制,这个和Web开发中浏览器的事件冒泡原理类似,Web开发者可以类比学习。另外我们通过源码了解了Flutter 通知冒泡的流程和原理,便于读者加深理解和学习Flutter的框架设计思想,在此,再次建议读者在平时学习中能多看看源码,定会受益匪浅。\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":"9.1:Flutter动画简介","keywords":"","body":"9.1 Flutter动画简介\n在任何系统的UI框架中,动画实现的原理都是相同的,即:在一段时间内,快速地多次改变UI外观;由于人眼会产生视觉暂留,所以最终看到的就是一个“连续”的动画,这和电影的原理是一样的。我们将UI的一次改变称为一个动画帧,对应一次屏幕刷新,而决定动画流畅度的一个重要指标就是帧率FPS(Frame Per Second),即每秒的动画帧数。很明显,帧率越高则动画就会越流畅!一般情况下,对于人眼来说,动画帧率超过16FPS,就比较流畅了,超过32FPS就会非常的细腻平滑,而超过32FPS,人眼基本上就感受不到差别了。由于动画的每一帧都是要改变UI输出,所以在一个时间段内连续的改变UI输出是比较耗资源的,对设备的软硬件系统要求都较高,所以在UI系统中,动画的平均帧率是重要的性能指标,而在Flutter中,理想情况下是可以实现60FPS的,这和原生应用能达到的帧率是基本是持平的。\nFlutter中动画抽象\n为了方便开发者创建动画,不同的UI系统对动画都进行了一些抽象,比如在Android中可以通过XML来描述一个动画然后设置给View。Flutter中也对动画进行了抽象,主要涉及Animation、Curve、Controller、Tween这四个角色,它们一起配合来完成一个完整动画,下面我们一一来介绍它们。\nAnimation\nAnimation是一个抽象类,它本身和UI渲染没有任何关系,而它主要的功能是保存动画的插值和状态;其中一个比较常用的Animation类是Animation。Animation对象是一个在一段时间内依次生成一个区间(Tween)之间值的类。Animation对象在整个动画执行过程中输出的值可以是线性的、曲线的、一个步进函数或者任何其他曲线函数等等,这由Curve来决定。 根据Animation对象的控制方式,动画可以正向运行(从起始状态开始,到终止状态结束),也可以反向运行,甚至可以在中间切换方向。Animation还可以生成除double之外的其他类型值,如:Animation 或Animation。在动画的每一帧中,我们可以通过Animation对象的value属性获取动画的当前状态值。\n动画通知\n我们可以通过Animation来监听动画每一帧以及执行状态的变化,Animation有如下两个方法:\n\naddListener();它可以用于给Animation添加帧监听器,在每一帧都会被调用。帧监听器中最常见的行为是改变状态后调用setState()来触发UI重建。\naddStatusListener();它可以给Animation添加“动画状态改变”监听器;动画开始、结束、正向或反向(见AnimationStatus定义)时会调用状态改变的监听器。\n\n读者在此只需要知道帧监听器和状态监听器的区别,在后面的章节中我们将会举例说明。\nCurve\n动画过程可以是匀速的、匀加速的或者先加速后减速等。Flutter中通过Curve(曲线)来描述动画过程,我们把匀速动画称为线性的(Curves.linear),而非匀速动画称为非线性的。\n我们可以通过CurvedAnimation来指定动画的曲线,如:\nfinal CurvedAnimation curve =\n new CurvedAnimation(parent: controller, curve: Curves.easeIn);\n\nCurvedAnimation和AnimationController(下面介绍)都是Animation类型。CurvedAnimation可以通过包装AnimationController和Curve生成一个新的动画对象 ,我们正是通过这种方式来将动画和动画执行的曲线关联起来的。我们指定动画的曲线为Curves.easeIn,它表示动画开始时比较慢,结束时比较快。 Curves 类是一个预置的枚举类,定义了许多常用的曲线,下面列几种常用的:\n\n\n\nCurves曲线\n动画过程\n\n\n\n\nlinear\n匀速的\n\n\ndecelerate\n匀减速\n\n\nease\n开始加速,后面减速\n\n\neaseIn\n开始慢,后面快\n\n\neaseOut\n开始快,后面慢\n\n\neaseInOut\n开始慢,然后加速,最后再减速\n\n\n\n除了上面列举的, Curves 类中还定义了许多其它的曲线,在此便不一一介绍,读者可以自行查看Curves类定义。\n当然我们也可以创建自己Curve,例如我们定义一个正弦曲线:\nclass ShakeCurve extends Curve {\n @override\n double transform(double t) {\n return math.sin(t * math.PI * 2);\n }\n}\n\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()方法可以启动正向动画,reverse()可以启动反向动画。在动画开始执行后开始生成动画帧,屏幕没刷新一次就是一个动画帧,在动画的每一帧,会随着根据动画的曲线来生成当前的动画值(Animation.value),然后根据当前的动画值去构建UI,当所有动画帧依次触发时,动画值会依次改变,所以构建的UI也会依次变化,所以最终我们可以看到一个完成的动画。 另外在动画的每一帧,Animation对象会调用其帧监听器,等动画状态发生改变时(如动画结束)会调用状态改变监听器。\nduration表示动画执行的时长,通过它我们可以控制动画的速度。\n\n注意: 在某些情况下,动画值可能会超出AnimationController的[0.0,1.0]的范围,这取决于具体的曲线。例如,fling()函数可以根据我们手指滑动(甩出)的速度(velocity)、力量(force)等来模拟一个手指甩出动画,因此它的动画值可以在[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]。如果我们需要构建UI的动画值在不同的范围或不同的数据类型,则可以使用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中主要定义动画值的映射规则。\n下面我们看一个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":"9.2:动画结构","keywords":"","body":"9.2 动画基本结构及状态监听\n9.2.1 动画基本结构\n在Flutter中我们可以通过多种方式来实现动画,下面通过一个图片逐渐放大示例的不同实现来演示Flutter中动画的不同实现方式的区别。\n基础版本\n下面我们演示一下最基础的动画实现方式:\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(\"imgs/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上面代码执行后截取了其中的两帧,效果如图9-1、9-2所示:\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(\"imgs/avatar.png\",\n width: animation.value,\n height: animation.value\n ),\n );\n }\n}\n\n\nclass ScaleAnimationRoute1 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()将会在父组件上下文中调用,这将会导致父组件的build方法重新调用;而有了builder之后,只会导致动画widget自身的build重新调用,避免不必要的rebuild。\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\n9.2.2 动画状态监听\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":"9.3:自定义路由过渡动画","keywords":"","body":"9.3 自定义路由切换动画\n我们在第二章”路由管理“一节中讲过:Material组件库中提供了一个MaterialPageRoute组件,它可以使用和平台风格一致的路由切换动画,如在iOS上会左右滑动切换,而在Android上会上下滑动切换。现在,我们如果在Android上也想使用左右切换风格,该怎么做?一个简单的作法是可以直接使用CupertinoPageRoute,如:\n Navigator.push(context, CupertinoPageRoute( \n builder: (context)=>PageB(),\n ));\n\nCupertinoPageRoute是Cupertino组件库提供的iOS风格的路由切换组件,它实现的就是左右滑动切换。那么我们如何来自定义路由切换动画呢?答案就是PageRouteBuilder。下面我们来看看如何使用PageRouteBuilder来自定义路由切换动画。例如我们想以渐隐渐入动画来实现路由过渡,实现代码如下:\nNavigator.push(\n context,\n PageRouteBuilder(\n transitionDuration: Duration(milliseconds: 500), //动画时间为500毫秒\n pageBuilder: (BuildContext context, Animation animation,\n Animation secondaryAnimation) {\n return new FadeTransition(\n //使用渐隐渐入过渡,\n opacity: animation,\n child: PageB(), //路由B\n );\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":"9.4:Hero动画","keywords":"","body":"9.4 Hero动画\nHero指的是可以在路由(页面)之间“飞行”的widget,简单来说Hero动画就是在路由切换时,有一个共享的widget可以在新旧路由间切换。由于共享的widget在新旧路由页面上的位置、外观可能有所差异,所以在路由切换时会从旧路逐渐过渡到新路由中的指定位置,这样就会产生一个Hero动画。\n你可能多次看到过 hero 动画。例如,一个路由中显示待售商品的缩略图列表,选择一个条目会将其跳转到一个新路由,新路由中包含该商品的详细信息和“购买”按钮。 在Flutter中将图片从一个路由“飞”到另一个路由称为hero动画,尽管相同的动作有时也称为 共享元素转换。下面我们通过一个示例来体验一下hero 动画。\n\n为什么要将这种可飞行的共享组件称为hero(英雄),有一种说法是说美国文化中的超人是可以飞的,那是美国人心中的大英雄,还有漫威中的超级英雄基本上都是会飞的,所以Flutter开发人员就对这种”会飞的widget\"就起了一个富有浪漫主义的名字hero。当然这种说法并非官方解释,但却很有意思。\n\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: Scaffold(\n appBar: AppBar(\n title: Text(\"原图\"),\n ),\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包装起来,并提供一个相同的tag即可,中间的过渡帧都是Flutter Framework自动完成的。必须要注意, 前后路由页的共享Hero的tag必须是相同的,Flutter Framework内部正是通过tag来确定新旧路由页widget的对应关系的。\nHero动画的原理比较简单,Flutter Framework知道新旧路由页中共享元素的位置和大小,所以根据这两个端点,在动画执行过程中求出过渡时的插值(中间态)即可,而感到幸运的是,这些事情不需要我们自己动手,Flutter已经帮我们做了!\n"},"chapter9/stagger_animation.html":{"url":"chapter9/stagger_animation.html","title":"9.5:交织动画","keywords":"","body":"9.5 交织动画\n有些时候我们可能会需要一些复杂的动画,这些动画可能由一个动画序列或重叠的动画组成,比如:有一个柱状图,需要在高度增长的同时改变颜色,等到增长到最大高度后,我们需要在X轴上平移一段距离。可以发现上述场景在不同阶段包含了多种动画,要实现这种效果,使用交织动画(Stagger Animation)会非常简单。交织动画需要注意以下几点:\n\n要创建交织动画,需要使用多个动画对象(Animation)。\n一个AnimationController控制所有的动画对象。\n给每一个动画对象指定时间间隔(Interval)\n\n所有动画都由同一个AnimationController驱动,无论动画需要持续多长时间,控制器的值必须在0.0到1.0之间,而每个动画的间隔(Interval)也必须介于0.0和1.0之间。对于在间隔中设置动画的每个属性,需要分别创建一个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来为每个动画指定在整个动画过程中的起始点和终点。下面我们来实现启动动画的路由:\nclass StaggerRoute extends StatefulWidget {\n @override\n _StaggerRouteState createState() => _StaggerRouteState();\n}\n\nclass _StaggerRouteState 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执行效果如图,点击图9-3灰色矩形,就可以看到整个动画效果,图9-4是动画执行过程中的一帧。\n\n"},"chapter9/animated_switcher.html":{"url":"chapter9/animated_switcher.html","title":"9.6:通用\"切换动画\"组件(AnimatedSwitcher)","keywords":"","body":"9.6 通用\"切换动画\"组件(AnimatedSwitcher)\n实际开发中,我们经常会遇到切换UI元素的场景,比如Tab切换、路由切换。为了增强用户体验,通常在切换时都会指定一个动画,以使切换过程显得平滑。Flutter SDK组件库中已经提供了一些常用的切换组件,如PageView、TabView等,但是,这些组件并不能覆盖全部的需求场景,为此,Flutter SDK中提供了一个AnimatedSwitcher组件,它定义了一种通用的UI切换抽象。\n9.6.1 AnimatedSwitcher\nAnimatedSwitcher 可以同时对其新、旧子元素添加显示、隐藏动画。也就是说在AnimatedSwitcher的子元素发生变化时,会对其旧元素和新元素,我们先看看AnimatedSwitcher 的定义:\nconst AnimatedSwitcher({\n Key key,\n this.child,\n @required this.duration, // 新child显示动画时长\n this.reverseDuration,// 旧child隐藏的动画时长\n this.switchInCurve = Curves.linear, // 新child显示的动画曲线\n this.switchOutCurve = Curves.linear,// 旧child隐藏的动画曲线\n this.transitionBuilder = AnimatedSwitcher.defaultTransitionBuilder, // 动画构建器\n this.layoutBuilder = AnimatedSwitcher.defaultLayoutBuilder, //布局构建器\n})\n\n当AnimatedSwitcher的child发生变化时(类型或Key不同),旧child会执行隐藏动画,新child会执行执行显示动画。究竟执行何种动画效果则由transitionBuilder参数决定,该参数接受一个AnimatedSwitcherTransitionBuilder类型的builder,定义如下:\ntypedef AnimatedSwitcherTransitionBuilder =\n Widget Function(Widget child, Animation animation);\n\n该builder在AnimatedSwitcher的child切换时会分别对新、旧child绑定动画:\n\n对旧child,绑定的动画会反向执行(reverse)\n对新child,绑定的动画会正向指向(forward)\n\n这样一下,便实现了对新、旧child的动画绑定。AnimatedSwitcher的默认值是AnimatedSwitcher.defaultTransitionBuilder :\nWidget defaultTransitionBuilder(Widget child, Animation animation) {\n return FadeTransition(\n opacity: animation,\n child: child,\n );\n}\n\n可以看到,返回了FadeTransition对象,也就是说默认情况,AnimatedSwitcher会对新旧child执行“渐隐”和“渐显”动画。\n例子\n下面我们看一个列子:实现一个计数器,然后再每一次自增的过程中,旧数字执行缩小动画隐藏,新数字执行放大动画显示,代码如下:\nimport 'package:flutter/material.dart';\n\nclass AnimatedSwitcherCounterRoute extends StatefulWidget {\n const AnimatedSwitcherCounterRoute({Key key}) : super(key: key);\n\n @override\n _AnimatedSwitcherCounterRouteState createState() => _AnimatedSwitcherCounterRouteState();\n }\n\n class _AnimatedSwitcherCounterRouteState extends State {\n int _count = 0;\n\n @override\n Widget build(BuildContext context) {\n return Center(\n child: Column(\n mainAxisAlignment: MainAxisAlignment.center,\n children: [\n AnimatedSwitcher(\n duration: const Duration(milliseconds: 500),\n transitionBuilder: (Widget child, Animation animation) {\n //执行缩放动画\n return ScaleTransition(child: child, scale: animation);\n },\n child: Text(\n '$_count',\n //显示指定key,不同的key会被认为是不同的Text,这样才能执行动画\n key: ValueKey(_count),\n style: Theme.of(context).textTheme.display1,\n ),\n ),\n RaisedButton(\n child: const Text('+1',),\n onPressed: () {\n setState(() {\n _count += 1;\n });\n },\n ),\n ],\n ),\n );\n }\n }\n\n运行示例代码,当点击“+1”按钮时,原先的数字会逐渐缩小直至隐藏,而新数字会逐渐放大,我截取了动画执行过程的一帧,如图9-5所示:\n\n上图是第一次点击“+1”按钮后切换动画的一帧,此时“0”正在逐渐缩小,而“1”正在“0”的中间,正在逐渐放大。\n\n注意:AnimatedSwitcher的新旧child,如果类型相同,则Key必须不相等。\n\n9.6.2 AnimatedSwitcher高级用法\n假设现在我们想实现一个类似路由平移切换的动画:旧页面屏幕中向左侧平移退出,新页面重屏幕右侧平移进入。如果要用AnimatedSwitcher的话,我们很快就会发现一个问题:做不到!我们可能会写出下面的代码:\nAnimatedSwitcher(\n duration: Duration(milliseconds: 200),\n transitionBuilder: (Widget child, Animation animation) {\n var tween=Tween(begin: Offset(1, 0), end: Offset(0, 0))\n return SlideTransition(\n child: child,\n position: tween.animate(animation),\n );\n },\n ...//省略\n)\n\n上面的代码有什么问题呢?我们前面说过在AnimatedSwitcher的child切换时会分别对新child执行正向动画(forward),而对旧child执行反向动画(reverse),所以真正的效果便是:新child确实从屏幕右侧平移进入了,但旧child却会从屏幕右侧(而不是左侧)退出。其实也很容易理解,因为在没有特殊处理的情况下同一个动画的正向和逆向正好是相反(对称)的。\n那么问题来了,难道就不能用AnimatedSwitcher了?答案当时是否定的!仔细想想这个问题,究其原因,就是因为同一个Animation正向(forward)和反向(reverse)是对称的。所以如果我们可以打破这种对称性,那么便可以实现这个功能,下面我们来封装一个MySlideTransition,它和SlideTransition唯一的不同就是对动画的反向执行进行了(从左边滑出隐藏):\nclass MySlideTransition extends AnimatedWidget {\n MySlideTransition({\n Key key,\n @required Animation position,\n this.transformHitTests = true,\n this.child,\n })\n : assert(position != null),\n super(key: key, listenable: position) ;\n\n Animation get position => listenable;\n final bool transformHitTests;\n final Widget child;\n\n @override\n Widget build(BuildContext context) {\n Offset offset=position.value;\n //动画反向执行时,调整x偏移,实现”从左边滑出隐藏“\n if (position.status == AnimationStatus.reverse) {\n offset = Offset(-offset.dx, offset.dy);\n }\n return FractionalTranslation(\n translation: offset,\n transformHitTests: transformHitTests,\n child: child,\n );\n }\n}\n\n调用时,将SlideTransition替换成MySlideTransition即可:\nAnimatedSwitcher(\n duration: Duration(milliseconds: 200),\n transitionBuilder: (Widget child, Animation animation) {\n var tween=Tween(begin: Offset(1, 0), end: Offset(0, 0))\n return MySlideTransition(\n child: child,\n position: tween.animate(animation),\n );\n },\n ...//省略\n)\n\n运行后,我截取动画执行过程中的一帧,如图9-6所示:\n\n上图中“0”从左侧滑出,而\"1\"从右侧滑入。可以看到,我们通过这种巧妙的方式实现了类似路由进场切换的动画,实际上Flutter路由切换也正是通过AnimatedSwitcher来实现的。\nSlideTransitionX\n上面的示例我们实现了”左出右入“的动画,那如果要实现”右入左出“、”上入下出“或者 ”下入上出“怎么办?当然,我们可以分别修改上面的代码,但是这样每种动画都得单独定义一个”Transition“,这很麻烦。本节将分装一个通用的SlideTransitionX 来实现这种”出入滑动动画“,代码如下:\nclass SlideTransitionX extends AnimatedWidget {\n SlideTransitionX({\n Key key,\n @required Animation position,\n this.transformHitTests = true,\n this.direction = AxisDirection.down,\n this.child,\n })\n : assert(position != null),\n super(key: key, listenable: position) {\n // 偏移在内部处理 \n switch (direction) {\n case AxisDirection.up:\n _tween = Tween(begin: Offset(0, 1), end: Offset(0, 0));\n break;\n case AxisDirection.right:\n _tween = Tween(begin: Offset(-1, 0), end: Offset(0, 0));\n break;\n case AxisDirection.down:\n _tween = Tween(begin: Offset(0, -1), end: Offset(0, 0));\n break;\n case AxisDirection.left:\n _tween = Tween(begin: Offset(1, 0), end: Offset(0, 0));\n break;\n }\n }\n\n\n Animation get position => listenable;\n\n final bool transformHitTests;\n\n final Widget child;\n\n //退场(出)方向\n final AxisDirection direction;\n\n Tween _tween;\n\n @override\n Widget build(BuildContext context) {\n Offset offset = _tween.evaluate(position);\n if (position.status == AnimationStatus.reverse) {\n switch (direction) {\n case AxisDirection.up:\n offset = Offset(offset.dx, -offset.dy);\n break;\n case AxisDirection.right:\n offset = Offset(-offset.dx, offset.dy);\n break;\n case AxisDirection.down:\n offset = Offset(offset.dx, -offset.dy);\n break;\n case AxisDirection.left:\n offset = Offset(-offset.dx, offset.dy);\n break;\n }\n }\n return FractionalTranslation(\n translation: offset,\n transformHitTests: transformHitTests,\n child: child,\n );\n }\n}\n\n现在如果我们想实现各种”滑动出入动画\"\"便非常容易,只需给direction传递不同的方向值即可,比如要实现”上入下出“,则:\nAnimatedSwitcher(\n duration: Duration(milliseconds: 200),\n transitionBuilder: (Widget child, Animation animation) {\n var tween=Tween(begin: Offset(1, 0), end: Offset(0, 0))\n return SlideTransitionX(\n child: child,\n direction: AxisDirection.down, //上入下出\n position: animation,\n );\n },\n ...//省略其余代码\n)\n\n运行后,我截取动画执行过程中的一帧,如图9-7所示:\n\n上图中“1”从底部滑出,而\"2\"从顶部滑入。读者可以尝试给SlideTransitionX的direction取不同的值来查看运行效果。\n总结\n本节我们学习了AnimatedSwitcher的详细用法,同时也介绍了打破AnimatedSwitcher动画对称性的方法。我们可以发现:在需要切换新旧UI元素的场景,AnimatedSwitcher将十分实用。\n"},"chapter10/":{"url":"chapter10/","title":"第十章:自定义组件","keywords":"","body":"本章目录\n\n自定义Widget方法简介\n通过组合现有Widget实现\n实例:TurnBox\nCustomPaint与Canvas \n实例:圆形渐变进度条 \n\n"},"chapter10/intro.html":{"url":"chapter10/intro.html","title":"10.1:自定义组件方法简介","keywords":"","body":"10.1 自定义组件方法简介\n当Flutter提供的现有组件无法满足我们的需求,或者我们为了共享代码需要封装一些通用组件,这时我们就需要自定义组件。在Flutter中自定义组件有三种方式:通过组合其它组件、自绘和实现RenderObject。本节我们先分别介绍一下这三种方式的特点,后面章节中则详细介绍它们的细节。\n组合其它Widget\n这种方式是通过拼装其它组件来组合成一个新的组件。例如我们之前介绍的Container就是一个组合组件,它是由DecoratedBox、ConstrainedBox、Transform、Padding、Align等组件组成。\n在Flutter中,组合的思想非常重要,Flutter提供了非常多的基础组件,而我们的界面开发其实就是按照需要组合这些组件来实现各种不同的布局而已。 \n自绘\n如果遇到无法通过现有的组件来实现需要的UI时,我们可以通过自绘组件的方式来实现,例如我们需要一个颜色渐变的圆形进度条,而Flutter提供的CircularProgressIndicator并不支持在显示精确进度时对进度条应用渐变色(其valueColor 属性只支持执行旋转动画时变化Indicator的颜色),这时最好的方法就是通过自定义组件来绘制出我们期望的外观。我们可以通过Flutter中提供的CustomPaint和Canvas来实现UI自绘。\n实现RenderObject\nFlutter提供的自身具有UI外观的组件,如文本Text、Image都是通过相应的RenderObject(我们将在“Flutter核心原理”一章中详细介绍RenderObject)渲染出来的,如Text是由RenderParagraph渲染;而Image是由RenderImage渲染。RenderObject是一个抽象类,它定义了一个抽象方法paint(...):\nvoid paint(PaintingContext context, Offset offset)\n\nPaintingContext代表组件的绘制上下文,通过PaintingContext.canvas可以获得Canvas,而绘制逻辑主要是通过Canvas API来实现。子类需要重写此方法以实现自身的绘制逻辑,如RenderParagraph需要实现文本绘制逻辑,而RenderImage需要实现图片绘制逻辑。\n可以发现,RenderObject中最终也是通过Canvas API来绘制的,那么通过实现RenderObject的方式和上面介绍的通过CustomPaint和Canvas自绘的方式有什么区别?其实答案很简单,CustomPaint只是为了方便开发者封装的一个代理类,它直接继承自SingleChildRenderObjectWidget,通过RenderCustomPaint的paint方法将Canvas和画笔Painter(需要开发者实现,后面章节介绍)连接起来实现了最终的绘制(绘制逻辑在Painter中)。\n总结\n“组合”是自定义组件最简单的方法,在任何需要自定义组件的场景下,我们都应该优先考虑是否能够通过组合来实现。而自绘和通过实现RenderObject的方法本质上是一样的,都需要开发者调用Canvas API手动去绘制UI,优点是强大灵活,理论上可以实现任何外观的UI,而缺点是必须了解Canvas API细节,并且得自己去实现绘制逻辑。\n在本章接下来的小节中,我们将通过一些实例来详细介绍自定义UI的过程,由于后两种方法本质是相同的,并且Flutter中很多基础组件都是通过RenderObject的形式来实现的,所以后续我们只介绍CustomPaint和Canvas的方式,读者如果对自定义RenderObject的方法好奇,可以查看Flutter中相关基础组件对应的RenderObject的实现源码,如RenderParagraph或RenderImage。\n"},"chapter10/combine.html":{"url":"chapter10/combine.html","title":"10.2:组合现有组件","keywords":"","body":"10.2 组合现有组件\n在Flutter中页面UI通常都是由一些低阶别的组件组合而成,当我们需要封装一些通用组件时,应该首先考虑是否可以通过组合其它组件来实现,如果可以,则应优先使用组合,因为直接通过现有组件拼装会非常简单、灵活、高效。\n示例:自定义渐变按钮\nFlutter Material组件库中的按钮默认不支持渐变背景,为了实现渐变背景按钮,我们自定义一个GradientButton组件,它需要支持一下功能:\n\n背景支持渐变色\n手指按下时有涟漪效果\n可以支持圆角\n\n我们先来看看最终要实现的效果(图10-1):\n\n我们DecoratedBox可以支持背景色渐变和圆角,InkWell在手指按下有涟漪效果,所以我们可以通过组合DecoratedBox和InkWell来实现GradientButton,代码如下:\nimport 'package:flutter/material.dart';\n\nclass GradientButton extends StatelessWidget {\n GradientButton({\n this.colors,\n this.width,\n this.height,\n this.onPressed,\n this.borderRadius,\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 final BorderRadius borderRadius;\n\n //点击回调\n final GestureTapCallback onPressed;\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 borderRadius: borderRadius,\n ),\n child: Material(\n type: MaterialType.transparency,\n child: InkWell(\n splashColor: _colors.last,\n highlightColor: Colors.transparent,\n borderRadius: borderRadius,\n onTap: onPressed,\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\n可以看到GradientButton是由DecoratedBox、Padding、Center、InkWell等组件组合而成。当然上面的代码只是一个示例,作为一个按钮它还并不完整,比如没有禁用状态,读者可以根据实际需要来完善。\n使用GradientButton\nimport 'package:flutter/material.dart';\nimport '../widgets/index.dart';\n\nclass GradientButtonRoute extends StatefulWidget {\n @override\n _GradientButtonRouteState createState() => _GradientButtonRouteState();\n}\n\nclass _GradientButtonRouteState extends State {\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 onPressed: onTap,\n ),\n GradientButton(\n height: 50.0,\n colors: [Colors.lightGreen, Colors.green[700]],\n child: Text(\"Submit\"),\n onPressed: onTap,\n ),\n GradientButton(\n height: 50.0,\n colors: [Colors.lightBlue[300], Colors.blueAccent],\n child: Text(\"Submit\"),\n onPressed: onTap,\n ),\n ],\n ),\n );\n }\n onTap() {\n print(\"button click\");\n }\n}\n\n总结\n通过组合的方式定义组件和我们之前写界面并无差异,不过在抽离出单独的组件时我们要考虑代码规范性,如必要参数要用@required 标注,对于可选参数在特定场景需要判空或设置默认值等。这是由于使用者大多时候可能不了解组件的内部细节,所以为了保证代码健壮性,我们需要在用户错误地使用组件时能够兼容或报错提示(使用assert断言函数)。\n"},"chapter10/turn_box.html":{"url":"chapter10/turn_box.html","title":"10.3:组合实例:TurnBox","keywords":"","body":"10.3 组合实例: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上面代码中:\n\n我们是通过组合RotationTransition和child来实现的旋转效果。\n在didUpdateWidget中,我们判断要旋转的角度是否发生了变化,如果变了,则执行一个过渡动画。\n\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测试代码运行后效果如图10-2所示:\n\n当我们点击旋转按钮时,两个图标的旋转都会旋转1/5圈,但旋转的速度是不同的,读者可以自己运行一下示例看看效果。\n实际上本示例只组合了RotationTransition一个组件,它是一个最简的组合类组件示例。另外,如果我们封装的是StatefulWidget,那么一定要注意在组件更新时是否需要同步状态。比如我们要封装一个富文本展示组件MyRichText ,它可以自动处理url链接,定义如下:\nclass MyRichText extends StatefulWidget {\n MyRichText({\n Key key,\n this.text, // 文本字符串\n this.linkStyle, // url链接样式\n }) : super(key: key);\n\n final String text;\n final TextStyle linkStyle;\n\n @override\n _MyRichTextState createState() => _MyRichTextState();\n}\n\n接下来我们在_MyRichTextState中要实现的功能有两个:\n\n解析文本字符串“text”,生成TextSpan缓存起来;\n在build中返回最终的富文本样式;\n\n_MyRichTextState 实现的代码大致如下:\nclass _MyRichTextState extends State {\n\n TextSpan _textSpan;\n\n @override\n Widget build(BuildContext context) {\n return RichText(\n text: _textSpan,\n );\n }\n\n TextSpan parseText(String text) {\n // 耗时操作:解析文本字符串,构建出TextSpan。\n // 省略具体实现。\n }\n\n @override\n void initState() {\n _textSpan = parseText(widget.text)\n super.initState();\n }\n}\n\n由于解析文本字符串,构建出TextSpan是一个耗时操作,为了不在每次build的时候都解析一次,所以我们在initState中对解析的结果进行了缓存,然后再build中直接使用解析的结果_textSpan。这看起来很不错,但是上面的代码有一个严重的问题,就是父组件传入的text发生变化时(组件树结构不变),那么MyRichText显示的内容不会更新,原因就是initState只会在State创建时被调用,所以在text发生变化时,parseText没有重新执行,导致_textSpan任然是旧的解析值。要解决这个问题也很简单,我们只需添加一个didUpdateWidget回调,然后再里面重新调用parseText即可:\n@override\nvoid didUpdateWidget(MyRichText oldWidget) {\n if (widget.text != oldWidget.text) {\n _textSpan = parseText(widget.text);\n }\n super.didUpdateWidget(oldWidget);\n}\n\n有些读者可能会觉得这个点也很简单,是的,的确很简单,之所以要在这里反复强调是因为这个点在实际开发中很容易被忽略,它虽然简单,但却很重要。总之,当我们在State中会缓存某些依赖Widget参数的数据时,一定要注意在组件更新时是否需要同步状态。\n"},"chapter10/custom_paint.html":{"url":"chapter10/custom_paint.html","title":"10.4:自绘组件(CustomPaint与Canvas)","keywords":"","body":"10.4 自绘组件 (CustomPaint与Canvas)\n对于一些复杂或不规则的UI,我们可能无法通过组合其它组件的方式来实现,比如我们需要一个正六边形、一个渐变的圆形进度条、一个棋盘等。当然,有时候我们可以使用图片来实现,但在一些需要动态交互的场景静态图片也是实现不了的,比如要实现一个手写输入面板,这时,我们就需要来自己绘制UI外观。\n几乎所有的UI系统都会提供一个自绘UI的接口,这个接口通常会提供一块2D画布Canvas,Canvas内部封装了一些基本绘制的API,开发者可以通过Canvas绘制各种自定义图形。在Flutter中,提供了一个CustomPaint 组件,它可以结合画笔CustomPainter来实现自定义图形绘制。\nCustomPaint\n我们看看CustomPaint构造函数:\nCustomPaint({\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组件中,这样会在绘制时就会创建一个新的绘制层(Layer),其子组件将在新的Layer上绘制,而父组件将在原来Layer上绘制,也就是说RepaintBoundary 子组件的绘制将独立于父组件的绘制,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的过程,首先我们看一下我们的目标效果,如图10-3所示:\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绘制尽可能多的分层;在上面五子棋的示例中,我们将棋盘和棋子的绘制放在了一起,这样会有一个问题:由于棋盘始终是不变的,用户每次落子时变的只是棋子,但是如果按照上面的代码来实现,每次绘制棋子时都要重新绘制一次棋盘,这是没必要的。优化的方法就是将棋盘单独抽为一个组件,并设置其shouldRepaint回调值为false,然后将棋盘组件作为背景。然后将棋子的绘制放到另一个组件中,这样每次落子时只需要绘制棋子。\n\n\n总结\n自绘控件非常强大,理论上可以实现任何2D图形外观,实际上Flutter提供的所有组件最终都是通过调用Canvas绘制出来的,只不过绘制的逻辑被封装起来了,读者有兴趣可以查看具有外观样式的组件源码,找到其对应的RenderObject对象,如Text对应的RenderParagraph对象最终会通过Canvas实现文本绘制逻辑。下一节我们会再通过一个自绘的圆形背景渐变进度条的实例来帮助读者加深印象。\n"},"chapter10/gradient_circular_progress_demo.html":{"url":"chapter10/gradient_circular_progress_demo.html","title":"10.5:自绘实例:圆形渐变进度条(自绘)","keywords":"","body":"10.5 自绘实例:圆形背景渐变进度条\n本节我们实现一个圆形背景渐变进度条,它支持:\n\n支持多种背景渐变色。\n任意弧度;进度条可以不是整圆。\n可以自定义粗细、两端是否圆角等样式。\n\n可以发现要实现这样的一个进度条是无法通过现有组件组合而成的,所以我们通过自绘方式实现,代码如下:\nimport 'dart:math';\nimport 'package:flutter/material.dart';\n\nclass GradientCircularProgressIndicator extends StatelessWidget {\n GradientCircularProgressIndicator({\n this.strokeWidth = 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 strokeWidth;\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(strokeWidth / (radius * 2 - strokeWidth));\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 strokeWidth: strokeWidth,\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.strokeWidth: 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 strokeWidth;\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 = strokeWidth / 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(strokeWidth/ (size.width - strokeWidth));\n }\n\n Rect rect = Offset(_offset, _offset) & Size(\n size.width - strokeWidth,\n size.height - strokeWidth\n );\n\n var paint = Paint()\n ..strokeCap = strokeCapRound ? StrokeCap.round : StrokeCap.butt\n ..style = PaintingStyle.stroke\n ..isAntiAlias = true\n ..strokeWidth = strokeWidth;\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 strokeWidth: 3.0,\n value: _animationController.value,\n ),\n GradientCircularProgressIndicator(\n colors: [Colors.red, Colors.orange],\n radius: 50.0,\n strokeWidth: 3.0,\n value: _animationController.value,\n ),\n GradientCircularProgressIndicator(\n colors: [Colors.red, Colors.orange, Colors.red],\n radius: 50.0,\n strokeWidth: 5.0,\n value: _animationController.value,\n ),\n GradientCircularProgressIndicator(\n colors: [Colors.teal, Colors.cyan],\n radius: 50.0,\n strokeWidth: 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 strokeWidth: 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 strokeWidth: 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 strokeWidth: 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 strokeWidth: 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 strokeWidth: 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 strokeWidth: 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 strokeWidth: 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怎么样,很炫酷吧!GradientCircularProgressIndicator已经被添加进了笔者维护的flukit组件库中了,读者如果有需要,可以直接依赖flukit包。\n"},"chapter11/":{"url":"chapter11/","title":"第十一章:文件操作与网络请求","keywords":"","body":"本章目录\n\n文件操作\nHttp请求-HttpClient\nHttp请求-Dio package \n实例:Http分块下载 \nWebSocket \n使用Socket API \nJson转Model \n\n"},"chapter11/file_operation.html":{"url":"chapter11/file_operation.html","title":"11.1:文件操作","keywords":"","body":"11.1 文件操作\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"},"chapter11/http.html":{"url":"chapter11/http.html","title":"11.2:Http请求-HttpClient","keywords":"","body":"11.2 通过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的例子,示例效果如图11-1所示:\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"},"chapter11/dio.html":{"url":"chapter11/dio.html","title":"11.3:Http请求-Dio package","keywords":"","body":"11.3 Http请求-Dio http库\n通过上一节介绍,我们可以发现直接使用HttpClient发起网络请求是比较麻烦的,很多事情得我们手动处理,如果再涉及到文件上传/下载、Cookie管理等就会非常繁琐。幸运的是,Dart社区有一些第三方http请求库,用它们来发起http请求将会简单的多,本节我们介绍一下目前人气较高的dio库。\n\n dio是一个强大的Dart Http请求库,支持Restful API、FormData、拦截器、请求取消、Cookie管理、文件上传/下载、超时等。dio的使用方式随着其版本升级可能会发生变化,如果本节所述内容和dio官方有差异,请以dio官方文档为准。\n\n引入\n引入dio:\ndependencies:\n dio: ^x.x.x #请使用pub上的最新版本\n\n导入并创建dio实例:\nimport 'package:dio/dio.dart';\nDio dio = 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\",queryParameters:{\"id\":12,\"name\":\"wendu\"})\nprint(response);\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.httpClientAdapter as DefaultHttpClientAdapter).onHttpClientCreate = (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 。 下一节我们将使用dio实现一个分块下载器。\n实例\n我们通过Github开放的API来请求flutterchina组织下的所有公开的开源项目,实现:\n\n在请求阶段弹出loading\n请求结束后,如果请求失败,则展示错误信息;如果成功,则将项目名称列表展示出来。\n\n代码如下:\nclass _FutureBuilderRouteState extends State {\n Dio _dio = new Dio();\n\n @override\n Widget build(BuildContext context) {\n\n return new Container(\n alignment: Alignment.center,\n child: FutureBuilder(\n future: _dio.get(\"https://api.github.com/orgs/flutterchina/repos\"),\n builder: (BuildContext context, AsyncSnapshot snapshot) {\n //请求完成\n if (snapshot.connectionState == ConnectionState.done) {\n Response response = snapshot.data;\n //发生错误\n if (snapshot.hasError) {\n return Text(snapshot.error.toString());\n }\n //请求成功,通过项目信息构建用于显示项目名称的ListView\n return ListView(\n children: response.data.map((e) =>\n ListTile(title: Text(e[\"full_name\"]))\n ).toList(),\n );\n }\n //请求未完成时弹出loading\n return CircularProgressIndicator();\n }\n ),\n );\n }\n}\n\n"},"chapter11/download_with_chunks.html":{"url":"chapter11/download_with_chunks.html","title":"11.4:实例:Http分块下载","keywords":"","body":"11.4 实例:Http分块下载\n本节将通过一个“Http分块下载”的示例演示一下dio的具体用法。\n原理\nHttp协议定义了分块传输的响应header字段,但具体是否支持取决于Server的实现,我们可以指定请求头的\"range\"字段来验证服务器是否支持分块传输。例如,我们可以利用curl命令来验证:\nbogon:~ duwen$ curl -H \"Range: bytes=0-10\" http://download.dcloud.net.cn/HBuilder.9.0.2.macosx_64.dmg -v\n# 请求头\n> GET /HBuilder.9.0.2.macosx_64.dmg HTTP/1.1\n> Host: download.dcloud.net.cn\n> User-Agent: curl/7.54.0\n> Accept: */*\n> Range: bytes=0-10\n# 响应头\n\n我们在请求头中添加\"Range: bytes=0-10\"的作用是,告诉服务器本次请求我们只想获取文件0-10(包括10,共11字节)这块内容。如果服务器支持分块传输,则响应状态码为206,表示“部分内容”,并且同时响应头中包含”Content-Range“字段,如果不支持则不会包含。我们看看上面\"Content-Range\"的内容:\nContent-Range: bytes 0-10/233295878\n0-10表示本次返回的区块,233295878代表文件的总长度,单位都是byte, 也就是该文件大概233M多一点。\n基于此,我们可以设计一个简单的多线程的文件分块下载器,实现的思路是:\n\n先检测是否支持分块传输,如果不支持,则直接下载;若支持,则将剩余内容分块下载。\n各个分块下载时保存到各自临时文件,等到所有分块下载完后合并临时文件。\n删除临时文件。\n\n实现\n下面是整体的流程:\n// 通过第一个分块请求检测服务器是否支持分块传输 \nResponse response = await downloadChunk(url, 0, firstChunkSize, 0);\nif (response.statusCode == 206) { //如果支持\n //解析文件总长度,进而算出剩余长度\n total = int.parse(\n response.headers.value(HttpHeaders.contentRangeHeader).split(\"/\").last);\n int reserved = total -\n int.parse(response.headers.value(HttpHeaders.contentLengthHeader));\n //文件的总块数(包括第一块)\n int chunk = (reserved / firstChunkSize).ceil() + 1;\n if (chunk > 1) {\n int chunkSize = firstChunkSize;\n if (chunk > maxChunk + 1) {\n chunk = maxChunk + 1;\n chunkSize = (reserved / maxChunk).ceil();\n }\n var futures = [];\n for (int i = 0; i \n下面我们使用dio的download API 实现downloadChunk:\n//start 代表当前块的起始位置,end代表结束位置\n//no 代表当前是第几块\nFuture downloadChunk(url, start, end, no) async {\n progress.add(0); //progress记录每一块已接收数据的长度\n --end;\n return dio.download(\n url,\n savePath + \"temp$no\", //临时文件按照块的序号命名,方便最后合并\n onReceiveProgress: createCallback(no), // 创建进度回调,后面实现\n options: Options(\n headers: {\"range\": \"bytes=$start-$end\"}, //指定请求的内容区间\n ),\n );\n}\n\n接下来实现mergeTempFiles:\nFuture mergeTempFiles(chunk) async {\n File f = File(savePath + \"temp0\");\n IOSink ioSink= f.openWrite(mode: FileMode.writeOnlyAppend);\n //合并临时文件 \n for (int i = 1; i \n下面我们看一下完整实现:\n/// Downloading by spiting as file in chunks\nFuture downloadWithChunks(\n url,\n savePath, {\n ProgressCallback onReceiveProgress,\n}) async {\n const firstChunkSize = 102;\n const maxChunk = 3;\n\n int total = 0;\n var dio = Dio();\n var progress = [];\n\n createCallback(no) {\n return (int received, _) {\n progress[no] = received;\n if (onReceiveProgress != null && total != 0) {\n onReceiveProgress(progress.reduce((a, b) => a + b), total);\n }\n };\n }\n\n Future downloadChunk(url, start, end, no) async {\n progress.add(0);\n --end;\n return dio.download(\n url,\n savePath + \"temp$no\",\n onReceiveProgress: createCallback(no),\n options: Options(\n headers: {\"range\": \"bytes=$start-$end\"},\n ),\n );\n }\n\n Future mergeTempFiles(chunk) async {\n File f = File(savePath + \"temp0\");\n IOSink ioSink= f.openWrite(mode: FileMode.writeOnlyAppend);\n for (int i = 1; i 1) {\n int chunkSize = firstChunkSize;\n if (chunk > maxChunk + 1) {\n chunk = maxChunk + 1;\n chunkSize = (reserved / maxChunk).ceil();\n }\n var futures = [];\n for (int i = 0; i \n现在可以进行分块下载了:\nmain() async {\n var url = \"http://download.dcloud.net.cn/HBuilder.9.0.2.macosx_64.dmg\";\n var savePath = \"./example/HBuilder.9.0.2.macosx_64.dmg\";\n await downloadWithChunks(url, savePath, onReceiveProgress: (received, total) {\n if (total != -1) {\n print(\"${(received / total * 100).floor()}%\");\n }\n });\n}\n\n思考\n\n分块下载真的能提高下载速度吗?\n其实下载速度的主要瓶颈是取决于网络速度和服务器的出口速度,如果是同一个数据源,分块下载的意义并不大,因为服务器是同一个,出口速度确定的,主要取决于网速,而上面的例子正式同源分块下载,读者可以自己对比一下分块和不分块的的下载速度。如果有多个下载源,并且每个下载源的出口带宽都是有限制的,这时分块下载可能会更快一下,之所以说“可能”,是由于这并不是一定的,比如有三个源,三个源的出口带宽都为1G/s,而我们设备所连网络的峰值假设只有800M/s,那么瓶颈就在我们的网络。即使我们设备的带宽大于任意一个源,下载速度依然不一定就比单源单线下载快,试想一下,假设有两个源A和B,速度A源是B源的3倍,如果采用分块下载,两个源各下载一半的话,读者可以算一下所需的下载时间,然后再算一下只从A源下载所需的时间,看看哪个更快。\n分块下载的最终速度受设备所在网络带宽、源出口速度、每个块大小、以及分块的数量等诸多因素影响,实际过程中很难保证速度最优。在实际开发中,读者可可以先测试对比后再决定是否使用。\n\n分块下载有什么实际的用处吗?\n分块下载还有一个比较使用的场景是断点续传,可以将文件分为若干个块,然后维护一个下载状态文件用以记录每一个块的状态,这样即使在网络中断后,也可以恢复中断前的状态,具体实现读者可以自己尝试一下,还是有一些细节需要特别注意的,比如分块大小多少合适?下载到一半的块如何处理?要不要维护一个任务队列?\n\n\n"},"chapter11/websocket.html":{"url":"chapter11/websocket.html","title":"11.5: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服务器的工具。该package提供了一个WebSocketChannel允许我们既可以监听来自服务器的消息,又可以将消息发送到服务器的方法。\n在Flutter中,我们可以创建一个WebSocketChannel连接到一台服务器:\nfinal channel = IOWebSocketChannel.connect('ws://echo.websocket.org');\n\n2. 监听来自服务器的消息\n现在我们建立了连接,我们可以监听来自服务器的消息,在我们发送消息给测试服务器之后,它会返回相同的消息。\n我们如何收取消息并显示它们?在这个例子中,我们将使用一个StreamBuilder 来监听新消息, 并用一个Text来显示它们。\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 。该Stream类是dart:async包中的一个基础类。它提供了一种方法来监听来自数据源的异步事件。与Future返回单个异步响应不同,Stream类可以随着时间推移传递很多事件。该StreamBuilder 组件将连接到一个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"},"chapter11/socket.html":{"url":"chapter11/socket.html","title":"11.6:使用Socket API","keywords":"","body":"11.6 使用Socket API\n我们之前介绍的Http协议和WebSocket协议都属于应用层协议,除了它们,应用层协议还有很多如:SMTP、FTP等,这些应用层协议的实现都是通过Socket API来实现的。其实,操作系统中提供的原生网络请求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,运行后效果如图11-2所示:\n\n可以看到响应内容分两个部分,第一部分是响应头,第二部分是响应体,服务端可以根据请求信息动态来输出响应体。由于本示例请求头比较简单,所以响应体和浏览器中访问的会有差别,读者可以补充一些请求头(如user-agent)来看看输出的变化。\n"},"chapter11/json_model.html":{"url":"chapter11/json_model.html","title":"11.7:Json转Dart Model类","keywords":"","body":"11.7 Json转Dart 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第一次创建类时,您会看到与图11-4类似的错误。\n\n这些错误是完全正常的,这是因为Model类的生成代码还不存在。为了解决这个问题,我们必须运行代码生成器来为我们生成序列化模板。有两种运行代码生成器的方法:\n一次性生成\n通过在我们的项目根目录下运行:\nflutter packages pub run build_runner build\n\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”。\nJson_model 包\n如果每个项目都要构建一个上面这样的脚本显然很麻烦,为此,我们将上面脚本和生成模板封装了一个包,已经发布到了Pub上,包名为Json_model,开发者把该包加入开发依赖后,便可以用一条命令,根据Json文件生成Dart类。另外Json_model 处于迭代中,功能会逐渐完善,所以建议读者直接使用该包(而不是手动复制上面的代码)。\n使用IDE插件生成model\n目前Android Studio(或IntelliJ)有几个插件,可以将json文件转成Model类,但插件质量参差不齐,甚至还有一些沾染上了抄袭风波,故笔者在此不做优先推荐,读者有兴趣可以自行了解。但是,我们还是要了解一下IDE插件和Json_model的优劣:\n\nJson_model需要单独维护一个存放Json文件的文件夹,如果有改动,只需修改Json文件便可重新生成Model类;而IDE插件一般需要用户手动将Json内容拷贝复制到一个输入框中,这样生成之后Json文件没有存档的化,之后要改动就需要手动。\nJson_model可以手动指定某个字段引用的其它Model类,可以避免生成重复的类;而IDE插件一般会为每一个Json文件中所有嵌套对象都单独生成一个Model类,即使这些嵌套对象可能在其它Model类中已经生成过。\nJson_model 提供了命令行转化方式,可以方便集成到CI等非UI环境的场景。\n\nFAQ\n很多人可能会问Flutter中有没有像Java开发中的Gson/Jackson一样的Json序列化类库?答案是没有!因为这样的库需要使用运行时反射,这在Flutter中是禁用的。运行时反射会干扰Dart的tree shaking,使用tree shaking,可以在release版中“去除”未使用的代码,这可以显著优化应用程序的大小。由于反射会默认应用到所有代码,因此tree shaking会很难工作,因为在启用反射时很难知道哪些代码未被使用,因此冗余代码很难剥离,所以Flutter中禁用了Dart的反射功能,而正因如此也就无法实现动态转化Model的功能。\n"},"chapter12/":{"url":"chapter12/","title":"第十二章:包与插件","keywords":"","body":"包与插件\n\n开发package\n插件开发:平台通道简介\n插件开发:实现Android端API\n插件开发:实现IOS端API\n\n"},"chapter12/develop_package.html":{"url":"chapter12/develop_package.html","title":"12.1:开发package","keywords":"","body":"12.1 开发Package\n第二章中已经讲过如何使用Package(包),我们知道通过package可以创建共享的模块化代码,本节将重点讲一下如何开发并发布我们自己的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 Package。\n第一步:创建Dart包\n您可以通过Android Studio:File>New>New Flutter Project 来创建一个Package工程,如图12-1所示:\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为例,它的目录结构如图12-2所示:\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"},"chapter12/platform-channel.html":{"url":"chapter12/platform-channel.html","title":"12.2:平台通道简介","keywords":"","body":"12.2 插件开发:平台通道简介\n“平台特定”或“特定平台”中的平台指的就是Flutter应用程序运行的平台,如Android或IOS。我们知道一个完整的Flutter应用程序实际上包括原生代码和Flutter代码两部分。由于Flutter本身只是一个UI系统,它本身是无法提供一些系统能力,比如使用蓝牙、相机、GPS等,因此要在Flutter APP中调用这些能力就必须和原生平台进行通信。为此,Flutter中提供了一个平台通道(platform channel),用于Flutter和原生平台的通信。平台通道正是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, 如果不足32位\njava.lang.Long\nNSNumber numberWithLong:\n\n\nint, 如果不足64位\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自定义编解码器\n除了上面提到的MethodChannel,还可以使用BasicMessageChannel,它支持使用自定义消息编解码器进行基本的异步消息传递。 此外,可以使用专门的BinaryCodec、StringCodec和 JSONMessageCodec类,或创建自己的编解码器。\n"},"chapter12/develop_plugin.html":{"url":"chapter12/develop_plugin.html","title":"12.3:开发Flutter插件","keywords":"","body":"12.3 开发Flutter插件\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至此Flutter部分的测试代码写好了,接下来我们需要实现Android和iOS平台下的API,由于平台API实现部分篇幅较大,我们将在接下来的两节中,分别介绍Android和iOS端API的实现。\n"},"chapter12/android_implement.html":{"url":"chapter12/android_implement.html","title":"12.4:插件开发:实现Android端API","keywords":"","body":"12.4 插件开发: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"},"chapter12/ios_implement.html":{"url":"chapter12/ios_implement.html","title":"12.5:插件开发:实现IOS端API","keywords":"","body":"12.5 插件开发: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"},"chapter13/":{"url":"chapter13/","title":"第十三章:国际化","keywords":"","body":"本章目录\n\n让App支持多语言\n实现Localizations \n使用Intl包 \n\n"},"chapter13/multi_languages_support.html":{"url":"chapter13/multi_languages_support.html","title":"13.1:让App支持多语言","keywords":"","body":"13.1 让App支持多语言\n如果我们的应用要支持多种语言,那么我们需要“国际化”它。这意味着我们在开发时需要为应用程序支持的每种语言环境设置“本地化”的一些值,如文本和布局。Flutter SDK已经提供了一些组件和类来帮助我们实现国际化,下面我们来介绍一下Flutter中实现国际化的步骤。\n接下来我们以MaterialApp类为入口的应用来说明如何支持国际化。\n\n大多数应用程序都是通过MaterialApp为入口,但根据低级别的WidgetsApp类为入口编写的应用程序也可以使用相同的类和逻辑进行国际化。MaterialApp实际上也是WidgetsApp的一个包装。\n\n注意,”本地化的值和资源“是指我们针对不同语言准备的不同资源,这些资源一般是指文案(字符串),当然也会有一些其他的资源会根据不同语言地区而不同,比如我们需要显示一个APP上架地的国旗图片,那么不同Locale区域我们就需要提供不同的的国旗图片。\n支持国际化\n默认情况下,Flutter SDK中的组件仅提供美国英语本地化资源(主要是文本)。要添加对其他语言的支持,应用程序须添加一个名为“flutter_localizations”的包依赖,然后还需要在MaterialApp中进行一些配置。 要使用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 组件支持多语言。 GlobalWidgetsLocalizations.delegate定义组件默认的文本方向,从左到右或从右到左,这是因为有些语言的阅读习惯并不是从左到右,比如如阿拉伯语就是从右向左的。\nsupportedLocales也接收一个Locale数组,表示我们的应用支持的语言列表,在本例中我们的应用只支持美国英语和中文简体两种语言。\n获取当前区域Locale\nLocale类是用来标识用户的语言环境的,它包括语言和国家两个标志如:\nconst Locale('zh', 'CN') // 中文简体\n\n我们始终可以通过以下方式来获取应用的当前区域Locale:\nLocale myLocale = Localizations.localeOf(context);\n\nLocalizations 组件一般位于widget树中其它业务组件的顶部,它的作用是定义区域Locale以及设置子树依赖的本地化资源。 如果系统的语言环境发生变化,WidgetsApp将创建一个新的Localizations 组件并重建它,这样子树中通过Localizations.localeOf(context) 获取的Locale就会更新。\n监听系统语言切换\n当我们更改系统语言设置时,APP中的Localizations组件会重新构建,Localizations.localeOf(context) 获取的Locale就会更新,最终界面会重新build达到切换语言的效果。但是这个过程是隐式完成的,我们并没有主动去监听系统语言切换,但是有时我们需要在系统语言发生改变时做一些事,比如系统语言切换为一种我们APP不支持的语言时,我们需要设置一个默认的语言,这时我们就需要监听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也依然是美国英语。如果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,如果某一种语言加载成功则会停止。图13-1是Android系统中设置语言列表的截图:\n\n在Flutter中,应该优先使用localeListResolutionCallback,当然你不必担心Android系统的差异性,如果在低版本的Android系统中,Flutter会自动处理这种情况,这时Locale列表只会包含一项。\nLocalization 组件\nLocalizations组件用于加载和查找应用当前语言下的本地化值或资源。应用程序通过Localizations.of(context,type)来引用这些对象。 如果设备的Locale区域设置发生更改,则Localizations 组件会自动加载新区域的Locale值,然后重新build使用(依赖)了它们的组件,之所以会这样,是因为Localizations内部使用了InheritedWidget ,我们在介绍该组件时讲过:当子组件的build函数引用了InheritedWidget时,会创建对InheritedWidget的隐式依赖关系。因此,当InheritedWidget发生更改时,即Localizations的Locale设置发生更改时,将重建所有依赖它的子组件。\n本地化值由Localizations的 LocalizationsDelegates 列表加载 。 每个委托必须定义一个异步load() 方法,以生成封装了一系列本地化值的对象。通常这些对象为每个本地化值定义一个方法。\n在大型应用程序中,不同模块或Package可能会与自己的本地化值捆绑在一起。 这就是为什么要用Localizations 管理对象表的原因。 要使用由LocalizationsDelegate的load方法之一产生的对象,可以指定一个BuildContext和对象的类型来找到它。例如,Material 组件库的本地化字符串由MaterialLocalizations类定义,此类的实例由MaterialApp类提供的LocalizationDelegate创建, 它们可以如下方式获取到:\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 包包含GlobalMaterialLocalizations和GlobalWidgetsLocalizations的本地化接口的多语言实现, 国际化的应用程序必须按照本节开头说明的那样为这些类指定本地化Delegate。\n上述的GlobalMaterialLocalizations和GlobalWidgetsLocalizations只是Material组件库的本地化实现,如果我们要让自己的布局支持多语言,那么就需要实现在即的Localizations,我们将在下一节介绍其具体的实现方式。\n"},"chapter13/locallization_implement.html":{"url":"chapter13/locallization_implement.html","title":"13.2:实现Localizations","keywords":"","body":"13.2 实现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组件重新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"},"chapter13/intl.html":{"url":"chapter13/intl.html","title":"13.3:使用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"},"chapter13/faq.html":{"url":"chapter13/faq.html","title":"13.4:国际化常见问题","keywords":"","body":"13.4 国际化常见问题\n本节主要解答一下在国际化中常见的问题。\n默认语言区域不对\n在一些非大陆行货渠道买的一些Android和iOS设备,会出现默认的Locale不是中文简体的情况。这属于正常现象,但是为了防止设备获取的Locale与实际的地区不一致,所有的支持多语言的APP都必须提供一个手动选择语言的入口。\n如何对应用标题进行国际化\nMaterialApp有一个title属性,用于指定APP的标题。在Android系统中,APP的标题会出现在任务管理器中。所以也需要对title进行国际化。但是问题是很多国际化的配置都是在MaterialApp上设置的,我们无法在构建MaterialApp时通过Localizations.of来获取本地化资源,如:\nMaterialApp(\n title: DemoLocalizations.of(context).title, //不能正常工作!\n localizationsDelegates: [\n // 本地化的代理类\n GlobalMaterialLocalizations.delegate,\n GlobalWidgetsLocalizations.delegate,\n DemoLocalizationsDelegate() // 设置Delegate\n ],\n);\n\n上面代码运行后,DemoLocalizations.of(context).title 是会报错的,原因是Localizations.of会从当前的context沿着widget树向顶部查找DemoLocalizations,但是我们在MaterialApp中设置完DemoLocalizationsDelegate后,实际上DemoLocalizations是在当前context的子树中的,所以DemoLocalizations.of(context)会返回null,报错。那么我们该如何处理这种情况呢?其实很简单,我们只需要设置一个onGenerateTitle回调即可:\nMaterialApp(\n onGenerateTitle: (context){\n // 此时context在Localizations的子树中\n return DemoLocalizations.of(context).title;\n },\n localizationsDelegates: [\n DemoLocalizationsDelegate(),\n ...\n ],\n);\n\n如何为英语系的国家指定同一个locale\n英语系的国家非常多,如美国、英国、澳大利亚等,这些英语系国家虽然说的都是英语,但也会有一些区别。如果我们的APP只想提供一种英语(如美国英语)供所有英语系国家使用,我们可以在前面介绍的localeListResolutionCallback中来做兼容:\nlocaleListResolutionCallback:\n (List locales, Iterable supportedLocales) {\n // 判断当前locale是否为英语系国家,如果是直接返回Locale('en', 'US') \n}\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":"14.1:Flutter UI系统","keywords":"","body":"14.1 Flutter UI系统\n在本书的前面章节中,我们多次提到\"UI系统\"这个概念,本书中所指的UI系统特指:基于一个平台,在此平台上实现GUI的一个系统,这里的平台特指操作系统,如Android、iOS或者Windows、macOS。我们说过各个平台UI系统的原理是相通的,也就是说无论是Android还是iOS,他们将一个用户界面展示到屏幕的流程是相似的,所以,在介绍Flutter UI系统之前,我们先看看UI系统的基本原理,这样可以帮助读者对操作系统和系统底层UI逻辑有一个清晰的认识。\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":"14.2:Element和BuildContext","keywords":"","body":"14.2 Element与BuildContext\n14.2.1 Element\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方法中首先调用element所对应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数据,具体细节将在下文介绍。\n14.2.2 BuildContext\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那这个context对象对应的实现类到底是谁呢?我们顺藤摸瓜,发现build调用是发生在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就是StatelessElement。同样,我们同样发现StatefulWidget的context是StatefulElement。但StatelessElement和StatefulElement本身并没有实现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的功能,假设有一个页面,该页面有一个按钮,按钮的文本是一个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树了,我们在一个新路由页创建它,最终效果如下如图14-1和14-2(点击后)所示:\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":"14.3:RenderObject与RenderBox","keywords":"","body":"14.3 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。\n14.3.1 布局过程\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 组件,它使用KeepAliveParentDataMixin(继承自ParentData) 来保存子节的keepAlive状态。\n14.3.2 绘制过程\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() 来绘制溢出部分提示,这个就是我们经常看到的溢出提示,如图14-3所示:\n\nRepaintBoundary\n我们已经在CustomPaint一节中介绍过RepaintBoundary,现在我们深入的了解一些。与 RelayoutBoundary 相似,RepaintBoundary是用于在确定重绘边界的,与RelayoutBoundary不同的是,这个绘制边界需要由开发者通过RepaintBoundary 组件自己指定,如:\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 如何设置isRepaintBoundary属性呢?其实,如果使用了RepaintBoundary,其对应的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\n14.3.3 命中测试\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。\n14.3.4 语义化\n语义化即Semantics,主要是提供给读屏软件的接口,也是实现辅助功能的基础,通过语义化接口可以让机器理解页面上的内容,对于有视力障碍用户可以使用读屏软件来理解UI内容。如果一个RenderObject要支持语义化接口,可以实现 describeApproximatePaintClip和 visitChildrenForSemantics方法和semanticsAnnotator getter。更多关于语义化的信息可以查看API文档。\n14.3.5 总结\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":"14.4:Flutter从启动到显示","keywords":"","body":"14.4 Flutter运行机制-从启动到显示\n本节我们主要介绍一下Flutter从启动到显示的过程。\n启动\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 进行关联,即创建出 widget树对应的element树。如果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 和 FrameCallback 的概念:\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渲染和绘制逻辑在RendererBinding中实现,查看其源发,发现在其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该方法直接调用了RendererBinding的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需要注意的是:由于RendererBinding只是一个mixin,而with它的是WidgetsBinding,所以我们需要看看WidgetsBinding中是否重写该方法,查看WidgetsBinding的drawFrame()方法源码:\n@override\nvoid drawFrame() {\n ...//省略无关代码\n try {\n if (renderViewElement != null)\n buildOwner.buildScope(renderViewElement); \n super.drawFrame(); //调用RendererBinding的drawFrame()方法\n buildOwner.finalizeTree();\n } \n}\n\n我们发现在调用RendererBinding.drawFrame()方法前会调用 buildOwner.buildScope() (非首次绘制),该方法会将被标记为“dirty” 的 element 进行 rebuild() 。\n总结\n本节介绍了Flutter APP从启动到显示到屏幕上的主流程,读者可以结合前面章节对Widget、Element以及RenderObject的介绍来加强细节理解。\n"},"chapter14/image_and_cache.html":{"url":"chapter14/image_and_cache.html","title":"14.5:Flutter图片加载与缓存","keywords":"","body":"14.5 图片加载原理与缓存\n在本书前面章节已经介绍过Image 组件,并提到Flutter框架对加载过的图片是有缓存的(内存),默认最大缓存数量是1000,最大缓存空间为100M。本节便详细介绍Image的原理及图片缓存机制,下面我们先看看ImageProvider 类。\n14.5.1 ImageProvider\n我们已经知道Image 组件的image 参数是一个必选参数,它是ImageProvider类型。下面我们便详细介绍一下ImageProvider,ImageProvider是一个抽象类,定义了图片数据获取和加载的相关接口。它的主要职责有两个:\n\n提供图片数据源\n缓存图片\n\n我们看看ImageProvider抽象类的详细定义:\nabstract class ImageProvider {\n\n ImageStream resolve(ImageConfiguration configuration) {\n // 实现代码省略\n }\n Future evict({ ImageCache cache,\n ImageConfiguration configuration = ImageConfiguration.empty }) async {\n // 实现代码省略\n }\n\n Future obtainKey(ImageConfiguration configuration); \n @protected\n ImageStreamCompleter load(T key); // 需子类实现\n}\n\nload(T key)方法\n加载图片数据源的接口,不同的数据源的加载方法不同,每个ImageProvider的子类必须实现它。比如NetworkImage类和AssetImage类,它们都是ImageProvider的子类,但它们需要从不同的数据源来加载图片数据:NetworkImage是从网络来加载图片数据,而AssetImage则是从最终的应用包里来加载(加载打到应用安装包里的资源图片)。 我们以NetworkImage为例,看看其load方法的实现:\n\n@override\nImageStreamCompleter load(image_provider.NetworkImage key) {\n\n final StreamController chunkEvents = StreamController();\n\n return MultiFrameImageStreamCompleter(\n codec: _loadAsync(key, chunkEvents), //调用\n chunkEvents: chunkEvents.stream,\n scale: key.scale,\n ... //省略无关代码\n );\n}\n\n我们看到,load方法的返回值类型是ImageStreamCompleter ,它是一个抽象类,定义了管理图片加载过程的一些接口,Image Widget中正是通过它来监听图片加载状态的(我们将在下面介绍Image 原理时详细介绍)。\nMultiFrameImageStreamCompleter 是 ImageStreamCompleter的一个子类,是flutter sdk预置的类,通过该类,我们以方便、轻松地创建出一个ImageStreamCompleter实例来做为load方法的返回值。\n我们可以看到,MultiFrameImageStreamCompleter 需要一个codec参数,该参数类型为Future。Codec 是处理图片编解码的类的一个handler,实际上,它只是一个flutter engine API 的包装类,也就是说图片的编解码逻辑不是在Dart 代码部分实现,而是在flutter engine中实现的。Codec类部分定义如下:\n@pragma('vm:entry-point')\nclass Codec extends NativeFieldWrapperClass2 {\n // 此类由flutter engine创建,不应该手动实例化此类或直接继承此类。\n @pragma('vm:entry-point')\n Codec._();\n\n /// 图片中的帧数(动态图会有多帧)\n int get frameCount native 'Codec_frameCount';\n\n /// 动画重复的次数\n /// * 0 表示只执行一次\n /// * -1 表示循环执行\n int get repetitionCount native 'Codec_repetitionCount';\n\n /// 获取下一个动画帧\n Future getNextFrame() {\n return _futurize(_getNextFrame);\n }\n\n String _getNextFrame(_Callback callback) native 'Codec_getNextFrame';\n\n我们可以看到Codec最终的结果是一个或多个(动图)帧,而这些帧最终会绘制到屏幕上。\nMultiFrameImageStreamCompleter 的 codec参数值为_loadAsync方法的返回值,我们继续看_loadAsync方法的实现:\n\n Future _loadAsync(\n NetworkImage key,\n StreamController chunkEvents,\n ) async {\n try {\n //下载图片\n final Uri resolved = Uri.base.resolve(key.url);\n final HttpClientRequest request = await _httpClient.getUrl(resolved);\n headers?.forEach((String name, String value) {\n request.headers.add(name, value);\n });\n final HttpClientResponse response = await request.close();\n if (response.statusCode != HttpStatus.ok)\n throw Exception(...);\n // 接收图片数据 \n final Uint8List bytes = await consolidateHttpClientResponseBytes(\n response,\n onBytesReceived: (int cumulative, int total) {\n chunkEvents.add(ImageChunkEvent(\n cumulativeBytesLoaded: cumulative,\n expectedTotalBytes: total,\n ));\n },\n );\n if (bytes.lengthInBytes == 0)\n throw Exception('NetworkImage is an empty file: $resolved');\n // 对图片数据进行解码\n return PaintingBinding.instance.instantiateImageCodec(bytes);\n } finally {\n chunkEvents.close();\n }\n }\n\n可以看到_loadAsync方法主要做了两件事:\n\n下载图片。\n对下载的图片数据进行解码。\n\n下载逻辑比较简单:通过HttpClient从网上下载图片,另外下载请求会设置一些自定义的header,开发者可以通过NetworkImage的headers命名参数来传递。\n在图片下载完成后调用了PaintingBinding.instance.instantiateImageCodec(bytes)对图片进行解码,值得注意的是instantiateImageCodec(...)也是一个Native API的包装,实际上会调用Flutter engine的instantiateImageCodec方法,源码如下:\nString _instantiateImageCodec(Uint8List list, _Callback callback, _ImageInfo imageInfo, int targetWidth, int targetHeight)\n native 'instantiateImageCodec';\n\nobtainKey(ImageConfiguration)方法\n该接口主要是为了配合实现图片缓存,ImageProvider从数据源加载完数据后,会在全局的ImageCache中缓存图片数据,而图片数据缓存是一个Map,而Map的key便是调用此方法的返回值,不同的key代表不同的图片数据缓存。\nresolve(ImageConfiguration) 方法\nresolve方法是ImageProvider的暴露的给Image的主入口方法,它接受一个ImageConfiguration参数,返回ImageStream,即图片数据流。我们重点看一下resolve执行流程:\nImageStream resolve(ImageConfiguration configuration) {\n ... //省略无关代码\n final ImageStream stream = ImageStream();\n T obtainedKey; //\n //定义错误处理函数\n Future handleError(dynamic exception, StackTrace stack) async {\n ... //省略无关代码\n stream.setCompleter(imageCompleter);\n imageCompleter.setError(...);\n }\n\n // 创建一个新Zone,主要是为了当发生错误时不会干扰MainZone\n final Zone dangerZone = Zone.current.fork(...);\n\n dangerZone.runGuarded(() {\n Future key;\n // 先验证是否已经有缓存\n try {\n // 生成缓存key,后面会根据此key来检测是否有缓存\n key = obtainKey(configuration);\n } catch (error, stackTrace) {\n handleError(error, stackTrace);\n return;\n }\n key.then((T key) {\n obtainedKey = key;\n // 缓存的处理逻辑在这里,记为A,下面详细介绍\n final ImageStreamCompleter completer = PaintingBinding.instance\n .imageCache.putIfAbsent(key, () => load(key), onError: handleError);\n if (completer != null) {\n stream.setCompleter(completer);\n }\n }).catchError(handleError);\n });\n return stream;\n}\n\nImageConfiguration 包含图片和设备的相关信息,如图片的大小、所在的AssetBundle(只有打到安装包的图片存在)以及当前的设备平台、devicePixelRatio(设备像素比等)。Flutter SDK提供了一个便捷函数createLocalImageConfiguration来创建ImageConfiguration 对象:\nImageConfiguration createLocalImageConfiguration(BuildContext context, { Size size }) {\n return ImageConfiguration(\n bundle: DefaultAssetBundle.of(context),\n devicePixelRatio: MediaQuery.of(context, nullOk: true)?.devicePixelRatio ?? 1.0,\n locale: Localizations.localeOf(context, nullOk: true),\n textDirection: Directionality.of(context),\n size: size,\n platform: defaultTargetPlatform,\n );\n}\n\n我们可以发现这些信息基本都是通过Context来获取。\n上面代码A处就是处理缓存的主要代码,这里的PaintingBinding.instance.imageCache 是 ImageCache的一个实例,它是PaintingBinding的一个属性,而Flutter框架中的PaintingBinding.instance是一个单例,imageCache事实上也是一个单例,也就是说图片缓存是全局的,统一由PaintingBinding.instance.imageCache 来管理。\n下面我们看看ImageCache类定义:\nconst int _kDefaultSize = 1000;\nconst int _kDefaultSizeBytes = 100 _pendingImages = {};\n // 缓存队列\n final Map _cache = {};\n\n // 缓存数量上限(1000)\n int _maximumSize = _kDefaultSize;\n // 缓存容量上限 (100 MB)\n int _maximumSizeBytes = _kDefaultSizeBytes;\n\n // 缓存上限设置的setter\n set maximumSize(int value) {...}\n set maximumSizeBytes(int value) {...}\n\n ... // 省略部分定义\n\n // 清除所有缓存\n void clear() {\n // ...省略具体实现代码\n }\n\n // 清除指定key对应的图片缓存\n bool evict(Object key) {\n // ...省略具体实现代码\n }\n\n\n ImageStreamCompleter putIfAbsent(Object key, ImageStreamCompleter loader(), { ImageErrorListener onError }) {\n assert(key != null);\n assert(loader != null);\n ImageStreamCompleter result = _pendingImages[key]?.completer;\n // 图片还未加载成功,直接返回\n if (result != null)\n return result;\n\n // 有缓存,继续往下走\n // 先移除缓存,后再添加,可以让最新使用过的缓存在_map中的位置更近一些,清理时会LRU来清除\n final _CachedImage image = _cache.remove(key);\n if (image != null) {\n _cache[key] = image;\n return image.completer;\n }\n try {\n result = loader();\n } catch (error, stackTrace) {\n if (onError != null) {\n onError(error, stackTrace);\n return null;\n } else {\n rethrow;\n }\n }\n void listener(ImageInfo info, bool syncCall) {\n final int imageSize = info?.image == null ? 0 : info.image.height * info.image.width * 4;\n final _CachedImage image = _CachedImage(result, imageSize);\n // 下面是缓存处理的逻辑\n if (maximumSizeBytes > 0 && imageSize > maximumSizeBytes) {\n _maximumSizeBytes = imageSize + 1000;\n }\n _currentSizeBytes += imageSize;\n final _PendingImage pendingImage = _pendingImages.remove(key);\n if (pendingImage != null) {\n pendingImage.removeListener();\n }\n\n _cache[key] = image;\n _checkCacheSize();\n }\n if (maximumSize > 0 && maximumSizeBytes > 0) {\n final ImageStreamListener streamListener = ImageStreamListener(listener);\n _pendingImages[key] = _PendingImage(result, streamListener);\n // Listener is removed in [_PendingImage.removeListener].\n result.addListener(streamListener);\n }\n return result;\n }\n\n // 当缓存数量超过最大值或缓存的大小超过最大缓存容量,会调用此方法清理到缓存上限以内\n void _checkCacheSize() {\n while (_currentSizeBytes > _maximumSizeBytes || _cache.length > _maximumSize) {\n final Object key = _cache.keys.first;\n final _CachedImage image = _cache[key];\n _currentSizeBytes -= image.sizeBytes;\n _cache.remove(key);\n }\n ... //省略无关代码\n }\n}\n\n有缓存则使用缓存,没有缓存则调用load方法加载图片,加载成功后:\n\n先判断图片数据有缓存,如果有,则直接返回ImageStream。\n如果没有缓存,则调用load(T key)方法从数据源加载图片数据,加载成功后先缓存,然后返回ImageStream。\n\n另外,我们可以看到ImageCache类中有设置缓存上限的setter,所以,如果我们可以自定义缓存上限:\n PaintingBinding.instance.imageCache.maximumSize=2000; //最多2000张\n PaintingBinding.instance.imageCache.maximumSizeBytes = 200 \n现在我们看一下缓存的key,因为Map中相同key的值会被覆盖,也就是说key是图片缓存的一个唯一标识,只要是不同key,那么图片数据就会分别缓存(即使事实上是同一张图片)。那么图片的唯一标识是什么呢?跟踪源码,很容易发现key正是ImageProvider.obtainKey()方法的返回值,而此方法需要ImageProvider子类去重写,这也就意味着不通的ImageProvider对key的定义逻辑会不同。其实也很好理解,比如对于NetworkImage,将图片的url作为key会很合适,而对于AssetImage,则应该将“包名+路径”作为唯一的key。下面我们以NetworkImage为例,看一下它的obtainKey()实现:\n@override\nFuture obtainKey(image_provider.ImageConfiguration configuration) {\n return SynchronousFuture(this);\n}\n\n代码很简单,创建了一个同步的future,然后直接将自身做为key返回。因为Map中在判断key(此时是NetworkImage对象)是否相等时会使用“==”运算符,那么定义key的逻辑就是NetworkImage的“==”运算符:\n@override\nbool operator ==(dynamic other) {\n ... //省略无关代码\n final NetworkImage typedOther = other;\n return url == typedOther.url\n && scale == typedOther.scale;\n}\n\n很清晰,对于网络图片来说,会将其“url+缩放比例”作为缓存的key。也就是说如果两张图片的url或scale只要有一个不同,便会重新下载并分别缓存。\n另外,我们需要注意的是,图片缓存是在内存中,并没有进行本地文件持久化存储,这也是为什么网络图片在应用重启后需要重新联网下载的原因。\n同时也意味着在应用生命周期内,如果缓存没有超过上限,相同u的图片只会被下载一次。\n总结\n上面主要结合源码,探索了ImageProvider的主要功能和原理,如果要用一句话来总结ImageProvider功能,那么应该是:加载图片数据并进行缓存、解码。在此再次提醒读者,Flutter的源码是非常好的第一手资料,建议读者多多探索,另外,在阅读源码学西的同时一定要有总结,这样才不至于在源码中迷失。\n14.5.2 Image组件原理\n前面章节中我们介绍过Image的基础用法,现在我们更深入一些,研究一下Image是如何和ImageProvider配合来获取最终解码后的数据,然后又如何将图片绘制到屏幕上的。\n本节换一个思路,我们先不去直接看Image的源码,而根据已经掌握的知识来实现一个简版的“Image组件” MyImage,代码大致如下:\nclass MyImage extends StatefulWidget {\n const MyImage({\n Key key,\n @required this.imageProvider,\n })\n : assert(imageProvider != null),\n super(key: key);\n\n final ImageProvider imageProvider;\n\n @override\n _MyImageState createState() => _MyImageState();\n}\n\nclass _MyImageState extends State {\n ImageStream _imageStream;\n ImageInfo _imageInfo;\n\n @override\n void didChangeDependencies() {\n super.didChangeDependencies();\n // 依赖改变时,图片的配置信息可能会发生改变\n _getImage();\n }\n\n @override\n void didUpdateWidget(MyImage oldWidget) {\n super.didUpdateWidget(oldWidget);\n if (widget.imageProvider != oldWidget.imageProvider)\n _getImage();\n }\n\n void _getImage() {\n final ImageStream oldImageStream = _imageStream;\n // 调用imageProvider.resolve方法,获得ImageStream。\n _imageStream =\n widget.imageProvider.resolve(createLocalImageConfiguration(context));\n //判断新旧ImageStream是否相同,如果不同,则需要调整流的监听器\n if (_imageStream.key != oldImageStream?.key) {\n final ImageStreamListener listener = ImageStreamListener(_updateImage);\n oldImageStream?.removeListener(listener);\n _imageStream.addListener(listener);\n }\n }\n\n void _updateImage(ImageInfo imageInfo, bool synchronousCall) {\n setState(() {\n // Trigger a build whenever the image changes.\n _imageInfo = imageInfo;\n });\n }\n\n @override\n void dispose() {\n _imageStream.removeListener(ImageStreamListener(_updateImage));\n super.dispose();\n }\n\n @override\n Widget build(BuildContext context) {\n return RawImage(\n image: _imageInfo?.image, // this is a dart:ui Image object\n scale: _imageInfo?.scale ?? 1.0,\n );\n }\n}\n\n上面代码流程如下:\n\n通过imageProvider.resolve方法可以得到一个ImageStream(图片数据流),然后监听ImageStream的变化。当图片数据源发生变化时,ImageStream会触发相应的事件,而本例中我们只设置了图片成功的监听器_updateImage,而_updateImage中只更新了_imageInfo。值得注意的是,如果是静态图,ImageStream只会触发一次时间,如果是动态图,则会触发多次事件,每一次都会有一个解码后的图片帧。\n_imageInfo 更新后会rebuild,此时会创建一个RawImage Widget。RawImage最终会通过RenderImage来将图片绘制在屏幕上。如果继续跟进RenderImage类,我们会发现RenderImage的paint 方法中调用了paintImage方法,而paintImage方法中通过Canvas的drawImageRect(…)、drawImageNine(...)等方法来完成最终的绘制。\n最终的绘制由RawImage来完成。\n\n下面测试一下MyImage:\nclass ImageInternalTestRoute extends StatelessWidget {\n @override\n Widget build(BuildContext context) {\n return Column(\n children: [\n MyImage(\n imageProvider: NetworkImage(\n \"https://avatars2.githubusercontent.com/u/20411648?s=460&v=4\",\n ),\n )\n ],\n );\n }\n}\n\n运行效果如图14-4所示:\n\n成功了! 现在,想必Image Widget的源码已经没必要在花费篇章去介绍了,读者有兴趣可以自行去阅读。\n总结\n本节主要介绍了Flutter 图片的加载、缓存和绘制流程。其中ImageProvider主要负责图片数据的加载和缓存,而绘制部分逻辑主要是由RawImage来完成。 而Image正是连接起ImageProvider和RawImage 的桥梁。\n"},"chapter15/intro.html":{"url":"chapter15/intro.html","title":"第十五章:一个完整的Flutter应用","keywords":"","body":"15.1 Github客户端示例\n本章新建一个Flutter工程,实现一个简单的Github客户端。这个实例的主要目标有两个:\n\n带领读者了解如何使用Flutter来开发一个完整APP,了解Flutter应用开发流程及工程结构等。\n对前面章节所学内容的一个应用及总结。\n\n需要注意的是,由于Github本身功能非常多,我们的焦点并不是去实现Github的所有业务功能。因此,我们只需要实现一个APP的骨架,能达到上面这两点即可。下面对我们要实现的功能如下:\n\n实现Github账号登录、退出登录功能\n登录后可以查看自己的项目主页\n支持换肤\n支持多语言\n登录状态可以持久化;\n\n要实现上面这些功能会涉及到如下技术点:\n\n网络请求;需要请求Github API。\nJson转Dart Model类;\n全局状态管理;语言、主题、登录态等都需要全局共享。\n持久化存储;保存登录信息,用户信息等。\n支持国际化、Intl包的使用\n\n现在,目前已经确定,在接下来章节中,我们将分模块一步一步实现上述功能。\n"},"chapter15/code_structure.html":{"url":"chapter15/code_structure.html","title":"15.2:APP代码结构","keywords":"","body":"15.2 Flutter APP代码结构\n我们先来创建一个全新的Flutter工程,命名为\"github_client_app\";创建新工程的步骤视读者使用的编辑器而定,都比较简单,在此不再赘述。创建完成后,工程结构如下:\ngithub_client_app\n├── android\n├── ios\n├── lib\n└── test\n\n由于我们需要使用外部图片和Icon资源,所以我们在项目根目录下分别创建”imgs“和”fonts“文件件,前者用于保存图片,后者用于保存Icon文件。关于图片和Icon,读者可以参考第三章中相应的内容。\n由于在网络数据传输和持久化时,我们需要通过Json来传输、保存数据;但是在应用开发时我们又需要将Json转成Dart Model类,现在我们使用在第十一章中”Json转Model“小节中介绍的方案,所以,我们需要在根目录下再创建一个用于保存Json文件的”jsons“文件夹。\n多语言支持我们使用第十三章”国际化“中介绍的方案,所以还需要在根目录下创建一个\"i10n\"文件夹,用于保存各国语言对应的arb文件。\n现在工程目录变为:\ngithub_client_app\n├── android\n├── fonts\n├── i10n-arb\n├── imgs\n├── ios\n├── jsons\n├── lib\n└── test\n\n由于我们的Dart代码都在“lib”文件夹下,笔者根据技术选型和经验在lib文件下创建了如下目录:\nlib\n├── common\n├── i10n\n├── models\n├── states\n├── routes\n└── widgets\n\n\n\n\n文件夹\n作用\n\n\n\n\ncommon\n一些工具类,如通用方法类、网络接口类、保存全局变量的静态类等\n\n\ni10n\n国际化相关的类都在此目录下\n\n\nmodels\nJson文件对应的Dart Model类会在此目录下\n\n\nstates\n保存APP中需要跨组件共享的状态类\n\n\nroutes\n存放所有路由页面类\n\n\nwidgets\nAPP内封装的一些Widget组件都在该目录下\n\n\n\n注意,使用不同的框架或技术选型会对代码有不同的组织方式,因此,本节介绍的代码组织结构并不是固定或者“最佳”的,在实战中,读者可以自己根据情况调整源码结构。但是无论采取何种源码组织结构,但清晰和解耦是一个通用原则,我们应该让自己的代码结构清晰,以便交流和维护。\n"},"chapter15/models.html":{"url":"chapter15/models.html","title":"15.3:Model类定义","keywords":"","body":"15.3 Model类定义\n本节我们先梳理一下APP中将用到的数据,然后生成相应的Dart Model类。Json文件转Dart Model的方案采用前面介绍过的 json_model 包方案\nGithub账号信息\n登录Github后,我们需要获取当前登录者的Github账号信息,Github API接口返回Json结构如下:\n{\n \"login\": \"octocat\", //用户登录名\n \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\", //用户头像地址\n \"type\": \"User\", //用户类型,可能是组织\n \"name\": \"monalisa octocat\", //用户名字\n \"company\": \"GitHub\", //公司\n \"blog\": \"https://github.com/blog\", //博客地址\n \"location\": \"San Francisco\", // 用户所处地理位置\n \"email\": \"octocat@github.com\", // 邮箱\n \"hireable\": false,\n \"bio\": \"There once was...\", // 用户简介\n \"public_repos\": 2, // 公开项目数\n \"followers\": 20, //关注该用户的人数\n \"following\": 0, // 该用户关注的人数\n \"created_at\": \"2008-01-14T04:33:35Z\", // 账号创建时间\n \"updated_at\": \"2008-01-14T04:33:35Z\", // 账号信息更新时间\n \"total_private_repos\": 100, //该用户总的私有项目数(包括参与的其它组织的私有项目)\n \"owned_private_repos\": 100 //该用户自己的私有项目数\n ... //省略其它字段\n}\n\n我们在“jsons”目录下创建一个“user.json”文件保存上述信息。\nAPI缓存策略信息\n由于Github服务器在国内访问速度较慢,我们对Github API应用一些简单的缓存策略。我们在“jsons”目录下创建一个“cacheConfig.json”文件缓存策略信息,定义如下:\n{\n \"enable\":true, // 是否启用缓存\n \"maxAge\":1000, // 缓存的最长时间,单位(秒)\n \"maxCount\":100 // 最大缓存数\n}\n\n用户信息\n用户信息(Profile)应包括如下信息:\n\nGithub账号信息;由于我们的APP可以切换账号登录,且登录后再次打开则不需要登录,所以我们需要对用户账号信息和登录状态进行持久化。\n应用使用配置信息;没一个用户都应有自己的APP配置信息,如主题、语言、以及数据缓存策略等。\n用户注销登录后,为了便于用户在退出APP前再次登录,我们需要记住上次登录的用户名。\n\n需要注意的是,目前Github有三种登录方式,分别是账号密码登录、oauth授权登录、二次认证登录;这三种登录方式的安全性依次加强,但是在本示例中,为了简单起见,我们使用账号密码登录,因此我们需要保存用户的密码。\n\n注意:在这里需要提醒读者,在登录场景中,保护用户账号安全是一个非常重要且永恒的话题,在实际开发中应严格杜绝直接明文存储用户账密的行为。\n\n我们在“jsons”目录下创建一个“profile.json”文件,结构如下:\n{\n \"user\":\"$user\", //Github账号信息,结构见\"user.json\"\n \"token\":\"\", // 登录用户的token(oauth)或密码\n \"theme\":5678, //主题色值\n \"cache\":\"$cacheConfig\", // 缓存策略信息,结构见\"cacheConfig.json\"\n \"lastLogin\":\"\", //最近一次的注销登录的用户名\n \"locale\":\"\" // APP语言信息\n}\n\n项目信息\n由于APP主页要显示其所有项目信息,我们在“jsons”目录下创建一个“repo.json”文件保存项目信息。通过参考Github 获取项目信息的API文档,定义出最终的“repo.json”文件结构,如下:\n{\n \"id\": 1296269,\n \"name\": \"Hello-World\", //项目名称\n \"full_name\": \"octocat/Hello-World\", //项目完成名称\n \"owner\": \"$user\", // 项目拥有者,结构见\"user.json\"\n \"parent\":\"$repo\", // 如果是fork的项目,则此字段表示fork的父项目信息\n \"private\": false, // 是否私有项目\n \"description\": \"This your first repo!\", //项目描述\n \"fork\": false, // 该项目是否为fork的项目\n \"language\": \"JavaScript\",//该项目的主要编程语言\n \"forks_count\": 9, // fork了该项目的数量\n \"stargazers_count\": 80, //该项目的star数量\n \"size\": 108, // 项目占用的存储大小\n \"default_branch\": \"master\", //项目的默认分支\n \"open_issues_count\": 2, //该项目当前打开的issue数量\n \"pushed_at\": \"2011-01-26T19:06:43Z\",\n \"created_at\": \"2011-01-26T19:01:12Z\",\n \"updated_at\": \"2011-01-26T19:14:43Z\",\n \"subscribers_count\": 42, //订阅(关注)该项目的人数\n \"license\": { // 该项目的开源许可证\n \"key\": \"mit\",\n \"name\": \"MIT License\",\n \"spdx_id\": \"MIT\",\n \"url\": \"https://api.github.com/licenses/mit\",\n \"node_id\": \"MDc6TGljZW5zZW1pdA==\"\n }\n ...//省略其它字段\n}\n\n生成Dart Model类\n现在,我们需要的Json数据已经定义完毕,现在只需要运行json_model package提供的命令来通过json文件生成相应的Dart类:\nflutter packages pub run json_model\n\n命令执行成功后,可以看到lib/models文件夹下会生成相应的Dart Model类:\n├── models\n│ ├── cacheConfig.dart\n│ ├── cacheConfig.g.dart\n│ ├── index.dart\n│ ├── profile.dart\n│ ├── profile.g.dart\n│ ├── repo.dart\n│ ├── repo.g.dart\n│ ├── user.dart\n│ └── user.g.dart\n数据持久化\n我们使用shared_preferences包来对登录用户的Profile信息进行持久化。shared_preferences是一个Flutter插件,它通过Android和iOS平台提供的机制来实现数据持久化。由于shared_preferences的使用非常简单,读者可以自行查看其文档,在此不再赘述。\n"},"chapter15/globals.html":{"url":"chapter15/globals.html","title":"15.4:全局变量及共享状态","keywords":"","body":"15.4 全局变量及共享状态\n应用程序中通常会包含一些贯穿APP生命周期的变量信息,这些信息在APP大多数地方可能都会被用到,比如当前用户信息、Local信息等。在Flutter中我们把需要全局共享的信息氛围两类:全局变量和共享状态。全局变量就是单纯指会贯穿整个APP生命周期的变量,用于单纯的保存一些信息,或者封装一些全局工具和方法的对象。而共享状态则是指哪些需要跨组件或跨路由共享的信息,这些信息通常也是全局变量,而共享状态和全局变量的不同在于前者者发生改变时需要通知所有使用该状态的组件,而后者不需要。为此,我们将全局变量和共享状态分开单独管理。\n15.4.1 全局变量-Global类\n我们在“lib/common”目录下创建一个Global类,它主要管理APP的全局变量,定义如下:\n// 提供四套可选主题色\nconst _themes = [\n Colors.blue,\n Colors.cyan,\n Colors.teal,\n Colors.green,\n Colors.red,\n];\n\nclass Global {\n static SharedPreferences _prefs;\n static Profile profile = Profile();\n // 网络缓存对象\n static NetCache netCache = NetCache();\n\n // 可选的主题列表\n static List get themes => _themes;\n\n // 是否为release版\n static bool get isRelease => bool.fromEnvironment(\"dart.vm.product\");\n\n //初始化全局信息,会在APP启动时执行\n static Future init() async {\n _prefs = await SharedPreferences.getInstance();\n var _profile = _prefs.getString(\"profile\");\n if (_profile != null) {\n try {\n profile = Profile.fromJson(jsonDecode(_profile));\n } catch (e) {\n print(e);\n }\n }\n\n // 如果没有缓存策略,设置默认缓存策略\n profile.cache = profile.cache ?? CacheConfig()\n ..enable = true\n ..maxAge = 3600\n ..maxCount = 100;\n\n //初始化网络请求相关配置\n Git.init();\n }\n\n // 持久化Profile信息\n static saveProfile() =>\n _prefs.setString(\"profile\", jsonEncode(profile.toJson()));\n}\n\nGlobal类的各个字段的意义都有注释,在此不再赘述,需要注意的是init()需要在App启动时就要执行,所以应用的main方法如下:\nvoid main() => Global.init().then((e) => runApp(MyApp()));\n\n在此,一定要确保Global.init()方法不能抛出异常,否则 runApp(MyApp())根本执行不到。\n15.4.2 共享状态\n有了全局变量,我们还需要考虑如何跨组件共享状态。当然,如果我们将要共享的状态全部用全局变量替代也是可以的,但是这在Flutter开发中并不是一个好主意,因为组件的状态是和UI相关,而在状态改变时我们会期望依赖该状态的UI组件会自动更新,如果使用全局变量,那么我们必须得去手动处理状态变动通知、接收机制以及变量和组件依赖关系。因此,本实例中,我们使用前面介绍过的Provider包来实现跨组件状态共享,因此我们需要定义相关的Provider。在本实例中,需要共享的状态有登录用户信息、APP主题信息、APP语言信息。由于这些信息改变后都要立即通知其它依赖的该信息的Widget更新,所以我们应该使用ChangeNotifierProvider,另外,这些信息改变后都是需要更新Profile信息并进行持久化的。综上所述,我们可以定义一个ProfileChangeNotifier基类,然后让需要共享的Model继承自该类即可,ProfileChangeNotifier定义如下:\nclass ProfileChangeNotifier extends ChangeNotifier {\n Profile get _profile => Global.profile;\n\n @override\n void notifyListeners() {\n Global.saveProfile(); //保存Profile变更\n super.notifyListeners(); //通知依赖的Widget更新\n }\n}\n\n用户状态\n用户状态在登录状态发生变化时更新、通知其依赖项,我们定义如下:\nclass UserModel extends ProfileChangeNotifier {\n User get user => _profile.user;\n\n // APP是否登录(如果有用户信息,则证明登录过)\n bool get isLogin => user != null;\n\n //用户信息发生变化,更新用户信息并通知依赖它的子孙Widgets更新\n set user(User user) {\n if (user?.login != _profile.user?.login) {\n _profile.lastLogin = _profile.user?.login;\n _profile.user = user;\n notifyListeners();\n }\n }\n}\n\nAPP主题状态\n主题状态在用户更换APP主题时更新、通知其依赖项,定义如下:\nclass ThemeModel extends ProfileChangeNotifier {\n // 获取当前主题,如果为设置主题,则默认使用蓝色主题\n ColorSwatch get theme => Global.themes\n .firstWhere((e) => e.value == _profile.theme, orElse: () => Colors.blue);\n\n // 主题改变后,通知其依赖项,新主题会立即生效\n set theme(ColorSwatch color) {\n if (color != theme) {\n _profile.theme = color[500].value;\n notifyListeners();\n }\n }\n}\n\nAPP语言状态\n当APP语言选为跟随系统(Auto)时,在系通语言改变时,APP语言会更新;当用户在APP中选定了具体语言时(美国英语或中文简体),则APP便会一直使用用户选定的语言,不会再随系统语言而变。语言状态类定义如下:\nclass LocaleModel extends ProfileChangeNotifier {\n // 获取当前用户的APP语言配置Locale类,如果为null,则语言跟随系统语言\n Locale getLocale() {\n if (_profile.locale == null) return null;\n var t = _profile.locale.split(\"_\");\n return Locale(t[0], t[1]);\n }\n\n // 获取当前Locale的字符串表示\n String get locale => _profile.locale;\n\n // 用户改变APP语言后,通知依赖项更新,新语言会立即生效\n set locale(String locale) {\n if (locale != _profile.locale) {\n _profile.locale = locale;\n notifyListeners();\n }\n }\n}\n\n"},"chapter15/network.html":{"url":"chapter15/network.html","title":"15.5:网络请求封装","keywords":"","body":"15.5 网络请求封装\n本节我们会基于前面介绍过的dio网络库封装APP中用到的网络请求接口,并同时应用一个简单的缓存策略。下面我们先介绍一下网络接口缓存原来,然后再封装APP的业务请求接口。\n15.5.1 网络接口缓存\n由于在国内访问Github服务器速度较慢,所以我们应用一些简单的缓存策略:将请求的url作为key,对请求的返回值在一个指定时间段类进行缓存,另外设置一个最大缓存数,当超过最大缓存数后移除最早的一条缓存。但是也得提供一种针对特定接口或请求决定是否启用缓存的机制,这种机制可以指定哪些接口或那次请求不应用缓存,这种机制是很有必要的,比如登录接口就不应该缓存,又比如用户在下拉刷新时就不应该再应用缓存。在实现缓存之前我们先定义保存缓存信息的CacheObject类:\nclass CacheObject {\n CacheObject(this.response)\n : timeStamp = DateTime.now().millisecondsSinceEpoch;\n Response response;\n int timeStamp; // 缓存创建时间\n\n @override\n bool operator ==(other) {\n return response.hashCode == other.hashCode;\n }\n\n //将请求uri作为缓存的key\n @override\n int get hashCode => response.realUri.hashCode;\n}\n\n接下来我们需要实现具体的缓存策略,由于我们使用的是dio package,所以我们可以直接通过拦截器来实现缓存策略:\nimport 'dart:collection';\nimport 'package:dio/dio.dart';\nimport '../index.dart';\n\nclass CacheObject {\n CacheObject(this.response)\n : timeStamp = DateTime.now().millisecondsSinceEpoch;\n Response response;\n int timeStamp;\n\n @override\n bool operator ==(other) {\n return response.hashCode == other.hashCode;\n }\n\n @override\n int get hashCode => response.realUri.hashCode;\n}\n\nclass NetCache extends Interceptor {\n // 为确保迭代器顺序和对象插入时间一致顺序一致,我们使用LinkedHashMap\n var cache = LinkedHashMap();\n\n @override\n onRequest(RequestOptions options) {\n if (!Global.profile.cache.enable) return options;\n // refresh标记是否是\"下拉刷新\"\n bool refresh = options.extra[\"refresh\"] == true;\n //如果是下拉刷新,先删除相关缓存\n if (refresh) {\n if (options.extra[\"list\"] == true) {\n //若是列表,则只要url中包含当前path的缓存全部删除(简单实现,并不精准)\n cache.removeWhere((key, v) => key.contains(options.path));\n } else {\n // 如果不是列表,则只删除uri相同的缓存\n delete(options.uri.toString());\n }\n return options;\n }\n if (options.extra[\"noCache\"] != true &&\n options.method.toLowerCase() == 'get') {\n String key = options.extra[\"cacheKey\"] ?? options.uri.toString();\n var ob = cache[key];\n if (ob != null) {\n //若缓存未过期,则返回缓存内容\n if ((DateTime.now().millisecondsSinceEpoch - ob.timeStamp) / 1000 \n关于代码的解释都在注释中了,在此需要说明的是dio包的option.extra是专门用于扩展请求参数的,我们通过定义了“refresh”和“noCache”两个参数实现了”针对特定接口或请求决定是否启用缓存的机制“,这两个参数含义如下:\n\n\n\n参数名\n类型\n解释\n\n\n\n\nrefresh\nbool\n如果为true,则本次请求不使用缓存,但新的请求结果依然会被缓存\n\n\nnoCache\nbool\n本次请求禁用缓存,请求结果也不会被缓存。\n\n\n\n15.5.2 封装网络请求\n一个完整的APP,可能会涉及很多网络请求,为了便于管理、收敛请求入口,工程上最好的作法就是将所有网络请求放到同一个源码文件中。由于我们的接口都是请求的Github 开发平台提供的API,所以我们定义一个Git类,专门用于Github API接口调用。另外,在调试过程中,我们通常需要一些工具来查看网络请求、响应报文,使用网络代理工具来调试网络数据问题是主流方式。配置代理需要在应用中指定代理服务器的地址和端口,另外Github API是HTTPS协议,所以在配置完代理后还应该禁用证书校验,这些配置我们在Git类初始化时执行(init()方法)。下面是Git类的源码:\nimport 'dart:async';\nimport 'dart:convert';\nimport 'dart:io';\nimport 'package:dio/dio.dart';\nimport 'package:flutter/material.dart';\nimport '../index.dart';\n\nclass Git {\n // 在网络请求过程中可能会需要使用当前的context信息,比如在请求失败时\n // 打开一个新路由,而打开新路由需要context信息。\n Git([this.context]) {\n _options = Options(extra: {\"context\": context});\n }\n\n BuildContext context;\n Options _options;\n static Dio dio = new Dio(BaseOptions(\n baseUrl: 'https://api.github.com/',\n headers: {\n HttpHeaders.acceptHeader: \"application/vnd.github.squirrel-girl-preview,\"\n \"application/vnd.github.symmetra-preview+json\",\n },\n ));\n\n static void init() {\n // 添加缓存插件\n dio.interceptors.add(Global.netCache);\n // 设置用户token(可能为null,代表未登录)\n dio.options.headers[HttpHeaders.authorizationHeader] = Global.profile.token;\n\n // 在调试模式下需要抓包调试,所以我们使用代理,并禁用HTTPS证书校验\n if (!Global.isRelease) {\n (dio.httpClientAdapter as DefaultHttpClientAdapter).onHttpClientCreate =\n (client) {\n client.findProxy = (uri) {\n return \"PROXY 10.1.10.250:8888\";\n };\n //代理工具会提供一个抓包的自签名证书,会通不过证书校验,所以我们禁用证书校验\n client.badCertificateCallback =\n (X509Certificate cert, String host, int port) => true;\n };\n }\n }\n\n // 登录接口,登录成功后返回用户信息\n Future login(String login, String pwd) async {\n String basic = 'Basic ' + base64.encode(utf8.encode('$login:$pwd'));\n var r = await dio.get(\n \"/users/$login\",\n options: _options.merge(headers: {\n HttpHeaders.authorizationHeader: basic\n }, extra: {\n \"noCache\": true, //本接口禁用缓存\n }),\n );\n //登录成功后更新公共头(authorization),此后的所有请求都会带上用户身份信息\n dio.options.headers[HttpHeaders.authorizationHeader] = basic;\n //清空所有缓存\n Global.netCache.cache.clear();\n //更新profile中的token信息\n Global.profile.token = basic;\n return User.fromJson(r.data);\n }\n\n //获取用户项目列表\n Future> getRepos(\n {Map queryParameters, //query参数,用于接收分页信息\n refresh = false}) async {\n if (refresh) {\n // 列表下拉刷新,需要删除缓存(拦截器中会读取这些信息)\n _options.extra.addAll({\"refresh\": true, \"list\": true});\n }\n var r = await dio.get(\n \"user/repos\",\n queryParameters: queryParameters,\n options: _options,\n );\n return r.data.map((e) => Repo.fromJson(e)).toList();\n }\n}\n\n可以看到我们在init()方法中,我们判断了是否是调试环境,然后做了一些针对调试环境的网络配置(设置代理和禁用证书校验)。而Git.init()方法是应用启动时被调用的(Global.init()方法中会调用Git.init())。\n另外需要注意,我们所有的网络请求是通过同一个dio实例(静态变量)发出的,在创建该dio实例时我们将Github API的基地址和API支持的Header进行了全局配置,这样所有通过该dio实例发出的请求都会默认使用者些配置。\n在本实例中,我们只用到了登录接口和获取用户项目的接口,所以在Git类中只定义了login(…)和getRepos(…)方法,如果读者要在本实例的基础上扩充功能,读者可以将其它的接口请求方法添加到Git类中,这样便实现了网络请求接口在代码层面的集中管理和维护。\n"},"chapter15/entry.html":{"url":"chapter15/entry.html","title":"15.6:App入口及首页","keywords":"","body":"15.6 APP入口及主页\n本节来介绍一下APP入口及首页。\n15.6.1 APP入口\nmain函数为APP入口函数,实现如下:\nvoid main() => Global.init().then((e) => runApp(MyApp()));\n\n初始化完成后才会加载UI(MyApp),MyApp 是应用的入口Widget,实现如下:\nclass MyApp extends StatelessWidget {\n // This widget is the root of your application.\n @override\n Widget build(BuildContext context) {\n return MultiProvider(\n providers: [\n ChangeNotifierProvider.value(value: ThemeModel()),\n ChangeNotifierProvider.value(value: UserModel()),\n ChangeNotifierProvider.value(value: LocaleModel()),\n ],\n child: Consumer2(\n builder: (BuildContext context, themeModel, localeModel, Widget child) {\n return MaterialApp(\n theme: ThemeData(\n primarySwatch: themeModel.theme,\n ),\n onGenerateTitle: (context){\n return GmLocalizations.of(context).title;\n },\n home: HomeRoute(), //应用主页\n locale: localeModel.getLocale(),\n //我们只支持美国英语和中文简体\n supportedLocales: [\n const Locale('en', 'US'), // 美国英语\n const Locale('zh', 'CN'), // 中文简体\n //其它Locales\n ],\n localizationsDelegates: [\n // 本地化的代理类\n GlobalMaterialLocalizations.delegate,\n GlobalWidgetsLocalizations.delegate,\n GmLocalizationsDelegate()\n ],\n localeResolutionCallback:\n (Locale _locale, Iterable supportedLocales) {\n if (localeModel.getLocale() != null) {\n //如果已经选定语言,则不跟随系统\n return localeModel.getLocale();\n } else {\n\n Locale locale;\n //APP语言跟随系统语言,如果系统语言不是中文简体或美国英语,\n //则默认使用美国英语\n if (supportedLocales.contains(_locale)) {\n locale= _locale;\n } else {\n locale= Locale('en', 'US');\n }\n return locale;\n }\n },\n // 注册命名路由表\n routes: {\n \"login\": (context) => LoginRoute(),\n \"themes\": (context) => ThemeChangeRoute(),\n \"language\": (context) => LanguageRoute(),\n },\n );\n },\n ),\n );\n }\n}\n\n在上面的代码中:\n\n我们的根widget是MultiProvider,它将主题、用户、语言三种状态绑定到了应用的根上,如此一来,任何路由中都可以通过Provider.of()来获取这些状态,也就是说这三种状态是全局共享的!\nHomeRoute是应用的主页。\n在构建MaterialApp时,我们配置了APP支持的语言列表,以及监听了系统语言改变事件;另外MaterialApp消费(依赖)了ThemeModel和LocaleModel,所以当APP主题或语言改变时MaterialApp会重新构建\n我们注册了命名路由表,以便在APP中可以直接通过路由名跳转。\n为了支持多语言(本APP中我们支持美国英语和中文简体两种语言)我们实现了一个GmLocalizationsDelegate,子Widget中都可以通过GmLocalizations来动态获取APP当前语言对应的文案。关于GmLocalizationsDelegate和GmLocalizations的实现方式读者可以参考”国际化“一章中的介绍,此处不再赘述。\n\n15.6.2 主页\n为了简单起见,当APP启动后,如果之前已登录了APP,则显示该用户项目列表;如果之前未登录,则显示一个登录按钮,点击后跳转到登录页。另外,我们实现一个抽屉菜单,里面包含当前用户头像及APP的菜单。下面我们先看看要实现的效果,如图15-1、15-2所示:\n\n我们在”lib/routes“下创建一个”home_page.dart“文件,实现如下:\nclass HomeRoute extends StatefulWidget {\n @override\n _HomeRouteState createState() => _HomeRouteState();\n}\n\nclass _HomeRouteState extends State {\n @override\n Widget build(BuildContext context) {\n return Scaffold(\n appBar: AppBar(\n title: Text(GmLocalizations.of(context).home),\n ),\n body: _buildBody(), // 构建主页面\n drawer: MyDrawer(), //抽屉菜单\n );\n }\n ...// 省略\n}\n\n上面代码中,主页的标题(title)我们是通过GmLocalizations.of(context).home来获得,GmLocalizations是我们提供的一个Localizations类,用于支持多语言,因此当APP语言改变时,凡是使用GmLocalizations动态获取的文案都会是相应语言的文案,这在前面”国际化“一章中已经介绍过,读者可以前翻查阅。\n我们通过 _buildBody()方法来构建主页内容,_buildBody()方法实现代码如下:\n Widget _buildBody() {\n UserModel userModel = Provider.of(context);\n if (!userModel.isLogin) {\n //用户未登录,显示登录按钮\n return Center(\n child: RaisedButton(\n child: Text(GmLocalizations.of(context).login),\n onPressed: () => Navigator.of(context).pushNamed(\"login\"),\n ),\n );\n } else {\n //已登录,则展示项目列表\n return InfiniteListView(\n onRetrieveData: (int page, List items, bool refresh) async {\n var data = await Git(context).getRepos(\n refresh: refresh,\n queryParameters: {\n 'page': page,\n 'page_size': 20,\n },\n );\n //把请求到的新数据添加到items中\n items.addAll(data); \n // 如果接口返回的数量等于'page_size',则认为还有数据,反之则认为最后一页\n return data.length==20;\n },\n itemBuilder: (List list, int index, BuildContext ctx) {\n // 项目信息列表项\n return RepoItem(list[index]);\n },\n );\n }\n }\n}\n\n上面代码注释很清楚:如果用户未登录,显示登录按钮;如果用户已登录,则展示项目列表。这里项目列表使用了InfiniteListView Widget,它是flukit package中提供的。InfiniteListView同时支持了下拉刷新和上拉加载更多两种功能。onRetrieveData 为数据获取回调,该回调函数接收三个参数:\n\n\n\n参数名\n类型\n解释\n\n\n\n\npage\nint\n当前页号\n\n\nitems\nList\n保存当前列表数据的List\n\n\nrefresh\nbool\n是否是下拉刷新触发\n\n\n\n返回值类型为bool,为true时表示还有数据,为false时则表示后续没有数据了。onRetrieveData 回调中我们调用Git(context).getRepos(...)来获取用户项目列表,同时指定每次请求获取20条。当获取成功时,首先要将新获取的项目数据添加到items中,然后根据本次请求的项目条数是否等于期望的20条来判断还有没有更多的数据。在此需要注意,Git(context).getRepos(…)方法中需要refresh参数来判断是否使用缓存。\nitemBuilder为列表项的builder,我们需要在该回调中构建每一个列表项Widget。由于列表项构建逻辑较负责,我们单独封装一个RepoItem Widget 专门用于构建列表项UI。RepoItem 实现如下:\nimport '../index.dart';\n\nclass RepoItem extends StatefulWidget {\n // 将`repo.id`作为RepoItem的默认key\n RepoItem(this.repo) : super(key: ValueKey(repo.id));\n\n final Repo repo;\n\n @override\n _RepoItemState createState() => _RepoItemState();\n}\n\nclass _RepoItemState extends State {\n @override\n Widget build(BuildContext context) {\n var subtitle;\n return Padding(\n padding: const EdgeInsets.only(top: 8.0),\n child: Material(\n color: Colors.white,\n shape: BorderDirectional(\n bottom: BorderSide(\n color: Theme.of(context).dividerColor,\n width: .5,\n ),\n ),\n child: Padding(\n padding: const EdgeInsets.only(top: 0.0, bottom: 16),\n child: Column(\n crossAxisAlignment: CrossAxisAlignment.start,\n children: [\n ListTile(\n dense: true,\n leading: gmAvatar(\n //项目owner头像\n widget.repo.owner.avatar_url,\n width: 24.0,\n borderRadius: BorderRadius.circular(12),\n ),\n title: Text(\n widget.repo.owner.login,\n textScaleFactor: .9,\n ),\n subtitle: subtitle,\n trailing: Text(widget.repo.language ?? \"\"),\n ),\n // 构建项目标题和简介\n Padding(\n padding: const EdgeInsets.symmetric(horizontal: 16.0),\n child: Column(\n crossAxisAlignment: CrossAxisAlignment.start,\n children: [\n Text(\n widget.repo.fork\n ? widget.repo.full_name\n : widget.repo.name,\n style: TextStyle(\n fontSize: 15,\n fontWeight: FontWeight.bold,\n fontStyle: widget.repo.fork\n ? FontStyle.italic\n : FontStyle.normal,\n ),\n ),\n Padding(\n padding: const EdgeInsets.only(top: 8, bottom: 12),\n child: widget.repo.description == null\n ? Text(\n GmLocalizations.of(context).noDescription,\n style: TextStyle(\n fontStyle: FontStyle.italic,\n color: Colors.grey[700]),\n )\n : Text(\n widget.repo.description,\n maxLines: 3,\n style: TextStyle(\n height: 1.15,\n color: Colors.blueGrey[700],\n fontSize: 13,\n ),\n ),\n ),\n ],\n ),\n ),\n // 构建卡片底部信息\n _buildBottom()\n ],\n ),\n ),\n ),\n );\n }\n\n // 构建卡片底部信息\n Widget _buildBottom() {\n const paddingWidth = 10;\n return IconTheme(\n data: IconThemeData(\n color: Colors.grey,\n size: 15,\n ),\n child: DefaultTextStyle(\n style: TextStyle(color: Colors.grey, fontSize: 12),\n child: Padding(\n padding: const EdgeInsets.symmetric(horizontal: 16),\n child: Builder(builder: (context) {\n var children = [\n Icon(Icons.star),\n Text(\" \" +\n widget.repo.stargazers_count\n .toString()\n .padRight(paddingWidth)),\n Icon(Icons.info_outline),\n Text(\" \" +\n widget.repo.open_issues_count\n .toString()\n .padRight(paddingWidth)),\n\n Icon(MyIcons.fork), //我们的自定义图标\n Text(widget.repo.forks_count.toString().padRight(paddingWidth)),\n ];\n\n if (widget.repo.fork) {\n children.add(Text(\"Forked\".padRight(paddingWidth)));\n }\n\n if (widget.repo.private == true) {\n children.addAll([\n Icon(Icons.lock),\n Text(\" private\".padRight(paddingWidth))\n ]);\n }\n return Row(children: children);\n }),\n ),\n ),\n );\n }\n}\n\n上面代码有两点需要注意:\n\n在构建项目拥有者头像时调用了gmAvatar(…)方法,该方法是是一个全局工具函数,专门用于获取头像图片,实现如下:\nWidget gmAvatar(String url, {\n double width = 30,\n double height,\n BoxFit fit,\n BorderRadius borderRadius,\n}) {\n var placeholder = Image.asset(\n \"imgs/avatar-default.png\", //头像占位图,加载过程中显示\n width: width,\n height: height\n );\n return ClipRRect(\n borderRadius: borderRadius ?? BorderRadius.circular(2),\n child: CachedNetworkImage( \n imageUrl: url,\n width: width,\n height: height,\n fit: fit,\n placeholder: (context, url) =>placeholder,\n errorWidget: (context, url, error) =>placeholder,\n ),\n );\n}\n\n代码中调用了CachedNetworkImage 是cached_network_image包中提供的一个Widget,它不仅可以在图片加载过程中指定一个占位图,而且还可以对网络请求的图片进行缓存,更多详情读者可以自行查阅其文档。\n\n由于Flutter 的Material 图标库中没有fork图标,所以我们在iconfont.cn上找了一个fork图标,然后根据”图片和Icon“一节中介绍的使用自定义字体图标的方法集成到了我们的项目中。\n\n\n15.6.3 抽屉菜单\n抽屉菜单分为两部分:顶部头像和底部功能菜单项。当用户未登录,则抽屉菜单顶部会显示一个默认的灰色占位图,若用户已登录,则会显示用户的头像。抽屉菜单底部有”换肤“和”语言“两个固定菜单,若用户已登录,则会多一个”注销“菜单。用户点击”换肤“和”语言“两个菜单项,会进入相应的设置页面。我们的抽屉菜单效果如图15-3、15-4所示:\n\n实现代码如下:\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 //移除顶部padding\n child: MediaQuery.removePadding(\n context: context,\n removeTop: true,\n child: Column(\n crossAxisAlignment: CrossAxisAlignment.start,\n children: [\n _buildHeader(), //构建抽屉菜单头部\n Expanded(child: _buildMenus()), //构建功能菜单\n ],\n ),\n ),\n );\n }\n\n Widget _buildHeader() {\n return Consumer(\n builder: (BuildContext context, UserModel value, Widget child) {\n return GestureDetector(\n child: Container(\n color: Theme.of(context).primaryColor,\n padding: EdgeInsets.only(top: 40, bottom: 20),\n child: Row(\n children: [\n Padding(\n padding: const EdgeInsets.symmetric(horizontal: 16.0),\n child: ClipOval(\n // 如果已登录,则显示用户头像;若未登录,则显示默认头像\n child: value.isLogin\n ? gmAvatar(value.user.avatar_url, width: 80)\n : Image.asset(\n \"imgs/avatar-default.png\",\n width: 80,\n ),\n ),\n ),\n Text(\n value.isLogin\n ? value.user.login\n : GmLocalizations.of(context).login,\n style: TextStyle(\n fontWeight: FontWeight.bold,\n color: Colors.white,\n ),\n )\n ],\n ),\n ),\n onTap: () {\n if (!value.isLogin) Navigator.of(context).pushNamed(\"login\");\n },\n );\n },\n );\n }\n\n // 构建菜单项\n Widget _buildMenus() {\n return Consumer(\n builder: (BuildContext context, UserModel userModel, Widget child) {\n var gm = GmLocalizations.of(context);\n return ListView(\n children: [\n ListTile(\n leading: const Icon(Icons.color_lens),\n title: Text(gm.theme),\n onTap: () => Navigator.pushNamed(context, \"themes\"),\n ),\n ListTile(\n leading: const Icon(Icons.language),\n title: Text(gm.language),\n onTap: () => Navigator.pushNamed(context, \"language\"),\n ),\n if(userModel.isLogin) ListTile(\n leading: const Icon(Icons.power_settings_new),\n title: Text(gm.logout),\n onTap: () {\n showDialog(\n context: context,\n builder: (ctx) {\n //退出账号前先弹二次确认窗\n return AlertDialog(\n content: Text(gm.logoutTip),\n actions: [\n FlatButton(\n child: Text(gm.cancel),\n onPressed: () => Navigator.pop(context),\n ),\n FlatButton(\n child: Text(gm.yes),\n onPressed: () {\n //该赋值语句会触发MaterialApp rebuild\n userModel.user = null;\n Navigator.pop(context);\n },\n ),\n ],\n );\n },\n );\n },\n ),\n ],\n );\n },\n );\n }\n}\n\n用户点击”注销“,userModel.user 会被置空,此时所有依赖userModel的组件都会被rebuild,如主页会恢复成未登录的状态。\n本小节我们介绍了APP入口MaterialApp的一些配置,然后实现了APP的首页。后面我们将展示登录页、换肤页、语言切换页。\n"},"chapter15/login_page.html":{"url":"chapter15/login_page.html","title":"15.7:登录页","keywords":"","body":"15.7 登录页\n我们说过Github有多种登录方式,为了简单起见,我们只实现通过用户名和密码登录。在实现登录页时有四点需要注意:\n\n可以自动填充上次登录的用户名(如果有)。\n为了防止密码输入错误,密码框应该有开关可以看明文。\n用户名或密码字段在调用登录接口前有本地合法性校验(比如不能为空)。\n登录成功后需更新用户信息。\n\n实现代码如下:\nimport '../index.dart';\n\nclass LoginRoute extends StatefulWidget {\n @override\n _LoginRouteState createState() => _LoginRouteState();\n}\n\nclass _LoginRouteState extends State {\n TextEditingController _unameController = new TextEditingController();\n TextEditingController _pwdController = new TextEditingController();\n bool pwdShow = false; //密码是否显示明文\n GlobalKey _formKey = new GlobalKey();\n bool _nameAutoFocus = true;\n\n @override\n void initState() {\n // 自动填充上次登录的用户名,填充后将焦点定位到密码输入框\n _unameController.text = Global.profile.lastLogin;\n if (_unameController.text != null) {\n _nameAutoFocus = false;\n }\n super.initState();\n }\n\n @override\n Widget build(BuildContext context) {\n var gm = GmLocalizations.of(context);\n return Scaffold(\n appBar: AppBar(title: Text(gm.login)),\n body: Padding(\n padding: const EdgeInsets.all(16.0),\n child: Form(\n key: _formKey,\n autovalidate: true,\n child: Column(\n children: [\n TextFormField(\n autofocus: _nameAutoFocus,\n controller: _unameController,\n decoration: InputDecoration(\n labelText: gm.userName,\n hintText: gm.userNameOrEmail,\n prefixIcon: Icon(Icons.person),\n ),\n // 校验用户名(不能为空)\n validator: (v) {\n return v.trim().isNotEmpty ? null : gm.userNameRequired;\n }),\n TextFormField(\n controller: _pwdController,\n autofocus: !_nameAutoFocus,\n decoration: InputDecoration(\n labelText: gm.password,\n hintText: gm.password,\n prefixIcon: Icon(Icons.lock),\n suffixIcon: IconButton(\n icon: Icon(\n pwdShow ? Icons.visibility_off : Icons.visibility),\n onPressed: () {\n setState(() {\n pwdShow = !pwdShow;\n });\n },\n )),\n obscureText: !pwdShow,\n //校验密码(不能为空)\n validator: (v) {\n return v.trim().isNotEmpty ? null : gm.passwordRequired;\n },\n ),\n Padding(\n padding: const EdgeInsets.only(top: 25),\n child: ConstrainedBox(\n constraints: BoxConstraints.expand(height: 55.0),\n child: RaisedButton(\n color: Theme.of(context).primaryColor,\n onPressed: _onLogin,\n textColor: Colors.white,\n child: Text(gm.login),\n ),\n ),\n ),\n ],\n ),\n ),\n ),\n );\n }\n\n void _onLogin() async {\n // 提交前,先验证各个表单字段是否合法\n if ((_formKey.currentState as FormState).validate()) {\n showLoading(context);\n User user;\n try {\n user = await Git(context).login(_unameController.text, _pwdController.text);\n // 因为登录页返回后,首页会build,所以我们传false,更新user后不触发更新\n Provider.of(context, listen: false).user = user;\n } catch (e) {\n //登录失败则提示\n if (e.response?.statusCode == 401) {\n showToast(GmLocalizations.of(context).userNameOrPasswordWrong);\n } else {\n showToast(e.toString());\n }\n } finally {\n // 隐藏loading框\n Navigator.of(context).pop();\n }\n if (user != null) {\n // 返回\n Navigator.of(context).pop();\n }\n }\n }\n}\n\n代码很简单,关键地方都有注释,不再赘述,下面我们看一下运行效果,如图15-5所示。\n\n"},"chapter15/language_and_theme_setting.html":{"url":"chapter15/language_and_theme_setting.html","title":"15.8:多语言和多主题","keywords":"","body":"15.8 多语言和多主题\n本实例APP中语言和主题都是可以设置的,而两者都是通过ChangeNotifierProvider来实现的:我们在main函数中使用了Consumer2,依赖了ThemeModel和LocaleModel,因此,当我们在语言和主题设置页更该当前的配置后,Consumer2的builder都会重新执行,构建一个新的MaterialApp,所以修改会立即生效。下面看一下语言和主题设置页的实现。\n15.8.1 语言选择页\nAPP语言选择页提供三个选项:中文简体、美国英语、跟随系统。我们将当前APP使用的语言高亮显示,并且在后面添加一个”对号“图标,实现如下:\nclass LanguageRoute extends StatelessWidget {\n @override\n Widget build(BuildContext context) {\n var color = Theme.of(context).primaryColor;\n var localeModel = Provider.of(context);\n var gm = GmLocalizations.of(context);\n //构建语言选择项\n Widget _buildLanguageItem(String lan, value) {\n return ListTile(\n title: Text(\n lan,\n // 对APP当前语言进行高亮显示\n style: TextStyle(color: localeModel.locale == value ? color : null),\n ),\n trailing:\n localeModel.locale == value ? Icon(Icons.done, color: color) : null,\n onTap: () {\n // 更新locale后MaterialApp会重新build\n localeModel.locale = value;\n },\n );\n }\n\n return Scaffold(\n appBar: AppBar(\n title: Text(gm.language),\n ),\n body: ListView(\n children: [\n _buildLanguageItem(\"中文简体\", \"zh_CN\"),\n _buildLanguageItem(\"English\", \"en_US\"),\n _buildLanguageItem(gm.auto, null),\n ],\n ),\n );\n }\n}\n\n上面代码逻辑很简单,唯一需要注意的是我们在build(…)方法里面定义了_buildLanguageItem(…)方法,它和在LanguageRoute类中定义该方法的区别就在于:在build(…)内定义的方法可以共享build(...)方法上下文中的变量,本例中是共享了localeModel。当然,如果_buildLanguageItem(…)的实现复杂一些的话不建议这样做,此时最好是将其作为LanguageRoute类的方法。该页面运行效果如图15-6、15-7所示:\n\n切换语言后立即生效。\n15.8.2 主题选择页\n一个完整的主题Theme包括很多选项,这些选项在ThemeData中定义。本实例为了简单起见,我们只配置主题颜色。我们提供几种默认预定义的主题色供用户选择,用户点击一种色块后则更新主题。主题选择页的实现代码如下:\nclass ThemeChangeRoute extends StatelessWidget{\n @override\n Widget build(BuildContext context) {\n return Scaffold(\n appBar: AppBar(\n title: Text(GmLocalizations.of(context).theme),\n ),\n body: ListView( //显示主题色块\n children: Global.themes.map((e) {\n return GestureDetector(\n child: Padding(\n padding: const EdgeInsets.symmetric(vertical: 5, horizontal: 16),\n child: Container(\n color: e,\n height: 40,\n ),\n ),\n onTap: () {\n //主题更新后,MaterialApp会重新build\n Provider.of(context).theme = e;\n },\n );\n }).toList(),\n ),\n );\n }\n}\n\n运行效果如图15-8所示:\n\n点击其它主题色块后,APP主题色立马切换生效。\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":{"./":["du.","du,期待和你做同事!","sdk文档并没有翻译,而在开发中遇到的一些具体问题通常都得去查看sdk文档。所以,要解决这两个问题,必须得有一个系统化的flutter教程,它不仅可以快速引导开发者入门,而且也能触及到一些细节和原理,最好也能提供一些学习和研究flutter的方法。因此,如果能有一本能系统地介绍flutter的书籍便是便是非常棒的!但是,当时没有一本关于flutter的中文书籍,因此,我便计划写一本能由浅入深、系统介绍flutter的书。2018年12月,《flutter实战》完成初稿,并在github上开源,同时上线了《flutter实战》电子书官网","“唯有深入,方能浅出”。我非常认同这句话,对于一门技术,只有了解的深入,才能用最浅显、通俗的话语描述出。我在写作本书时,深入浅出就是一个主要目标。所以,本书的目标不仅是想告诉读者如何使用flutter,而且也非常关注各个知识点的底层实现以及设计思想。从本书章节划分上来看,入门篇为“浅出”,进阶篇则是“深入”。另外由于pc客户端开发、移动开发、web开发这些经验我都有,而flutter本质上是一个ui系统,而ui系统的设计和实现在”大前端“下有很多相通之处,所以在本书中的一些知识点我也会对比一些其他ui系统(主要是android或web)相应的实现,便于有相关开发经验的读者对比理解。","为了更好的帮助中国开发者了解这门新技术,我在2018年初开始翻译flutter官网文档,同年4月份上线了flutter中文网,上线后反响很强烈,flutter中文网也很快被传播开,百度搜索排名迅速蹿升到前三,截止目前,flutter中文官网日pv在7万左右,每日独立访问人数近一万多。","作者wendux,高级技术专家(前端方向)、掘金知名专栏作者、flutter中文网发起人、flutter中文社区开源项目发起人;github社区知名开发者,是dio、fly、dsbridge等多个知名开源项目作者。曾就职于百度、小赢科技等互联网公司,从事过pc桌面开发、移动端开发以及web开发,负责过多次核心技术攻关,现就职于字节跳动业务团队,目前闲暇时,主要关注大前端行业发展。","关于作者","关于随书源码","在flutter发布之初,当时,我在看完flutter原理介绍后,就对它产生了浓厚的兴趣。当时笔者身边也一些人比较关注flutter,我也被经常问到关于flutter的一些问题,比如flutter怎么样?和rn有什么区别?flutter为什么要用dart?当时也听到了一些批评的声音,比如有些人说flutter只是重复造轮子,没啥亮点、flutter最大的缺点就是使用了dart语言等。在听到这些问题及论调后,我深知这是对flutter的不了解而造成的,这和当时国内缺乏flutter中文文档和教程有直接关系,很多人对flutter的了解都只停留在google的发布会介绍(有中文翻译)。","在全球,随着flutter被越来越多的知名公司应用在自己的商业app中,flutter这门新技术也逐渐进入了移动开发者的视野,尤其是当google在2018年io大会上发布了第一个preview版本后,国内刮起来一股学习flutter的热潮。","在笔者深入的了解flutter后,深知flutter必将是一个会改变移动开发格局的里程碑级作品,它从设计之初就对性能和开发效率兼顾,并且借鉴了react(一个web开发框架)的响应式的ui框架设计思想等,总之,很难用一两句话说完flutter的优点,同时我也很快成为了flutter的路转粉。","如果您发现本书中的错误,欢迎点击右上角的”编辑按钮“,提pr。如果您想一起参与本书创作,可以参考《flutter实战》贡献指南。","广告:长期招聘前端、移动端高工,有意者请发简历到duwen32767@163.com","感谢一直以来支持flutter中文网、flutter开源项目的人以及所有对本书提过pr的人,正是因为有你们,才有这本书。另外尤其感谢给本书打赏过的同学,你们的支持给了我很大的鼓励。","或加微信demon","无论是做flutter中文网,还是写gitme,主要目标都是帮助开发者学习flutter,同时消除围观开发者疑虑。但当开发者们真正开始动手时,flutter的生态问题就变得尤为突出。由于在2018年初flutter刚起步时,很多基础的包和库都是空白,少数已有的一些库也大都是预览版(未到1.0),存在很多bug。这个状况不是一两个人花一两天能搞定的,这是需要聚整个flutter开发者社群之力,耗费数年时间才可能有所改善。因此,在2018年4月份,我以flutter中文网名义发起了flutter开源计划,该计划主要是开发一些常用的包来丰富flutter生态,帮助开发者提高开发效率。自在github建立flutter中文开发者社区账号以来,前后开源了dio、cookiejar、flukit等多个项目,而dio在开源两周后,就迅速成为flutter第三方包中star排名第一的开源库。","最后","最后,知识是应该付费的,创作不易,开源不等于免费,如果您是本书读者并手头宽裕,可以点击下面打赏按钮打赏;当然,如果您囊中羞涩,您也可以阅读本书,但我对您有个小小的要求,希望您在阅读的过程中能积极参与到本书的纠错以及未完成内容的创作上来,也算是有所付出。","本书不适合做为编程的入门读物。","本书官网访问量较大,由于服务器配置有限,所以某些时段访问本站可能略有延迟,如果延迟较久,读者可以直接在github上阅读本书。","本书是第一本系统介绍flutter技术的中文书籍,它是flutter中文社区发起的开源项目之一,旨在帮助开发者入门,系统地、循序渐进的了解flutter。","本书特色","本书读者对象","权益","由于篇幅所限,本书中大多数示例代码都只是部分核心代码,读者可以去这里查看下载。","笔者在大学时读过候捷(真名侯俊杰)写的一些c++相关书籍,在他的《深入浅出mfc》一书中,有一句话我映像非常深","简介","缘起","致谢","虽然flutter中文网给中国开发者提供了很好的第一手了解flutter的资料,但是笔者还会经常遇到一些对flutter技术处于围观而不愿尝试的开发者。这主要是因为当时flutter在国内没有成功案例,再加上新技术都有学习成本,所以即使有文档,也会有一些开发者犹豫是否来学习。为了解决这部分开发者的疑虑,我就想如果能用flutter开发一个完整的app发布到应用商店,这样开发者就可以在犹豫的时候可以先实际感受一下flutter应用,这样有个直观的了解后,就会容易做出判断,为此,我开发了gitme,它是一个github客户端,它支持了源码浏览、issue、label等github的大多数功能,到目前为止,通过gitme登录过github账号的用户有8000多人,日活用户有1000人。更重要的是,有很多人正是用了gitme后,才来学flutter的。","虽然做的事情已经够多了,但是仍有一些很有必要去做的事情,由于时间原因,一直被搁置。","读者最好接触过pc客户端、移动开发或web前端开发中的一种。","读者至少熟悉一种编程语言。","起初,我没有出版实体书的打算,当时我以为开发者直接通过在线访问本书官网即方便又不用付费,何乐而不为。但在本书上线后,很多读者来添加微信好友,表示非常有收益,很期待出版纸质书,甚至有比较热心的读者想提前付定金预定!我理解,这是大家对我所做之事的认可和鼓励。考虑到,确实有一部分读者,尤其是还没毕业的同学,可能更喜欢通过书籍去学习,为此,我已经和机械工业出版社合作,目前本书纸质版正在出版中,敬请关注。","近来在网上发现很多原封不动复制本书的镜像网站和大量复制或引用了本书但未注明出处的博客、文章甚至书籍;对此,笔者在此声明,本书著作权归wendux所有,任何组织或个人在未经授权的情况下复制、拷贝、抄袭本书用于商业目的,笔者保留追究其法律责任的权利。如果是非商业目的的转载和引用,请注明出处并附上本书网址。另外如有出版机构愿意为本书出版实体书或者想转载本书内容,亦或是想合作,请加微信demon","随着学习flutter的人越来越多,一部分开发者通过查看官网的文档就能入门,但也有很多开发者感觉学习时仍然有些吃力,主要原因有两个,首先官网的文档主要是为了引导开发者快速上手的,讲的并不是很细;其次是我们虽然翻译了官方文档,但是对于flutt",",至今每天有3000多人在线浏览本书。那为什么不直接出版?如果直接出版,不仅有稿费,而且也能保护知识产权,而直接开源,不就就只能当雷锋了?其实,无论是做中文网、写gitme、做flutter开源项目,我的出发点都是为了能帮助中国开发者了解、学习flutter,而这是一件非常有意义的事,只要坚持做对别人有价值的事,那么上帝迟早会奖赏你;当然我们也在网站中留了打赏的按钮,如果读者觉得有帮助,可以扫码打赏,请笔者喝一杯咖啡。另外由于成书比较仓促,当时书中也有很多错误,开源后,有很多读者提pr来纠正书中的错别字,时至今日,有78名开发者为本书提过pr,我在此,衷心的感谢你们。"],"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","1.1","1.1.1","1.1.2","1.1.3","1.1.4","1.1.5","1.1.6","1.1:移动开发技术简介","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树与控件树","dsbridg","dsbridge.call(\"getphonemodel\");","dsbridge项目主页查看。","dsl(domain","dwebview","dwebview.addjavascriptobject(new","findviewbyid(r.id.dwebview);","flutter","flutter出世","flutter是google发布的一个用于创建跨平台、高性能移动应用的框架。flutter和qt","flutter高,","getphonemodel","getphonemodel(object","github","googl","h5+原生","h5+原生混合开发","h5+原生(cordova、ionic、微信小程序)","hybrid技术简介","i/o","import","issue中找到答案。","javascript","javascript+原生渲染","javascriptcor","javascript为脚本语言,执行时需要jit(just","javascript开发+原生渲染","javascript开发+原生渲染的方式主要优点如下:","javascript开发+原生渲染的跨平台框架原理。","jsapi","jsapi(),","jsbridge,它也是混合开发框架的核心。","jsx","language)","mobil","mobile、flutter)","mobile一样,都没有使用原生控件,相反都实现了一个自绘引擎,使用自身的布局、绘制系统。那么,我们会担心,qt","mobile做一个对比:","mobile后尘,成为另一个烈士?要回到这个问题,我们先来看看flutter诞生过程:","mobile面对的问题flutter是否也一样,flutter会不会步入qt","model","model,简称dom),是w3c组织推荐的处理可扩展标志语言的标准编程接口,一种独立于平台和语言的方式访问和修改一个文档的内容和结构。换句话说,这是表示和处理一个html或xml文档的标准接口。简单来说,dom就是文档树,与用户界面控件树对应,在前端开发中通常指html对应的渲染树,但广义的dom也可以指android中的xml布局文件对应的控件树,而术语dom操作就是指直接来操作渲染树(或控件树),","msg)","nativ","native、weex、快应用)","native、weex及快应用","native中主要有两个作用:","native只支持jsx语法。","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操作),从而避免整棵树重构,提高性能。","require(\"dsbridge\")","return","rn、weex","sdk开发的应用程序。原生开发有以下主要优势:","sdk开发的应用程序;而ios原生应用就是指通过object","specif","star","star。而今天(2019年5月29日),已经有65k的star。经历了短短2年多的时间,flutt","time)代码仍有差距。","time),执行效率和aot(ahead","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布局信息传递给原生;","小节","布局消息传递;","平台特定,开发成本高;不同平台必须维护不同代码,人力成本随之变大;","年","开发效率","开发效率低:qt使用c++作为其开发语言,而编程需要效率是直接会影响app开发效率的,c++作为一门静态语言,在ui开发方面灵活性不及javascript这样的动态语言,另外,c++需要开发者手动去管理内存分配,没有javascript及java中垃圾回收(gc)的机制。","开发效率;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","是使用","是必选的,它不支持通过其它方式创建组件,所以学习","更新到了","本章主要介绍了目前移动开发中三种跨平台技术,现在我们从框架角度对比一下:","本篇主要介绍一下","本节将主要介绍一下移动开发技术的进化历程,主要是想让读者知道flutter技术出现的背景。笔者认为,了解一门新技术出现的背景是非常重要的,因为只有了解之前是什么样的,才能理解为什么会是现在这样。","框架代表","此处需要有一张插图","混合应用的优点是动态内容是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":["1.2","1.2.1","1.2.2","1.2.3","1.2:初识flutter","1所示:","android平台。","aot模式运行时,javascript便远远追不上了。速度的提升对高帧率下的视图数据计算很有帮助。其次,flutter使用自己的渲染引擎来绘制ui,布局数据等由dart语言直接控制,所以在布局过程中不需要像rn那样要在javascript和native之间通信,这在一些滑动和拖动的场景下具有明显优势,因为在滑动和拖动过程往往都会引起布局发生变化,所以javascript需要和native之间不停的同步布局信息,这和在浏览器中要javascript频繁操作dom所带来的问题是相同的,都会带来比较可观的性能开销。","aot,当以","app采用dart语言开发。dart在","app,一套代码同时运行在","c++实现的","chrome浏览器和android均采用skia作为其绘图引擎。","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","博客:随着flutter技术的推广,相信很快网上将会有很多flutter相关的文章、博客,读者可以多去浏览、阅读。","和","和cupertino两种视觉风格的组件库。而我们flutter开发的大多数场景,只是和这两层打交道。","基于aot的发布包:","基于jit的快速开发周期:flutter在开发阶段采用,采用jit模式,这样就避免了每次改动都要进行编译,极大的节省了开发时间;","如何学习flutter","官网:阅读flutter官网的资源是快速入门的最佳方式,同时官网也是了解最新flutter发展动态的地方,由于目前flutter仍然处于快速发展阶段,所以建议读者还是时不时的去官网看看有没有新的动态。","底下两层(foundation和animation、painting、gestures)在google的一些视频中被合并为一个dart","开发效率高","快速内存分配","总结","是","有了资料和社区后,对于我们学习者自身来说,最重要的还是要多动手、多实践,在本书后面的章节中,希望读者能够亲自动手写一下示例。准备好了吗,下一章中,我们将正式进入flutter的世界!","本节主要介绍了一下flutter的特点,如果你感到有些点还不是很好理解,不用着急,随着日后对flutter细节的了解,再回过头来看,相信你会有更深的体会。","本节我们先对flutter的框架做一个整体介绍,旨在让读者心中有一个整体的印象,这对初学者来说非常重要。如果一下子便深入到flutter中,就会像是一个在沙漠中没有地图的人,即使可以找到一个绿洲,但是他也不会知道下一个绿洲在哪。因此,无论学什么技术,都要现有一张清晰的“地图”,而我们的学习过程就是“按图索骥”,这样我们才不会陷于细节而“目无全牛”。言归正传,我们看一下flutter官方提供的flutter框架图,如图1","本节给大家一些学习建议,分享一下笔者在学习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","&","'http://maven.aliyun.com/nexus/content/groups/public/'","'you","(64","(cmd","(git命令行工具);","(macos:preferences>plugins,","(不包括android","(不包括xcode或android","(如","(如myapp),","(带有闪电⚡️图标的按钮)。","(带有闪电⚡️图标的按钮)也不会显示,将代理移除即可解决。","(绿色圆形箭头按钮)。","(输入代码时进行验证、代码补全等)。","(运行、调试、热重载等)。","*","**",".","/","//添加这一句","/applications/xcode.app/contents/develop","1.3","1.3.1","1.3.2","1.3.3","1.3.4","1.3:搭建flutter开发环境","10所示:","16)或更高版本的android设备.","2.0","2所示:","3.2.0.pom","3所示:","4.1(api","400","5.0","5s或更高版本)。","5:","7","700","7所示:","8所示,此时点击超链接即可自动跳转到安装页面","9.0或更新版本(通过链接下载或苹果应用商店).","9.0或更高版本:","9:",";",">","[","]","action","action。","adb","allproject","android","android_hom","android设置","appear","applic","archive/#maco","archive/,打开后如图1","avds.","bash、mkdir、rm、git、curl、unzip、which","behavior","beta","beta.zip","bit)","brew","brows","build,","build.gradl","buildtools/","built","bundl","button","c:\\users\\{user_name}\\.gradle\\gradle.properti","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","deployment/","detail","dev","develop","devic","device.","doctor","doctor’","doctor命令","doctor命令来验证是否安装成功。","doctor并按照说明解决问题.","doctor)时,它会下载它自己的依赖项并自行编译。以后再运行就会快得多。缺失的依赖需要安装一下,安装完成后再运行flutt","download","echo","embed","enabl","execution,","export","extens","extensions:","file","file/","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","google()","gradl","gradle/","hardwar","head","homebrew","hot","https://flutter.io/setup/#android","https://goo.gl/xxqghq","idea。","idea开发的,所以读者也可以使用intellij","ident","identifi","ideviceinstal","ide配置与使用","id登录xcode,如图1","id都支持开发和测试,但若想将应用分发到app","imag","instal","install。","instructions.","io","io.cn","ios/runner.xcworkspac","jcenter()","level","lib/main.dart。","libimobiledevic","license同意过了.","line","maco","manag","manager”中,点击工具栏的","mani","master","master,flutter官方建议跟踪稳定分支,但你也可以跟踪master分支,这样可以查看最新的变化,但这样稳定性要低的多。","maven","maven.aliyun.com","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","reload“只会重新构建整个widget树,如果变动不在构建widget树的过程中,”hot","reload“就不会起作用。","reload“重载失效,此时调用","reload)","repositori","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、stable,其中stable分支为稳定分支(日后有新的稳定版本发布后可能也会有新的稳定分支,如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,但在国内目前无法访问google所致,因此,我们可以配置代理或使用vpn。","sdk,则必须将该","sdk,只需一句命令:","sdk,在安装flutter时也需要安装相应平台的构建工具和sdk。下面我们分别介绍一下windows和macos下的环境搭建。","select","selector","set","settings/","setup","sign","simul","site","sourc","spotlight","store,就必须注册apple开发者计划,有关详情读者可以自行了解。","studio","studio>tools>android>avd","studio。","studio不仅可以管理android","studio创建一个flutter项目,然后运行它,并体验“热重载”。","studio后插件生效。","studio和v","studio安装sdk并创建项目。","studio安装向导”。这将安装最新的android","studio工具栏,如图1","studio是基于intellij","studio的全量安装。android","studio的磁盘空间).","studio的磁盘空间).","studio问题","studio,下载地址:https://developer.android.com/studio/index.html","studio,在此不再赘述。","studio,然后执行“android","studio,读者可以先自行下载并安装android","sudo","switch","system","target","target设置页面中,确保在","team","termin","times:'","times:'。","toolchain","tools;","tools>android>avd","tri","trust。","unzip","updat","upgrad","url","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文档中找到。","一般格式为","上手安卓最常遇见的问题之一,错误如图1","上述命令创建一个flutter项目,项目名为myapp,其中包含一个使用materi","下载并安装","下选择了你的开发团队。当你选择一个团队时,xcode会创建并下载开发证书,向你的设备注册你的帐户,并创建和下载配置文件(如果需要)。","不要按“停止”按钮;","不过,flutter官方建议使用android","中,","中,勾选上","为要模拟的android版本选择一个或多个系统印象,然后选择","之类的终端模拟器设置代理之后,会导致”hot","仔细检查命令行输出以获取可能需要安装的其他软件或进一步需要执行的任务。","以启用","以获得有关镜像服务器的最新动态。","任何appl","体验热重载","作为","作为分隔符.","你会立即在运行的应用程序中看到更新的字符串。","使用usb将手机插入电脑。如果设备出现调试授权提示,请授权你的电脑可以访问该设备。","使用xcode,您可以在ios设备或模拟器上运行flutter应用程序。","使用镜像","例如笔者flutter","例如:","依赖下面这些命令行工具.","值是否唯一,如图1","列表,可以看到此时的","创建flutter应用","刷新当前终端窗口。","升级","升级flutter","即可解决。","去flutter官网下载其最新可用的安装包,下载地址:https://flutter.io/sdk","去flutter官网下载其最新可用的安装包,官网地址:https://flutter.io/sdk","另外,有些情况下热重载是不生效的,比如修改了main函数、修改了全局静态方法等,读者可以认为”hot","可以通过","名称","启动","启动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","安卓包配置问题","安装","安装android","安装flutter","安装flutter和dart插件","安装flutter插件","安装xcode","安装之后重新运行即可,如图1","安装步骤:","安装目录是“~/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开发工作流","无法连接,如图1","是否有设置代理。删除后问题即可解决。","是芯片系列,如","更改为","更新环境变量","有关上述步骤的详细信息,请参阅","查看“output”窗口中的输出是否有问题","根据你电脑屏幕大小,模拟高清屏ios设备可能会溢出屏幕。可以在模拟器的","此代码只能暂时针对当前命令行窗口设置path环境变量,要想永久将flutter添加到path中请参考下面更新环境变量","此镜像为临时镜像,并不能保证一直可用,读者可以参考https://flutter.io/community/china","注意:","注意,flutter的渠道版本会不停变动,请以flutter官网为准。另外,在中国大陆地区,要想正常获取安装包列表或下载安装包,可能需要翻墙,读者也可以去flutt","注意:","注意:存在这样的一种情况,当你根据上述步骤设置了之后,依旧无法解决这个问题,并有类似于","注意:本节介绍的安装方式随着flutter的升级可能会发生变化,如果下面介绍的内容在您安装flutter时已经失效,请访问flutter官网,按照官网最新的安装教程安装。","添加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下步骤一致,不再赘述。","这一类问题是由于无法连接到","这也是最常见的问题之一,当你发现自己无法下载部分依赖的时候,请优先考虑这种情况。进入","这是由于要去google下载android","进入","进入当前所在项目名/android","连接android模拟器","连接android真机设备","连接ios模拟器","连接ios真机设备","连接不上android","连接的设备名是","连接设备运行flutter应用","追加","选择","选择一个设备并选择","选择一个运行该应用的android设备。如果没有列出可用,请选择","通过检查模拟器","遵循xcode签名流程来配置您的项目:","部分。","配置xcode命令行工具以使用新安装的xcode版本","配置与使用","重启android","重启windows以应用此更改.","重新启动","需要安装两个插件:","验证avd配置是否正确,然后选择","验证“flutter/bin”是否已在path中:","验证配置","默认情况下,flutter使用的android","(如果已经安装了brew,跳过此步骤)。",",其中",",在其中添加:sourc",",在搜索结果列表中选择",",然后将",",重启","~/.bash_profil","~/.zshrc"],"chapter1/dart.html":["!=","\"","\"\";","\"hello","\"hello\";","\"hi","$device';","$msg';","'$from","'$result","'hello","'howdy');","'howdy',","'length'","'object'","'smoke","()","(){","(17666):","(devic","(e)","(e){","(int","(str){","...","//","//const","//final","//return","//下面代码没有问题","//不指定返回类型,此时默认为dynamic,不是bool","//保存用户信息,接下来执行其它操作","//先分别定义各个异步任务","//可以省略string这个类型声明","//执行失败会走到这里","//执行成功会走到这里","//执行接下来的操作","//报错,isnoble不是bool类型","//无论成功或失败都会走到这里","//用户登录","//登录成功后通过,id获取用户信息","//结果是:","//结果是:bob","//获取用户信息","//获取用户信息后保存","//设置[bold]和[hidden]标志","//错误处理","1","1\";","1),","1.4","1.4.1","1.4.2","1.4.3","1.4.4","1.4.5","1.4:dart语言简介","1000;","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]","a;","assertionerror(\"error\");","async","async/await","async和await关键词支持了异步编程,允许您写出和同步代码很像的异步代码。","async用来表示函数是异步的,定义的函数会返回一个future对象,可以使用then方法添加回调函数。","atomicnumb","atomicnumber)","atomicnumber)=>","await","b","b;","bob","bold,","bool","callback();","callback)","catch(e){","catcherror回调函数将被调用;但是,并不是只有","catcherror回调才能捕获错误,then方法还有一个可选参数onerror,我们也可以它来捕获异常:","cb){","class","const","const,不是var,也不是一个类型。","c中的id作用很像.","c和swift中早就很普遍,而??操作符在php","dart","dart中的async/await","dart函数声明如果没有显式声明返回值类型时会默认当做dynamic处理,注意,函数返回值没有类型推断:","dart和java及javascript对比","dart是一种真正的面向对象的语言,所以即使是函数也是对象,并且有一个类型function。这意味着函数可以赋值给变量或作为参数传递给其他函数,这是函数式编程的典型特征。","dart类库有非常多的返回future或者stream对象的函数。","dart语言简介","defin","device])","duration(seconds:","dynam","dynamic与object不同的是,dynamic声明的对象编译器会提供所有可能的组合,","dynamic与var一样都是关键词,声明的变量可以赋值任意对象。","dynamic和object","dynamic的这个特性与object","dynamic的这个特点使得我们在使用它时需要格外注意,这很容易引入一个运行时错误.","enableflags(bold:","enableflags({bool","error","execute(()","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只会对应一个结果,要么成功,要么失败。","getter","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","main()","mode)和可选类型(opt","mode),原先的检查模式(check","msg,","null","null)","null;","object","object';","onerror:","param2,","print(\"success\");","print(\"xxx\"))","print(a.length);","print(b.length);","print(cb());","print(data);","print(e);","print(e.message);","print(results[0]+results[1]);","print(str);","printlengths()","printlengths();","pwd){","result","result;","return","saveuserinfo(str","saveuserinfo(userinfo).then((){","saveuserinfo(userinfo);","say(\"hi","say('bob',","say(str","signal","signal');","smoke","str","str1","stream","stream.fromfutures([","string","t","t;","task()","test(callback","test(isnoble);","throw","tour,就开始动手写flutter了。","true,","try{","typedef","type)将淡出,所以在类型安全这个层面来说,dart和typescript、coffeescript是差不多的,所以单从这一点来看,dart并不具备什么明显优势,但综合起来看,dart既能进行服务端脚本、app开发、web开发,这就有优势了!","userinfo","userinfo){","username,","valu","var","vm在内存回收和吞吐量都进行了反复的优化,但具体的性能对比,笔者没有找到相关测试数据,但在笔者看来,只要dart语言能流行,vm的性能就不用担心,毕竟google在go(没用vm但有gc)、javascript(v8)、dalvik(android上的java","vm)上已经有了很多技术积淀。值得注意的是dart在flutter中已经可以将gc做到10ms以内,所以dart和java相比,决胜因素并不会是在性能方面。而在语法层面,dart要比java更有表现力,最重要的是dart对函数式编程支持要远强于java(目前只停留在lambda表达式),而dart目前真正的不足是生态,但笔者相信,随着flutter的逐渐火热,会回过头来反推dart生态加速发展,对于dart来说,现在需要的是时间。","void","vs","warn","warning:","world!\";","world!\",然后我们在then中接收异步结果并打印结果,代码如下:","world\");","world\";","world”。","x","x;","{","}","})","}),","}).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","包装一组函数参数,用[]标记为可选的位置参数:","变量a不会报错,","变量b编译器会报错","变量只能被设置一次,两者区别在于:const","变量声明","变量是一个编译时常量,final变量在第一次使用时被初始化。被final或者const修饰的变量,变量类型可以省略,如:","可以感受一下,如果业务逻辑中有大量异步依赖的情况,将会出现上面这种在回调里面套回调的情况,过多的嵌套会导致的代码可读性下降以及出错率提高,并且非常难维护,这个问题被形象的称为回调地狱(callback","可以看到,我们通过async/await将一个异步流用同步的代码表示出来了。","可选命名参数在flutter中使用非常多。","可选的位置参数","可选的命名参数","后面是一个future,表示等待该异步任务完成,异步完成后才会往下走;await必须出现在","否则编译器会报错。如:","和javascript中的async/await功能和用法是一模一样的,如果你已经了解javascript中的async/await的用法,可以直接跳过本节。","回调地狱(callback","在之前我们已经介绍过dart语言的相关特性,读者可以翻看一下,如果读者已经熟悉dart语法,可以跳过本节,如果你还不了解dart,也不用担心,按照笔者经验,如果你有过其他编程语言经验(尤其是java和javascript)的话会非常容易上手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的子类(包括function和null),所以任何类型的数据都可以赋值给object声明的对象.","有些时候,我们会遇到无论异步任务执行成功或失败都需要做一些事的场景,比如在网络请求前弹出加载对话框,在请求结束后关闭对话框。这种场景,有两种方法,第一种是分别在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语言的将来,之所以表这个态,是因为在新技术发展初期,很多人可能还有所摇摆,有所犹豫,所以有必要给大家打一剂强心针,当然,这是一个见仁见智的问题,大家可以各抒己见。","而dynamic与object相同之处在于,他们声明的变量可以在后期改变赋值类型。","而object声明的对象只能使用object的属性与方法,","而在dart中几乎是完全平移了javascript中的这两者:future相当于promise,而async/await连名字都没改。接下来我们看看通过future和async/await如何消除上面示例中的嵌套问题。","语法中很多地方也都借鉴了java和javascript。","调用函数时,可以使用指定命名参数。例如:paramname:","这些函数被称为异步函数:它们只会在设置好一些耗时操作之后返回,比如像","通过future回调中再返回future的方式虽然能避免层层嵌套,但是还是有一层回调,有没有一种方式能够让我们可以像写同步代码那样来执行异步任务而不使用回调的方式?答案是肯定的,这就要使用async/await了,下面我们先直接看代码,然后再解释,代码如下:","通过上面介绍,相信你对dart应该有了一个初步的印象,由于笔者平时也使用java和javascript,下面笔者根据自己的经验,结合java和javascript,谈一下自己的看法。","!=",",如果在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;","1所示:","2.1","2.1.1","2.1.2","2.1:计数器示例",":","=","=>","@overrid","[","],","_animatedwidgetstate)","_counter","_counter++;","_incrementcounter()","_incrementcounter,","_myhomepagest","_myhomepagestate();","_myhomepagestate类是myhomepage类对应的状态类。看到这里,读者可能已经发现:和myapp","animatedwidget{","animatedwidget的状态对象是animatedwidget内部实现细节,不应该暴露给外部。","appbar(","appbar:","app框架,通过它可以设置应用的名称、主题、语言、首页及路由列表等。materialapp也是一个widget。","auto","body:","body的组件树中包含了一个cent","build","build(buildcontext","button","center","center(","child:","children:","class","code创建一个新的flutter工程,命名为\"first_flutter_app\"。创建好后,就会得到一个计数器应用的demo。","code创建的flutter应用模板默认是一个简单的计数器示例。本节先仔细讲解一下这个计数器demo的源码,让读者对flutter应用程序结构有个基本了解,然后在随后的小节中将会基于此示例,一步一步添加一些新的功能来介绍flutter应用的其它概念与技术。","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树(后同”组件树“或”部件树“)的body属性。组件树可以很复杂。","methods.","myanimationwidget","myapp","myapp());","myapp类代表flutter应用,它继承了","myhomepag","myhomepage(title:","myhomepage({key","myhomepage类中并没有build方法,取而代之的是,build方法被挪到了_myhomepagestate方法中,至于为什么这么做,先留个疑问,在分析完完整代码后再来解答。","new","nicer","onpressed:","page'),","primaryswatch:","push","return","runapp(myapp());","runapp(new","scaffold","scaffold(","setstate(()","state","state){","statefulwidget","statefulwidget类本身是不变的,但是state类中持有的状态在widget生命周期中可能会发生变化。","statelesswidget","statelesswidget类,这也就意味着应用本身也是一个widget。","state类","state类;","string","studio和v","studio或v","style:","super(key:","super.build(context,","text(","text(widget.title),","text,第一个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简介“一节自习介绍,现在我们只需简单认为有状态的组件(st","widget是不可变的。","widget至少由两个类组成:","widget)","widget)。关于st","widget)有两点不同:","{","}","});","“you","一个","一个statefulwidget类。","与c/c++、java类似,flutt","为flutter应用的首页,它也是一个widget。","为什么要将build方法放在state中,而不是放在statefulwidget中?","为保存屏幕右下角带“+”号按钮点击次数的状态。","例如,flutter中有一个动画widget的基类animatedwidget,它继承自statefulwidget类。animatedwidget中引入了一个抽象方法build(buildcontext","分析","创建flutter应用模板","可以将其子组件树对齐到屏幕中心。此例中,","和无状态的组件(stateless","在flutter中,大多数东西都是widget(后同”组件“或”部件“),包括对齐(alignment)、填充(padding)和布局(layout)等,它们嗾使以widget的形式提供。","在这个示例中,主要dart代码是在","如果要将父类状态暴露给子类,那么必须得有一种传递机制,而做这一套传递机制是无意义的,因为父子类之间状态的传递和子类本身逻辑是无关的。","子组件是一个column","对于接下来的示例,希望读者可以跟着笔者一起亲自动手来写一下,这样不仅可以加深印象,而且也会对介绍的概念与技术有一个真切的体会。如果你还不是很熟悉dart语言或者没有移动开发经验,不用担心,只要你熟悉面向对象和基本编程概念(如变量、循环和条件控制),则可以完成本示例。","对此方法做了优化,使重新执行变的很快,所以你可以重新构建任何需要更新的东西,而无需分别去修改各个widget。","导入包。","应用中main函数为应用程序的入口。main函数中调用了runapp","应用入口。","应用结构。","当按钮点击时,会调用此函数,该函数的作用是先自增_counter,然后调用setst","我们先运行创建的工程,效果如图2","接下来,我们看看_myhomepagestate中都包含哪些东西:","文件中,下面是它的源码:","方法。setstate方法的作用是通知flutter框架,有状态发生了改变,flutter框架收到通知后,会执行build方法来根据新的状态重新构建界面,","方法,它的功能是启动flutter应用。runapp它接受一个widget参数,在本示例中它是一个myapp对象,myapp()是flutter应用的根组件。","是","是flutter应用的首页,它继承自statefulwidget类,表示它是一个有状态的组件(st","是material库中提供的flutt","是material库中提供的页面脚手架,它包含导航栏和body以及floatingactionbutton(如果需要的话)。","显示_counter状态的数值。","显示固定文本","本书后面示例中,路由默认都是通过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方法,代码可能如下:","组件,center","组件,column的作用是将其所有子组件沿屏幕垂直方向依次排列;","继承statefulwidget不便","综上所述,可以发现,对于statefulwidget,将build方法放在state中,可以给开发带来很大的灵活性。","计数器应用示例","设置状态的自增函数。","试想一下,如果我们的statefulwidget有很多状态,而每次状态改变都要调用build方法,由于状态是保存在state中的,如果build方法在statefulwidget中,那么build方法和状态分别在两个类中,那么构建时读取状态将会很不方便!试想一下,如果真的将build方法放在statefulwidget中的话,由于构建用户界面过程需要依赖state,所以build方法将必须加一个state参数,大概是下面这样:","该组件的状态。由于我们只需要维护一个点击次数计数器,所以定义一个_counter状态:","该计数器示例中,每点击一次右下角带“+”号的悬浮按钮,屏幕中央的数字就会加1。","这样很显然是不合理的,因为","这样的话就只能将state的所有状态声明为公开的状态,这样才能在state类外部访问状态!但是,将状态设置为公开后,状态将不再具有私密性,这就会导致对状态的修改将会变的不可控。但如果将build()方法放在state中的话,构建过程不仅可以直接访问状态,而且也无需公开私有状态,这会非常方便。","通过android","首页","?这主要是为了提高开发的灵活性。如果将build()方法在statefulwidget中则会有两个问题:"],"chapter2/flutter_router.html":["\"/\":(context)=>","\"hi\");","\"new_page\");","\"new_page\":(context)=>echoroute(),","\"new_page\":(context)=>newroute(),","\"tip2\":","\"我是提示xxxx\",","\"我是返回值\"),","$result\");","'flutter","()","(27896):","(context)","(context){",")","),",");",",","...","//","//...省略无关代码","//navigator.push(context,","//}));","//名为\"/\"的路由作为应用的home(首页)","//导航到新路由","//注册路由表","//注册首页路由","//省略无关代码","//获取路由参数","//输出`tiproute`路由返回结果","2.2","2.2.1","2.2.2","2.2.3","2.2.4","2.2.5","2.2.6","2.2.7","2.2:路由管理","2和2","3所示。","4所示下:",":","=","=>","@overrid","@requir","[","])","],","appbar(","appbar:","args=modalroute.of(context).settings.argu","arguments:","arguments})","async","await","body:","bool","build(buildcontext","builder","builder,","builder:","center(","child:","children:","class","colors.blue,","column(","context)","context,","demo","demo',","echorout","edgeinsets.all(18),","extend","false,","final","flatbutton(","fullscreendialog","fullscreendialog表示新的路由页面是否是一个全屏的模态对话框,在ios中,如果fullscreendialog为true,新页面将会从屏幕底部滑入(而不是水平方向)。","function(routeset","futur","home","home:","i/flutt","initialroute:\"/\",","key","key);","key,","mainaxisalignment.center,","mainaxisalignment:","maintainst","maintainstate:默认情况下,当入栈一个新路由时,原来的路由仍然会被保存在内存中,如果想在路由没用的时候释放其所占用的所有资源,可以设置maintainstate为false。","map","materialapp(","materialapp有一个ongenerateroute属性,它在打开命名路由时会可能会被调用,之所以说可能,是因为当调用navigator.pushnamed(...)打开命名路由时,如果指定的路由名在路由表中已注册,则会调用路由表中的builder函数来生成路由组件;如果路由表中没有注册,才会调用ongenerateroute来生成路由。ongenerateroute回调签名如下:","materialpagerout","materialpageroute(","materialpageroute(builder:","materialpageroute({","materialpageroute继承自pageroute类,pageroute类是一个抽象类,表示占有整个屏幕空间的一个模态路由页面,它还定义了路由构建及切换时过渡动画的相关接口及属性。materialpagerout","modalroute.of(context).settings.arguments);","myhomepage(title:","navig","navigator.of(context).pushnamed(\"new_page\",","navigator.pop(context,","navigator.push(","navigator.pushnamed(context,","navigator是一个路由管理的组件,它提供了打开和退出路由页方法。navigator通过一个栈来管理活动路由集合。通常当前屏幕显示的页面就是栈顶的路由。navigator提供了一系列方法来管理路由栈,在此我们只介绍其最常用的两个方法:","navigator类中第一个参数为context的静态方法都对应一个navigator的实例方法,","new","newrout","newroute();","null","ongenerateroute:(routeset","onpressed:","padding(","padding:","page'),","pop(buildcontext","primaryswatch:","print(\"路由返回值:","push(buildcontext","pushnamed(buildcontext","raisedbutton(","result","return","rout","route\"),","route\"。","route)","route)等价于navigator.of(context).push(rout","routenam","routename,{object","routertestrout","routes:","routes:{","routes;","routeset","route”按钮,依然可以打开新的路由页。","route)即有名字的路由,我们可以先给路由起一个名字,然后就可以通过路由名字直接打开新的路由了,这为路由管理带来了一种直观、简单的方式。","scaffold(","set","settings)","settings){","settings,","settings.name;","statelesswidget","string","super(key:","table),这样应用程序才知道哪个名字与哪个路由组件相对应。其实注册路由表就是给路由起名字,路由表的定义如下:","text(\"new","text(\"open","text(\"thi","text(\"打开提示页\"),","text(\"提示\"),","text(\"返回\"),","text(text),","text:","text;","textcolor:","theme:","themedata(","this.text,","tiprout","tiproute(","tiproute(text:","tiproute({","tiproute实现代码:","title:","true,","var","widget","widgetbuild","{","}","})","}));","},","一个简单示例","上面介绍的是非命名路由的传值方式,命名路由的传值方式会有所不同,我们会在下面介绍命名路由时介绍。","下面我们介绍一下materialpagerout","下面是打开新路由tiproute的代码:","代码更好维护;如果使用匿名路由,则必须在调用navigator.push的地方创建新路由页,这样不仅需要import新路由页的dart文件,而且这样的代码将会非常分散。","假设我们也想将上面路由传参示例中的tiproute路由页注册到路由表中,以便也可以通过路由名来打开它。但是,由于tiproute接受一个text","假设我们要开发一个电商app,当用户没有登录时可以看店铺、商品等信息,但交易记录、购物车、用户个人信息等页面需要登录后才能看。为了实现上述功能,我们需要在打开每一个路由页前判断用户登录状态!如果每次打开路由前我们都需要去判断一下将会非常麻烦,那有什么更好的办法吗?答案是有!","创建一个新路由,命名“newroute”","包含路由的配置信息,如路由名称、是否初始路由(首页)。","参数,我们如何在不改变tiproute源码的前提下适配这种情况?其实很简单:","另外,还有一些关于路由管理的内容我们没有介绍,比如路由materialapp中还有navigatorobservers和onunknownroute两个回调属性,前者可以监听所有路由跳转动作,后者在打开一个不存在的命名路由时会被调用,由于这些功能并不常用,而且也比较简单,我们便不再花费篇幅来介绍了,读者可以自行查看api文档。","可以看到,我们只需在路由表中注册一下myhomepage路由,然后将其名字作为materialapp的initialroute属性值即可,该属性决定应用的初始路由页是哪一个命名路由。","可以通过ongenerateroute做一些全局的路由跳转前置处理逻辑。","命名路由","命名路由参数传递","在_myhomepagestate.build方法中的column的子widget中添加一个按钮(flatbutton)","在flutter最初的版本中,命名路由是不能传递参数的,后来才支持了参数;下面展示命名路由如何传递并获取路由参数:","在tiproute页中有两种方式可以返回到上一页;第一种方式时直接点击导航栏返回箭头,第二种方式是点击页面中的”返回“按钮。这两种返回方式的区别是前者不会返回数据给上一个路由,而后者会。下面是分别点击页面中的返回按钮和导航栏返回箭头后,routertestroute页中print方法在控制台输出的内容:","在打开路由时传递参数","在路由页通过routesetting对象获取路由参数:","如果想自定义路由切换动画,可以自己继承pageroute来实现,我们将在后面介绍动画时,实现一个自定义的路由组件。","如果访问的路由页需要登录,但当前未登录,则直接返回登录页路由,","它是一个map,key为路由的名字,是个字符串;value是个builder回调函数,用于生成相应的路由widget。我们在通过路由名字打开新路由时,应用会根据路由名字在路由表中查找到对应的widgetbuilder回调函数,然后调用该回调函数生成路由widget并返回。","实例方法","对于android,当打开新页面时,新的页面会从屏幕底部滑动到屏幕顶部;当关闭页面时,当前页面会从屏幕顶部滑动到屏幕底部后消失,同时上一个页面会显示到屏幕上。","对于ios,当打开页面时,新的页面会从屏幕右侧边缘一致滑动到屏幕左边,直到新页面全部显示到屏幕上,而上一个页面则会从当前屏幕滑动到屏幕左侧而消失;当关闭页面时,正好相反,当前页面会从屏幕右侧滑出,同时上一个页面会从屏幕左侧滑入。","将栈顶路由出栈,result为页面关闭时返回给上一个页面的数据。","将给定的路由入栈(即打开新的页面),返回值是一个future对象,用以接收新路由出栈(即关闭)时的返回数据。","引导用户登录;其它情况则正常打开路由。","很多时候,在路由跳转时我们需要带一些参数,比如打开商品详情页时,我们需要带一个商品id,这样商品详情页才知道展示哪个商品信息;又比如我们在填写订单时需要选择收获地址,打开地址选择页后,可以将用户选择的地址返回到订单页等等。下面我们通过一个简单的示例来演示新旧路由如何传参。","总结","我们先注册一个路由:","我们创建一个tiproute路由,它接受一个提示文本参数,负责将传入它的文本显示在页面上,另外tiproute中我们添加一个“返回”按钮,点击后在返回上一个路由的同时会带上一个返回参数,下面我们看一下实现代码。","我们在上一节“计数器”示例的基础上,做如下修改:","我们添加了一个打开新路由的按钮,并将按钮文字颜色设置为蓝色,点击该按钮后就会打开新的路由页面,效果如图2","我是返回值","所谓”命名路由“(name","打开`tiproute`,并等待返回结果","接收一个text参数","提示文案”我是提示xxxx“是通过tiproute的text参数传递给新路由页的。我们可以通过等待navigator.push(…)返回的future来获取新路由的返回数据。","新路由继承自statelesswidget,界面很简单,在页面中间显示一句\"thi","是material组件库提供的组件,它可以针对不同平台,实现与平台页面切换动画风格一致的路由切换动画:","是一个widgetbuilder类型的回调函数,它的作用是构建路由页面的具体内容,返回值是一个widget。我们通常要实现此回调,返回新路由的实例。","有了ongenerateroute回调,要实现上面控制页面权限的功能就非常容易:我们放弃使用路由表,取而代之的是提供一个ongenerateroute回调,然后在该回调中进行统一的权限控制,如:","本章先介绍了flutter中路由管理、传参的方式,然后又着重介绍了命名路由相关内容。在此需要说明一点,由于命名路由只是一种可选的路由管理方式,在实际开发中,读者可能心中会犹豫到底使用哪种路由管理方式。在此,根据笔者经验,建议读者最好统一使用命名路由的管理方式,这将会带来如下好处:","构造函数的各个参数的意义:","比如navigator.push(buildcontext","注册路由表","注意,ongenerateroute只会对命名路由生效。","热重载应用,再次点击“open","现在我们就完成了路由表的注册。上面的代码中home路由并没有使用命名路由,如果我们也想将home注册为命名路由应该怎么做呢?其实很简单,直接看代码:","的pushnamed方法:","省略其它路由注册信息","示例","综上所述,笔者比较建议使用命名路由,当然这并不是什么金科玉律,读者可以根据自己偏好或实际情况来决定。","要想使用命名路由,我们必须先提供并注册一个路由表(rout","要通过路由名称来打开新路由,可以使用navig","语义化更明确。","路由(route)在移动开发中通常指页面(page),这跟web开发中单页应用的route概念意义是相同的,route在android中通常指一个activity,在ios中指一个viewcontroller。所谓路由管理,就是管理页面之间如何跳转,通常也可被称为导航管理。flutter中的路由管理和原生开发类似,无论是android还是ios,导航管理都会维护一个路由栈,路由入栈(push)操作对应打开一个新页面,路由出栈(pop)操作对应页面关闭操作,而路由管理主要是指如何来管理路由栈。","路由传值","路由参数","路由生成钩子","路由管理","路由表","路由表的注册方式很简单,我们回到之前“计数器”的示例,然后在myapp类的build方法中找到materialapp,添加routes属性,代码如下:","路由返回值:","运行上面代码,点击routertestroute页的”打开提示页“按钮,会打开tiproute页,运行效果如图2","还有很多其它方法,如navigator.replace、navigator.popuntil等,详情请参考api文档或sdk源码注释,在此不再赘述。下面我们还需要介绍一下路由相关的另一个概念“命名路由”。","适配","通过路由名打开新路由页","除了pushnamed方法,还有pushreplacementnamed等其他管理命名路由的方法,读者可以自行查看api文档。接下来我们通过路由名来打开新的路由页,修改flatbutton的onpressed回调代码,改为:","需要说明:",",下面命名路由相关的方法也是一样的。"],"chapter2/flutter_package_mgr.html":["\"flutter","#","'package:english_words/english_words.dart';",")",");","...","../../code/pkg1","//","//省略无关代码","0","1.0.0+1","2.3","2.3:包管理","5所示),确定其最新的版本号和是否支持flutter。","6),单击右上角的","7所示。","=","@overrid","[","],","^0.1.0","^0.1.2","^3.1.3","_myhomepagestate.build","application.","build","build(buildcontext","child:","children:","class","code","column(","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","mainaxisalignment.center,","mainaxisalignment:","materi","name:","name:应用或包名称。","new","packag","package1:","packages/package1","packages仓库,类似于node中的npm仓库,android中的jcenter。我们可以在pub上面查找我们需要的包和插件,也可以向pub发布我们的包和插件。我们将在后面的章节中介绍如何向pub发布我们的包和插件。","package)。","padding(","padding:","path:","pkg1:","process","pub仓库","pub(https://pub.dartlang.org/","randomwordswidget","randomwordswidget(),","return","run","sdk:","statelesswidget","studio会自动提供有关库导入的建议选项。导入后该行代码将会显示为灰色,表示导入的库尚未使用。","studio的编辑器视图中查看pubspec.yaml时(图2","text(wordpair.tostring()),","true","url:","us","version:","version:应用或包的版本号。","widget","wordpair","wordpair.random();","yaml是一种直观、可读性高并且容易被人类阅读的文件格式,它和xml或json相比,它语法简单并非常容易解析,所以yaml常用于配置文件,flutter也是用yaml文件作为其配置文件。flutter项目默认的配置文件是pubspec.yaml,我们看一个简单的示例:","{","}","。","一个app在实际开发中往往会依赖很多包,而这些包通常都有交叉依赖关系、版本依赖等,如果由开发者手动来管理应用中的依赖包将会非常麻烦。因此,各种开发生态或编程语言官方通常都会提供一些包管理工具,比如在android提供了gradle来管理依赖,ios用cocoapods或carthage来管理依赖,node中通过npm等。而在flutter开发中也有自己的包管理工具。本节我们主要介绍一下flutter如何使用配置文件pubspec.yaml(位于项目根目录)来管理第三方依赖包。","上文所述的依赖方式是依赖pub仓库的。但我们还可以依赖本地包和git仓库。","上面介绍的这些依赖方式是flutter开发中常用的,但还有一些其它依赖方式,完整的内容读者可以自行查看:https://www.dartlang.org/tools/pub/depend","上面假定包位于git存储库的根目录中。如果不是这种情况,可以使用path参数指定相对位置,例如:","下载包。在android","下面,我们逐一解释一下各个字段的意义:","下,接下来我们通过一个例子来演示一下如何添加、下载并使用第三方包。","使用english_words包来生成随机字符串。","依赖git:你也可以依赖存储在git仓库中的包。如果软件包位于仓库的根目录中,请使用以下语法","依赖本地包","其它依赖方式","包管理","命令来下载依赖包。另外,需要注意dependencies和dev_dependencies的区别,前者的依赖包将作为app的源码的一部分参与编译,生成最终的安装包。而后者的依赖包只是作为开发阶段的一些工具包,主要是用于帮助我们提高开发、测试效率,比如flutter的自动化测试包等。","在软件开放,很多时候有一些公共的库或sdk可能会被很多项目用到,因此,将这些代码单独抽到一个独立模块,然后哪个项目需要使用时再直接集成这个模块,便可大大提高开发效率。很多编程语言或开发工具都支持这种“模块共享”机制,如java语言中这种独立模块会被打成一个jar包,android中的aar包,web开发中的npm包等。为了方便表述,我们将这种可共享的独立模块统一称为“包”(","在输入时,android","如果应用程序正在运行,请使用热重载按钮(⚡️图标)","如果我们正在本地开发一个包,包名为pkg1,我们可以通过下面方式依赖:","如果我们的flutter应用本身依赖某个包,我们需要将所依赖的包添加到depend","将“english_words”(3.1.3版本)添加到依赖项列表,如下:","应用或包的描述、简介。","引入english_words包。","总结","我们也可以在控制台,定位到当前工程目录,然后手动运行flutter","我们将randomwordswidget","我们看到“english_words”包最新的版本是3.1.3,并且支持flutter,接下来:","接下来,我们实现一个显示随机字符串的widget。有一个名为“english_words”的开源软件包,其中包含数千个常用的英文单词以及一些实用功能。我们首先在pub上找到english_words这个包(如图2","新添加的依赖","方法内部生成的。每次热更新时,build方法都会被执行,运行效果如图2","更新正在运行的应用程序。每次单击热重载或保存项目时,都会在正在运行的应用程序中随机选择不同的单词对。","本节介绍了flutter中包管理、引用、下载的整体流程,我们将在后面的章节中介绍如果开发并发布我们自己的包。","添加到","生成随机字符串","的column的子widget中。","示例","路径可以是相对的,也可以是绝对的。","这会将依赖包安装到您的项目。我们可以在控制台中看到以下内容:","这是因为单词对是在",")是google官方的dart"],"chapter2/flutter_assets_mgr.html":["'dart:async'","'my_icons')","'package:flutter/services.dart'","(如果使用一些更低级别的类,如","),",");","/","11所示。","2.4","2.4:资源管理","8)。","9),","android","app安装包中会包含代码和","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进行自定义,如图2","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”,见图2","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已经包含占位符图片(见图2","在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\";","\"timeafterframeworkinitmicros\":","\"timetofirstframemicros\":","\"timetoframeworkinitmicros\":","#","#省略剩余内容","$","'dart:developer';到相关文件顶部。","'package:flutter/material.dart';","(","()","(in","(physic","(语句级的单步调试和分析器)","),",");","...","//","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","1.0,","12","1657393","1794.0)","1:","2.5","2.5:调试flutter","2.625","2.625,","2.625x","200ms;","2171978,","24.0,","2:","3.5,0.0,0.0,0.0","30","30.0);","328026813]","36.0);","388965355]","411.4,","437.086m","48.0;","514585,","625702218]","6559):","683.4)","683.4))","683.4),","683.4);","683.4),它用于强制renderpositionedbox下的所有渲染框到屏幕的大小,","82.0,","900;","96025565262,",":",">","@overrid","[0]","[1]","[2]","[3]","[globalkey","[globalobjectkey","[root]","_animatedthemestate(543295893;","_focusscop","_materialappstate(1009803148))","_materialappstate(1009803148)]","_materialappstate(1009803148)];","_materialappstate(859106034)]","_modalscop","_overlayentri","_widgetsappstate(552902158))","analyze测试你的代码。这个工具是一个静态代码检查工具,它是dartanalyzer工具的一个包装,主要用于分析代码并帮助开发者发现可能的错误,比如,dart分析器大量使用了代码中的类型注释来帮助追踪问题,避免var、无类型的参数、无类型的列表文字等。","android","animatedthem","app","app\")","app'),","apphom","apphome(),","assert语句被启用,并且flutter框架使用它来执行许多运行时检查来验证是否违反一些不可变的规则。","banner","boxconstraints(w=411.4,","build(buildcontext","canbetapped)","canbetapped;","center(","check","checkedmodebann","child:","class","color(0xd0ff0000);","color(0xff2196f3)","color(0xff2196f3))","color(0xffffff00)","color:","configuration:","constraints:","context)","creator:","custompaint","dart","debug","debugdumpapp();","debugger()","debugger()语句采用一个可选when参数,您可以指定该参数仅在特定条件为真时中断,如下所示:","debugger(when:","debugpaintbaselinesenabled做了类似的事情,但对于具有基线的对象,文字基线以绿色显示,表意(ideographic)基线以橙色显示。","debugpaintpointersenabled标志打开一个特殊模式,任何正在点击的对象都会以深青色突出显示。","debugprintmarkneedspaintstacks标志。","debugprintscheduleframestacks还可以用来打印导致当前帧被调度的调用堆栈。","decoration:","design基线网格覆盖在应用程序上可能有助于验证对齐。","design的应用程序时,","design设计规范中flatbutton类的尺寸标准)。","devic","devicepixelratio:","doubl","edgeinsets(0.0,","enabl","etc...)","etc...))","extend","family:","flatbutton(","flutter","flutter框架中的许多类都有tostring实现。按照惯例,这些输出通常包括对象的runtimetype单行输出,通常在表单中classname(mor","flutter框架的每一层都提供了将其当前状态或事件转储(dump)到控制台(使用debugprint)的功能。","focu","frame","frame?","function');","grid","h=683.4)","h=683.4)。从renderpositionedbox的转储中看到是由cent","home:","i/flutt","ide中的调试器)时,可以使用该debugger()语句插入编程式断点。要使用这个,你必须添加import","import","inactive;","inform","instance…)。","iwonderhowlongthistakes();","log","logcat)。","logic","logs了查看它(基本上是一个包装adb","main()","main()的顶部设置。","materi","material(","materialapp","materialapp(","materialpageroute(560156430)]","mode","mode”,用","mode)下测试,因为在调试模式下,故意牺牲性能来换取有助于开发调试的功能,如assert声明,这些都是非常耗时的,因此结果将会产生误导。","more","navig","new","null)))","observatori","observatory(或另一个dart调试器,例如intellij","offset","offset(0.0,","offset)","offset:","offsetlay","onc","onpressed:","overlay","padding:","parentdata:","per","perform","performanceoverlay.allenabled()创建的stack上来获得相同的效果)。","physic","picturelay","pixel","pixel)","pixels)","print()功能将输出到系统控制台,您可以使用flutt","print:","print、debugprint、flutt","profil","profile替代","profile标志,以确保运行时性能特征与您的最终产品差异最小。","profile选项来运行flutt","ratio:","rect.fromltrb(0.0,","release即可。","release运行您的应用程序。","rendercustompaint","rendercustompaint)","renderobject:","renderobjecttowidgetadapter([globalobjectkey","renderview","renderview(497039273)];","renderview)","repaintboundari","return","run","runapp(","run启动应用程序,那么当它运行时,我们可以打开observatory工具的web页面,例如observatory默认监听http://127.0.0.1:8100/,可以在浏览器中直接打开该链接。直接使用语句级单步调试器连接到您的应用程序。如果您使用的是intellij,则还可以使用其内置的调试器来调试您的应用程序。","run命令来运行应用程序。","run时使用trac","run时带有","scrollconfigur","semant","semanticsnode(0;","size(1080.0,","size(411.4,","size:","somefunction(doubl","stack","startup","startup和profile选项。","state:","statelesswidget","streams”中选择’dart’复选框,并执行你想测量的功能。","text('dump","textdecoration.underline)","textscalefactor:","theme","themedatatween(themedata(brightness.light","ticker","timeline.finishsync();","timeline.startsync('interest","timeline页面,在”record","titl","trace","transform:","transformlay","true;","void","weight:","widget","widgetsapp","widgetsapp构造函数也有类似的参数(如果你没有使用materialapp或者widgetsapp,你可以通过将你的应用程序包装在一个stack中,","widgetsflutterbind","widget创建的(如creator字段所描述的),","widget在渲染树的层中创建了一个renderrepaintboundary。这用于减少需要重绘的需求量。","widget的一个实现细节","widget,则可以使用debugpaintlayerbordersen","window","work","{","}","},","…会输出这样的内容(精确的细节会根据框架的版本、设备的大小等等而变化):","←","→","⋯","│","└animatedtheme(duration:","└banner()","└checkedmodebanner()","└custompaint(renderobject:","└defaulttextstyle(inherit:","└localequery(null)","└materialapp(state:","└mediaquery(mediaquerydata(size:","└scrollconfiguration()","└semanticsnode(2;","└semanticsnode(3;","└semanticsnode(4;","└theme(themedata(brightness.light","└title(color:","└widgetsapp([globalobjectkey","└─child","└─child:","├semanticsnode(1;","├─child","▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀","▄▄▄▄▄▄▄▄","。","上面这个小例子的输出结果如下所示:","为此,materialapp","你会看到很多在你的应用源代码中没有出现的widget,因为它们是被框架中widget的build()函数插入的。例如,inkfeature是materi","使用dart:developer的timeline工具来包含你想测试的代码块,例如:","例如:","例如,在上面的转储中,您可以看到窗口大小,size(411.4,","分析器","分析器可以在代码运行前发现大多数问题。","分析器,因为在大多数时候,dart","初始化flutter框架时.","刷新页面将在chrome的跟踪工具中显示应用按时间顺序排列的timeline记录。","另一种需要注意的是每个盒子描述的”relayoutsubtreeroot”部分,它告诉你有多少祖先以某种方式依赖于这个元素的大小。","只要他们重绘时,这会使该层被一组旋转色所覆盖。","只要应用程序已经构建了至少一次(即在调用build()之后的任何时间),您可以在应用程序未处于构建阶段(即,不在build()方法内调用","可视化调试","同时支持分析、检查堆等。有关observatory的更多信息请参考observatori","否则,配置文件中将出现的主要问题将是调试断言,以验证框架的各种不变量(请参阅下面的“调试模式断言”)。","回调","因此,renderparagraph有一个relayoutsubtreeroot=up8,这意味着当它renderparagraph被标及为”dirty”时,它的八个祖先也必须被标记为”dirty”,因为它们可能受到新尺寸的影响。","图中的白线以16ms增量沿纵轴显示;","在flutter应用调试过程中,dart","在renderparagraph中基于它的内容来决定其大小。","在开发实现materi","在运行应用程序前,请运行flutter","在这种情况下,一个单一的gesturedetector被列出,并且监听“tap”手势(“tap”是tapgesturedetector的tostringshort函数输出的)","在这种情况下,每个逻辑像素代表3.5个设备像素。","声明","如","如,","如果你一次输出太多,那么android有时会丢弃一些日志行。为了避免这种情况,您可以使用flutter的foundation库中的debugprint()。","如果你使用intellij的flutter插件,那么分析器在打开ide时就已经自动启用了,如果读者使用的是其它ide,强烈建议读者启用dart","如果图中超过这三条线之一,那么您的运行频率低于60hz。横轴代表帧。","如果您使用observatory进行分析,请确保通过","如果您尝试调试合成图层,例如以确定是否以及在何处添加repaintboundari","如果您尝试调试合成问题,则可以使用debugdumplayertree()。对于上面的例子,它会输出:","如果您尝试调试布局问题,那么widgets层的树可能不够详细。在这种情况下,您可以通过调用debugdumprendertree()转储渲染树。","如果您现在按照size链继续往下查看,您会看到文本的大小是如何影响其按钮的框的宽度的,它们都是根据孩子的尺寸自行调整大小。","如果您编写自己的widget,则可以通过覆盖debugfillproperties()来添加信息。","如果您编写自己的渲染对象,则可以通过覆盖debugfillproperties()将信息添加到转储。","如果我们使用flutter","完成flutter框架初始化时.","对于上面的例子,它会输出:","对齐方式(来自widget如center和align)显示为黄色箭头.","将diagnosticsproperty对象作为方法参数,并调用父类方法。","将diagnosticsproperty对象作为方法的参数,并调用父类方法。","将materi","层","展示应用第一帧时.","并将一个widget放在通过new","开头的任何内容都只能在调试模式下工作。","当一个不可变的规则被违反时,它被报告给控制台,并带有一些上下文信息来帮助追踪问题的根源。","当使用dart","当在调试模式设置为true时,它将覆盖这样一个网格。","当它被启用时,所有的盒子都会得到一个明亮的深青色边框,padding(来自widget如padding)显示为浅蓝色,子widget周围有一个深蓝色框,","当按钮从被按下变为被释放时debugdumpapp()被调用,flatbutton对象同时调用setstate(),并将自己标记为\"dirty\"。","当调试布局问题时,关键要看的是size和constraints字段。约束沿着树向下传递,尺寸向上传递。","您也可以直接使用gridpaper组件将这种网格覆盖在非material应用程序上","您也可以通过设置debugpaintsizeenabled为true以可视方式调试布局问题。","您还可以调用debugdumpsemanticstree()获取语义树(呈现给系统可访问性api的树)的转储。","或事件处理器中调用它是最佳解决方案。","所有这些标志只能在调试模式下工作。通常,flutter框架中以“debug...”","文档.","最内部renderpositionedbox再次松开约束,这次是将按钮中的文本居中。","最好在应用程序启动时只设置一次。如果您在运行中更改它,尤其是在动画运行时将其值减小,则框架的观察时可能会倒退,这可能会导致断言并且通常会干扰您的工作。","有一个debugshowmaterialgrid参数,","有各种各样的工具和功能来帮助调试flutter应用程序。","构造函数","标志,","树中使用的一些类也具有tostringdeep,从该点返回整个子树的多行描述。已一些具有详细信息tostring的类会实现一个tostringshort,它只返回对象的类型或其他非常简短的(一个或两个单词)描述。","根部的变换是应用设备像素比的变换;","正如debugdumpapp(),除布局或绘制阶段外,您可以随时调用此函数。作为一般规则,从fram","每当渲染盒被要求重新布局和重新绘制时,这些都会将堆栈跟踪记录到控制台。如果这种方法对您有用,您可以使用services库中的debugprintstack()方法按需打印堆栈痕迹。","渲染层","然后打开你应用程序的observatori","省略","空白(如没有任何子节点的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应用","调试动画","调试动画最简单的方法是减慢它们的速度。为此,请将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输出的。","这是根renderobject对象的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)","2.6","2.6.1","2.6.2","2.6:dart线程模型及异常捕获","=","=>","@overrid","_debugreportexception(","body(),","build();","built","catch","collectlog(line);","collectlog(str","context,","context:","c(以下简称“oc”)中,如果程序发生异常且没有被捕获,那么程序将会终止,但是这在dart或javascript中则不会!究其原因,这和它们的运行机制有关系。java和oc都是多线程模型的编程语言,任意一个线程触发异常且该异常未被捕获时,就会导致整个进程退出。但dart和javascript不会,它们都是单线程模型,运行机制很相似(但有区别),下面我们通过dart官方提供的一张图来看看dart大致运行原理:","dart","dart中可以通过try/catch/finally来捕获代码块异常,这个和其它编程语言类似,如果读者不清楚,可以查看dart语言文档,不再赘述,下面我们看看flutter中的异常捕获。","dart中有一个runzoned(...)","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和object","在事件循环中,当某个任务发生异常并没有被捕获时,程序并不会退出,而直接导致的结果是当前任务的后续代码就不会被执行了,也就是说一个任务中的异常是不会影响其它任务执行的。","在介绍flutter异常捕获之前必须先了解一下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":["\"hello","$key';","&&","'$runtimetyp","'$runtimetype'","'package:flutter/cupertino.dart';","'package:flutter/material.dart';","'package:flutter/widgets.dart';","(","()","(译者语:和android中的framelayout相似),stack允许子","),",");",")布局模型设计的。","++_counter,","//return","//初始化状态","//导入cupertino","//点击后计数器自增","//移除计数器","//随便返回一个text()","0","1所示:","2所示:","3.1","3.1.1","3.1.2","3.1.3","3.1.4","3.1.5","3.1.6","3.1.7","3.1:widget简介","3)是在iphonex上页面效果截图:","5436):",":","=","==","=>","?","@immut","@overrid","@protect","@requir","_counter;","_counter=widget.initvalue;","_counterwidgetst","_counterwidgetstate();","abstract","backgroundcolor,","backgroundcolor;","background、一个边框、或者一个阴影。","body:","bool","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:","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();","cupertinobutton(","cupertinocolors.activeblue,","cupertinonavigationbar(","cupertinopagescaffold(","cupertinotestrout","cupertino组件","deactiv","deactivate()","deactivate():当state对象从树中被移除时,会调用此回调。在一些场景下,flutt","debugfillproperties(...)","debugfillproperties(diagnosticpropertiesbuild","demo\"),","design设计规范的应用程序。material应用程序以materialapp","diagnosticabletre","diagnosticstreestyle.dense;","didchangedepend","didchangedependencies()","didchangedependencies():当state对象的依赖发生变化时会被调用;例如:在之前build()","didupdatewidget","didupdatewidget():在widget重新构建时,flutt","didupdatewidget(counterwidget","dispos","dispose()","dispose():当state对象从树中被永久移除时调用;通常在此回调中释放资源。","echo","echo(text:","echo({","element","extend","final","flatbutton(","flutter","flutter也提供了一套丰富的cupertino风格的组件,尽管目前还没有materi","flutter提供了一套丰富、强大的基础组件,在基础组件库之上flutter又提供了一套material风格(android默认的视觉风格)和一套cupertino风格(ios视觉风格)的组件库。要使用基础组件库,需要先导入:","flutter提供了一套丰富的material组件,它可以帮助我们构建遵循materi","flutter提供了丰富的组件,在实际的开发中你可以根据需要随意使用它们,而不必担心引入过多组件库会让你的应用安装包变大,这不是web开发,dart在编译时只会编译你使用了的代码。由于material和cupertino都是在基础组件库之上的,所以如果我们的应用中引入了这两者之一,则不需要再引入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","i/flutt","import","initst","initstate()","initstate:当widget第一次插入到widget树时会被调用,对于每一个state对象,flutt","initvalue;","int","key","key);","key,","key:","key;","material组件","middle:","navigationbar:","new","newwidget)","newwidget.key;","newwidget.runtimetyp","null","oldwidget)","oldwidget,","oldwidget.key","oldwidget.runtimetyp","onpressed:","onpressed:()=>setstate(()=>","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、","scaffold(","sdk内置组件库介绍","stack:","state","statefulel","statefulelement(this);","statefulwidget","statefulwidget({","statefulwidget生命周期如图3","statelessel","statelesselement(this);","statelesswidget","statelesswidget用于不需要维护状态的场景,它通常在build方法中通过嵌套其它widget来构建ui,在构建过程中会递归的构建其嵌套的widget。我们看一个简单的例子:","state中有两个常用属性:","state生命周期","static","string","super(key:","super.deactivate();","super.debugfillproperties(properties);","super.didchangedependencies();","super.didupdatewidget(oldwidget);","super.dispose();","super.initstate();","super.reassemble();","text(\"cupertino","text(\"press\"),","text(\"xxx\");","text('$_counter'),","text(text),","text;","text:该组件可让您创建一个带格式的文本。","this.backgroundcolor:colors.grey,","this.initvalue:","this.key","this.text,","tostringshort()","void","widget","widget({","widget、用于app主题数据传递的theme等等,而原生开发中的控件通常只是指ui元素。在后面的内容中,我们在描述ui元素时可能会用到“控件”、“组件”这样的概念,读者心里需要知道他们就是widget,只是在不同场景的不同表述而已。由于flutter主要就是用于构建用户界面的,所以,在大多数时候,读者可以认为widget就是一个控件,不必纠结于概念。","widget。","widget与el","widget中,state对象也和statefulelement具有对应关系(一对一),所以在flutter的sdk文档中,可以经常看到“从树中移除state对象”或“插入state对象到树中”这样的描述。其实,无论哪种描述,其意思都是在描述“一棵构成用户界面的节点元素的树”,读者不必纠结于这些概念,还是那句话“得其神,忘其形”,因此,本书中出现的各种“树”,如果没有特别说明,读者都可抽象的认为它是“一棵构成用户界面的节点元素的树”。","widget主要接口","widget同时插入到widget树的多个位置时,flutt","widget实际上就是element的配置数据,widget树实际上是一个配置树,而真正的ui渲染树是由element构成;不过,由于element是通过widget生成的,所以它们之间有对应关系,在大多数场景,我们可以宽泛地认为widget树就是指ui控件树或ui渲染树。","widget库","widget的生命周期中可能会被多次调用。例如,当一个st","widget相关的状态,它在st","widget简介","widget类继承自diagnosticabletree,diagnosticabletree即“诊断树”,主要作用是提供调试信息。","widget,它表示与该state实例关联的widget实例,由flutt","world\");","{","{}","}","})","}):super(key:key);","});","一个statefulwidget类会对应一个state类,state表示与其对应的statefulwidget要维护的状态,state中的保存的状态信息可以:","一个widget对象可以对应多个element对象。这很好理解,根据同一份配置(widget),可以创建多个实例(element)。","上面的代码,实现了一个回显字符串的echo","下面我们介绍一下常用的组件。","下面我们来看看各个回调函数:","下面我们看看statefulwidget的类定义:","下面(图3","中inheritedwidget发生了变化,那么此时inheritedwidget的子widget的didchangedependencies()回调都会被调用。典型的场景是当系统语言locale或应用主题改变时,flutt","中包含了一个inheritedwidget,然后在之后的build()","也可以具有边距(margins)、填充(padding)和应用于其大小的约束(constraints)。另外,","你可以使用","关于示例","取代线性布局","另外widget类本身是一个抽象类,其中最核心的就是定义了createelement()接口,在flutter开发中,我们一般都不用直接继承widget类来实现一个新组件,相反,我们通常会通过继承statelesswidget或statefulwidget来间接继承widget类来实现。statelesswidget和statefulwidget都是直接继承自widget类,而这两个类也正是flutter中非常重要的两个抽象类,它们引入了两种widget模型,接下来我们将重点介绍一下这两个类。","可以看到此时initst","可以看到,在statefulwidget插入到widget树时首先initstate方法会被调用。","可以装饰一个boxdecoration,","可让您创建矩形视觉元素。contain","和didchangedependencies都没有被调用,而此时didupdatewidget被调用。","和statelesswidget一样,statefulwidget也是继承自widget类,并重写了createelement()方法,不同的是返回的el","在flutter中,widget的功能是“描述一个ui元素的配置数据”,它就是说,widget其实并不是表示最终绘制在设备屏幕上的显示元素,而它只是描述显示元素的一个配置数据。","在state对象从树中一个位置移除后(会调用deactivate)又重新插入到树的其它位置之后。","在widget","在widget生命周期中可以被改变,当state被改变时,可以手动调用其setstate()方法通知flutt","在之前的章节中,我们已经简单介绍过statelesswidget,statelesswidget相对比较简单,它继承自widget类,重写了createelement()方法:","在前面的介绍中,我们知道在flutter中几乎所有的对象都是一个widget。与原生开发中“控件”不同的是,flutter中的widget的概念更广泛,它不仅可以表示ui元素,也可以表示一些功能性的组件如:用于手势检测的","在本书中经常会出现“树“的概念,在不同的场景可能指不同的意思,在说“widget树”时它可以指widget结构树,但由于widget与element有对应关系(一可能对多),在有些场景(flutter的sdk文档中)也代指“ui树”的意思。而在st","在调用didchangedependencies()之后。","在调用didupdatewidget()之后。","在调用initstate()之后。","在调用setstate()之后。","基础组件","堆叠,","复写父类的方法,主要是设置诊断树的一些特性。","如","实际上,flutter中真正代表屏幕上显示元素的类是element,也就是说widget只是描述element的配置数据!有关element的详细介绍我们将在本书后面的高级部分深入介绍,现在,读者只需要知道:widget只是ui元素的一个配置数据,并且一个widget可以对应多个element。这是因为同一个widget对象可以被添加到ui树的不同部分,而真正渲染时,ui树的每一个element节点都会对应一个widget对象。总结一下:","对于buildcontext读者现在可以先作了解,随着本书后面内容的展开,也会用到context的一些方法,读者可以通过具体的场景对其有个直观的认识。关于buildcontext更多的内容,我们也将在后面高级部分再深入介绍。","对象并不相同;另外statefulwidget类中添加了一个新的接口createstate()。","总结","我们先来看一下widget类的声明:","我们可以看到,在counterwidget从widget树中移除时,deactive和dispose会依次被调用。","我们运行应用并打开该路由页面,在新路由页打开后,屏幕中央就会出现一个数字0,然后控制台日志输出:","按照惯例,widget的构造函数参数应使用命名参数,命名参数中的必要参数要添加@required标注,这样有利于静态代码分析器进行检查。另外,在继承widget时,第一个参数通常应该是key,另外,如果widget需要接收子widget,那么child或children参数通常应被放在参数列表的最后。同样是按照惯例,widget的属性应尽可能的被声明为final,防止被意外改变。","接下来,我们创建一个新路由,在新路由中,我们只显示一个counterwidget:","接下来,我们在widget树中移除counterwidget,将路由build方法改为:","是否使用materialapp完全是可选的,但是使用它是一个很好的做法。在之前的示例中,我们已经使用过多个materi","有关key和widget复用的细节将会在本书后面高级部分深入讨论,读者现在只需知道,为widget显式添加key的话可能(但不一定)会使ui在重新构建时变的高效,读者目前可以先忽略此参数。本书后面的示例中,只会在构建列表项ui时会显式指定key。","本章后面章节的示例中会使用一些布局类组件,如scaffold、row、column等,这些组件将在后面“布局类组件”一章中详细介绍,读者可以先不用关注。","来定位他们相对于stack的上下左右四条边的位置。stacks是基于web开发中的绝对定位(absolut","概念","注意:在继承statefulwidget重写其方法时,对于包含@mustcallsuper标注的父类方法,都要在子类方法中先调用父类方法。","然后我们可以通过如下方式使用它:","然后我们点击⚡️按钮热重载,控制台输出日志如下:","然后热重载,日志如下:","理解state的生命周期对flutter开发非常重要,为了加深读者印象,本节我们通过一个实例来演示一下state的生命周期。在接下来的示例中,我们实现一个计数器widget,点击它可以使计数器加1,由于要保存计数器的数值状态,所以我们应继承statefulwidget,代码如下:","用于创建和state","组件了,如:scaffold、appbar、flatbutton等。要使用materi","组件库中有一些组件可以根据实际运行平台来切换表现风格,比如materialpageroute,在路由切换时,如果是android系统,它将会使用android系统默认的页面切换动画(从底向上);如果是ios系统,它会使用ios系统默认的页面切换动画(从右向左)。由于在前面的示例中还没有cupertino组件的示例,下面我们实现一个简单的cupertino组件风格的页面:","组件开始,","组件那么丰富,但是它仍在不断的完善中。值得一提的是在materi","组件,需要先引入它:","该组件在应用程序的根部创建了一些必要的组件,比如theme组件,它用于配置应用的主题。","读者应该将这两点牢记在心中。","运行后效果如图3","这个key属性类似于react/vue中的key,主要的作用是决定是否在下一次build时复用旧的widget,决定的条件在canupdate()方法中。","这些具有弹性空间的布局类widget可让您在水平(row)和垂直(column)方向上创建灵活的布局。其设计是基于web开发中的flexbox布局模型。","间接继承自element类,与statefulwidget相对应(作为其配置数据)。statefulelement中可能会多次调用createstate()来创建状态(state)对象。","间接继承自element类,与statelesswidget相对应(作为其配置数据)。"],"chapter3/state_manage.html":["!_active;","'active'","'inactive',",")","),",");","//","10.0,","200.0,","3.2","3.2.1","3.2.2","3.2.3","3.2:状态管理","3.3.4","32.0,","4所示。",":","=","=>","?","@overrid","@requir","_activ","_active,","_active确定颜色:绿色为tru","_handletap()","_handletap,","_handletapboxchanged()","_handletapboxchanged(bool","_handletapboxchanged,","_handletapcancel()","_handletapcancel,","_handletapdown(tapdowndetail","_handletapdown,","_handletapup(tapupdetail","_handletapup,","_highlight","_parentwidgetcst","_parentwidgetcstate();","_parentwidgetst","_parentwidgetstate();","_parentwidgetstatec类:","_tapboxast","_tapboxastate();","_tapboxcst","_tapboxcstate();","activ","active:","active;","bool","border.all(","border:","boxdecoration(","build(buildcontext","center(","child:","class","color:","colors.grey[600],","colors.lightgreen[700]","colors.teal[700],","colors.white)),","colors.white),","container(","context)","createstate()","decoration:","details)","extend","false,","false;","final","gesturedetector(","gesturedetector监听所有tap事件。当用户点下时,它添加高亮(深绿色边框);当用户释放时,会移除高亮。","height:","key);","key,","key})","new","newvalue)","newvalue;","null,","onchanged(!active);","onchanged:","onchanged;","ontap:","ontapcancel:","ontapdown:","ontapup:","parentwidget","parentwidgetc","parentwidgetst","return","setstate(()","state","statefulwidget","statelesswidget","style:","super(key:","tapboxa","tapboxa({key","tapboxb","tapboxb(","tapboxb({key","tapboxc","tapboxc(","tapboxc({key","tapboxc将其_active状态导出到其父组件中,但在内部管理其_highlight状态。这个例子有两个状态对象_parentwidgetstate和_tapboxcstate。","text(","text(widget.act","textstyle(fontsize:","this.active:","this.onchanged})","true;","valuechang","void","widget","widget.act","widget.onchanged(!widget.active);","widget管理子widget状态。","widget管理自己的状态。","widget管理自身状态","width:","{","}","});","——创建一个盒子,当点击它时,盒子背景会在绿色与灰色之间切换。状态","下面的例子将使用gesturedetector来识别点击事件,关于该gesturedetector的详细内容我们将在后面“事件处理”一章中介绍。","为","为tapboxb","使用一些专门用于状态管理的包,如provider、redux,读者可以在pub上查看其详细信息。","例如,iconbutton是一个图标按钮,但它是一个无状态的widget,因为我们认为父widget需要知道该按钮是否被点击来采取相应的处理。","全局状态管理","另一种实现可能会将高亮状态导出到父组件,但同时保持_active状态为内部状态,但如果你要将该tapbox给其它人使用,可能没有什么意义。","响应式的编程框架中都会有一个永恒的主题——“状态(state)管理”,无论是在react/vue(两者都是支持响应式编程的web开发框架)还是flutter中,他们讨论的问题和解决的思想都是一致的。所以,如果你对react/vue的状态管理有了解,可以跳过本节。言归正传,我们想一个问题,statefulwidget的状态应该被谁管理?widget本身?父widget?都会?还是另一个对象?答案是取决于实际情况!以下是管理状态的最常见的方法:","在widget内部管理状态封装性会好一些,而在父widget中管理会比较灵活。有些时候,如果不确定到底该怎么管理状态,那么推荐的首选是在父widget中管理(灵活会显得更重要一些)。","在下面tapboxc示例中,手指按下时,盒子的周围会出现一个深绿色的边框,抬起时,边框消失。点击完成后,盒子的颜色改变。","在以下示例中,tapboxb通过回调将其状态导出到其父组件,状态由父组件管理,因此它的父组件为statefulwidget。但是由于tapboxb不管理任何状态,所以tapboxb为statelesswidget。","在按下时添加绿色边框,当抬起时,取消高亮","处理抬起事件","处理按下事件","如何决定使用哪种管理方法?下面是官方给出的一些原则可以帮助你做决定:","如果某一个状态是不同widget共享的则最好由它们共同的父widget管理。","如果状态是有关界面外观效果的,例如颜色、动画,那么状态最好由widget本身来管理。","如果状态是用户数据,如复选框的选中状态、滑块的位置,则该状态最好由父widget管理。","定义_active:确定盒子的当前颜色的布尔值。","定义_handletap()函数,该函数在点击该盒子时更新_active,并调用setstate()更新ui。","实现","实现_handletapboxchanged(),当盒子被点击时调用的方法。","实现widget的所有交互式行为。","实现一个全局的事件总线,将语言状态改变对应为一个事件,然后在app中依赖应用语言的组件的initst","对于一些组件来说,混合管理的方式会非常有用。在这种情况下,组件自身管理一些内部状态,而父组件管理一些其他外部状态。","对于父widget来说,管理状态并告诉其子widget何时更新通常是比较好的方式。","对象:","开发人员只会关心该框是否处于active状态,而不在乎高亮显示是如何管理的,所以应该让tapbox内部处理这些细节。","当应用中需要一些跨组件(包括跨路由)的状态需要同步时,上面介绍的方法便很难胜任了。比如,我们有一个设置页,里面可以设置应用的语言,我们为了让设置实时生效,我们期望在语言状态发生改变时,app中依赖应用语言的组件能够重新build一下,但这些依赖应用语言的组件和设置页并不在一起,所以这种情况用上面的方法很难管理。这时,正确的做法是通过一个全局状态管理器来处理这种相距较远的组件之间的通信。目前主要有两种办法:","当按下、抬起、或者取消点击时更新_highlight状态,调用setstate()更新ui。","当检测到点击时,它会通知父组件。","当点击时,将状态的改变传递给父组件。","当点击盒子并且_active状态改变时调用setstate()更新ui。","当状态改变时,调用setstate()更新ui。","接下来,我们将通过创建三个简单示例tapboxa、tapboxb和tapboxc来说明管理状态的不同方式。","方法中订阅语言改变的事件。当用户在设置页切换语言后,我们发布语言改变事件,而订阅了此事件的组件就会收到通知,收到通知后调用setstate(...)方法重新build一下自身即可。","本书将在\"功能型组件\"一章中介绍provider包的实现原理及用法,同时也将会在\"事件处理与通知\"一章中实现一个全局事件总线,读者有需要可以直接翻看。","混合状态管理","混合管理(父widget和子widget都管理状态)。","父widget管理子widget的状态","状态。","状态管理","管理_activ","管理_active状态。","管理_highlight","管理tapboxa的状态。","管理状态.","管理自身状态.","类:","继承statelesswidget类,因为所有状态都由其父组件处理。","这些例子功能是相似的",",当盒子被点击时调用。",",灰色为false,如图3"],"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,","3.3","3.3.1","3.3.2","3.3.3","3.3.4","3.3.5","3.3:文本、字体样式","500","5所示:","600","6所示:","7所示:","8),然后用textspan实现它。","9:","=","[","]","],","_taprecogn","_taprecognizer,它是点击链接后的一个处理器(代码已省略),关于手势识别的更多内容我们将在后面单独介绍。","abrilfatfac","asset:","assets/fonts/abrilfatface/abrilfatfac","assets/fonts/raleway","background:","buttontext","child:","children,","children:","children是一个textspan的数组,也就是说textspan可以包括其他textspan。而recognizer用于对该文本片段上用于手势进行识别处理。下面我们看一个效果(图3","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树中父级设置的默认样式),因此,如果在widget树的某一个节点处设置一个默认的文本样式,那么该节点的子树中所有文本都会默认使用这个样式,而defaulttextstyle正是用于设置默认文本样式的。下面我们看一个例子:","在上面的例子中,text的所有文本内容只能按同一种样式,如果我们需要对一个text内容的不同部分按照不同的样式显示,这时就可以使用textspan,它代表文本的一个“片段”。我们看看textspan的定义:","在这种情况下,由于应用程序本地定义了字体,所以在创建textstyle时可以不指定package参数:","声明文本样式","如果在package包内部使用它自己定义的字体,也应该在创建文本样式时指定package参数,如上例所示。","字体","字符串内容超过一行,text宽度等于屏幕宽度,第二行文本便会居中显示。","效果如图3","文本及样式","方法将textspan","此示例只展示了textstyle的部分属性,它还有一些其它属性,属性名基本都是自解释的,在此不再赘述,读者可以查阅sdk文档。值得注意的是:","添加到text中,之所以可以这样做,是因为text其实就是richtext的一个包装,而richtext是可以显示多种样式(富文本)的widget。","源码:","然后,应用程序可以声明一个字体,如下面的示例所示:","要使用package中定义的字体,必须提供package参数。例如,假设上面的字体声明位于my_package包中。然后创建textstyle的过程如下:","要将字体文件打包到应用中,和使用其它资源一样,要先在pubspec.yaml中声明它。然后将字体文件复制到在pubspec.yaml中指定的位置。如:","设置给了子树column节点处,这样一来column的所有子孙text默认都会继承该样式,除非text显示指定不继承样式,如代码中注释2。示例运行效果如图3","运行效果如图3","这些文件应该存放在包的lib/文件夹中。字体文件不会自动绑定到应用程序中,应用程序可以在声明字体时有选择地使用这些字体。假设一个名为my_package的包中有一个字体文件:",":由于不同平台默认支持的字体集不同,所以在手动指定字体时一定要先在不同平台测试一下。"],"chapter3/buttons.html":["()",")","),",");","...","//外形","//按钮按下时的背景颜色","//按钮文字颜色","//按钮点击回调","//按钮的内容","//按钮的填充","//按钮禁用时的文字颜色","//按钮背景颜色","//正常状态下的阴影","//点击时,水波动画中水波的颜色","0.0,//","10所示:","11所示:","12所示:","13所示:","14所示:","15所示:","16所示:","2.0,","3.4","3.4.1","3.4.2","3.4:按钮","8.0,//按下时的阴影","=","@requir","_onpressed,","borderradius.circular(20.0)),","brightness.dark,","child:","color","color(0x000000)。","color:","colorbrightness:","colors.blu","colors.blue,","colors.blue[700],","colors.grey,","const","flatbutton","flatbutton(","flatbutton({","flatbutton.icon(","flatbutton即扁平按钮,默认背景透明并不带阴影。按下后,会有背景色,如图3","flutter","highlightcolor:","icon(icons.add),","icon(icons.info),","icon(icons.send),","icon(icons.thumb_up),","icon:","iconbutton","iconbutton(","iconbutton是一个可点击的icon,不包括文字,默认没有背景,点击后会出现背景,如图3","label:","materi","material组件库中的按钮","onpressed:","outlinebutton","outlinebutton(","outlinebutton.icon(","outlinebutton默认有一个边框,不带阴影且背景透明。按下后,边框颜色会变亮、同时出现背景和阴影(较弱),如图3","raisedbutton","raisedbutton(","raisedbutton({","raisedbutton.icon(","raisedbutton、flatbutton、outlinebutton都有一个icon","shape:roundedrectangleborder(borderradius:","splashcolor:","text(\"normal\"),","text(\"submit\"),","text(\"发送\"),","text(\"添加\"),","text(\"详情\"),","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,","{},","}","})","中没有提供去除背景的设置,假若我们需要去除背景,则可以通过将背景颜色设置为全透明来实现。对应上面的代码,便是将","也不做更改),换了之后的效果如图3","代码如下:","使用flatbutton也很简单,代码如下:","使用outlinebutton也很简单,代码如下:","使用raisedbutton非常简单,如:","值得注意的是,在materi","其中大多数属性名都是自解释的,我们不赘述。下面我们通过一个示例来看看如何自定义按钮。","即\"漂浮\"按钮,它默认带有阴影和灰色背景。按下后,阴影会变大,如图3","如果我们想实现一个背景渐变的圆角按钮,按钮有没有相应的属性呢?答案是否定的,但是,我们可以通过其它方式来实现,我们将在后面\"自定义组件\"一章中实现。","定义一个背景蓝色,两边圆角的按钮。效果如图3","带图标的按钮","库中的按钮都有如下相同点:","很简单吧,在上面的代码中,我们主要通过shape来指定其外形为一个圆角矩形。因为按钮背景是蓝色(深色),我们需要指定按钮主题colorbrightness为brightness.dark,这是为了保证按钮文字颜色为浅色。","按下时都会有“水波动画”(又称“涟漪动画”,就是点击时按钮上会出现水波荡漾的动画)。","按钮","按钮外观可以通过其属性来定义,不同按钮属性大同小异,我们以flatbutton为例,介绍一下常见的按钮属性,详细的信息可以查看api文档。","是不是有质感了!之所以会这样,是因为raisedbutton默认有配置阴影:","替换为","有一个onpressed属性来设置点击回调,当按钮按下时会执行该回调,如果不提供该回调则按钮会处于禁用状态,禁用状态不响应用户点击。","构造函数,通过它可以轻松创建带图标的按钮,如图3","示例","禁用时的阴影","组件库中提供了多种按钮组件如raisedbutton、flatbutton、outlinebutton等,它们都是直接或间接对rawmaterialbutton组件的包装定制,所以他们大多数属性都和rawmaterialbutton一样。在介绍各个按钮时我们先介绍其默认外观,而按钮的外观大都可以通过属性来自定义,我们在后面统一介绍这些属性。另外,所有materi","组件库中,我们会在很多组件中见到elevation相关的属性,它们都是用来控制阴影的,这是因为阴影在material设计风格中是一种很重要的表现形式,以后在介绍其它组件时,便不再赘述。","细心的读者可能会发现这个按钮没有阴影(点击之后也没有),这样会显得没有质感。其实这也很容易,将上面的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',","'package:flutter/material.dart';",")","),",");","+=",",","...","//","//图片的宽","//图片的混合色值","//图片高度","//对齐方式","//混合模式","//重复方式","0xe000","0xe614,","0xe90d","0xe914","0xec7d,","100,","100.0","100.0,","17所示:","18所示:","19所示(彩色):","200.0,","20所示:","21所示:","22所示:","24.0,","3.5","3.5.1","3.5.2","3.5:图片和icon","50,","50.0,","=","@overrid","[","\\ue000\";","\\ue90d\";","],","].map((e){","accessible:","alignment.center,","asset:","assetimage(\"images/avatar.png\"),","assets:","blendmode.difference,","book","boxfit.contain,","boxfit.cover,","boxfit.fill,","boxfit.fitheight,","boxfit.fitwidth,","boxfit.none,","boxfit.scaledown,","build(buildcontext","child:","children:","class","color:","colorblendmode:","colorblendmode:在图片绘制时可以对每一个像素进行颜色混合处理,color指定混合色,而colorblendmode指定混合模式,下面是一个简单的示例:","colors.blue,","colors.green","colors.green,),","colors.purple,),","color和","column(","const","contain:这是图片的默认适应规则,图片会在保证图片本身长宽比不变的情况下缩放以适应当前显示空间,图片不会变形。","context)","cover:会按图片的长宽比放大后居中填满显示空间,图片不会变形,超出显示空间部分会被剪裁。","design:","design图标的icondata静态变量定义。","design字体图标","design所有图标可以在其官网查看:https://material.io/tools/icons/","design的字体图标,在pubspec.yaml文件中的配置如下","e,","e000","e90d","e914","edgeinsets.all(16.0),","error:","extend","family:","fill:会拉伸填充满显示空间,图片本身长宽比会发生变化,图片会变形。","fingerprint:","fit:","fitheight:图片的高度会缩放到显示空间的高度,宽度会按比例缩放,然后居中显示,图片不会变形,超出显示空间部分会被剪裁。","fitwidth:图片的宽度会缩放到显示空间的宽度,高度会按比例缩放,然后居中显示,图片不会变形,超出显示空间部分会被剪裁。","fit:该属性用于在图片的显示空间和图片本身大小不同时指定图片的适应模式。适应模式是在boxfit中定义,它是一个枚举类型,有如下值:","flutter:","flutter中,可以像web开发一样使用iconfont,iconfont即“字体图标”,它是将图标做成字体文件,然后通过指定不同的字符而显示不同的图片。","flutter中,我们可以通过image组件来加载并显示图片,image的数据源可以是asset、文件、内存以及网络。","flutter框架对加载过的图片是有缓存的(内存),默认最大缓存数量是1000,最大缓存空间为100m。关于image的详细内容及原理我们将会在后面进阶部分深入介绍。","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:","imageandiconrout","imageprovid","imagerepeat.norepeat,","imagerepeat.repeati","images/avatar.png","image也提供了一个快捷的构造函数image.asset用于从asset中加载、显示图片:","image也提供了一个快捷的构造函数image.network用于从网络加载、显示图片:","image在显示图片时定义了一系列参数,通过这些参数我们可以控制图片的显示外观、大小、混合效果等。我们看一下image的主要参数:","image缓存","img,","img=assetimage(\"imgs/avatar.png\");","import","mainaxisalignment.center,","mainaxisalignment:","matchtextdirection:","materi","myicon","myicons{","networkimage(","none:图片没有适应策略,会在显示空间内显示图片,如果图片比显示空间大,则显示空间只会显示图片中间部分。","padding(","padding:","repeat:","repeat:当图片本身大小小于显示空间时,指定图片的重复规则。简单示例如下:","return","row(","singlechildscrollview(","sizedbox(","statelesswidget","static","string","style:","text(e.fit.tostring())","text(icons,","textstyle(","this.align","this.color,","this.colorblendmode,","this.fit,//缩放模式","this.height,","this.repeat","this.width,","true","us","var","wechat","widget","widget有一个必选的image参数,它对应一个imageprovider。下面我们分别演示一下如何从asset和网络加载图片。","width:","width、height:用于设置图片的宽、高,当不指定宽高时,图片会根据当前父容器的限制,尽可能的显示其原始大小,如果只设置width、height的其中一个,那么另一个属性默认会按比例缩放,但可以通过下面介绍的fit属性来指定适应规则。","yaml","{","}","})","}).tolist()","一图胜万言!","为了使用方便,我们定义一个myicons类,功能和icons类一样:将字体文件中的所有图标都定义成静态变量:","从asset中加载图片","从网络加载图片","体积小:可以减小安装包大小。","使用","使用materi","使用自定义字体图标","假设我们项目中需要使用一个书籍图标和微信图标,我们打包下载后导入:","加载该图片","参数","可以应用文本样式:可以像文本一样改变字体图标的颜色、大小对齐等。","可以通过textspan和文本混用。","图标","图片","图片及icon","在flutter开发中,iconfont和图片相比有如下优势:","在pubspec.yaml中的flutter部分添加如下内容:","在字体文件中,每一个字符都对应一个位码,而每一个位码对应一个显示字形,不同的字体就是指字形不同,即字符对应的字形是不同的。而在iconfont中,只是将位码对应的字形做成了图标,所以不同的字符最终就会渲染成不同的图标。","在工程根目录下创建一个images目录,并将图片avatar.png拷贝到该目录。","完整的示例代码如下:","导入字体图标文件;这一步和导入字体文件相同,假设我们的字体图标文件保存在项目根目录下,路径为\"fonts/iconfont.ttf\":","微信图标","我们也可以使用自定义字体图标。iconfont.cn上有很多字体图标素材,我们可以选择自己需要的图标打包下载后,会生成一些不同格式的字体文件,在flutter中,我们使用ttf格式即可。","我们看一个简单的例子:","我们队一个宽高相同的头像图片应用不同的fit值,效果如图3","文件对缩进严格,所以必须严格按照每一层两个空格的方式进行缩进,此处assets前面应有两个空格。","是一个抽象类,主要定义了图片数据获取的接口load(),从不同的数据源获取图片需要实现不同的imageprovid","注意:","由于","矢量的:iconfont都是矢量图标,放大不会影响其清晰度。","运行上面两个示例,图片加载成功后如图3","运行后效果如图3","运行效果如图3","通过这个示例可以看到,使用图标就像使用文本一样,但是这种方式需要我们提供每个图标的码点,这并对开发者不友好,所以,flutter封装了icondata和icon来专门显示字体图标,上面的例子也可以用如下方式实现:",",如assetimage是实现了从asset中加载图片的imageprovider,而networkimage实现了从网络加载图片的imageprovider。"],"chapter3/radio_and_checkbox.html":[")","),",");",",","//维护单选开关状态","//选中时的颜色","//重新构建页面","3.6","3.6:单选框和复选框","=>","@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","framework重新构建ui。","materi","new","onchanged:(value){","return","setstate(()","state","statefulwidget","switch(","switchandcheckboxtestrout","switch和checkbox属性比较简单,读者可以查看api文档,它们都有一个activecolor属性,用于设置激活态的颜色。至于大小,到目前为止,checkbox的大小是固定的,无法自定义,而switch只能定义宽度,高度也是固定的。值得一提的是checkbox有一个属性trist","value:","widget","{","}","});","},","。在其build方法中分别构建了一个switch和checkbox,初始状态都为选中状态,当用户点击时,会将状态置反,然后回调用setstate()通知flutt","。如果tristate值为true时,value的值会增加一个状态null,读者可以自行了解。","上面代码中,由于需要维护switch和checkbox的选中状态,所以switchandcheckboxtestroute继承自statefulwidget","单选开关和复选框","属性及外观","总结","组件库中提供了material风格的单选开关switch和复选框checkbox,它们都是继承自statelesswidget,所以它们本身不会保存当前选择状态,因此它们的选中状态都是由父组件来管理的。当switch或checkbox被点击时,会触发它们的onchanged回调,我们可以在此回调中处理选中状态改变逻辑。下面看一个简单的例子:","通过switch和checkbox我们可以看到,虽然它们本身是与状态(是否选中)关联的,但它们却不是自己来维护状态,而是需要父组件来管理状态,然后当用户点击时,再通过事件通知给父组件,这样是合理的,因为switch和checkbox是否选中本就和用户数据关联,而这些用户数据也不可能是它们的私有状态。我们在自定义组件时也应该思考一下哪种状态的管理方式最为合理。",",表示是否为三态,其默认值为fals",",这时checkbox有两种状态即“选中”和“不选中”,对应的value值为true和fals"],"chapter3/input_and_form.html":["\"email\",","\"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),","24所示:","25所示:","26所示:","27所示:","28.0),","28所示:","29所示:","3.7","3.7.1","3.7.2","3.7:输入框和表单","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((){","appbar(","appbar:","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","material组件库中提供了输入框组件textfield和表单组件form。下面我们分别介绍一下。","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:","phone","prefixicon:","print(\"onchange:","print(_unamecontroller.text)","print(_unamecontroller.text);","print(focusnode.hasfocus);","raisedbutton(","return","row(","scaffold(","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系统下键盘样式如图3","textinputtyp","textinputtype.emailaddress,","textinputtype枚举值","textstyl","textstyle(color:","theme","theme(","theme.of(context).copywith(","this.cursorcolor,","this.cursorradius,","this.cursorwidth","title:text(\"form","true,","underlineinputborder(","url","v","validator,","validator:","valuechang","void","voidcallback","widget","width:","willpopcallback","world!\";","{","|","}","})","});","},","”","下滑线浅灰色,宽度1像素","两种方式相比,onchanged是专门用于监听文本变化,而controller的功能却多一些,除了能监听文本变化外,它还可以设置默认值、选择文本,下面我们看一个例子:","为了方便使用,flutter提供了一个textformfield组件,它继承自formfield类,也是textfield的一个包装类,所以除了formfield定义的属性之外,它还包括textfield的属性。","之所以如此,是由于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去嵌套定义样式,如:","我们要实现的效果如图3","控制焦点","数字;会弹出数字键盘","文本输入键盘","是否自动获取焦点。","来获取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()方法校验用户名密码是否合法,校验","输入框内编辑文本在水平方向的对齐方式。","输入框及表单","运行后效果如图3","运行后,效果如图3","运行效果如图3","运行效果:","这是一种写法","这是第二种写法","通过_formkey.currentst","通过builder来获取raisedbutton所在widget树的真正context(element)","通过controller监听,如:","通过controller直接获取。","通过controller获取输入框内容","通过后再提交数据。","通过这种组件组合的方式,也可以定义背景圆角等。一般来说,优先通过decoration来自定义样式,如果decoration实现不了,再用widget组合的方式。",":maxlength代表输入框文本的最大长度,设置后输入框右下角会显示输入的文本计数。maxlengthenforced决定当输入文本长度超过maxlength时是否阻止输入,为true时会阻止输入,为false时不会阻止输入但输入框会变红。"],"chapter3/progress.html":["'package:flutter/material.dart';",")","),",");","...",".5,",".7,",".animate(_animationcontroller),","//","//动画执行时间3秒","//进度条显示50%","//进度条显示50%,会显示一个半圆","100,","130,","3));","3,","3.8","3.8:进度指示器","30所示:","31所示:","32所示:","33所示:","4.0,","=","=>","@overrid","[","],","_animationcontrol","_animationcontroller.addlistener(()","_animationcontroller.dispose();","_animationcontroller.forward();","_animationcontroller.value,","_animationcontroller;","_progressroutest","_progressroutestate();","alwaysstoppedanimation(colors.blue),","anim","animationcontrol","animationcontroller(vsync:","backgroundcolor,","backgroundcolor:","backgroundcolor:指示器的背景色。","build(buildcontext","child:","children:","circularprogressind","circularprogressindicator(","circularprogressindicator({","circularprogressindicator是一个圆形进度条,定义如下:","class","color","colors.blue)","colors.grey,","colors.grey[200],","colortween(begin:","column(","context)","createstate()","dispose()","doubl","duration(seconds:","duration:","edgeinsets.all(16),","end:","extend","flutter_spinkit","height:","import","initstate()","linearprogressind","linearprogressindicator(","linearprogressindicator({","linearprogressindicator是一个线性、条状的进度条,定义如下:","materi","new","padding(","padding:","progressrout","return","setstate(()","singlechildscrollview(","singletickerproviderstatemixin","sizedbox(","state","statefulwidget","super.dispose();","super.initstate();","this,","this.strokewidth","value,","value:","valuecolor,","valuecolor:","value:value表示当前的进度,取值范围为[0,1];如果value为null时则指示器会执行一个循环动画(模糊进度);当value不为null时,指示器为一个具体进度的进度条。","void","widget","width:","{","{}));","}","})","从灰色变成蓝色","其实linearprogressindicator和circularprogressindicator都是取父容器的尺寸作为绘制的边界的。知道了这点,我们便可以通过尺寸限制类widget,如constrainedbox、sizedbox","前三个参数和linearprogressindicator相同,不再赘述。strokewidth","前面说过可以通过valuecolor对进度条颜色做动画,关于动画我们将在后面专门的章节详细介绍,这里先给出一个例子,读者在了解了flutter动画一章后再回过头来看。","包提供了多种风格的模糊进度指示器,读者若是感兴趣,可以参考。","圆形进度条直径指定为100","定制进度指示器风格样式,可以通过custompaint","宽高不等","我们可以发现linearprogressindicator和circularprogressindicator,并没有提供设置圆形进度条尺寸的参数;如果我们希望linearprogressindicator的现细一些,或者希望circularprogressindicator的圆大一些该怎么做?","我们实现一个进度条在3秒内从灰色变成蓝色的动画:","指示器的进度条颜色;值得注意的是,该值类型是animation,这允许我们对进度条的颜色也可以指定动画。如果我们不需要对进度条颜色执行动画,换言之,我们想对进度条应用一种固定的颜色,此时我们可以通过alwaysstoppedanimation来指定。","来自定义绘制逻辑,实际上linearprogressindicator和circularprogressindicator也正是通过custompainter来实现外观绘制的。关于custompainter,我们将在后面“自定义widget”一章中详细介绍。","模糊进度条(会执行一个动画)","模糊进度条(会执行一个旋转动画)","注意,如果circularprogressindicator显示空间的宽高不同,则会显示为椭圆。如:","示例","第一个进度条会执行旋转动画,而第二个进度条是静止的,它停在50%的位置。","第一个进度条在执行循环动画:蓝色条一直在移动,而第二个进度条是静止的,停在50%的位置。","线性进度条高度指定为3","组件库中提供了两种进度指示器:linearprogressindicator和circularprogressindicator,它们都可以同时用于精确的进度指示和模糊的进度指示。精确进度通常用于任务进度可以计算和预估的情况,比如文件下载;而模糊进度则用户任务进度无法准确获得的情况,如下拉刷新,数据提交等。","自定义尺寸","自定义进度指示器样式","表示圆形进度条的粗细。示例如下:","运行效果如图3","进度指示器","进度色动画","(我们将在后面容器类组件一章中介绍)来指定尺寸,如:"],"chapter4/":["层叠布局stack、posit","布局类widgets简介","弹性布局flex","本章目录","流式布局wrap、flow","第四章:布局类组件","线性布局row、column"],"chapter4/intro.html":["(leaf/singlechild/multichild)renderobjectwidget","4.1","4.1:布局类组件简介",">","leafrenderobjectel","leafrenderobjectwidget","multichildrenderobjectel","multichildrenderobjectwidget","renderobjectwidget","renderobjectwidget类中定义了创建、更新renderobject的方法,子类必须实现他们,关于renderobject我们现在只需要知道它是最终布局、渲染ui界面的对象即可,也就是说,对于布局类组件来说,其布局算法都是通过对应的renderobject对象来实现的,所以读者如果对接下来介绍的某个布局类组件的原理感兴趣,可以查看其对应的renderobject的实现,比如stack(层叠布局)对应的renderobject对象就是renderstack,而层叠布局的实现就在renderstack中。","singlechildrenderobjectel","singlechildrenderobjectwidget","widget","widget树的叶子节点,用于没有子节点的widget,通常基础组件都属于这一类,如text、image。","。","包含一个子widget,如:constrainedbox、decoratedbox等","包含多个子widget,一般都有一个children参数,接受一个widget数组。如row、column、stack等","在本章中,为了让读者对布局类widget有个快速的认识,所以我们并不会深入到renderobject的细节中去。在学习本章时,读者的重点是掌握不同布局组件的布局特点,具体原理和细节等我们对flutter整体入门后,感兴趣的话再去研究。","对应的element","布局类组件就是指直接或间接继承(包含)multichildrenderobjectwidget的widget,它们一般都会有一个children属性用于接收子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":["\"),","\",","'package:flutter/material.dart';",")","),",");","...","//垂直方向居中对齐","//有效,外层colum高度为整个屏幕","//测试row对齐方式,排除column默认居中对齐的干扰","1所示:","2所示:","30.0),),","3所示:","4.2","4.2:线性布局(row、column)","4所示:","=","@overrid","[","[],","],","boxconstraints(minwidth:","build(buildcontext","centercolumnrout","center三个值),不同的是crossaxisalignment的参考系是verticaldirection,即verticaldirection值为verticaldirection.down时crossaxisalignment.start指顶部对齐,verticaldirection值为verticaldirection.up时,crossaxisalignment.start指底部对齐;而crossaxisalignment.end和crossaxisalignment.start正好相反;","child:","children","children:","class","color:","colors.green,","colors.red,","column","column(","column可以在垂直方向排列其子组件。参数和row一样,不同的是布局方向为垂直,主轴纵轴正好相反,读者可类比row来理解,下面看一个例子:","const","constrainedbox(","constraints:","container(","context)","crossaxisalign","crossaxisalignment.center,","crossaxisalignment.start,","crossaxisalignment:","crossaxisalignment:表示子组件在纵轴方向的对齐方式,row的高度等于子组件中最高的子元素高度,它的取值和mainaxisalignment一样(包含start、end、","double.infinity),","edgeinsets.all(16.0),","expanded(","extend","hello","import","jack","list","mainaxisalign","mainaxisalignment.center,","mainaxisalignment.end,","mainaxisalignment.start,","mainaxisalignment:","mainaxisalignment:表示子组件在row所占用的水平空间内对齐方式,如果mainaxissize值为mainaxissize.min,则此属性无意义,因为子组件的宽度等于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表示尽可能少的占用水平空间,当子组件没有占满水平剩余空间,则row的实际宽度等于所有子组件占用的的水平空间;","padding(","padding:","return","row","row(","row({","row可以在水平方向排列其子widget。定义如下:","statelesswidget","style:","text(\"","text(\"hello","text(\"hi\"),","text(\"i","text(\"world\"),","textdirect","textdirection,","textdirection.rtl,","textdirection:","textdirection:表示水平方向子组件的布局顺序(是从左往右还是从右往左),默认为系统当前locale环境的文本方向(如中文、英语都是从左往右,而阿拉伯语是从右往左)。","textstyle(fontsize:","verticaldirect","verticaldirection.down,","verticaldirection.up,","verticaldirection:","verticaldirection:表示row纵轴(垂直)的对齐方向,默认是verticaldirection.down,表示从上到下。","widget","widget;我们将在后面章节中介绍。","world","{","}","})","主轴和纵轴","使用center","如果row里面嵌套row,或者column里面再嵌套column,那么只有对最外面的row或column会占用尽可能大的空间,里面row或column所占用的空间为实际大小,下面以column为例说明:","如果要让里面的column占满外部column,可以使用expand","实际上,row和column都只会在主轴方向占用尽可能大的空间,而纵轴的长度则取决于他们最大子元素的长度。如果我们想让本例中的两个文本控件在整个手机屏幕中间对齐,我们有两种方法:","实际运行结果如图4","对于线性布局,有主轴和纵轴之分,如果布局是沿水平方向,那么主轴就是指水平方向,而纵轴即垂直方向;如果布局沿垂直方向,那么主轴就是指垂直方向,而纵轴就是水平方向。在线性布局中,有两个定义对齐方式的枚举类mainaxisalignment和crossaxisalignment,分别代表主轴对齐和纵轴对齐。","将column的宽度指定为屏幕宽度;这很简单,我们可以通过constrainedbox或sizedbox(我们将在后面章节中专门介绍着两个widget)来强制更改宽度限制,例如:","将minwidth设为double.infinity,可以使宽度占用尽可能多的空间。","属性为crossaxisalignment.center,那么子项在column纵轴方向(此时为水平方向)会居中对齐。注意,在水平方向对齐是有边界的,总宽度为column占用空间的实际宽度,而实际的宽度取决于子项中宽度最大的widget。在本例中,column有两个子widget,而显示“world”的text宽度最大,所以column的实际宽度则为text(\"world\")","我们将在介绍弹性布局时详细介绍expanded。","所谓线性布局,即指沿水平或垂直方向排布子组件。flutter中通过row和column来实现线性布局,类似于android中的linearlayout控件。row和column都继承自flex,我们将在弹性布局一节中详细介绍flex。","特殊情况","由于我们指定了","由于我们没有指定column的mainaxissize,所以使用默认值mainaxissize.max,则column会在垂直方向占用尽可能多的空间,此例中为屏幕高度。","的宽度,所以居中对齐后text(\"hi\")会显示在text(\"world\")的中间部分。","示例","线性布局(row和column)","组件:","解释:","解释:第一个row很简单,默认为居中对齐;第二个row,由于mainaxissize值为mainaxissize.min,row的宽度等于两个text的宽度和,所以对齐是无意义的,所以会从左往右显示;第三个row设置textdirection值为textdirection.rtl,所以子组件会从右向左的顺序排列,而此时mainaxisalignment.end表示左对齐,所以最终显示结果就是图中第三行的样子;第四个row测试的是纵轴的对齐方式,由于两个子text字体不一样,所以其高度也不同,我们指定了verticaldirection值为verticaldirection.up,即从低向顶排列,而此时crossaxisalignment值为crossaxisalignment.start表示底对齐。","请阅读下面代码,先想象一下运行的结果:","运行效果如图4",":子组件数组。"],"chapter4/flex.html":["!=","),",");","...","//flex的三个子widget,在垂直方向按2:1:1来占用100像素的空间","//flex的两个子widget按1:2来占据水平空间","//弹性布局的方向,","0),","1,","100.0,","1})","2,","20.0),","30.0,","4.3","4.3:弹性布局(flex)","5所示:",":","=",">","@overrid","@requir","[","[],","],","assert(flex","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","final","flex","flex(","flex({","flex,","flex:","flex;","flexlayouttestrout","flex参数为弹性系数,如果为0或null,则child是没有弹性的,即不会被扩伸占用的空间。如果大于0,所有的expanded按照其flex的比例来分割主轴的全部空闲空间。下面我们看一个例子:","flex组件可以沿着水平或垂直方向排列子组件,如果你知道主轴方向,使用row或column会方便一些,因为row和column都继承自flex,参数基本相同,所以能使用flex的地方基本上都可以使用row或column。flex本身功能是很强大的,它也可以和expanded组件配合实现弹性布局。接下来我们只讨论flex和弹性布局相关的属性(其它属性已经在介绍row和column时介绍过了)。","flex继承自multichildrenderobjectwidget,对应的renderobject为renderflex,renderflex中实现了其布局算法。","height:","int","key);","key,","list","null),","padding(","padding:","return","row、column和flex子组件所占用的空间。","row默认为水平方向,column默认为垂直方向","sizedbox(","sizedbox.shrink(),","spacer","spacer(","spacer({key","statelesswidget","super(key:","this.direction,","this.flex","widget","{","}","})","可以按比例“扩伸”","小结","弹性布局允许子组件按照一定比例来分配父容器空间。弹性布局的概念在其它ui系统中也都存在,如h5中的弹性盒子布局,android中的flexboxlayout等。flutter中的弹性布局主要通过flex和expanded来配合实现。","弹性布局比较简单,唯一需要注意的就是row、column以及flex的关系。","弹性布局(flex)","示例中的spacer的功能是占用指定比例的空间,实际上它只是expanded的一个包装类,spacer的源码如下:","运行效果如图4"],"chapter4/wrap_and_flow.html":["(int",")","),",");","...","//","//沿主轴方向居中","//计算每一个子widget的位置","0.0,","0;","4.0,","4.4","4.4.1","4.4.2","4.4:流式布局(wrap、flow)","6所示:","7所示:","8.0,","80.0,","8:","=","@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;","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","{","})","下面是wrap的定义:","下面看一个示例子:","不能自适应子组件大小,必须通过指定父容器大小或实现testflowdelegate的getsize返回固定大小。","主轴(水平)方向间距","使用复杂。","可以看到我们主要的任务就是实现paintchildren,它的主要任务是确定每个子widget位置。由于flow不能自适应子widget的大小,我们通过在getsize返回一个固定大小来指定flow的大小。","可以看到,右边溢出部分报错。这是因为row默认只有一行,如果超出屏幕不会折行。我们把超出屏幕显示范围会自动折行的布局称为流式布局。flutter中通过wrap和flow来支持流式布局,将上例中的row换成wrap后溢出部分则会自动折行,下面我们分别介绍wrap和flow.","在介绍row和colum时,如果子widget超出屏幕范围,则会报溢出错误,如:","实现testflowdelegate:","性能好;flow是一个对子组件尺寸以及位置调整非常高效的控件,flow用转换矩阵在对子组件进行位置调整的时候进行了优化:在flow定位过后,如果子组件的尺寸或者位置发生了变化,在flowdelegate中的paintchildren()方法中调用context.paintchild","我们一般很少会使用flow,因为其过于复杂,需要自己实现子widget的位置转换,在很多场景下首先要考虑的是wrap是否满足需求。flow主要用于一些需要自定义布局策略或性能要求较高(如动画中)的场景。flow有如下优点:","我们可以看到wrap的很多属性在row(包括flex和column)中也有,如direction、crossaxisalignment、textdirection、verticaldirection等,这些参数意义是相同的,我们不再重复介绍,读者可以查阅前面介绍row的部分。读者可以认为wrap和flex(包括row和column)除了超出显示范围后wrap会折行外,其它行为基本相同。下面我们看一下wrap特有的几个属性:","我们对六个色块进行自定义流式布局:","流式布局","灵活;由于我们需要自己实现flowdelegate的paintchildren()方法,所以我们需要自己计算每一个组件的位置,因此,可以自定义布局策略。","示例:","纵轴(垂直)方向间距","缺点:","运行效果如图4","运行效果见图4","进行重绘,而context.paintchild在重绘时使用了转换矩阵,并没有实际调整组件位置。"],"chapter4/stack.html":[")","),",");",",","//指定未定位或部分定位widget的对齐方式","//未定位widget占满stack整个空间","//通过constrainedbox来确保stack占满屏幕","10所示:","18.0,","4.5","4.5:层叠布局(stack、positioned)","9:","=","@requir","[","[],","],","alignment:alignment.cent","alignmentdirectional.topstart,","alignment:此参数决定如何去对齐没有定位(没有使用positioned)或部分定位的子组件。所谓部分定位,在这里特指没有在某一个轴上定位:left、right为横轴,top、bottom为纵轴,只要包含某个轴上的一个定位属性就算在该轴上有定位。","bottom分别代表离stack左、上、右、底四边的距离。width和height用于指定需要定位元素的宽度和高度。注意,positioned的width、height","bottom来定位组件,举个例子,在水平方向时,你只能指定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:此参数用于确定没有定位的子组件如何去适应stack的大小。stackfit.loose表示使用子组件的大小,stackfit.expand表示扩伸到stack的大小。","friend\"),","friend\"),和第二个text原理一样,只不过是水平方向没有定位,则水平方向居中。","jack\"),","jack\")只指定了水平方向的定位(left),所以属于部分定位,即垂直方向上没有定位,那么它在垂直方向的对齐方式则会按照alignment指定的对齐方式对齐,即垂直方向居中。对于第三个子文本组件text(\"your","key","key,","left:","left、top","list","overflow.clip,","overflow:此属性决定如何显示超出stack显示空间的子组件;值为overflow.clip时,超出部分会被剪裁(隐藏),值为overflow.vis","posit","positioned(","positioned({","stack","stack(","stack({","stackfit.expand,","stackfit.loose,","stack、posit","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,所以它会居中显示。第二个子文本组件text(\"i","world\",style:","})","、right、","可以看到,由于第二个子文本组件没有定位,所以fit属性会对它起作用,就会占满stack。由于stack子元素是堆叠的,所以第一个子文本组件被第二个遮住了,而第三个在最上层,所以可以正常显示。","和其它地方的意义稍微有点区别,此处用于配合left、top","在下面的例子中,我们通过对几个text组件的定位来演示stack和positioned的特性:","层叠布局","层叠布局和web中的绝对定位、android中的frame布局是相似的,子组件可以根据距父容器四个角的位置来确定自身的位置。绝对定位允许子组件堆叠起来(按照代码中声明的顺序)。flutter中使用stack和positioned这两个组件来配合实现绝对定位。stack允许子组件堆叠,而positioned用于根据stack的四个角来确定子组件的位置。","我们给上例中的stack指定一个fit属性,然后将三个子文本组件的顺序调整一下:","时则不会。","显示效果如图4","由于第一个子文本组件text(\"hello","示例","运行效果见图4"],"chapter4/alignment.html":["(alignment.x*childwidth/2+childwidth/2,","(fractionaloffse.x",")","),","*","//右上角","0.0)","0.6),","0.6)带入坐标转换公式得flutterlogo实际偏移为(12,36),和实际运行效果吻合。","1.0)","1.0);","1.0)代表右侧底部终点,而alignment(1.0,","1.0)带入上面公式,可得flutterlogo的实际偏移坐标正是(60,0)。下面再看一个例子:","1.0,","11所示:","120.0,","12所示:","13所示下:","1到1分别代表矩形左边到右边的距离和顶部到底边的距离,因此2个水平(或垂直)单位则等于矩形的宽(或高),如alignment(","2,","4.6","4.6.1","4.6.2","4.6.3","4.6:对齐与相对定位(align)","60,",":","=","align","align(","align({","alignment(1.0,","alignment(2,0.0),","alignment(this.x,","alignment.center,","alignment.topright,","alignment.x*childheight+childheight/2)","alignment:","alignment可以通过其坐标转换公式将其坐标转为子元素的具体偏移坐标:","alignment唯一的区别就是坐标原点不同!fractionaloffset","alignment继承自alignmentgeometry,表示矩形内的一个点,他有两个属性x、y,分别表示在水平和垂直方向的偏移,alignment定义如下:","alignment,它和","align和stack对比","center","center({","center组件","child","child);","child,","child:","childheight)","childwidth,","class","color:","colors.blue[50],","const","container(","doubl","extend","flutterlogo","flutterlogo(","fractionaloffse.i","fractionaloffset","fractionaloffset(0.2,","fractionaloffset,我们将在下面的示例中详细介绍。","height:","heightfactor,","heightfactor:","key","key,","relative)非常像,是的!在大多数时候,我们可以直接使用align组件来实现web中相对定位的效果,读者可以类比记忆。","sdk提供的一个组件,内容就是flutter的商标。在上面的例子中,我们显式指定了container的宽、高都为120。如果我们不显式指定宽高,而通过同时指定widthfactor和heightfactor","size:","stack可以有多个子元素,并且子元素可以堆叠,而align只能有一个子元素,不存在堆叠。","static","super(key:","this.align","this.heightfactor,","this.widthfactor,","this.y)","topright","widget","widget会以矩形的中心点作为坐标原点,即alignment(0.0,","width:","widthfactor,","widthfactor:","widthfactor和heightfactor是用于确定align","{","}","})","。x、y的值从","下面看一个例子:","为2也是可以达到同样的效果:","代表矩形的左侧顶点,而alignment(1.0,","值为alignment.center,所以,我们可以认为center组件其实是对齐方式确定(alignment.center)了的align。","其中childwidth为子元素的宽度,childheight为子元素高度。","则正是右侧顶点,即alignment.topright。为了使用方便,矩形的原点、四个顶点,以及四条边的终点在alignment类中都已经定义为了静态常量。","参数来确定坐标原点,不同的alignment会对应不同原点,最终的偏移是需要通过alignment的转换公式来计算出。","参数;由于align的构造函数中align","另外,我们通过alignment.topright将flutterlogo定位在container的右上角。那alignment.topright是什么呢?通过源码我们可以看到其定义如下:","可以看到center继承自align,它比align只少了一个align","可以看到它只是alignment的一个实例,下面我们介绍一下alignment。","可以看到,align和stack/positioned都可以用于指定子元素相对于父元素的偏移,但它们还是有两个主要区别:","和fractionaloffset,读者需要理解这两种偏移类的区别及各自的坐标转化公式。另外,在此建议读者在需要制定一些精确的偏移时应优先使用fractionaloffset,因为它的坐标原点和布局系统相同,能更容易算出实际偏移。","因为flutterlogo的宽高为60,则align的最终宽高都为2*60=120。","在上一节中我们讲过通过stack和positioned,我们可以指定一个或多个子元素相对于父元素各个边的精确偏移,并且可以重叠。但如果我们只想简单的调整一个子元素在父元素中的位置的话,使用align组件会更简单一些。","在后面,我们又介绍了align组件和stack/positioned、center的关系,读者可以对比理解。","定位参考系统不同;stack/positioned定位的的参考系可以是父容器矩形的四个顶点;而align则需要先通过align","实际偏移","实际运行效果如图4","对齐与相对定位(align)","总结","我们先来看一个简单的例子:","我们可以先想象一下运行效果:将alignment(2,0.0)带入上述坐标转换公式,可以得到flutterlogo的实际偏移坐标为(90,30)。实际运行如图4","我们在前面章节的例子中已经使用过center组件来居中子元素了,现在我们正式来介绍一下它。通过查找sdk源码,我们看到center组件定义如下:","我们将fractionaloffset(0.2,","是flutter","是一个抽象类,它有两个常用的子类:alignment和","本节重点介绍了align组件及两种偏移类align","现在我们再看看上面的示例,我们将alignment(1.0,","的坐标原点为矩形的左侧顶点,这和布局系统的一致,所以理解起来会比较容易。fractionaloffset的坐标转换公式为:","示例","组件可以调整子组件的位置,并且可以根据子组件的宽高来确定自身的的宽高,定义如下:","组件本身宽高的属性;它们是两个缩放因子,会分别乘以子元素的宽、高,最终的结果就是align","组件的宽高。","继承自","运行效果如图4","还有,熟悉web开发的同学可能会发现align组件的特性和web开发中相对定位(position:","需要一个alignmentgeometry类型的值,表示子组件在父组件中的起始位置。alignmentgeometri"],"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像素补白","//显式指定对齐方式为左对齐,排除对齐干扰","1所示:","5.1","5.1:填充(padding)","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,","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的不同用法,比较简单,源码如下:","分别指定四个方向的补白","填充(padding)","我们看看edgeinsets提供的便捷方法:","所有方向均使用相同数值的填充。","示例","运行效果如图5"],"chapter5/constrainedbox_and_sizebox.html":[")","),",");","...,","//“去除”父级限制","//宽度尽可能大","//最大宽度","//最大高度","//最小宽度","//最小高度","//最小高度为50像素","//父","0.0,","100.0),","20,","20.0),","20.0),//子","2所示:","3,","3所示:","4所示:","5.0,","5.2","5.2.1","5.2.2","5.2.3","5.2.4","5.2:尺寸限制类容器(constrainedbox等)","50.0","5所示:","60.0),","60.0,","7所示:","80.0)","80.0),","80.0)作为子组件的约束。","80.0)等价于:","80.0,","80.0,height:","80.0,maxheight:","80.0,maxwidth:","80.0,minwidth:","8所示:","90.0,","=","@overrid","[","],","actions:","additionalconstraints:","alwaysstoppedanimation(colors.white70),","appbar(","boxconstraint","boxconstraints(","boxconstraints(minheight:","boxconstraints(minwidth:","boxconstraints({","boxconstraints.expand()可以生成一个尽可能大的用以填充另一个容器的boxconstraints。除此之外还有一些其它的便捷函数,读者可以查看api文档。","boxconstraints.tightfor(width:","boxconstraints用于设置限制条件,它的定义如下:","boxconstraints还定义了一些便捷的构造函数,用于快速生成特定限制规则的boxconstraints,如boxconstraints.tight(s","boxdecoration(color:","child:","circularprogressindicator(","colors.red),","const","constrainedbox","constrainedbox(","constrainedbox用于对子组件添加额外的约束。例如,如果你想让子组件的最小高度是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用于给子元素指定固定的宽高,如:","strokewidth:","text(title),","this.maxheight","this.maxwidth","this.minheight","this.minwidth","title:","unconstrainedbox","unconstrainedbox(","unconstrainedbox不会对子组件产生任何限制,它允许其子组件按照其本身大小绘制。一般情况下,我们会很少直接使用此组件,但在\"去除\"多重限制的时候也许会有帮助,我们看下下面的代码:","valuecolor:","widget","width:","{","}","})","“去除”了父constrainedbox的限制,则最终会按照子constrainedbox的限制来绘制redbox,即90×20:","上面代码中,如果没有中间的unconstrainedbox,那么根据上面所述的多重限制规则,那么最终将显示一个90×100的红色框。但是由于unconstrainedbox","上面代码运行后,效果如图5","上面我们有父子两个constrainedbox,他们的限制条件不同,运行后效果如图5","但是,读者请注意,unconstrainedbox对父组件限制的“去除”并非是真正的去除:上面例子中虽然红色区域大小是90×20,但上方仍然有80的空白空间。也就是说父限制的minheight(100.0)仍然是生效的,只不过它不影响最终子元素redbox的大小,但仍然还是占有相应的空间,可以认为此时的父constrainedbox是作用于子unconstrainedbox上,而redbox只受子constrainedbox限制,这一点请读者务必注意。","其它尺寸限制类容器","可以根据父容器宽高的百分比来设置子组件宽高等,由于这些容器使用起来都比较简单,我们便不再赘述,读者可以自行了解。","可以看到,我们虽然将container的高度设置为5像素,但是最终却是50像素,这正是constrainedbox的最小高度限制生效了。如果将container的高度设置为80像素,那么最终红色区域的高度也会是80像素,因为在此示例中,constrainedbox只限制了最小高度,并未限制最大高度。","在实际开发中,当我们发现已经使用sizedbox或constrainedbox给子元素指定了宽高,但是仍然没有效果时,几乎可以断定:已经有父元素已经设置了限制!举个例子,如material组件库中的appbar(导航栏)的右侧菜单中,我们使用sizedbox指定了loading按钮的大小,代码如下:","多重限制","如果某一个组件有多个父级constrainedbox限制,那么最终会是哪个生效?我们看一个例子:","实际上sizedbox只是constrainedbox的一个定制,上面代码等价于:","尺寸限制类容器","尺寸限制类容器用于限制容器大小,flutter中提供了多种这样的容器,如constrainedbox、sizedbox、unconstrainedbox、aspectratio等,本节将介绍一些常用的。","思考题:对于maxwidth和maxheight,多重限制的策略是什么样的呢?","我们会发现右侧loading按钮大小并没有发生变化!这正是因为appbar中已经指定了actions按钮的限制条件,所以我们要自定义loading按钮大小,就必须通过unconstrainedbox来“去除”父元素的限制,代码如下:","我们先定义一个redbox,它是一个背景颜色为红色的盒子,不指定它的宽度和高度:","我们实现一个最小高度为50,宽度尽可能大的红色容器。","最终显示效果是宽90,高60,也就是说是子constrainedbox的minwidth生效,而minheight是父constrainedbox生效。单凭这个例子,我们还总结不出什么规律,我们将上例中父子限制条件换一下:","最终的显示效果仍然是90,高60,效果相同,但意义不同,因为此时minwidth生效的是父constrainedbox,而minheight是子constrainedbox生效。","生效了!","用于指定最大宽高、fractionallysizedbox","示例","而boxconstraints.tightfor(width:","而实际上constrainedbox和sizedbox都是通过renderconstrainedbox来渲染的,我们可以看到constrainedbox和sizedbox的createrenderobject()方法都返回的是一个renderconstrainedbox对象:","运行后效果如图5","运行效果如图5","通过上面示例,我们发现有多重限制时,对于minwidth和minheight来说,是取父子中相应数值较大的。实际上,只有这样才能保证父限制与子限制不冲突。","那么有什么方法可以彻底去除父constrainedbox的限制吗?答案是否定的!所以在此提示读者,在定义一个通用的组件时,如果要对子组件指定限制,那么一定要注意,因为一旦指定限制条件,子组件如果要进行相关自定义大小时将可能非常困难,因为子组件在不更改父组件的代码的情况下无法彻底去除其限制条件。","除了上面介绍的这些常用的尺寸限制类容器外,还有一些其他的尺寸限制类容器,比如aspectratio,它可以指定子组件的长宽比、limitedbox"],"chapter5/decoratedbox.html":[")","),","//3像素圆角","//圆角","//形状","//渐变","//背景混合模式","//背景渐变","//边框","//阴影","//阴影,可以指定多个","//颜色","18.0),","4.0","5.3","5.3:装饰容器(decoratedbox)","80.0,","9所示:","=","[","]","backgroundblendmode,","background:在子组件之后绘制,即背景装饰。","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可以在其子组件绘制前(或后)绘制一些装饰(decoration),如背景、边框、渐变等。decoratedbox定义如下:","decoration,","decoration:","decorationimag","decorationposit","decorationposition.background,","decoration:代表将要绘制的装饰,它的类型为decoration。decoration是一个抽象类,它定义了一个接口","edgeinsets.symmetric(horizontal:","foreground:在子组件之上绘制,即前景。","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。另外,上面的例子中使用了lineargradient类,它用于定义线性渐变的类,flutter中还提供了其它渐变配置类,如radialgradient、sweepgradient,读者若有需要可以自行查看api文档。","我们通常会直接使用boxdecoration类,它是一个decoration的子类,实现了常用的装饰元素的绘制。","装饰容器decoratedbox","运行后效果如图5"],"chapter5/transform.html":["'dart:math'",")","),",");",");",",","//将transform.rotate换成rotatedbox","//放大到1.5倍","//旋转90度","//旋转90度(1/4圈)","//沿y轴倾斜0.3弧度","//相对于坐标系原点的对齐方式","//默认原点为左上角,左移20像素,向上平移5像素","1,","1.5,","10所示:","11所示:","12所示:","13所示:","14所示:","15所示:","18.0),)","20.0,","5.0),","5.4","5.4:变换(transform)","[","],","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(","offset:","padding:","quarterturns:","rent!'),","rotatedbox","rotatedbox(","rotatedbox和transform.rotate功能相似,它们都可以对子组件进行旋转变换,但是有一点不同:rotatedbox的变换是在layout阶段,会影响在子组件的位置和大小。我们将上面介绍transform.rotate时的示例改一下:","row(","scale:","style:","text(\"hello","text(\"你好\",","text('apart","textstyle(color:","transform(","transform.rotate(","transform.rotate可以对子组件进行旋转变换,如:","transform.scale(","transform.scale(scale:","transform.scale可以对子组件进行缩小或放大,如:","transform.translate(","transform.translate接收一个offset参数,可以在绘制时沿x、y轴对子组件平移指定的距离。","transform:","transform可以在其子组件绘制时对其应用一些矩阵变换来实现一些特效。matrix4是一个4d矩阵,通过它我们可以实现各种矩阵操作,下面是一个例子:","transform的变换是应用在绘制阶段,而并不是应用在布局(layout)阶段,所以无论对子组件应用何种变化,其占用空间的大小和在屏幕上的位置都是固定不变的,因为这些是在布局阶段就确定的。下面我们具体说明:","world\")","world\"),","关于矩阵变换的相关内容属于线性代数范畴,本书不做讨论,读者有兴趣可以自行了解。本书中,我们把焦点放在flutter中一些常见的变换效果上。另外,由于矩阵变化时发生在绘制时,而无需重新布局和构建等过程,所以性能很好。","变换(transform)","平移","思考题:使用transform对其子组件先进行平移然后再旋转和先旋转再平移,两者最终的效果一样吗?为什么?","效果如图5","旋转","注意","注意:要使用math.pi需先进行如下导包。","由于rotatedbox是作用于layout阶段,所以子组件会旋转90度(而不只是绘制的内容),decoration会作用到子组件所占用的实际空间上,所以最终就是上图的效果,读者可以和前面transform.rotate示例对比理解。","由于矩阵变化只会作用在绘制阶段,所以在某些场景下,在ui需要变化时,可以直接通过矩阵变化来达到视觉上的ui改变,而不需要去重新触发build流程,这样会节省layout的开销,所以性能会比较好。如之前介绍的flow组件,它内部就是用矩阵变换来更新ui,除此之外,flutter的动画组件中也大量使用了transform以提高性能。","由于第一个text应用变换(放大)后,其在绘制时会放大,但其占用的空间依然为红色部分,所以第二个text会紧挨着红色部分,最终就会出现文字重合。","缩放","运行效果如图5"],"chapter5/container.html":["\"5.20\",",")","),",");","...",".98","//","//前景装饰","//卡片倾斜变换","//卡片内文字居中","//卡片大小","//卡片文字","//卡片阴影","//变换","//容器内补白","//容器内补白,属于decoration的装饰范围","//容器外填充","//容器外补白","//容器大小的限制条件","//容器的高度","//背景径向渐变","120.0),","150.0),","16所示的卡片:","2.0),","200.0,","4.0","40.0),","5.5","5.5:container容器","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的大多数属性在介绍其它容器时都已经介绍过了,不再赘述,但有两点需要说明:","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:","width,//容器的宽度","world!\"),","})","可以发现,直观的感觉就是margin的留白是在容器外部,而padding的留白是在容器内部,读者需要记住这个差异。事实上,container内margin和padding都是通过pad","可以看到container具备多种组件的功能,通过查看container源码,我们会很容易发现它正是前面我们介绍过的多种组件组合而成。在flutter中,container组件也正是组合优先于继承的实例。","实例","实现代码如下:","容器的大小可以通过width、height属性来指定,也可以通过constraints来指定;如果它们同时存在时,width、height优先。实际上container内部会根据width、height来生成一个constraints。","我们在前面的章节示例中多次用到过container组件,本节我们就详细介绍一下container组件。container是一个组合类容器,它本身不对应具体的renderobject,它是decoratedbox、constrainedbox、transform、padding、align等组件组合的一个多功能容器,所以我们只需通过一个container组件可以实现同时需要装饰、变换、限制的场景。下面是container的定义:","我们通过container来实现如图5","接下来我们来研究一下container组件margin和padding属性的区别:","组件来实现的,上面的示例代码实际上等价于:","背景色","背景装饰"],"chapter5/material_scaffold.html":["\"imgs/avatar.png\",","\"wendux\",","\"历史\",","\"图片\"];","()","(context)",")","),",");",",","...","...;","//","//中间位置空出","//其它属性见源码注释","//创建3个tab页","//均分底部导航栏横向空间","//如果leading为null,是否自动实现默认的leading按钮","//定义一个globalkey,","//导航栏","//导航栏右侧菜单","//导航栏最左侧widget,常见为抽屉菜单按钮或返回按钮。","//悬浮按钮","//抽屉","//标题是否居中","//生成tab菜单","//省略无关代码","//移除抽屉菜单顶部默认留白","//自定义图标","//设置key","//需要定义一个control","16.0),","18、图5","19所示:","1:","1;","20所示:","21所示:","22所示:","23所示效果的底部导航栏应该怎么做呢?","2:","38.0),","4.0,","5),","5.6","5.6.1","5.6.2","5.6.3","5.6.4","5.6.5","5.6:scaffold、tabbar、底部导航","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(","bottomnavigationbar:","bottomnavigationbaritem(icon:","build(buildcontext","builder(builder:","case","child:","children:","circularnotchedrectangle(),","class","clipoval(","color:","colors.blue,","colors.white),","colors.white,","column(","const","container(","context)","context,","context:","controller:","createstate()","crossaxisalignment.start,","crossaxisalignment:","currentindex:","demo,源码位于flutter源码中的examples目录下,笔者强烈建议用户将flutt","drawer(","drawer:","e)).tolist()","e)).tolist()),","edgeinsets.only(top:","edgeinsets.symmetric(horizontal:","expanded(","extend","fixedcolor:","floatingactionbutton","floatingactionbutton(","floatingactionbutton:","floatingactionbuttonlocation.centerdocked,","floatingactionbuttonlocation:","floatingactionbutton是material设计规范中的一种特殊button,通常悬浮在页面的某一个位置作为某种常用动作的快捷入口,如本节示例中页面右下角的\"➕\"号按钮。我们可以通过scaffold的floatingactionbutton属性来设置一个floatingactionbutton,同时通过floatingactionbuttonlocation属性来指定其在页面中悬浮的位置,这个比较简单,不再赘述。","flutter","fontweight.bold),","gallery中material组件部分的示例。","gallery是flutter官方提供的flutt","gallery示例中就有一个”钻石“形状的示例,读者感兴趣可以自行查看。","gallery示例跑起来,它是一个很全面的flutter示例应用,是非常好的参考demo,也是笔者学习flutter的第一手资料。","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组件库中提供了一个bottomappbar","material组件库中提供了一个tabbar组件,它可以快速生成tab菜单,下面是上图对应的源码:","material组件库提供了一些现成的组件来减少我们的开发任务。scaffold是一个路由页的骨架,我们使用它可以很容易地拼装出一个完整的页面。","material组件库提供了丰富多样的组件,本节介绍一些常用的组件,其余的读者可以自行查看文档或flutt","mediaquery.removepadding(","mydraw","mydrawer(),","mydrawer({","name\"),","new","onpressed:","onpressed:_onadd","ontap:","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:","tab组件有三个可选参数,除了可以指定文字外,还可以指定tab菜单图标,或者直接自定义组件样式。tab组件定义如下:","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:","true,","void","vsync:","widget","width:","{","{}),","}","})","}),","}).tolist(),","});","},","一个完整的数路由页可能会包含导航栏、抽屉菜单(drawer)以及底部tab导航菜单等。如果每个路由页面都需要开发者自己手动去实现这些,这会是一件非常麻烦且无聊的事。幸运的是,flutt","一个导航栏","一个导航栏骨架","一章。flutter还有一种通用的获取state对象的方法——通过globalkey来获取!","上面代码中我们用到了如下组件:","上面代码首先创建了一个tabcontrol","下面我们来分别介绍一下它们。","下面我们通过“bottom”属性来添加一个导航栏底部tab按钮组,将要实现的效果如图5","代码中打开抽屉菜单的方法在scaffoldstate中,通过scaffold.of(context)可以获取父级最近的scaffold","代码运行效果如图5","创建control","另外,material组件库也提供了一个pageview","可以看到左侧菜单已经替换成功。","可以看到,上面代码中没有控制打洞位置的属性,实际上,打洞的位置取决于floatingactionbutton的位置,上面floatingactionbutton的位置为:","右下角有一个悬浮的动作按钮","如果我们tab页可以滑动切换的话,还需要在滑动过程中更新tabbar指示器的偏移!显然,要手动处理这些是很麻烦的,为此,material库提供了一个tabbarview组件,通过它不仅可以轻松的实现tab页,而且可以非常容易的配合tabbar来实现同步切换和滑动状态同步,示例如下:","如果给scaffold添加了抽屉菜单,默认情况下scaffold会自动将appbar的leading设置为菜单按钮(如上面截图所示),点击它便可打开抽屉菜单。如果我们想自定义菜单图标,可以手动来设置leading,如:","实现代码如下:","导航栏右侧菜单","导航栏右边有一个分享按钮","导航栏底部菜单,通常为tab按钮组","导航栏阴影","底部tab导航栏","底部导航","底部导航栏","底部导航栏打一个圆形的洞","开发者可以根据实际需求来定制。","我们可以通过scaffold的bottomnavigationbar属性来设置底部导航,如本节开始示例所示,我们通过material组件库提供的bottomnavigationbar和bottomnavigationbaritem两种组件来实现material风格的底部导航栏。可以看到上面的实现代码非常简单,所以不再赘述,但是如果我们想实现如图5","我们实现一个页面,它包含:","所以打洞位置在底部导航栏的正中间。","打开抽屉菜单","抽屉菜单","抽屉菜单drawer","抽屉菜单通常将drawer组件作为根节点,它实现了material风格的菜单面板,mediaquery.removepadding可以移除drawer默认的一些留白(比如drawer默认顶部会留和手机状态栏等高的留白),读者可以尝试传递不同的参数来看看实际效果。抽屉菜单页由顶部和底部组成,顶部由用户头像和昵称组成,底部是一个菜单列表,用listview实现,关于listview我们将在后面“可滚动组件”一节详细介绍。","最终效果如图5","有一个底部导航","有一个抽屉菜单","步骤分两步:","漂浮按钮","现在,无论是点击导航栏tab菜单还是在页面上左右滑动,tab页面都会切换,并且tab菜单的状态和tab页面始终保持同步!那它们是如何实现同步的呢?细心的读者可能已经发现,上例中tabbar和tabbarview的controller是同一个!正是如此,tabbar和tabbarview正是通过同一个controller来实现菜单切换和滑动状态同步的,有关tabcontroller的详细信息,我们不再本书做过多介绍,使用时读者直接查看sdk即可。","由于globalkey要保持全局唯一性,我们使用静态变量存储","省略无关代码","示例","组件名称","组件的state对象,原理可以参考本书后面“element与buildcontext”","组件,它可以和floatingactionbutton配合实现这种“打洞”效果,源码如下:","组件,它和tabbarview功能相似,读者可以自行了解一下。","组件,它是material组件库提供的material风格的tab菜单。","给目标statefulwidget添加globalkey。","自定义组件样式","菜单图标","菜单文本","解释","运行后效果如图5","通过globalkey来获取state对象","通过tabbar我们只能生成一个静态的菜单,真正的tab页还没有实现。由于tab菜单和tab页的切换需要同步,我们需要通过tabcontroller去监听tab菜单的切换去切换tab页,代码如:","页面标题",",它是用于控制/监听tab菜单切换的。接下来通过tabbar生成了一个底部菜单栏,tabbar的tabs属性接受一个widget数组,表示每一个tab子菜单,我们可以自定义,也可以像示例中一样直接使用tab"],"chapter5/clip.html":["'package:flutter/material.dart';",")","),",");",".5,//宽度设为原来宽度一半",".5,//宽度设为原来宽度一半,另一半会溢出","//","//不剪裁","//使用自定义的clipper","//剪裁为圆形","//剪裁为圆角矩形","15.0,","24所示:","25所示:","30.0);","30.0),及图片中部40×30像素的范围。","40.0,","5.7","5.7:剪裁(clip)","60.0);","=","=>","@overrid","[","],","align(","alignment.topleft,","alignment:","avatar","avatar),","avatar,","bool","borderradius.circular(5.0),","borderradius:","boxdecoration(","build(buildcontext","center(","child:","children:","class","clipov","clipoval(child:","clipper:","cliprect","cliprect(","cliprect(//将溢出部分剪裁","cliprrect","cliprrect(","cliptestrout","color:","colors.green))","colors.green),)","colors.r","column(","context)","customclipp","decoratedbox(","decoration:","extend","false;","flutter中提供了一些剪裁函数,用于对组件进行剪裁。","getclip()是用于获取剪裁区域的接口,由于图片大小是60×60,我们返回剪裁区域为rect.fromltwh(10.0,","getclip(s","image.asset(\"imgs/avatar.png\",","import","mainaxisalignment.center,","mainaxisalignment:","myclipp","myclipper(),","oldclipper)","rect","rect.fromltwh(10.0,","return","row(","shouldreclip()","shouldreclip(customclipp","size)","statelesswidget","style:","text(\"你好世界\",","text(\"你好世界\",style:","textstyle(color:","widget","width:","widthfactor:","{","}","上面示例代码注释比较详细,在此不再赘述。但值得一提的是最后的两个row!它们通过align设置widthfactor为0.5后,图片的实际宽度等于60×0.5,即原宽度一半,但此时图片溢出部分依然会显示,所以第一个“你好世界”会和图片的另一部分重合,为了剪裁掉溢出部分,我们在第二个row中通过cliprect将溢出部分剪裁掉了。","下面看一个例子:","作用","剪裁widget","剪裁子组件到实际占用的矩形大小(溢出部分剪裁)","剪裁(clip)","可以看到我们的剪裁成功了,但是图片所占用的空间大小仍然是60×60(红色区域),这是因为剪裁是在layout完成后的绘制阶段进行的,所以不会影响组件的大小,这和transform原理是相似的。","头像","如果我们想剪裁子组件的特定区域,比如,在上面示例的图片中,如果我们只想截取图片中部40×30像素的范围应该怎么做?这时我们可以使用customclipper来自定义剪裁区域,实现代码如下:","子组件为正方形时剪裁为内贴圆形,为矩形时,剪裁为内贴椭圆","将子组件剪裁为圆角矩形","接口决定是否重新剪裁。如果在应用中,剪裁区域始终不会发生变化时应该返回false,这样就不会触发重新剪裁,避免不必要的性能开销。如果剪裁区域会发生变化(比如在对剪裁区域执行一个动画),那么变化后应该返回true来重新执行剪裁。","然后,我们通过cliprect来执行剪裁,为了看清图片实际所占用的位置,我们设置一个红色背景:","运行效果如图5","首先,自定义一个customclipper:"],"chapter6/":["customscrollview","gridview","listview","singlechildscrollview","可滚动widgets简介","本章目录","滚动监听及控制scrollcontrol","第六章:可滚动组件"],"chapter6/intro.html":["),",");","...","//后面介绍","6.1","6.1:可滚动组件简介","=","@requir","axisdirection.down,","axisdirection滚动方向。","bouncingscrollphysics:ios下弹性效果。","child:","clampingscrollphysics:android下微光效果。","controller:此属性接受一个scrollcontroller对象。scrollcontroller的主要作用是控制滚动位置和监听滚动事件。默认情况下,widget树中会有一个默认的primaryscrollcontroller,如果子树中的可滚动组件没有显式的指定controller,并且primary属性值为true时(默认就为true),可滚动组件会使用这个默认的primaryscrollcontroller。这种机制带来的好处是父组件可以控制子树中可滚动组件的滚动行为,例如,scaffold正是使用这种机制在ios中实现了点击导航栏回到顶部的功能。我们将在本章后面“滚动控制”一节详细介绍scrollcontroller。","cupertinoscrollbar","cupertinoscrollbar是ios风格的滚动条,如果你使用的是scrollbar,那么在ios平台它会自动切换为cupertinoscrollbar。","physics:此属性接受一个scrollphysics类型的对象,它决定可滚动组件如何响应用户操作,比如用户滑动完抬起手指后,继续执行动画;或者滑动到边界时,如何显示。默认情况下,flutter会根据具体平台分别使用不同的scrollphysics对象,应用不同的显示效果,如当滑动到边界时,继续拖动的话,在ios上会出现弹性效果,而在android上会出现微光效果。如果你想在所有平台下使用同一种效果,可以显式指定一个固定的scrollphysics,flutt","scrollable({","scrollbar","scrollbar(","scrollbar和cupertinoscrollbar都是通过scrollcontroller来监听滚动事件来确定滚动条位置的。关于scrollcontroller的详细内容我们将在本章最后一节中专门介绍。","scrollbar是一个material风格的滚动指示器(滚动条),如果要给可滚动组件添加滚动条,只需将scrollbar作为可滚动组件的任意一个父级组件即可,如:","sdk中包含了两个scrollphysics的子类,他们可以直接使用:","singlechildscrollview(","this.axisdirect","this.controller,","this.physics,","this.viewportbuilder,","viewport视口","widget)用于显示列表和长布局。在本章中,我们先介绍一下常用的可滚动组件(如listview、gridview等),然后介绍一下scrollcontroller。可滚动组件都直接或间接包含一个scrollable组件,因此它们包括一些共同的属性,为了避免重复介绍,我们在此统一介绍一下:","})","主轴和纵轴","可滚动组件简介","在可滚动组件的坐标描述中,通常将滚动方向称为主轴,非滚动方向称为纵轴。由于可滚动组件的默认方向一般都是沿垂直方向,所以默认情况下主轴就是指垂直方向,水平方向同理。","在很多布局系统中都有viewport的概念,在flutter中,术语viewport(视口),如无特别说明,则是指一个widget的实际显示区域。例如,一个listview的显示区域高度是800像素,虽然其列表项总高度可能远远超过800像素,但是其viewport仍然是800像素。","基于sliver的延迟构建","当组件内容超过当前显示视口(viewport)时,如果没有特殊处理,flutter则会提示overflow错误。为此,flutter提供了多种可滚动组件(scrol","通常可滚动组件的子组件可能会非常多、占用的总高度也会非常大;如果要一次性将子组件全部构建出将会非常昂贵!为此,flutter中提出一个sliver(中文为”薄片“的意思)概念,如果一个可滚动组件支持sliver模型,那么该滚动可以将子组件分成好多个”薄片“(sliver),只有当sliver出现在视口中时才会去构建它,这种模型也称为”基于sliver的延迟构建模型“。可滚动组件中有很多都支持基于sliver的延迟构建模型,如listview、gridview,但是也有不支持该模型的,如singlechildscrollview。"],"chapter6/single_child_scrollview.html":["\"abcdefghijklmnopqrstuvwxyz\";","),",");",".map((c)",".tolist(),","//","//动态创建一个list","//每一个字母都用一个text显示,字体为原来的两倍","//滚动方向,默认是垂直方向","1所示:","2.0,))","6.2","6.2:singlechildscrollview","=","=>","@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时,那么滑动方向就是从右往左。其实此属性本质上是决定可滚动组件的初始滚动位置是在“头”还是“尾”,取false时,初始滚动位置在“头”,反之则在“尾”,读者可以自己试验。","scrollbar(","singlechildscrollview","singlechildscrollview(","singlechildscrollview({","singlechildscrollviewtestrout","singlechildscrollview类似于android中的scrollview,它只能接收一个子组件。定义如下:","statelesswidget","str","str.split(\"\")","string","text(c,","textscalefactor:","this.child,","this.controller,","this.padding,","this.physics,","this.revers","this.scrolldirect","widget","z沿垂直方向显示的例子,由于垂直方向空间会超过屏幕视口高度,所以我们使用singlechildscrollview:","{","}","})","下面是一个将大写字母a","显示进度条","示例","运行效果如图6","除了上一节我们介绍过的可滚动组件的通用属性外,我们重点看一下reverse和primary两个属性:","需要注意的是,通常singlechildscrollview只应在期望的内容不会超过屏幕太多时使用,这是因为singlechildscrollview不支持基于sliver的延迟实例化模型,所以如果预计视口可能包含超出屏幕尺寸太多的内容时,那么使用singlechildscrollview将会非常昂贵(性能差),此时应该使用一些支持sliver延迟加载的可滚动组件,如listview。"],"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","2所示:","400,","4、6","50.0,","56","56,","5所示:","6.3","6.3:listview","6所示:","7所示:","8所示:","=","==","=>","@overrid","@requir","[","[],","[loadingtag];","]);","],","_infinitelistviewst","_infinitelistviewstate();","_retrievedata()","_retrievedata();","_word","_words.insertall(_words.length","_words.length,","addautomatickeepal","addautomatickeepalives:该属性表示是否将列表项(子组件)包裹在automatickeepal","addrepaintboundari","addrepaintboundaries:该属性表示是否将列表项(子组件)包裹在repaintboundary组件中。当可滚动组件滚动时,将列表项包裹在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的值;这里的”长度“是指滚动方向上子组件的长度,也就是说如果滚动方向是垂直方向,则itemextent代表子组件的高度;如果滚动方向为水平方向,则itemextent就代表子组件的宽度。在listview中,指定itemextent比让子组件自己决定自身长度会更高效,这是因为指定itemextent后,滚动系统可以提前知道列表的长度,而无需每次构建子组件时都去再计算一下,尤其是在滚动位置频繁变化时(滚动系统需要频繁去计算列表高度)。","knock","library,","life","list","listtile(title:","listtile(title:text(\"商品列表\")),","listview","listview(","listview({","listview.build","listview.builder(","listview.builder(itembuilder:","listview.builder({","listview.builder适合列表项比较多(或者无限)的情况,因为只有当子组件真正显示的时候才会被创建,也就说通过该构造函数创建的listview是支持基于sliver的懒加载模型的。下面看一下listview.builder的核心参数列表:","listview.separ","listview.separated(","listview.separated可以在生成的列表项之间添加一个分割组件,它比listview.builder多了一个separatorbuilder参数,该参数是一个分割组件生成器。","listview3","listview公共参数已省略","listview是最常用的可滚动组件之一,它可以沿一个方向线性排布所有子组件,并且它也支持基于sliver的延迟构建模型。我们看看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:该属性表示是否根据子组件的总长度来设置listview的长度,默认值为fals","sizedbox(","smart'),","smile,","state","statefulwidget","statelesswidget","static","style'),","super.initstate();","text(\"$index\"));","text('and","text('domest","text('i\\'m","text('when","thought","thrown","true,","unbound","var","vertic","viewport","void","widget","you'),","{","}","})","}),","});","},","。默认情况下,listview的会在滚动方向尽可能多的占用空间。当listview在一个无边界(滚动方向上)的容器中时,shrinkwrap必须为true。","上面参数分为两组:第一组是可滚动组件的公共参数,本章第一节中已经介绍过,不再赘述;第二组是listview各个构造函数(listview有多个构造函数)的共同参数,我们重点来看看这些参数,:","下面我们看一个例子:奇数行添加一条蓝色下划线,偶数行添加一条绿色下划线。","下面看一个例子:","从异常信息中我们可以看到是因为listview高度边界无法确定引起,所以解决的办法也很明显,我们需要给listview指定边界,我们通过sizedbox指定一个列表高度看看是否生效:","代码比较简单,读者可以参照代码中的注释理解,故不再赘述。需要说明的是,_retrievedata()的功能是模拟从数据源异步获取数据,我们使用english_words包的generatewordpairs()方法每次生成20个单词。","假设我们要从数据源异步分批拉取一些数据,然后用listview展示,当我们滑动到列表末尾时,判断是否需要再去拉取数据,如果是,则去拉取,拉取过程中在表尾显示一个loading,拉取成功后将数据插入列表;如果不需要再去拉取,则在表尾提示\"没有更多\"。代码如下:","再次强调,可滚动组件通过一个list来作为其children属性时,只适用于子组件较少的情况,这是一个通用规律,并非listview自己的特性,像gridview也是如此。","可以看到,我们期望的效果实现了,但是这种方法并不优雅,如果页面布局发生变化,比如表头布局调整导致表头高度改变,那么剩余空间的高度就得重新计算。那么有什么方法可以自动拉伸listview以填充屏幕剩余空间的方法吗?当然有!答案就是flex。前面已经介绍过在弹性布局中,可以使用expanded自动拉伸组件大小,并且我们也说过column是继承自flex的,所以我们可以直接使用column+expanded来实现,代码如下:","可以看到,现在没有触发异常并且列表已经显示出来了,但是我们的手机屏幕高度要大于400,所以底部会有一些空白。那如果我们要实现列表铺满除表头以外的屏幕空间应该怎么做?直观的方法是我们去动态计算,用屏幕高度减去状态栏、导航栏、表头的高度即为剩余屏幕高度,代码如下:","可滚动组件的构造函数如果需要一个列表项builder,那么通过该构造函数构建的可滚动组件通常就是支持基于sliver的懒加载模型的,反之则不支持,这是个一般规律。我们在后面在介绍可滚动组件的构造函数时将不再专门说明其是否支持基于sliver的懒加载模型了。","实例:无限加载列表","很多时候我们需要给列表添加一个固定表头,比如我们想实现一个商品列表,需要在列表顶部添加一个“商品列表”标题,期望的效果如图6","总结","我们按照之前经验,写出如下代码:","本节主要介绍了listview的一些公共参数以及常用的构造函数。不同的构造函数对应了不同的列表项生成模型,如果需要自定义列表项生成模型,可以通过listview.custom来自定义,它需要实现一个sliverchilddelegate用来给listview生成列表项组件,更多详情请参考api文档。","注意:上面这些参数并非listview特有,在本章后面介绍的其它可滚动组件也可能会拥有这些参数,它们的含义是相同的。","添加固定列表头","然后运行,发现并没有出现我们期望的效果,相反触发了一个异常;","组件中;典型地,在一个懒加载列表中,如果将列表项包裹在automatickeepalive中,在该列表项滑出视口时它也不会被gc(垃圾回收),它会使用keepalivenotification来保存其状态。如果列表项自己维护其keepalive状态,那么此参数必须置为false。","运行后效果如图6","运行后,和上图一样,完美实现了!","运行效果如下图6","运行效果如图6","默认构造函数","默认构造函数有一个children参数,它接受一个widget列表(list)。这种方式适合只有少量的子组件的情况,因为这种方式需要将所有children都提前创建好(这需要做大量工作),而不是等到子widget真正显示的时候再创建,也就是说通过默认构造函数构建的listview没有应用基于sliver的懒加载模型。实际上通过此方式创建的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,","6.4","6.4:gridview","=","==","=>","@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)内的话,子元素最终实际长度都为112.5,而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({","slivergriddelegate是一个抽象类,定义了gridview","state","statefulwidget","true,","void","widget","{","}","})","上面我们介绍的gridview都需要一个widget数组作为其子元素,这些方式都会提前将所有子widget都构建好,所以只适用于子widget数量比较少时,当子widget比较多时,我们可以通过gridview.builder来动态创建子widget。gridview.build","下面我们看一个例子:","下面看一个例子:","假设我们需要从一个异步数据源(如网络)分批获取一些icon,然后用gridview来展示:","其中itembuilder为子widget构建器。","初始化数据","可以发现,子元素的大小是通过crossaxiscount和childaspectratio两个参数共同决定的。注意,这里的子元素指的是子组件的最大显示空间,注意确保子组件的实际大小不要超出子元素的空间。","在itembuilder中,如果显示到最后一个时,判断是否需要继续获取数据,然后返回一个icon。","必须指定的参数有两个:","我们可以看到,gridview和listview的大多数参数都是相同的,它们的含义也都相同的,如有疑惑读者可以翻阅listview一节,在此不再赘述。我们唯一需要关注的是griddelegate参数,类型是slivergriddelegate,它的作用是控制gridview子组件如何排列(layout)。","更多","示例","该子类实现了一个横轴为固定数量子元素的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,","6.5","6.5:customscrollview","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来自定义滚动模型(效果)的组件。它可以包含多种滚动模型,举个例子,假设有一个页面,顶部需要一个gridview,底部需要一个listview,而要求整个页面的滑动效果是统一的,即它们看起来是一个整体。如果使用gridview+listview来实现的话,就不能保证一致的滑动效果,因为它们的滚动效果是分离的,所以这时就需要一个\"胶水\",把这些彼此独立的可滚动组件\"粘\"起来,而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:","sliverappbar(","sliverchildbuilderdelegate(","sliverfixedextentlist(","slivergrid(","slivergriddelegatewithfixedcrossaxiscount(","sliverpadding(","slivers:","sliver在前面讲过,有细片、薄片之意,在flutter中,sliver通常指可滚动组件子元素(就像一个个薄片一样)。但是在customscrollview中,需要粘起来的可滚动组件就是customscrollview的sliver了,如果直接将listview、gridview作为customscrollview是不行的,因为它们本身是可滚动组件而并不是sliver!因此,为了能让可滚动组件能和customscrollview配合使用,flutter提供了一些可滚动组件的sliver版,如sliverlist、slivergrid等。实际上sliver版的可滚动组件和非sliver版的可滚动组件最大的区别就是前者不包含滚动模型(子身不能再滚动),而后者包含滚动模型","sliver系列widget比较多,我们不会一一介绍,读者只需记住它的特点,需要时再去查看文档即可。上面之所以说“大多数“sliver都和可滚动组件对应,是由于还有一些如sliverpadding、sliverappbar等是和可滚动组件无关的,它们主要是为了结合customscrollview一起使用,这是因为customscrollview的子组件必须都是sliver。","statelesswidget","text('demo'),","text('grid","text('list","title:","true,","widget","{","}","},","中间的slivergrid:它用sliverpadding包裹以给slivergrid添加补白。slivergrid是一个两列,宽高比为4的网格,它有20个子组件。","代码分为三部分:","可滚动组件的sliver版","头部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","16所示:","200),","30.0,","50.0,","6.6","6.6.1","6.6.2","6.6:滚动监听及控制(scrollcontroller)",":",";","=","==","=>","?","@overrid","[","],","_control","_controller,","_controller.addlistener(()","_controller.animateto(.0,","_controller.dispose();","_progress","_scrollnotificationtestroutest","_scrollnotificationtestroutestate();","alignment.center,","alignment:","appbar(title:","appbar:","atedge:是否滑到了可滚动组件的边界(此示例中相当于列表顶或底部)。","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()才可以被调用。","jumpto(),以实现所有和该scrollcontroller关联的可滚动组件都滚动到指定的位置。","jumpto(),它们是真正来控制跳转滚动位置的方法,scrollcontroller的这两个同名方法,内部最终都会调用scrollposition的。","jumpto(doubl","listtile(title:","listview(key:","listview.builder(","maxscrollextent:最大可滚动长度。","new","notification)","notification.metrics.maxscrollextent;","notification.metrics.pixel","notificationlistener(","null","offset","offset)、animateto(doubl","offset,...):这两个方法用于跳转到指定的位置,它们不同之处在于,后者在跳转时会执行一个动画,而前者不会。","offset:可滚动组件当前的滚动位置。","oldposition);","onnotification:","onpressed:","pagestoragekey(1),","pagestoragekey(2),","pagestorage是一个用于保存页面(路由)相关数据的组件,它并不会影响子树的ui外观,其实,pagestorage是一个功能型组件,它拥有一个存储桶(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还有一些属性和方法,我们将在后面原理部分解释。","scrollcontroller间接继承自listenable,我们可以根据scrollcontroller来监听滚动事件,如:","scrollmetrics还有一些其它属性,读者可以自行查阅api文档。","scrollnotificationtestrout","scrollphys","scrollposit","scrollposition是用来保存可滚动组件的滚动位置的。一个scrollcontroller对象可以同时被多个可滚动组件使用,scrollcontroller会为每一个可滚动组件创建一个scrollposition对象,这些scrollposition保存在scrollcontroller的positions属性中(list)。scrollposition是真正保存滑动位置信息的对象,offset只是一个便捷属性:","scrollposition有两个常用方法:animateto()","scrollposition的方法","setstate(()","showtotopbtn","stack(","state","statefulwidget","string","super.dispose();","text(\"$index\"));","text(\"$index\"),);","text(\"滚动控制\")),","text(_progress),","this.keepscrolloffset","true,//是否保存滚动位置","true;","void","widget","widget树中子widget可以通过发送通知(notification)与父(包括祖先)widget通信。父级组件可以通过notificationlistener组件来监听自己关注的通知,这种通信方式类似于web开发中浏览器的事件冒泡,我们在flutter中沿用“冒泡”这个术语,关于通知冒泡我们将在后面”事件处理与通知“一章中详细介绍。","{","}","})","});","},","一个scrollcontroller虽然可以对应多个可滚动组件,但是有一些操作,如读取滚动位置offset,则需要一对一!但是我们仍然可以在一对多的情况下,通过其它方法读取滚动位置,举个例子,假设一个scrollcontroller同时被两个可滚动组件使用,那么我们可以通过如下方式分别读取他们的滚动位置:","下面,我们监听listview的滚动通知,然后显示当前滚动进度百分比:","不同的pagestoragekey,需要不同的值,这样才可以为不同可滚动组件保存其滚动位置。","代码说明已经包含在注释里,下面我们看看运行效果:","可滚动组件在滚动时会发送scrollnotification类型的通知,scrollbar正是通过监听滚动通知来实现的。通过notificationlistener监听滚动事件和通过scrollcontroller有两个主要的不同:","和","在前几节中,我们介绍了flutter中常用的可滚动组件,也说过可以用scrollcontroller来控制可滚动组件的滚动位置,本节先介绍一下scrollcontroller,然后以listview为例,展示一下scrollcontroller的具体用法。最后,再介绍一下路由切换时如何来保存滚动位置。","在接收到滚动事件时,参数类型为scrollnotification,它包括一个metrics属性,它的类型是scrollmetrics,该属性包含当前viewport及滚动位置等信息:","将不能再被调用。","当scrollcontroller和可滚动组件关联时,可滚动组件首先会调用scrollcontroller的createscrollposition()方法来创建一个scrollposition来存储滚动位置信息,接着,可滚动组件会调用attach()方法,将创建的scrollposition添加到scrollcontroller的positions属性中,这一步称为“注册位置”,只有注册后animateto()","当一个路由中包含多个可滚动组件时,如果你发现在进行一些跳转或切换操作后,滚动位置不能正确恢复,这时你可以通过显式指定pagestoragekey来分别跟踪不同的可滚动组件的位置,如:","当可滚动组件销毁时,会调用scrollcontroller的detach()方法,将其scrollposition对象从scrollcontroller的positions属性中移除,这一步称为“注销位置”,注销后animateto()","我们介绍一下scrollcontroller常用的属性和方法:","我们创建一个listview,当滚动位置发生变化时,我们先打印出当前滚动位置,然后判断当前位置是否超过1000像素,如果超过则在屏幕右下角显示一个“返回顶部”的按钮,该按钮点击后可以使listview恢复到初始位置;如果没有超过1000像素,则隐藏“返回顶部”按钮。代码如下:","我们可以通过controller.positions.length来确定controller被几个可滚动组件使用。","我们来介绍一下scrollcontroller的另外三个方法:","收到滚动事件后获得的信息不同;notificationlistener在收到滚动事件时,通知中会携带当前滚动位置和viewport的一些信息,而scrollcontroller只能获取当前滚动位置。","每次滚动结束,可滚动组件都会将滚动位置offset存储到pagestorage中,当可滚动组件重新创建时再恢复。如果scrollcontroller.keepscrolloffset为false,则滚动位置将不会被存储,可滚动组件重新创建时会使用scrollcontroller.initialscrolloffset;scrollcontroller.keepscrolloffset为true时,可滚动组件在第一次创建时,会滚动到initialscrolloffset处,因为这时还没有存储过滚动位置。在接下来的滚动中就会存储、恢复滚动位置,而initialscrolloffset会被忽略。","注意:一个路由中包含多个可滚动组件时,如果要分别跟踪它们的滚动位置,并非一定就得给他们分别提供pagestoragekey。这是因为scrollable本身是一个statefulwidget,它的状态中也会保存当前滚动位置,所以,只要可滚动组件本身没有被从树上detach掉,那么其state就不会销毁(dispose),滚动位置就不会丢失。只有当widget发生结构变化,导致可滚动组件的state销毁或重新构建时才会丢失状态,这种情况就需要显式指定pagestoragekey,通过pagestorage来存储滚动位置,一个典型的场景是在使用tabbarview时,在tab发生切换时,tab页中的可滚动组件的state就会销毁,这时如果想恢复滚动位置就需要指定pagestoragekey。","滚动位置恢复","滚动监听","滚动监听及控制","由于列表项高度为50像素,当滑动到第20个列表项后,右下角“返回顶部”按钮会显示,点击该按钮,listview会在返回顶部的过程中执行一个滚动动画,动画时间是200毫秒,动画曲线是curves.ease,关于动画的详细内容我们将在后面“动画”一章中详细介绍。","监听滚动通知","示例","运行结果如图6","通过notificationlistener可以在从可滚动组件到widget树根之间任意位置都能监听。而scrollcontroller只能和具体的可滚动组件关联后才可以。","需要注意的是,scrollcontroller的animateto()"],"chapter7/":["inheritedwidget","theme","willpopscop","主题","功能型widget指的是不会影响ui布局及外观的widget,它们通常具有一定的功能,如事件监听、数据存储等,我们之前介绍过的focusscope(焦点控制)、pagestorage(数据存储)、notificationlistener(事件监听)都属于功能型widget。由于widget是flutter的一等公民,功能型widget非常多,我们不会去一一介绍,本章中主要介绍几种常用的功能型widget。","功能型widget简介","导航返回拦截","数据共享","本章目录","第七章:功能型组件"],"chapter7/willpopscope.html":["'package:flutter/material.dart';","()","(_lastpressedat",")",");","...","//上次点击时间","//两次点击间隔超过1秒则重新计时","1))","7.1","7.1:导航返回拦截(willpopscope)","=","==",">","@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","willpopscope(","willpopscope({","willpopscopetestrout","willpopscopetestroutest","willpopscopetestroutestate();","{","||","}","})","},","为了避免用户误触返回按钮而导致app退出,在很多app中都拦截了用户点击返回键的按钮,然后进行一些防误触判断,比如当用户在某一个时间段内点击两次时,才会认为用户是要退出(而非误触)。flutter中可以通过willpopscope来实现返回按钮拦截,我们看看willpopscope的默认构造函数:","为了防止用户误触返回键退出,我们拦截返回事件。当用户在1秒内点击两次返回按钮时,则退出;如果间隔超过1秒则不退出,并重新记时。代码如下:","导航返回拦截(willpopscope)","示例","读者可以运行示例看看效果。"],"chapter7/inherited_widget.html":["!=","(","()","(ancestor","(当前语言环境)信息的。",")","),",");","++count),",".data",".of(context)",".tostring());","//","//return","//使用inheritedwidget中的共享数据","//使用sharedatawidget","//多出的部分","//如果build中没有依赖inheritedwidget,则此回调不会被调用。","//如果返回true,则子树中依赖(build函数中有调用)本widget","//定义一个便捷方法,方便子树中的widget获取共享数据","//每点击一次,将count自增,然后重新build,sharedatawidget的data将被更新","//注册依赖关系","//父或祖先widget中的inheritedwidget改变(updateshouldnotify返回true)时会被调用。","//的子widget的`state.didchangedependencies`会被调用","//该回调决定当data发生变化时,是否通知子树中依赖data的widget","//需要在子树中共享的数据,保存点击次数","0;","1所示:","20.0),","7.2","7.2:数据共享(inheritedwidget)","8513):",":",":super(child:","=","==","=>","?","??=","@overrid","@requir","[","],","__testwidgetst","__testwidgetstate();","_depend","_dependencies.add(ancestor);","_hadunsatisfieddepend","_inheritedwidget","_inheritedwidgets[targettype];","_inheritedwidgettestroutest","_inheritedwidgettestroutestate();","_testwidget","_testwidget(),//子widget中依赖sharedatawidget","ancestor","ancestor,","ancestor.updatedependencies(this,","ancestor.widget;","ancestor;","ancestorinheritedelementforwidgetofexacttype()多调了inheritfromelement方法,inheritfromelement源码如下:","ancestorinheritedelementforwidgetofexacttype()时,由于没有注册依赖关系,所以之后当inheritedwidget发生变化时,就不会更新相应的子孙widget。","ancestorinheritedelementforwidgetofexacttype()的却别就是前者会注册依赖关系,而后者不会,所以在调用inheritfromwidgetofexacttype()时,inheritedwidget和依赖它的子孙组件关系变完成了注册,之后当inheritedwidget发生变化时,就会更新依赖它的孙组件,也就是会调用依赖它的孙组件的didchangedependencies()方法和build()方法。而当调用的是","ancestorinheritedelementforwidgetofexacttype(typ","aspect","aspect);","aspect:","assert(ancestor","bool","build(buildcontext","build方法中没有依赖inheritedwidget,此回调不会被调用。","center(","chang","change\");","child","child);","child:","children:","class","column(","const","context)","context.ancestorinheritedelementforwidgetofexacttype(sharedatawidget).widget;","context.inheritfromwidgetofexacttype(sharedatawidget);","count","count,","createstate()","data:","data;","depend","didchangedepend","didchangedependencies()","edgeinsets.only(bottom:","extend","final","framework是怎么知道子widget有没有依赖inheritedwidget的?","framework调用。而这个“依赖”指的就是子widget是否使用了父widget中inheritedwidget的数据!如果使用了,则代表子widget依赖有依赖inheritedwidget;如果没有使用则代表没有依赖。这种机制可以使子组件在所依赖的inheritedwidget变化时来更新自身!比如当主题、locale(语言)等发生变化时,依赖其的子widget的didchangedependencies方法将会被调用。","hashset();","i/flutt","inheritedel","inheritedelement);","inheritedwidget","inheritedwidgettestrout","inheritedwidget和react中的context功能类似,和逐级传递数据相比,它们能实现组件跨级传递数据。inheritedwidget的在widget树中数据传递方向是从上到下的,这和通知notification(将在下一章中介绍)的传递方向正好相反。","inheritedwidget是flutter中非常重要的一个功能型组件,它提供了一种数据在widget树种从上到下的传递、共享方式,比如我们在应用的根widget中通过inheritedwidget共享了一个数据,那么我们便可以在任意子widget中来获取该共享的数据!这个特性在一些需要在widget树中共享数据的场景中非常方便!如flutt","inheritfromelement(ancestor,","inheritfromelement(inheritedel","inheritfromwidgetofexacttype(typ","int","mainaxisalignment.center,","mainaxisalignment:","new","null","null)","null;","object","of(buildcontext","old)","old.data","onpressed:","padding(","padding:","print(\"depend","raisedbutton(","return","sdk中正是通过inheritedwidget来共享应用主题(theme)和local","setstate(()","sharedatawidget","sharedatawidget(","sharedatawidget({","state","statefulwidget","static","super.didchangedependencies();","targettype)","targettype,","text(\"increment\"),","text(\"text\");","text(sharedatawidget","this.data,","true;","updateshouldnotify(sharedatawidget","void","widget","{","}","})","一般来说,子widget很少会重写此方法,因为在依赖改变后framework也都会调用build()方法。但是,如果你需要在依赖改变后执行一些昂贵的操作,比如网络请求,这时最好的方式就是在此方法中执行,这样可以避免每次build()都执行这些昂贵操作。","上面的代码中,我们将build()方法中依赖sharedatawidget的代码注释掉了,然后返回一个固定text,这样一来,当点击increment按钮后,sharedatawidget的data虽然发生变化,但由于__testwidgetstate并未依赖sharedatawidget,所以__testwidgetstate的didchangedependencies方法不会被调用。其实,这个机制很好理解,因为在数据发生变化时只对使用该数据的widget更新是合理并且性能友好的。","下面我们看一下之前“计数器”示例应用程序的inheritedwidget版本。需要说明的是,本示例主要是为了演示inheritedwidget的功能特性,并不是计数器的推荐实现方式。","使用inheritedwidget中的共享数据","可以看到inheritfromelement方法中主要是注册了依赖关系!看到这里也就清晰了,调用inheritfromwidgetofexacttype()","可见依赖发生变化后,其didchangedependencies()会被调用。但是读者要注意,如果_testwidget的build方法中没有使用sharedatawidget的数据,那么它的didchangedependencies()将不会被调用,因为它并没有依赖sharedatawidget。例如,我们将__testwidgetstate代码该为下面这样,didchangedependencies()将不会被调用:","和","唯一的改动就是获取sharedatawidget对象的方式,把inheritfromwidgetofexacttype()方法换成了context.ancestorinheritedelementforwidgetofexacttype(sharedatawidget).widget,那么他们到底有什么区别呢,我们看一下这两个方法的源码(实现代码在element类中,context和element的关系我们将在后面专门介绍):","回调中打印日志:","在之前介绍statefulwidget时,我们提到state对象有一个didchangedependencies回调,它会在“依赖”发生变化时被flutt","并没有任何缓存,所以它也都会被重新构建,所以也会调用build()方法。","应该在didchangedependencies()中做什么?","思考题:flutter","我们可以看到,inheritfromwidgetofexacttype()","数据共享(inheritedwidget)","最后,我们创建一个按钮,每点击一次,就将sharedatawidget的值自增:","来实现flutter全局状态共享。","来演示如何缓存,以及如何利用inheritedwidget","每点击一次按钮,计数器就会自增,控制台就会打印一句日志:","比","注意,如果将上面示例中sharedatawidget.of()方法实现改成调用ancestorinheritedelementforwidgetofexacttype(),运行示例后,点击\"increment\"按钮,会发现__testwidgetstate的didchangedependencies()方法确实不会再被调用,但是其build()仍然会被调用!造成这个的原因其实是,点击\"increment\"按钮后,会调用_inheritedwidgettestroutestate的setstate()方法,此时会重新构建整个页面,由于示例中,__testwidget","深入了解inheritedwidget","然后我们实现一个子组件_testwidget,在其build方法中引用sharedatawidget中的数据。同时,在其didchangedependencies()","现在来思考一下,如果我们只想在__testwidgetstate中引用sharedatawidget数据,但却不希望在sharedatawidget发生变化时调用__testwidgetstate的didchangedependencies()方法应该怎么办?其实答案很简单,我们只需要将sharedatawidget.of()的实现改一下即可:","运行后界面如图7","那么,现在就带来了一个问题:实际上,我们只想更新子树中依赖了sharedatawidget的组件,而现在只要调用_inheritedwidgettestroutestate的setstate()方法,所有子节点都会被重新build,这很没必要,那么有什么办法可以避免呢?答案是缓存!一个简单的作法就是通过封装一个statefulwidget,将子widget树缓存起来,具体作法下一节我们将通过实现一个provid","首先,我们通过继承inheritedwidget,将当前计数器点击次数保存在sharedatawidget的data属性中:"],"chapter7/provider.html":["!=","${cart.totalprice}\"),","${cart.totalprice}\");","&","()","(buildcontext","(context)","(context){","(context,","(value,","(widget.data",")","),",");","*","+","...",".add(item(20.0,","//","//...","//共享状态使用泛型","//取消订阅","//商品单价","//在后面优化部分会用到","//在此简单返回true,则每次更新都会调用依赖其的子孙节点的`didchangedependencies`。","//如果数据发生变化(model类调用了notifylisteners),重新构建inheritedprovid","//定义一个便捷方法,方便子树中的widget获取共享数据","//当provider更新时,如果新旧数据不\"==\",则解绑旧数据监听,同时添加新数据监听","//添加一个listen参数,表示是否建立依赖关系","//添加监听器","//登录状态变化处理逻辑","//省略其它事件","//省略无关代码","//移除监听器","//给购物车中添加商品,添加后总价会更新","//自动获取model","//订阅登录状态改变事件","//通知所有监听器,触发监听器回调","1));","2所示:","3是provider的原理图:","7.3","7.3:",":","=","=>","=>text(\"总价:","?","@overrid","@requir","[","[];","[item]","],","_changenotifierproviderst","_changenotifierproviderstate();","_item","_items.add(item);","_items.fold(0,","_providerroutest","_providerroutestate();","_typeof()","_typeof>();","add(item","addlistener(voidcallback","ancestorinheritedelementforwidgetofexacttype()的却别就是前者会注册依赖关系,而后者不会。所以我们只需要将changenotifierprovider.of的实现改为下面这样既可:","assert(build","bloc","bool","build\");","build\"了,即按钮不会被重新构建了。而总价仍然会更新,这是因为consumer中调用changenotifierprovider.of时listen值为默认值true,所以还是会建立依赖关系。","build\"日志,也就是说”添加商品“按钮在每次点击时其自身都会重新build!这是为什么呢?如果你已经理解了inheritedwidget的更新机制,那么答案一眼就能看出:这是因为构建raisedbutton的builder中调用了changenotifierprovider.of,也就是说依赖了widget树上面的inheritedwidget(即inheritedprovid","build(buildcontext","builder(","builder(builder:","builder:","builder;","bus.emit(event.login);","bus.off(event.login,onlogin);","bus.on(event.login,onlogin);","cart)","cart)=>","cart=changenotifierprovider.of(context);","cartmodel","cartmodel(),","cartmodel即要跨组件共享的model类。最后我们构建示例页面:","center(","changenotifi","changenotifierprovid","changenotifierprovider(","changenotifierprovider({","changenotifierprovider.of(context),","changenotifierprovider.of(context).add(item(20.0,","changenotifierprovider.of(context,","child);","child:","child;","children:","child})","class","column(","consum","consumer(","consumer({","consumer实现非常简单,它通过指定模板参数,然后再内部自动调用changenotifierprovider.of获取相应的model,并且consumer这个名字本身也是具有确切语义(消费者)。现在上面的代码块可以优化为如下这样:","context)","context,","context.ancestorinheritedelementforwidgetofexacttype(type)?.widget","context.inheritfromwidgetofexacttype(type)","count;","createstate()","data:","data;","didupdatewidget(changenotifierprovid","dispose()","doubl","enum","event{","extend","false)","final","function(buildcontext","implement","inheritedprovid","inheritedprovider(","inheritedprovider({@requir","inheritedprovider;","inheritedprovider;","inheritedwidget","inheritedwidget是flutter中非常重要的一个widget,像国际化、主题等都是通过它来实现,所以我们也不惜篇幅,通过好几节来介绍它的,在下一节中,我们将介绍另一个基于inheritedwidget的组件theme(主题)。","initstate()","int","item","item(this.price,","item)","item.count","item.price);","key","key);","key,","list","listen","listen:","listener)","login,","mobx","model","model变化后会自动通知changenotifierprovider(订阅者),changenotifierprovider内部会重新构建inheritedwidget,而依赖该inheritedwidget的子孙widget就会更新。","notifylisteners()","notifylisteners();","null),","of(buildcontext","old)","oldwidget)","oldwidget.data)","oldwidget.data.removelistener(update);","onloginchanged(e){","onpressed:","package中的核心功能;但是我们的迷你版功能并不全面,如只实现了一个可监听的changenotifierprovider,并没有实现只用于数据共享的provider;还有就是我们的实现还有些边界没有考虑的到,比如如何保证在widget树重新build时model始终是单例等。所以建议读者在实战中还是使用provid","package底层的原理。","package,而本节实现这个迷你provider的主要目的主要是为了帮助读者了解provid","price;","print(\"raisedbutton","provid","provider.data;","providerrout","raisedbutton(","redux","removelistener(voidcallback","return","scope","setstate(()","state","state>","statefulwidget","statelesswidget","static","super(child:","super(key:","super.didupdatewidget(oldwidget);","super.dispose();","super.initstate();","t","t;","text(\"总价:","text(\"添加商品\"),","this.builder,","this.child,","this.count);","this.data,","totalpric","true;","true})","type","unmodifiablelistview","unmodifiablelistview(_items);","update()","updateshouldnotify(inheritedprovid","valu","value)","var","void","widget","widget.child,","widget.data,","widget.data.addlistener(update);","widget.data.removelistener(update);","widget来构建,语义话就不是很明确;如果我们能使用一个具有明确语义的widget,比如就叫consumer,这样最终的代码语义将会很明确,只要看到consumer,我们就知道它是依赖某个跨组件或全局的状态。","widget,实现如下:","{","{bool","{});","}","})","}),","});","},","一个通用的inheritedwidget,保存任需要跨组件共享的状态","上面的代码还有一个性能问题,就在构建”添加按钮“的代码处:","为了优化这两个问题,我们可以封装一个consum","为了加强读者的理解,我们不直接去看provider包的源代码,相反,我会带着你根据上面描述的通过inheritedwidget实现的思路来一步一步地实现一个最小功能的provider。","介绍","代码组织问题","优化","依赖登录状态的页面:","修改后在此运行上面的示例,我们会发现点击”添加商品“按钮后,控制台不会再输出\"raisedbutton","其它状态管理包","包名","可以看到_changenotifierproviderstate类的主要作用就是监听到共享状态(model)改变时重新构建widget树。注意,在_changenotifierproviderstate类中调用setstate()方法,widget.child始终是同一个,所以执行build时,inheritedprovider的child引用的始终是同一个子widget,所以widget.child并不会重新build,这也就相当于对child进行了缓存!当然如果changenotifierprovider父级widget重新build时,则其传入的child便有可能会发生变化。","可以触发所有监听器回调。","向购物车中添加新商品时总价更新","和","商品份数","在flutter开发中,状态管理是一个永恒的话题。一般的原则是:如果状态是组件私有的,则应该由组件自己管理;如果状态要跨组件共享,则该状态应该由各个组件共同的父元素来管理。对于组件私有的状态管理很好理解,但对于跨组件共享的状态,管理的方式就比较多了,如使用全局事件总线eventbus(将在下一章中介绍),它是一个观察者模式的实现,通过它就可以实现跨组件状态同步:状态持有方(发布者)负责更新、发布状态,状态使用方(观察者)监听状态改变事件来执行一些操作。下面我们看一个登陆状态同步的简单示例:","在flutter当中有没有更好的跨组件状态管理方式了呢?答案是肯定的,那怎么做的?我们想想前面介绍的inheritedwidget,它的天生特性就是能绑定inheritedwidget与依赖它的子孙组件的依赖关系,并且当inheritedwidget数据发生变化时,可以自动更新依赖的子孙组件!利用这个特性,我们可以将需要跨组件共享的状态保存在inheritedwidget中,然后在子组件中引用inheritedwidget即可,flutter社区著名的provider包正是基于这个思想实现的一套跨组件状态共享解决方案,接下来我们便详细介绍一下provider的用法及原理。","在大型复杂应用中,尤其是需要全局共享的状态非常多时,使用provider将会大大简化我们的代码逻辑,降低出错的概率,提高开发效率。","在此笔者不对这些包做推荐,读者有兴趣都可以研究一下,了解它们各自的思想。","定义一个item类,用于表示商品信息:","定义一个保存购物车内商品数据的cartmodel类:","定义事件:","将","必须显式定义各种事件,不好管理","性能问题","总结","我们上面实现的changenotifierprovider是有两个明显缺点:代码组织为题和性能问题,下面我们一一讨论。","我们先看一下构建显示总价text的代码:","我们可以发现使用provider,将会带来如下收益:","我们可以发现,通过观察者模式来实现跨组件状态共享有一些明显的缺点:","我们可以通过调用addlistener()和removelistener()来添加、移除监听器(订阅者);通过调用notifylisteners()","我们点击”添加商品“按钮后,由于购物车商品总价会变化,所以显示总价的text更新是符合预期的,但是”添加商品“按钮本身没有变化,是不应该被重新build的。但是我们运行示例,每次点击”添加商品“按钮,控制台都会输出\"raisedbutton","我们的业务代码更关注数据了,只要更新model,则ui会自动更新,而不用在状态改变后再去手动调用setstate()来显式更新页面。","我们需要实现一个显示购物车中所有商品总价的功能:","数据保存的地方有了,那么接下来我们需要做的就是在数据发生变化的时候来重新构建inheritedprovider,那么现在就面临两个问题:","数据发生变化怎么通知?","数据改变的消息传递被屏蔽了,我们无需手动去处理状态改变事件的发布和订阅了,这一切都被封装在provider中了。这真的很棒,帮我们省掉了大量的工作!","是bloc模式的flutter实现","是web开发中react生态链中mobx包的flutter实现","是web开发中react生态链中redux包的flutter实现","是不是很优雅!","更新状态。","本节通过介绍事件总线在跨组件共享中的一些缺点引出了通过inheritedwidget来实现状态的共享的思想,然后基于该思想实现了一个简单的provider,在实现的过程中也更深入的探索了inheritedwidget与其依赖项的注册机制和更新机制。通过本节的学习,读者应该达到两个目标,首先是对inheritedwidget彻底吃透,其次是provider的设计思想。","来通知订阅者,然后由订阅者来重新构建inheritedprovider,这也是第二个问题的答案!接下来我们便实现这个订阅者类:","构建时输出日志","每次点击”添加商品“按钮,总价就会增加20,我们期望的功能实现了!可能有些读者会疑惑,我们饶了一大圈实现这么简单的功能有意义么?其实,就这个例子来看,只是更新同一个路由页中的一个状态,我们使用changenotifierprovider的优势并不明显,但是如果我们是做一个购物app呢?由于购物车数据是通常回事整个app共享的数据,会跨路由共享,如果我们将changenotifierprovider放在整个应用的widget树的根上,那么整个app就可以共享购物车的数据了,这时changenotifierprovider的优势将会非常明显。","添加到购物车。这是唯一一种能从外部改变购物车的方法。","然后我们将调用部分代码改为:","现在flutter社区已经有很多专门用于状态管理的包了,在此我们列出几个相对评分比较高的:","现在我们所需要的各个工具类都已完成,下面我们通过一个购物车的例子来看看怎么使用上面的这些类。","现在,我们将要共享的状态放到一个model类中,然后让它继承自changenotifier,这样当共享的状态改变时,我们只需要调用notifylisteners()","用于保存购物车中商品列表","登录状态改变后发布状态改变事件","登录页代码大致如下:","省略其它属性","禁止改变购物车里的商品信息","移除model的监听器","第一个问题其实很好解决,我们当然可以使用之前介绍的eventbus来进行事件通知,但是为了更贴近flutter开发,我们使用flutter中sdk中提供的changenotifier类","给model添加监听器","而changenotifierprovider则会重新构建子树,所以inheritedprovider将会更新,此时依赖它的子孙widget就会被重新构建。","至此我们便实现了一个迷你的provider,它具备pub上provid","虽然上面的例子比较简单,但它却将provider的原理和流程体现的很清楚,图7","订阅者必须需显式注册状态改变回调,也必须在组件销毁时手动去解绑回调以避免内存泄露。","订阅者模式,changenotifier定义大致如下:","设为false,不建立依赖关系","该方法用于在dart中获取模板类型","该类继承statefulwidget,然后定义了一个of()静态方法供子类方便获取widget树中的inheritedprovider中保存的共享状态(model),下面我们实现该类对应的_changenotifierproviderstate类:","语义化不明确;由于changenotifierprovider是订阅者,那么依赖cartmodel的widget自然就是订阅者,其实也就是状态的消费者,如果我们用build","谁来重新构建inheritedprovider?","购物车中商品的总价","购物车示例","跨组件状态共享(provider)","运行示例后效果如图7","这两个包都是基于inheritedwidget的,原理相似","这是一个便捷类,会获得当前context和指定数据类型的provid","这段代码有两点可以优化:","通知监听器(订阅者),重新构建inheritedprovider,","问题的原因搞清楚了,那么我们如何避免这不必要重构呢?既然按钮重新被build是因为按钮和inheritedwidget建立了依赖关系,那么我们只要打破或解除这种依赖关系就可以了。那么如何解除按钮和inheritedwidget的依赖关系呢?我们上一节介绍inheritedwidget时已经讲过了:调用inheritfromwidgetofexacttype()","需要显式调用changenotifierprovider.of,当app内部依赖cartmodel很多时,这样的代码将很冗余。","首先,我们需要一个保存需要共享的数据inheritedwidget,由于具体业务数据类型不可预期,为了通用性,我们使用泛型,定义一个通用的inheritedprovider类,它继承自inheritedwidget:",")widget,所以当添加完商品后,cartmodel发生变化,会通知changenotifierprovider,",",它继承自listenable,也实现了一个flutter风格的发布者"],"chapter7/theme.html":["\"dc380d\";","\"标题\"),","()","(不透明度)",")","),",");","...","//","//为第二行icon自定义颜色(固定为黑色)","//主色,决定导航栏颜色","//主题颜色样本,见下面介绍","//分割线颜色","//切换主题","//卡片颜色","//如果颜色固定可以直接使用整数值","//当前路由主题色","//指定平台,应用特定平台控件风格","//按钮主题","//文字字体","//根据背景色亮度来确定title颜色","//次级色,决定大多数widget的颜色,如进度条、开关等。","//深色还是浅色","//用于icon颜色","//用于导航栏、floatingactionbutton的背景色等","//第一行icon使用主题中的iconthem","//背景为白色,则title自动为黑色","//背景为蓝色,则title自动为白色","//背景颜色","//输入框光标颜色","//通过位运算符将alpha设置为ff","//通过方法将alpha设置为ff","//阴影","//颜色是一个字符串变量","0","0xff2196f3;","100:","15","16","1]的一个值,数字越大颜色就越浅,我们可以根据它来动态确定title的颜色,下面是导航栏navbar的简单实现:","200:","23","24","3),","3,","300:","31","400:","4所示:","500:","50:","52,","5所示:","600:","6、7","7","7.4","7.4.1","7.4.2","7.4:颜色和主题(theme)","700:","7所示:","8","800:","900:",":","=","==","=>","?","@overrid","[","]","],","_blueprimaryvalu","_blueprimaryvalue,","_themecolor","_themecolor)","_themecolor,","_themetestroutest","_themetestroutestate();","accentcolor,","alpha","appbar(title:","appbar:","app定义主题数据(themedata)。material组件库里很多组件都使用了主题数据,如导航栏颜色、标题字体、icon样式等。theme内会使用inheritedwidget来为其子树共享样式数据。","bit(位)","blue","blurradius:","body:","bool","boxconstraints(","boxdecoration(","boxshadow(","boxshadow:","bright","brightness,","build(buildcontext","buttontheme,","buttonthemedata","c","cardcolor,","child:","children:","class","color","color(0xff0d47a1),","color(0xff1565c0),","color(0xff1976d2),","color(0xff1e88e5),","color(0xff42a5f5),","color(0xff64b5f6),","color(0xff90caf9),","color(0xffbbdefb),","color(0xffdc380d);","color(0xffe3f2fd),","color(_blueprimaryvalue),","color(int.parse(c,radix:16)).withalpha(255)","color(int.parse(c,radix:16)|0xff000000)","color,","color.computeluminance()","color:","color;","colors.black","colors.black26,","colors.blu","colors.blue,","colors.blue[50]到colors.blue[100]的色值从浅蓝到深蓝渐变,效果如图7","colors.t","colors.teal;","colors.white,","column(","const","constraints:","container(","context)","context)来获取的,我们看看其简化后的代码:","context,","context.inheritfromwidgetofexacttyp","context.inheritfromwidgetofexacttype(_inheritedtheme)","createstate()","cursorcolor,","data:","decoration:","design","design中的颜色的类,它包含一种颜色的10个级别的渐变色。materialcolor通过\"[]\"运算符的索引值来代表颜色的深度,有效的索引有:50,100,200,…,900,数字越大,颜色越深。materialcolor的默认值为索引等于500的颜色。举个例子,colors.blue是预定义的一个materialcolor类对象,定义如下:","dialogbackgroundcolor,//对话框背景颜色","dividercolor,","double.infinity,","extend","fals","final","floatingactionbutton(","floatingactionbutton:","fontfamily,","fontweight.bold,","fontweight:","icon(icons.airport_shuttle),","icon(icons.favorite),","icon(icons.palette)","icontheme,","icontheme:","iconthemedata","iconthemedata(color:","icon的默认样式","int","key","key,","mainaxisalignment.center,","mainaxisalignment:","materialcolor","materialcolor(","materialcolor是实现materi","minheight:","minwidth:","navbar","navbar(color:","navbar({","new","of(buildcontext","offset(0,","offset:","onpressed:","platform,","primarycolor,","primaryswatch,","primaryswatch:","return","row(","scaffold(","setstate(()","shadowthemeonli","state","statefulwidget","statelesswidget","static","string","style:","targetplatform","text(","text(\"","text(\"主题测试\")),","textstyle(","textthem","texttheme,//","theme","theme(","theme.of(context);","themedata","themedata(","themedata({","themedata.copywith(","themedata.icontheme.copywith(","themedata用于保存是materi","themetestrout","theme组件可以为materi","this.color,","this.title,","title,","title:","title;","var","widget","{","}","})","});","},","、indicatorcolor等也会受primaryswatch影响。","上面只是themedata的一小部分属性,完整的数据定义读者可以查看sdk。上面属性中需要说明的是primaryswatch,它是主题颜色的一个\"样本色\",通过这个样本色可以在一些条件下生成一些其它的属性,例如,如果没有指定primarycolor,并且当前主题不是深色主题,那么primarycolor就会默认为primaryswatch指定的颜色,还有一些相似的属性如accentcolor","上面表格中的的字段在color类中都有对应的属性,而color中的众多方法也就是操作这些属性的,由于大多比较简单,读者可以查看类定义了解。在此我们主要讨论两点:色值转换和亮度。","会在widget树中从当前位置向上查找第一个类型为_inheritedtheme的widget。所以当局部使用theme后,其子树中theme.of()找到的第一个_inheritedtheme便是该theme的。","假如我们需要要实现一个背景颜色和title可以自定义导航栏,并且背景色为深色时我们应该让title显示浅色;背景色为浅色时,title显示深色。要实现这个功能,我们就需要来计算背景色的亮度。color类中提供了一个computeluminance()方法,他可以返回一个[0","可以通过局部主题覆盖全局主题,正如代码中通过theme为第二行图标指定固定颜色(黑色)一样,这是一种常用的技巧,flutter中会经常使用这种方法来自定义子树主题。那么为什么局部主题可以覆盖全局主题?这主要是因为widget中使用主题样式时是通过theme.of(buildcontext","在介绍主题前我们先了解一些flutter中的color类。color类中颜色以一个int值保存,我们知道显示器颜色是由红、绿、蓝三基色组成,每种颜色站8比特,存储结构如下:","如web开发中的色值通常是一个字符串如\"#dc380d\",它是一个rgb值,我们可以通过下面这些方法将其转为color类:","如何将颜色字符串转成color对象","字体主题,包括标题、body等文字样式","我们实现一个路由换肤功能:","我们看看themedata部分数据定义:","本示例是对单个路由换肤,如果相对整个应用换肤,可以去修改materialapp的theme属性。","注意:materi","测试代码如下:","示例","简化代码,并非源码","红色","组件库的主题数据,material组件需要遵守相应的设计规范,而这些规范可自定义部分都定义在themedata中了,所以我们可以通过themedata来自定义应用主题。在子组件中,我们可以通过theme.of方法来获取当前的themedata。","绿色","蓝色","设计规范中有些是不能自定义的,如导航栏高度,themedata只包含了可自定义部分。","运行后点击右下角悬浮按钮则可以切换主题,如图7","运行效果如图7","需要注意的有三点:","颜色","颜色亮度","颜色和主题","颜色固定黑色\")","颜色跟随主题\")"],"chapter7/futurebuilder_and_streambuilder.html":["\"我是从互联网上获取的数据\");","${snapshot.data}\");","${snapshot.data}');","${snapshot.error}\");","${snapshot.error}');","()","(buildcontext","(i)","(snapshot.connectionst","(snapshot.connectionstate)","(snapshot.haserror)","),",");",",//","...","//","///","//initialdata:","1),","2),","7.5","7.5.1","7.5.2","7.5:异步ui更新(futurebuilder、streambuilder)","8、7","9所示:","==","=>","@requir","active,","async","asyncsnapshot","build(buildcontext","builder:","builder:widget构建器;该构建器会在future执行的不同阶段被多次调用,构建器签名如下:","case","center(","child:","circularprogressindicator();","connectionst","connectionstate.active:","connectionstate.done)","connectionstate.done:","connectionstate.none:","connectionstate.waiting:","context)","context,","counter()","counter(),","done,","enum","function","futur","future.delayed(duration(seconds:","future:","futurebuild","futurebuilder(","futurebuilder({","futurebuilder会依赖一个future,它会根据所依赖的future的状态来动态构建自身。我们看一下futurebuilder构造函数:","futurebuilder使用代码如下:","future:futurebuilder依赖的future,通常是一个异步耗时任务。","i;","initialdata:初始数据,用户设置默认数据。","key","key,","mocknetworkdata()","mocknetworkdata(),","none,","null","null;","return","snapshot)","snapshot会包含当前异步任务的状态信息及结果信息","stream","stream,","stream.periodic(duration(seconds:","stream:","streambuild","streambuilder(","streambuilder({","streambuilder使用代码如下:","stream处于激活状态(流上已经有数据传递了),对于futurebuilder没有该状态。","switch","text(\"contents:","text(\"error:","text('active:","text('error:","text('stream已关闭');","text('没有stream');","text('等待数据...');","this.builder,","this.future,","this.initialdata,","unreach","waiting,","widget","{","}","})","});","},","上面代码中我们在builder中根据当前异步任务状态connectionstate来返回不同的widget。connectionstate是一个枚举类,定义如下:","不同的是,它可以接收多个异步操作的结果,它常用于会多次读取数据的异步任务场景,如网络内容下载、文件读写等。streambuilder正是用于配合stream来展示流上事件(数据)变化的ui组件。下面看一下streambuilder的默认构造函数:","也是用于接收异步事件数据,和futur","另外,futurebuilder的builder函数签名和streambuilder的builder是相同的。","可以看到和futurebuilder的构造函数只有一点不同:前者需要一个future,而后者需要一个stream。","异步ui更新(futurebuilder、streambuilder)","异步任务处于等待状态","异步任务已经终止.","当前没有异步任务,比如[futurebuilder]的[future]为null时","很多时候我们会依赖一些异步数据来动态更新ui,比如在打开一个页面时我们需要先从互联网上获取数据,在获取数据的过程中我们显式一个加载框,等获取到数据时我们再渲染页面;又比如我们想展示stream(比如文件流、互联网数据接收流)的进度。当然,通过statefulwidget我们完全可以实现上述这些功能。但由于在实际开发中依赖异步数据更新ui的这种场景非常常见,因此flutter专门提供了futurebuilder和streambuilder两个组件来快速实现这种功能。","我们创建一个计时器的示例:每隔1秒,计数加1。这里,我们使用stream来实现每隔一秒生成一个数字:","我们实现一个路由,当该路由打开时我们从网上获取数据,获取数据时弹一个加载框;获取结束时,如果成功则显示获取到的数据,如果失败则显示错误。由于我们还没有介绍在flutter中如何发起网络请求,所以在这里我们不真正去网络请求数据,而是模拟一下这个过程,隔3秒后返回一个字符串:","我们知道,在dart中stream","注意,connectionstate.active只在streambuilder中才会出现。","示例","请求失败,显示错误","请求已结束","请求成功,显示数据","请求未结束,显示load","读者可以自己运行本示例查看运行结果。注意,本示例只是为了演示streambuilder的使用,在实战中,凡是ui会依赖多个异步数据而发生变化的场景都可以使用streambuilder。","运行结果如图7",",比如我们可以通过snapshot.connectionstate获取异步任务的状态信息、通过snapshot.haserror判断异步任务是否有错误等等,完整的定义读者可以查看asyncsnapshot类定义。"],"chapter7/dailog.html":["!=","!_withtree;","!withtree;","\"中文简体\"","\"美国英语\"}\");","$delete\");","$deletetree\");","()","(){","(bool","(buildcontext","(context","(context)","(context,","(ctx)","(datetim","(delet","(deletetre","(i","(index","(v)",")",")),","));","),",");","+","...","...//省略",".8,),","//","//...","//_setstate方法实际就是该statefulwidget的setstate方法,","//return","//使用alertdialog会报错","//使用statefulbuilder来构建statefulwidget上下文","//关闭对话框","//关闭对话框并返回true","//内容的填充","//复选框选中状态发生变化时重新构建ui","//对话框标题组件","//对话框语义化标签(用于读屏软件)","//将选中状态通过事件的形式抛出","//弹出删除确认对话框,等待用户确认","//弹出对话框并等待其关闭","//执行删除操作","//更新复选框状态","//更新自身选中状态","//更新选中状态","//未来30天可选","//构建对话框内部ui","//标题文本样式","//点击对话框barrier(遮罩)时是否关闭它","//点击该按钮后弹出对话框","//点击遮罩不关闭对话框","//点击遮罩是否关闭对话框","//省略无关代码","//记录复选框是否选中","//调用后builder方法会重新被调用","//默认不选中","1","1);","1,","10所示:","11。","12所示:","13所示:","14所示:","150),","15所示:","16所示:","17所示:","18所示:","19所示:","2);","20.0,","200,","20所示:","21所示:","24.0),","24.0,","26.0),","280),","280,","30),","30,","6),","7.6","7.6.1","7.6.2","7.6.3","7.6.4","7.6.5","7.6:对话框详解",":","=","==","=>","?","@overrid","@requir","[","],","_buildmaterialdialogtransitions(","_buildmaterialdialogtransitions,","_dialogcheckboxst","_dialogcheckboxstate();","_dialogroutest","_element.markneedsbuild();","_setstate(()","_setstate)","_showbottomsheet()","_showdatepicker1()","_showdatepicker2()","_showmodalbottomsheet()","_showmodalbottomsheet();","_statefulbuilderst","_statefulbuilderstate();","_withtre","_withtree,","actions:","alertdialog","alertdialog(","alertdialog(content:","alertdialog({","anim","animation,","assert(build","async","await","axis.vertical,","barriercolor,","barriercolor:","barrierdismiss","barrierdismissible,","barrierdismissible:","barrierlabel,","barrierlabel:","bool","boxconstraints(maxwidth:","build(buildcontext","buildcontext","buildcontext,","builder","builder(","builder(builder:","builder(context);","builder({","builder);","builder,","builder:","builder;","changelanguage()","checkbox(","child","child)","child);","child,","child:","children:","circularprogressindicator(),","circularprogressindicator(value:","class","color","colors.black87,","column(","const","constrainedaxis:","constrainedbox(","constraints:","content:","context)","context,","context:","createstate()","crossaxisalignment.start,","crossaxisalignment:","cupertinodatepicker(","cupertinodatepickermode.dateandtime,","curve:","curvedanimation(","curves.easeout,","customscrollview等),如下面的代码运行后会报错。","date","date,","date.add(","date.year","datetime.now();","delet","deletetre","dialog","dialog(","dialog(child:","dialogcheckbox","dialogcheckbox(","dialogcheckbox({","durat","duration(days:","duration(milliseconds:","edgeinsets.fromltrb(24.0,","edgeinsets.only(top:","edgeinsets.symmetric(vertical:","element).markneedsbuild();","expanded(","extend","false,","false;","final","firstdate:","flatbutton(","flutter","fn)","futur","height:","index","index)","initialdate:","initstate()","int","ios风格的日历选择器需要使用showcupertinomodalpopup方法和cupertinodatepicker组件来实现:","itembuilder:","itemcount:","key","key);","key,","lastdate:","listtile(","listtile(title:","listview(","listview.builder(","loading框","mainaxissize.min,","mainaxissize:","material(","materiallocalizations.of(context).modalbarrierdismisslabel,","materialtype.card,","maximumdate:","maximumyear:","minimumdate:","mode:","navigator.of(context).pop(),","navigator.of(context).pop();","navigator.of(context).pop(_withtree);","navigator.of(context).pop(index),","navigator.of(context).pop(true);","navigator.of(context).pop(withtree);","navigator.of(context,","navigator.pop(context,","null","null)","null),","onchanged:","onchanged;","ondatetimechanged:","onpressed:","ontap:","padding(","padding:","pagebuilder,","pagebuilder:","pagechild","pagechild)","pagechild;","parent:","persistentbottomsheetcontrol","persistentbottomsheetcontroller中包含了一下控制对话框的方法比如close方法可以关闭该对话框,功能比较简单,读者可以自行查看源码。唯一需要注意的是,showbottomsheet和我们上面介绍的弹出对话框的方法原理不同:showbottomsheet是调用widget树顶部的scaffold组件的scaffoldstate的showbottomsheet同名方法实现,也就是说要调用showbottomsheet方法就必须得保证父级组件中有scaffold。","print(\"$index\");","print(\"取消删除\");","print(\"同时删除子目录:","print(\"已确认删除\");","print(\"点击了:$index\");","print(\"选择了:${i","print(type);","print(value);","raisedbutton(","return","rootnavigator:","routepagebuild","routetransitionsbuild","row(","safearea(","scale:","scaletransition(","sdk中提供的一个类,它和builder的原理是一样的,在此,提醒读者一定要将statefulbuilder和builder理解透彻,因为它们在flutter中是非常实用的。","secondaryanimation)","secondaryanimation,","setstate(()","setstate(voidcallback","setstate);","shadowthemeonly:","showbottomsheet(","showcupertinomodalpopup(","showcustomdialog(","showcustomdialog({","showdatepicker(","showdeleteconfirmdialog1()","showdeleteconfirmdialog1();","showdeleteconfirmdialog2()","showdeleteconfirmdialog2();","showdeleteconfirmdialog3()","showdeleteconfirmdialog3();","showdeleteconfirmdialog4()","showdialog(","showdialog()是material组件库提供的一个用于弹出material风格对话框的方法,签名如下:","showdialog({","showgeneraldialog(","showgeneraldialog({","showlistdialog()","showloadingdialog()","showmodalbottomsheet(","showmodalbottomsheet方法可以弹出一个material风格的底部菜单列表模态对话框,示例如下:","showmodalbottomsheet的实现原理和showgeneraldialog实现原理相同,都是通过路由的方式来实现的,读者可以查看源码对比。但值得一提的是还有一个showbottomsheet方法,该方法会从设备底部向上弹出一个全屏的菜单列表,示例如下:","simpledialog","simpledialog(","simpledialogoption(","simpledialog也是material组件库提供的对话框,它会展示一个列表,用于列表选择的场景。下面是一个选择app语言的示例,运行结果如图7","sizedbox(","someth","state","statefulbuild","statefulbuilder(","statefulbuilder({","statefulwidget","statefulwidgetbuild","statelesswidget","string","super(key:","super.initstate();","text(\"$index\"),","text(\"删除\"),","text(\"取消\"),","text(\"同时删除子目录?\"),","text(\"对话框1\"),","text(\"对话框2\"),","text(\"您确定要删除当前文件吗?\"),","text(\"提示\"),","text(\"显示底部菜单列表\"),","text(\"正在加载,请稍后...\"),","text(\"话框3(复选框可点击)\"),","text(\"请选择\")),","text('中文简体'),","text('美国英语'),","text('请选择语言'),","theme","theme(data:","theme,","theme.of(context,","themedata","this.actions,","this.backgroundcolor,","this.builder,","this.content,","this.contentpad","this.contenttextstyle,//","this.elevation,//","this.onchanged,","this.semanticlabel,","this.shape,","this.title,","this.titlepadding,","this.titletextstyle,","this.value,","title:","transitionbuilder,","transitionbuilder:","transitionduration,","transitionduration:","true).push(_dialogroute(","true);","true,","type","type:","unconstrainedbox(","v;","valu","value)","value,","value:","value;","valuechang","var","void","widget","widget.builder(context,","widget.onchanged(v);","widget.value;","widgetbuild","width:","withtre","withtree,","{","}","})","}),","});","},","、","上下文,并代理其build方法呢?我们照猫画虎,来封装一个statefulbuilder方法:","上面代码运行后可以实现一样的效果。现在我们总结一下:alertdialog、simpledialog以及dialog是material组件库提供的三种对话框,旨在帮助开发者快速构建出符合material设计规范的对话框,但读者完全可以自定义对话框样式,因此,我们仍然可以实现各种样式的对话框,这样即带来了易用性,又有很强的扩展性。","上面的代码运行后复选框也可以正常选中。可以看到,我们只用了一行代码便解决了这个问题!当然上面的代码并不是最优,因为我们只需要更新复选框的状态,而此时的context我们用的是对话框的根context,所以会导致整个对话框ui组件全部rebuild,因此最好的作法是将context的“范围”缩小,也就是说只将checkbox的element标记为dirty,优化后的代码为:","上面的方法虽然能解决对话框状态更新的问题,但是有一个明显的缺点——对话框上所有需要会改变状态的组件都得单独封装在一个在内部管理状态statefulwidget中,这样不仅麻烦,而且复用性不大。因此,我们来想想能不能找到一种更简单的方法?上面的方法本质上就是将对话框的状态置于一个statefulwidget的上下文中,由statefulwidget在内部管理,那么我们有没有办法在不需要单独抽离组件的情况下创建一个statefulwidget的上下文呢?想到这里,我们可以从builder组件的实现获得灵感。在前面介绍过builder组件可以获得组件所在位置的真正的context,那它是怎么实现的呢,我们看看它的源码:","下面我们主要介绍一下material库中的alertdialog组件,它的构造函数定义如下:","下面我们看一个弹出一个有30个列表项的对话框示例,运行效果如图7","下面是弹出对话框的代码:","代码很简单,statefulbuilder获取了statefulwidget的上下文,并代理了其构建过程。下面我们就可以通过statefulbuilder来重构上面的代码了(变动只在dialogcheckbox部分):","代码运行后,效果如图7","使用statefulbuilder方法","使用对话框","使用缩放动画","依然使用checkbox组件","关于动画相关内容我们将在本书后面章节介绍,下面内容读者可以先了解一下(不必深究),读者可以在学习完动画相关内容后再回头来看。","关闭对话框","其它类型的对话框","其实loading框可以直接通过showdialog+alertdialog来自定义:","内容文本样式","列表项组件我们使用了simpledialogoption组件来包装了一下,它相当于一个flatbutton,只不过按钮文案是左对齐的,并且padding较小。上面示例运行后,用户选择一种语言后,控制台就会打印出它。","删除文件","单独封装一个内部管理选中状态的复选框组件","单独抽离出statefulwidget","参数都比较简单,不在赘述。下面我们看一个例子,假如我们要在删除文件事弹出一个确认对话框,该对话框如图7","可以发现,setstate中调用了element的markneedsbuild()方法,我们前面说过,flutter是一个响应式框架,要更新ui只需改变状态后通知框架页面需要重构即可,而element的markneedsbuild()方法正是来实现这个功能的!markneedsbuild()方法会将当前的element对象标记为“dirty”(脏的),在每一个frame,flutter都会重新构建被标记为“dirty”element对象。既然如此,我们有没有办法获取到对话框内部ui的element对象,然后将其表姐为为“dirty”呢?答案是肯定的!我们可以通过context来得到element对象,至于element与context的关系我们将会在后面“flutter核心原理”一章中再深入介绍,现在只需要简单的认为:在组件树种,context实际上就是element对象的引用。知道这个后,那么解决的方案就呼之欲出了,我们可以通过如下方式来让复选框可以更新:","可以发现,遮罩颜色比通过showdialog方法打开的对话框更深。另外对话框打开/关闭的动画已变为缩放动画了,读者可以亲自运行示例查看效果。","可以看到,builder实际上只是继承了statelesswidget,然后在build方法中对获取当前context后将构建方法代理到了builder回调,builder实际上是获取了statelesswidget","可见复选框能选中了,点击“取消”或“删除”后,控制台就会打印出最终的确认状态。","复选框选中状态","如果我们嫌loading框太宽,想自定义对话框宽度,这时只使用sizedbox或constrainedbox是不行的,原因是showdialog中已经给对话框设置了宽度限制,根据我们在第五章“尺寸限制类容器”一节中所述,我们可以使用unconstrainedbox先抵消showdialog对宽度的限制,然后再使用sizedbox指定宽度,代码如下:","如果我们就是需要嵌套一个listview应该怎么做?这时,我们可以直接使用dialog类,如:","实现代码如下:","实现代码很简单,不在赘述。唯一需要注意的是我们是通过navigator.of(context).pop(…)方法来关闭对话框的,这和路由返回的方式是一致的,并且都可以返回一个结果数据。现在,对话框我们已经构建好了,那么如何将它弹出来呢?还有对话框返回的数据如何应如何被接收呢?这些问题的答案都在showdialog()方法中。","实现代码:","实现很简单,直接调用navigator的push方法打开了一个新的对话框路由_dialogroute,然后返回了push的返回值。可以对话框实际上正是通过路由的形式实现的,这也是为什么我们可以使用navigator的pop","实际上alertdialog和simpledialog都使用了dialog类。由于alertdialog和simpledialog中使用了intrinsicwidth来尝试通过子组件的实际尺寸来调整自身尺寸,这就导致他们的子组件不能是延迟加载模型的组件(如listview、gridview","实际上,showdialog方法正是showgeneraldialog的一个封装,定制了material风格对话框的遮罩颜色和动画。material风格对话框打开/关闭动画是一个fade(渐隐渐显)动画,如果我们想使用一个缩放动画就可以通过transitionbuilder来自定义。下面我们自己封装一个showcustomdialog方法,它定制的对话框动画为缩放动画,并同时制定遮罩颜色为colors.black87:","实际上,这种方法本质上就是子组件通知父组件(statefulwidget)重新build子组件本身来实现ui更新的,读者可以对比代码理解。实际上statefulbuilder正是flutt","对话框ui的build","对话框内容组件","对话框外形","对话框实现原理","对话框打开/关闭的动画","对话框打开/关闭的动画时长","对话框打开动画及遮罩","对话框操作按钮组","对话框本质上也是ui布局,通常一个对话框会包含标题、内容,以及一些操作按钮,为此,material库中提提供了一些现成的对话框组件来用于快速的构建出一个完整的对话框。","对话框状态管理","对话框的阴影","对话框背景色","对话框详解","将选中状态返回","底部菜单列表","弹出对话框","弹出底部菜单列表模态对话框","我们先看一下material风格的日历选择器,如图7","我们可以把对话框分为内部样式和外部样式两部分。内部样式指对话框中显示的具体内容,这部分内容我们已经在上面介绍过了;外部样式包含对话框遮罩样式、打开动画等,本节主要介绍如何自定义这些外部样式。","我们在用户选择删除一个文件时,会询问是否产出此文件;在用户选择一个文件夹是,应该再让用户确认是否删除子文件夹。为了在用户选择了文件夹时避免二次弹窗确认是否删除子目录,我们在确认对话框底部添加一个“同时删除子目录?”的复选框,如图7","我们已经介绍过了showdialog方法,它是material组件库中提供的一个打开material风格对话框的方法。那如何打开一个普通风格的对话框呢(非material风格)?","我们已经知道对话框最终都是由showgeneraldialog方法打开的,我们来看看它的具体实现:","执行删除操作","提供了一个showgeneraldialog方法,签名如下:","方法中构建的,而是通过showdialog单独构建的,所以调用在_dialogroutestate的context中调用setstate是无法影响通过showdialog构建的ui的。另外,我们可以从另外一个角度来理解这个现象,前面说过动画框也是通过路由的方式来实现的,那么上面的代码实际上就等同于企图在父路由中调用setstate来让子路由更新,这显然是不行的!简尔言之,根本原因就是context不对。那如何让复选框可点击呢?通常有如下三种方法:","方法来退出对话框的原因。关于对话框的样式定制在_dialogroute中,没有什么新的东西,读者可以自行查看。","既然是context不对,那么直接的思路就是将复选框的选中逻辑单独封装成一个statefulwidget,然后其再内部管理复选状态。我们先来看看这种方法,下面是实现代码:","日历选择","显示效果如图7","最后,就是使用:","本节将详细介绍一下flutter中话框对话框的使用方式、实现原理、样式定制及状态管理。","标题填充","此时context为对话框ui的根element,我们","注意:如果alertdialog的内容过长,内容将会溢出,这在很多时候可能不是我们期望的,所以如果对话框内容过长时,可以用singlechildscrollview将内容包裹起来。","点击按钮,弹出该对话框:","然后,当我们运行上面的代码时我们会发现复选框根本选不中!为什么会这样呢?其实原因很简单,我们知道setstate方法只会针对当前context的子树重新build,但是我们的对话框并不是在_dialogroutestate的build","现在就有一个问题:如何管理复选框的选中状态?习惯上,我们会在路由页的state中来管理选中状态,我们可能会写出如下这样的代码:","现在,我们使用showcustomdialog打开文件删除确认对话框,代码如下:","现在,我们己经介绍完了alertdialog、simpledialog以及dialog。上面的示例中,我们在调用showdialog时,在builder中都是构建了这三个对话框组件的一种,可能有些读者会惯性的以为在builder中只能返回这三者之一,其实这不是必须的!就拿dialog的示例来距离,我们完全可以用下面的代码来替代dialog:","的上下文。那我们能否用相同的方法获取statefulwidget","直接将对话框ui对应的element标记为dirti","示例运行后,我们点击对话框“取消”按钮或遮罩,控制台就会输出\"取消删除\",如果点击“删除”按钮,控制台就会输出\"已确认删除\"。","精妙的解法","自定义遮罩颜色","要确认这个问题,我们就得先想想ui是怎么更新的,我们知道在调用setstate方法后statefulwidget就会重新build,那setstate方法做了什么呢?我们能不能从中找到方法?顺着这个思路,我们就得看一下setstate的核心源码:","该对话框样式代码如下:","该方法只有两个参数,含义见注释。该方法返回一个future,它正是用于接收对话框的返回值:如果我们是通过点击对话框遮罩关闭的,则future的值为null,否则为我们通过navigator.of(context).pop(result)返回的result值,下面我们看一下整个示例:","语义化标签(用于读屏软件)","运行后效果如图7","运行效果如图7","返回1","返回2","返回的是一个control","这是一种常用的缩小`context`范围的方式","通过builder来获得构建checkbox的`context`,","遮罩颜色","默认复选框不选中"],"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,","1所示:","200.0)),","200.0,","300.0,","3039):","8.1","8.1:原始指针事件处理","=","=>","[","],","_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","defertochild:子组件会一个接一个的进行命中测试,如果子组件中有测试通过的,则当前组件通过,这就意味着,如果指针事件作用于子组件上时,其父级组件也肯定可以收到该事件。","delta:两次指针移动事件(pointermoveevent)的距离。","down0","down1","event)","event,在移动设备上通常为触摸事件),下一节再介绍手势处理。","flutter中可以使用listener来监听原始触摸事件,按照本书对组件的分类,则listener也是一个功能性组件。下面是listener的构造函数定义:","height:","hittestbehavior.defertochild,","hittestbehavior.opaque,","hittestbehavior.translucent,","i/flutt","key","key,","listener(","listener({","onpointerdown:","onpointermove:","onpointerup:","opaque:在命中测试时,将当前组件当成不透明处理(即使本身是透明的),最终的效果相当于当前widget的整个区域都是点击区域。举个例子:","orientation:指针移动方向,是一个角度值。","pointerev","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","width:","})","。","上例中,只有点击文本内容区域才会触发点击事件,因为","上例中,当注释掉最后一行代码后,在左上角200*100范围内非文本区域点击时(顶部组件透明区域),控制台只会打印“down0”,也就是说顶部组件没有接收到事件,而只有底部接收到了。当放开注释后,再点击时顶部和底部都会接收到事件,此时会打印:","上面只是pointerevent一些常用属性,除了这些它还有很多属性,读者可以查看api文档。","会去子组件判断是否命中测试,而该例中子组件就是","但是flutter中没有机制取消或停止”冒泡“过程,而浏览器的冒泡是可以停止的。注意,只有通过命中测试的组件才能触发事件。","假如我们不想让某个子树响应pointerevent的话,我们可以使用ignorepointer和absorbpointer,这两个组件都能阻止子树接收指针事件,不同之处在于absorbpointer本身会参与命中测试,而ignorepointer本身不会参与,这就意味着absorbpointer本身是可以接收指针事件的(但其子树不行),而ignorepointer不可以。一个简单的例子如下:","原始指针事件处理","在移动端,各个平台或ui系统的原始指针事件模型基本都是一致,即:一次完整的事件分为三个阶段:手指按下、手指移动、和手指抬起,而更高级别的手势(如点击、双击、拖动等)都是基于这些原始事件的。","如果behavior值改为hittestbehavior.opaque,则只会打印\"down1\"。","如果我们想让整个300×150的矩形区域都能点击我们可以将behavior设为hittestbehavior.opaque。注意,该属性并不能用于在组件树中拦截(忽略)事件,它只是决定命中测试时的组件大小。","当指针按下时,flutter会对应用程序执行命中测试(hit","忽略pointerev","我们先看一个示例,后面再单独讨论一下behavior属性。","手指在蓝色矩形区域内移动即可看到当前指针偏移,当触发指针事件时,参数pointerdownevent、pointermoveevent、pointerupevent都是pointerevent的一个子类,pointerevent类中包括当前指针的一些信息,如:","指针按下事件(以及该指针的后续事件)然后被分发到由命中测试发现的最内部的组件,然后从那里开始,事件会在组件树中向上冒泡,这些事件会从最内部的组件被分发到组件树根的路径上的所有组件,这和web开发中浏览器的事件冒泡机制相似,","本节先来介绍一下原始指针事件(pointer","点击container时,由于它在absorbpointer的子树上,所以不会响应指针事件,所以日志不会输出\"in\",但absorbpointer本身是可以接收指针事件的,所以会输出\"up\"。如果将absorbpointer换成ignorepointer,那么两个都不会输出。","现在,我们重点来介绍一下behavior属性,它决定子组件如何响应命中测试,它的值类型为hittestbehavior,这是一个枚举类,有三个枚举值:","运行后效果如图8"],"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;","2所示:","30.0,","3所示:","4所示:","8.2","8.2.1","8.2.2","8.2.3","8.2:手势识别","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:当用户按下时,此属性为用户按下的位置相对于屏幕(而非父组件)原点(左上角)的偏移。","dragenddetails.velocity:该属性代表用户抬起手指时的滑动速度(包含x、y两个轴的),示例中并没有处理手指抬起时的速度,常见的效果是根据用户抬起手指时的速度做一个减速动画。","dragupdatedetails.delta:当用户在屏幕上滑动时,会触发多次update事件,delta指一次update事件的滑动的偏移量。","e)","e){","e.delta.dx;","e.delta.dy;","extend","false;","fontsize:","gestur","gestureconflicttestroutest","gesturedetector","gesturedetector(","gesturedetectortestrout","gesturedetector内部是使用一个或多个gesturerecognizer来识别各种手势的,而gesturerecognizer的作用就是通过listener来将原始指针事件转换为语义手势,gesturedetector直接可以接收一个子widget。gesturerecognizer是一个抽象类,一种手势的识别器对应一个gesturerecognizer的子类,flutter实现了丰富的手势识别器,我们可以直接使用。","gesturedetector可以监听缩放事件,下面示例演示了一个简单的图片缩放效果:","gesturedetector是一个用于手势识别的功能性组件,我们通过它可以来识别各种手势。gesturedetector实际上是指针事件的语义化封装,接下来我们详细介绍一下各种手势识别。","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会将要监听的组件的原点(左上角)作为本次手势的原点,当用户在监听的组件上按下手指时,手势识别就会开始。下面我们看一个拖动圆形字母a的示例:","代码解释:","假设我们要给一段富文本(richtext)的不同部分分别添加点击事件处理器,但是textspan并不是一个widget,这时我们不能用gesturedetector,但textspan有一个recognizer属性,它可以接收一个gesturerecognizer。","假设我们需要在点击时给文本变色:","单一方向拖动","和","在本示例中,是可以朝任意方向拖动的,但是在很多场景,我们只需要沿一个方向来拖动,如一个垂直方向的列表,gesturedetector可以只识别特定方向的手势事件,我们将上面的例子改为只能沿垂直方向拖动:","如果在上例中我们同时监听水平和垂直方向的拖动事件,那么我们斜着拖动时哪个方向会生效?实际上取决于第一次移动时两个轴上的位移分量,哪个轴的大,哪个轴在本次滑动事件竞争中就胜出。实际上flutter中的手势识别引入了一个arena的概念,arena直译为“竞技场”的意思,每一个手势识别器(gesturerecognizer)都是一个“竞争者”(gesturearenamember),当发生滑动事件时,他们都要在“竞技场”去竞争本次事件的处理权,而最终只有一个“竞争者”会胜出(win)。例如,假设有一个listview,它的第一个子组件也是listview,如果现在滑动这个子listview,父listview会动吗?答案是否定的,这时只有子listview会动,因为这时子listview会胜出而获得滑动事件的处理权。","当同时监听ontap和ondoubletap事件时,当用户触发tap事件时,会有200毫秒左右的延时,这是因为当用户点击完之后很可能会再次点击以触发双击事件,所以gesturedetector会等一段时间来确定是否为双击事件。如果用户只监听了ontap(没有监听ondoubletap)事件时,则没有延时。","总结","我们以拖动手势为例,同时识别水平和垂直方向的拖动手势,当用户按下手指时就会触发竞争(水平方向和垂直方向),一旦某个方向“获胜”,则直到当次拖动手势结束都会沿着该方向移动。代码如下:","我们发现没有打印\"up\",这是因为在拖动时,刚开始按下手指时在没有移动时,拖动手势还没有完整的语义,此时tapdown手势胜出(win),此时打印\"down\",而拖动时,拖动手势会胜出,当手指抬起时,onhorizontaldragend","我们通过gesturedetector对container进行手势识别,触发相应事件后,在container上显示事件名,为了增大点击区域,将container设置为200×100,代码如下:","手势冲突","手势冲突只是手势级别的,而手势是对原始指针的语义化的识别,所以在遇到复杂的冲突场景时,都可以通过listener直接识别原始指针事件来解决冲突。","手势竞争与冲突","手势识别","拖动、滑动","日志:","本节先介绍一些flutter中用于处理手势的gesturedetector和gesturerecognizer,然后再仔细讨论一下手势竞争与冲突问题。","此示例运行后,每次拖动只会沿一个方向移动(水平或垂直),而竞争发生在手指按下后首次移动(move)时,此例中具体的“获胜”条件是:首次移动时的位移在水平和垂直方向上的分量大的一个获胜。","注意:","注意:使用gesturerecognizer后一定要调用其dispose()方法来释放资源(主要是取消内部的计时器)。","点击、双击、长按","现在在图片上双指张开、收缩就可以放大、缩小图片。本示例比较简单,实际中我们通常还需要一些其它功能,如双击放大或缩小一定倍数、双指张开离开屏幕时执行一个减速放大动画等,读者可以在学习完后面”动画“一章中的内容后自己来尝试实现一下。","现在我们按住圆形“a”拖动然后抬起手指,控制台日志如下:","用户手指按下:offset(26.3,","由于手势竞争最终只有一个胜出者,所以,当有多个手势识别器时,可能会产生冲突。假设有一个widget,它可以左右拖动,现在我们也想检测在它上面手指按下和抬起的事件,代码如下:","示例","竞争","缩放","运行后,就可以在任意方向拖动了,运行效果如图8","运行效果如图8","运行效果:","这样就只能在垂直方向拖动了,如果只想在水平方向滑动同理。"],"chapter8/eventbus.html":["(arg)","(eventnam","(f","(list","(var","...","//","//保存事件订阅者队列,key:事件名(id),value:","//保存单例","//反向遍历,防止在订阅者在回调中移除自身带来的下标错位","//定义一个top","//工厂构造函数","//添加订阅者","//登录成功后触发登录事件,页面a中订阅者会被调用","//登录页b中","//监听登录事件","//私有构造函数","//移除订阅者","//触发事件,事件触发后该事件所有订阅者会被调用","//订阅者回调签名","//页面a中","1;","8.3","8.3:全局事件总线","=","==",">","??=","[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","{","||","}","});","事件总线","事件总线通常用于组件之间状态共享,但关于组件之间状态共享也有一些专门的包如redux、以及前面介绍过的provider。对于一些简单的应用,事件总线是足以满足业务需求的,如果你决定使用状态管理包的话,一定要想清楚您的app是否真的有必要使用它,防止“化简为繁”、过度设计。","使用","在app中,我们经常会需要一个广播机制,用以跨页面事件通知,比如一个需要登录的app中,页面会关注用户登录或注销事件,来进行一些状态更新。这时候,一个事件总线便会非常有用,事件总线通常实现了订阅者模式,订阅者模式包含发布者和订阅者两种角色,可以通过事件总线来触发事件和监听事件,本节我们实现一个简单的全局事件总线,我们使用单例模式,代码如下:","对应事件的订阅者队列","注意:dart中实现单例模式的标准做法就是使用static变量+工厂构造函数的方式,这样就可以保证new"],"chapter8/notification.html":["!=","\";","&&","()","(context)","(context,","(element","(notification)","(notification){","(notification.runtimetype){","(onnotif","(widget","(widget._dispatch(this,","),",");","...//省略无关代码","...//省略重复代码","//","//判断当前element对应的widget是否是notificationlistener。","//只会在滚动结束时才会触发此回调","//打印通知","//指定监听通知的类型为滚动结束通知(scrollendnotification)","//按钮点击时分发通知","//故先判断是否是statelessel","//是notificationlistener,则调用该notificationlistener的_dispatch方法","//是statelesselement,则获取element对应的widget,判断","//是否是notificationlisten","//由于notificationlistener是继承自statelesswidget,","//监听通知","//遍历回调,会对每一个父级element执行此回调","100,","6所示:","8.4","8.4:通知(notification)",":","=","==","=>","@overrid","@requir","[","],","_dispatch(notif","_msg+=notification.msg+\"","_msg=\"\";","bool","break;","bubbling)。通知冒泡和用户触摸事件冒泡是相似的,但有一点不同:通知冒泡可以中止,但用户触摸事件不行。","build(buildcontext","builder(","builder:","case","center(","child:","children:","class","column(","const","context)","context上也提供了遍历element树的方法。","createstate()","dispatch(buildcontext","dispatch(context)中调用了当前context的visitancestorelements方法,该方法会从当前element开始向上遍历父级元素;visitancestorelements有一个遍历回调参数,在遍历过程中对遍历到的父级元素都会执行该回调。遍历的终止条件是:已经遍历到根element或某个遍历回调返回false。源码中传给visitancestorelements方法的遍历回调为visitancestor方法,我们看看visitancestor方法的实现:","element","element)","element))","element.widget;","extend","false;","final","flutter中很多地方使用了通知,如可滚动组件(scrol","flutter中通过通知冒泡实现了一套自低向上的消息传递机制,这个和web开发中浏览器的事件冒泡原理类似,web开发者可以类比学习。另外我们通过源码了解了flutt","flutter的ui框架实现中,除了在可滚动组件在滚动过程中会发出scrollnotification之外,还有一些其它的通知,如sizechangedlayoutnotification、keepalivenotif","function(t","index)","itembuilder:","itemcount:","key","key);","key,","listtile(title:","listview.builder(","mainaxissize.min,","mainaxissize:","msg;","mynotif","mynotification(\"hi\").dispatch(context),","mynotification(this.msg);","new","notif","notification\"),","notification);","notification,","notificationlisten","notificationlistener(","notificationlistener({","notificationlistener)","notificationlistenercallback","notificationrout","notificationroutest","notificationroutestate();","notification有一个dispatch(context)方法,它是用于分发通知的,我们说过context实际上就是操作element的一个接口,它与element树上的节点是对应的,通知会从context对应的element节点向上冒泡。","null","onnotification(notification);","onnotification:","onnotification回调为通知处理回调,其函数签名如下:","onpressed:","overscrollnotification:","print(\"开始滚动\");","print(\"正在滚动\");","print(\"滚动停止\");","print(\"滚动到边界\");","print(notification);","print(notification.msg);","raisedbutton(","result","return","scrollendnotification:","scrollstartnotification:","scrollupdatenotification:","setstate(()","state","statefulwidget","statelesselement)","statelesswidget","string","super(key:","switch","t)","target)","target?.visitancestorelements(visitancestor);","text(\"$index\"),);","text(\"send","text(_msg)","this.child,","this.onnotification,","true;","typedef","visitancestor(el","visitancestor会判断每一个遍历到的父级widget是否是notificationlistener,如果不是,则返回true继续向上遍历,如果是,则调用notificationlistener的_dispatch方法,我们看看_dispatch方法的源码:","void","widget","widget)滑动时就会分发滚动通知(scrollnotification),而scrollbar正是通过监听scrollnotification来确定滚动条位置的。","{","}","})","});","},","、layoutchangednotification等,flutter正是通过这种通知机制来使父元素可以在一些特定时机来做一些事情。","。","上例中的滚动通知如scrollstartnotification、scrollupdatenotification等都是继承自scrollnotification类,不同类型的通知子类会包含不同的信息,比如scrollupdatenotification有一个scrolldelta属性,它记录了移动的位移,其它通知属性读者可以自己查看sdk文档。","上例中,我们通过notificationlistener来监听子listview的滚动通知的,notificationlistener定义如下:","上列中两个notificationlistener进行了嵌套,子notificationlistener的onnotification回调返回了false,表示不阻止冒泡,所以父notificationlistener仍然会受到通知,所以控制台会打印出通知信息;如果将子notificationlistener的onnotification回调的返回值改为true,则父notificationlistener便不会再打印通知了,因为子notificationlistener已经终止通知冒泡了。","上面代码中,我们每点一次按钮就会分发一个mynotification类型的通知,我们在widget根上监听通知,收到通知后我们将通知通过text显示在屏幕上。","上面代码运行后便只会在滚动结束时在控制台打印出通知的信息。","下面我们看一个完整的例子:","下面是一个监听可滚动组件滚动通知的例子:","便只会接收该参数类型的通知。举个例子,如果我们将上例子代码给为:","分发通知。","可以指定一个模板参数,该模板参数类型必须是继承自notification;当显式指定模板参数时,notificationlisten","如果通知监听器不为空,并且当前通知类型是该notificationlisten","它的返回值类型为布尔值,当返回值为true时,阻止冒泡,其父级widget将再也收不到该通知;当返回值为fals","定义一个通知类,要继承自notification类;","总结","我们可以看到notificationlistener的onnotification回调最终是在_dispatch方法中执行的,然后会根据返回值来确定是否继续向上冒泡。上面的源码实现其实并不复杂,通过阅读这些源码,一些额外的点读者可以注意一下:","我们可以看到:","我们可以通过element.widget得到element节点对应的widget;我们已经反复讲过widget和element的对应关系,读者通过这些源码来加深理解。","我们在上面介绍了通知冒泡的现象及使用,现在我们更深入一些,介绍一下flutter框架中是如何实现通知冒泡的。为了搞清楚这个问题,就必须看一下源码,我们从通知分发的的源头出发,然后再顺腾摸瓜。由于通知是通过notification的dispatch(context)方法发出的,那我们先看看dispatch(context)方法中做了什么,下面是相关源码:","我们将上面的例子改为:","时继续向上冒泡通知。","注意:代码中注释的部分是不能正常工作的,因为这个context是根context,而notificationlistener是监听的子树,所以我们通过builder来构建raisedbutton,来获得按钮位置的context。","监听的通知类型,则调用当前notificationlistener的onnotif","继承自statelesswidget类,所以它可以直接嵌套到widget树中。","自定义通知","运行效果如图8","返回值决定是否继续向上遍历","通知冒泡原理","通知冒泡和web开发中浏览器事件冒泡原理是相似的,都是事件从出发源逐层向上传递,我们可以在上层节点任意位置来监听通知/事件,也可以终止冒泡过程,终止冒泡后,通知将不会再向上传递。","通知冒泡的流程和原理,便于读者加深理解和学习flutter的框架设计思想,在此,再次建议读者在平时学习中能多看看源码,定会受益匪浅。","通知(notification)是flutter中一个重要的机制,在widget树中,每一个节点都可以分发通知,通知会沿着当前节点向上传递,所有父节点都可以通过notificationlistener来监听通知。flutter中将这种由子向父的传递通知的机制称为通知冒泡(notif","阻止冒泡","除了flutter内部通知,我们也可以自定义通知,下面我们看看如何实现自定义通知:"],"chapter9/":["design","flutter动画简介","flutter可以轻松实现各种动画类型,对于许多widget,特别是materi","hero动画","widgets,都带有在其设计规范中定义的标准动画效果(但也可以自定义这些效果)。本章将详细介绍flutter的动画系统,并会通过几个小实例来演示,以帮助开发者迅速理解并掌握动画的开发流程与原理。","交错动画","动画结构","本章目录","第九章:动画","简介","精心设计的动画会让用户界面感觉更直观、流畅,能改善用户体验。","自定义路由过渡动画"],"chapter9/intro.html":[");","*","//通过一个回调创建一个ticker","0,","0.0);","10.0,","2);","20.0,","200.0,","200.0,0.0]的值:","2000),","255).animate(controller);","255).animate(curve);","500),","9.1","9.1:flutter动画简介","=","@overrid","abstract","addlistener();它可以用于给animation添加帧监听器,在每一帧都会被调用。帧监听器中最常见的行为是改变状态后调用setstate()来触发ui重建。","addstatuslistener();它可以给animation添加“动画状态改变”监听器;动画开始、结束、正向或反向(见animationstatus定义)时会调用状态改变的监听器。","alpha","anim","animation)方法,它可以获取动画当前映射值。","animationcontrol","animationcontroller(","animationcontroller派生自animation,因此可以在需要animation对象的任何地方使用。","animationcontroller生成数字的区间可以通过lowerbound和upperbound来指定,如:","animationcontroller用于控制动画,它包含动画的启动forward()、停止stop()","animation对象的当前值可以通过value()方法取到。evaluate函数还执行一些其它处理,例如分别确保在动画值为0.0和1.0时返回开始和结束状态。","animation是一个抽象类,它本身和ui渲染没有任何关系,而它主要的功能是保存动画的插值和状态;其中一个比较常用的animation类是animation。animation对象是一个在一段时间内依次生成一个区间(tween)之间值的类。animation对象在整个动画执行过程中输出的值可以是线性的、曲线的、一个步进函数或者任何其他曲线函数等等,这由curve来决定。","class","colors.black54);","colors.transparent,","colortween","colortween(begin:","const","control","controller,","createticker(tickercallback","curv","curve:","curvedanim","curvedanimation(parent:","curvedanimation和animationcontroller(下面介绍)都是animation类型。curvedanimation可以通过包装animationcontroller和curve生成一个新的动画对象","curves.easein);","curves.easeout);","curves曲线","deceler","doubl","doubletween","duration(milliseconds:","duration:","duration表示动画执行的时长,通过它我们可以控制动画的速度。","eas","easein","easeinout","easeout","end:","extend","final","flutter中动画抽象","flutter动画简介","flutter应用在启动时都会绑定一个schedulerbinding,通过schedulerbinding可以给每一次屏幕刷新添加回调,而ticker就是通过schedulerbinding来添加屏幕刷新回调,这样一来,每次屏幕刷新都会调用tickercallback。使用ticker(而不是timer)来驱动动画会防止屏幕外动画(动画的ui不在当前屏幕时,如锁屏时)消耗不必要的资源,因为flutter中屏幕刷新时会通知到绑定的schedulerbinding,而ticker是受schedulerbinding驱动的,由于锁屏后屏幕会停止刷新,所以ticker就不会再触发。","inttween(begin:","linear","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中主要定义动画值的映射规则。","upperbound:","vsync:","{","}","、反向播放","。也就是说,根据选择的曲线,curvedanimation的输出可以具有比输入更大的范围。例如,curves.elasticin等弹性曲线会生成大于或小于默认范围的值。","下面我们看一个colortween将动画输入范围映射为两种颜色值之间过渡输出的例子:","为了方便开发者创建动画,不同的ui系统对动画都进行了一些抽象,比如在android中可以通过xml来描述一个动画然后设置给view。flutter中也对动画进行了抽象,主要涉及animation、curve、controller、tween这四个角色,它们一起配合来完成一个完整动画,下面我们一一来介绍它们。","以下示例构建了一个控制器、一条曲线和一个tween:","但是,animationcontroller具有控制动画的其他方法,例如forward()方法可以启动正向动画,reverse()可以启动反向动画。在动画开始执行后开始生成动画帧,屏幕没刷新一次就是一个动画帧,在动画的每一帧,会随着根据动画的曲线来生成当前的动画值(animation.value),然后根据当前的动画值去构建ui,当所有动画帧依次触发时,动画值会依次改变,所以构建的ui也会依次变化,所以最终我们可以看到一个完成的动画。","例如,下面代码创建一个animation对象(但不会启动动画):","动画过程","动画过程可以是匀速的、匀加速的或者先加速后减速等。flutter中通过curve(曲线)来描述动画过程,我们把匀速动画称为线性的(curves.linear),而非匀速动画称为非线性的。","动画通知","匀减速","匀速的","另外在动画的每一帧,animation对象会调用其帧监听器,等动画状态发生改变时(如动画结束)会调用状态改变监听器。","在任何系统的ui框架中,动画实现的原理都是相同的,即:在一段时间内,快速地多次改变ui外观;由于人眼会产生视觉暂留,所以最终看到的就是一个“连续”的动画,这和电影的原理是一样的。我们将ui的一次改变称为一个动画帧,对应一次屏幕刷新,而决定动画流畅度的一个重要指标就是帧率fps(fram","在某些情况下,动画值可能会超出animationcontroller的[0.0,1.0]的范围,这取决于具体的曲线。例如,fling()函数可以根据我们手指滑动(甩出)的速度(velocity)、力量(force)等来模拟一个手指甩出动画,因此它的动画值可以在[0.0,1.0]范围之外","开始加速,后面减速","开始快,后面慢","开始慢,后面快","开始慢,然后加速,最后再减速","当创建一个animationcontroller时,需要传递一个vsync参数,它接收一个tickerprovider类型的对象,它的主要职责是创建ticker,定义如下:","当然我们也可以创建自己curve,例如我们定义一个正弦曲线:","我们可以通过animation来监听动画每一帧以及执行状态的变化,animation有如下两个方法:","我们可以通过curvedanimation来指定动画的曲线,如:","或animation。在动画的每一帧中,我们可以通过animation对象的value属性获取动画的当前状态值。","根据animation对象的控制方式,动画可以正向运行(从起始状态开始,到终止状态结束),也可以反向运行,甚至可以在中间切换方向。animation还可以生成除double之外的其他类型值,如:anim","注意animate()返回的是一个animation,而不是一个animatable。","注意:","类中还定义了许多其它的曲线,在此便不一一介绍,读者可以自行查看curves类定义。","类是一个预置的枚举类,定义了许多常用的曲线,下面列几种常用的:","要使用tween对象,需要调用其animate()方法,然后传入一个控制器对象。例如,以下代码在500毫秒内生成从0到255的整数值。","读者在此只需要知道帧监听器和状态监听器的区别,在后面的章节中我们将会举例说明。","通常我们会将singletickerproviderstatemixin添加到state的定义中,然后将state对象作为vsync的值,这在后面的例子中可以见到。","除了上面列举的,","默认情况下,animationcontroller对象值的范围是[0.0,1.0]。如果我们需要构建ui的动画值在不同的范围或不同的数据类型,则可以使用tween来添加映射以生成不同的范围或数据类型的值。例如,像下面示例,tween生成[",",我们正是通过这种方式来将动画和动画执行的曲线关联起来的。我们指定动画的曲线为curves.easein,它表示动画开始时比较慢,结束时比较快。"],"chapter9/animation_structure.html":["(buildcontext","(statu","),",");","...","..addlistener(()","//return","//使用弹性曲线","//动画恢复到初始状态时执行动画(正向)","//动画执行结束时反向执行动画","//启动动画","//启动动画(正向执行)","//启动动画(正向)","//图片宽高从0变到300","//路由销毁时需要释放动画资源","//需要继承tickerprovider,如果有多个animationcontroller,则应该使用tickerproviderstatemixin。","0.0,","1),","1、9","2所示:","3),","300.0).animate(animation)","300.0).animate(controller)","300.0).animate(controller);","9.2","9.2.1","9.2.2","9.2:动画结构",":","=","==","=>","@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(\"imgs/avatar.png\",","initstate()","key,","listenable:","listenable;","new","return","revers","scaleanimationrout","scaleanimationroute1","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","上面代码执行后截取了其中的两帧,效果如图9","上面的build方法中的代码可以改为:","上面的代码中有一个迷惑的问题是,child看起来像被指定了两次。但实际发生的事情是:将外部引用child传递给animatedbuilder后animatedbuilder再将其传递给匿名构造器,","上面的例子中并没有指定curve,所以放大的过程是线性的(匀速),下面我们指定一个curve,来实现一个类似于弹簧效果的动画过程,我们只需要将initstate中的代码改为下面这样即可:","上面说过,我们可以通过animation的addstatuslistener()方法来添加动画状态改变监听器。flutter中,有四种动画状态,在animationstatus枚举类中定义,下面我们逐个说明:","下面我们演示一下最基础的动画实现方式:","不用显式的去添加帧监听器,然后再调用setstate()","也许你会说这和我们刚开始的示例差不了多少,其实它会带来三个好处:","了,这个好处和animatedwidget是一样的。","使用animatedwidget简化","动画在终点停止","动画在起始点停止","动画基本结构","动画基本结构及状态监听","动画构建的范围缩小了,如果没有builder,setstate()将会在父组件上下文中调用,这将会导致父组件的build方法重新调用;而有了builder之后,只会导致动画widget自身的build重新调用,避免不必要的rebuild。","动画正在反向执行","动画正在正向执行","动画状态监听","含义","在flutter中我们可以通过多种方式来实现动画,下面通过一个图片逐渐放大示例的不同实现来演示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)=>pageb(),","));","),",");","//使用渐隐渐入过渡,","//动画时间为500毫秒","//当前路由被激活,是打开新路由","//是返回,则不应用过渡动画","//路由b","300),","500),","9.3","9.3:自定义路由过渡动画","=","=>","@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(","cupertinopageroute是cupertino组件库提供的ios风格的路由切换组件,它实现的就是左右滑动切换。那么我们如何来自定义路由切换动画呢?答案就是pageroutebuilder。下面我们来看看如何使用pageroutebuilder来自定义路由切换动画。例如我们想以渐隐渐入动画来实现路由过渡,实现代码如下:","durat","duration(milliseconds:","edgeinsets.zero);","extend","faderout","faderoute(builder:","faderoute({","fadetransition(","false,","final","if(isactive)","maintainstate;","navigator.push(","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文档,比较简单,不再赘述。","定义一个路由类faderout","我们可以看到pagebuild","我们在第二章”路由管理“一节中讲过:material组件库中提供了一个materialpageroute组件,它可以使用和平台风格一致的路由切换动画,如在ios上会左右滑动切换,而在android上会上下滑动切换。现在,我们如果在android上也想使用左右切换风格,该怎么做?一个简单的作法是可以直接使用cupertinopageroute,如:","无论是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,","9.4","9.4:hero动画","@overrid","alignment.topcenter,","alignment:","anim","animation,","appbar(","appbar:","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(","return","scaffold(","secondaryanimation)","statelesswidget","tag:","text(\"原图\"),","title:","widget","width:","{","}","})","},","为什么要将这种可飞行的共享组件称为hero(英雄),有一种说法是说美国文化中的超人是可以飞的,那是美国人心中的大英雄,还有漫威中的超级英雄基本上都是会飞的,所以flutter开发人员就对这种”会飞的widget\"就起了一个富有浪漫主义的名字hero。当然这种说法并非官方解释,但却很有意思。","你可能多次看到过","假设有两个路由a和b,他们的内容交互如下:","共享元素转换。下面我们通过一个示例来体验一下hero","前后路由页的共享hero的tag必须是相同的,flutt","动画。","动画。例如,一个路由中显示待售商品的缩略图列表,选择一个条目会将其跳转到一个新路由,新路由中包含该商品的详细信息和“购买”按钮。","在ab两个路由之间跳转的时候,用户头像会逐渐过渡到目标路由页的头像上,接下来我们先看看代码,然后再解析:","在flutter中将图片从一个路由“飞”到另一个路由称为hero动画,尽管相同的动作有时也称为","我们可以看到,实现hero动画只需要用hero组件将要共享的widget包装起来,并提供一个相同的tag即可,中间的过渡帧都是flutt","示例","路由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,","3灰色矩形,就可以看到整个动画效果,图9","4是动画执行过程中的一帧。","50.0,","9.5","9.5:交织动画","=","=>","@overrid","_buildanimation(buildcontext","_buildanimation,","_control","_controller.forward().orcancel;","_controller.reverse().orcancel;","_controller;","_playanimation()","_playanimation();","_staggerroutest","_staggerroutestate();","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来为每个动画指定在整个动画过程中的起始点和终点。下面我们来实现启动动画的路由:","staggerrout","state","statefulwidget","statelesswidget","super(key:","super.initstate();","this.control","tickercancel","tickerproviderstatemixin","tri","tween(","void","vsync:","widget","width:","{","}","}):","},","一个animationcontroller控制所有的动画对象。","下面我们看一个例子,实现一个柱状图增长的动画:","交织动画","开始时高度从0增长到300像素,同时颜色由绿色渐变为红色;这个过程占据整个动画时间的60%。","我们将执行动画的widget分离出来:","所有动画都由同一个animationcontroller驱动,无论动画需要持续多长时间,控制器的值必须在0.0到1.0之间,而每个动画的间隔(interval)也必须介于0.0和1.0之间。对于在间隔中设置动画的每个属性,需要分别创建一个tween","执行效果如图,点击图9","有些时候我们可能会需要一些复杂的动画,这些动画可能由一个动画序列或重叠的动画组成,比如:有一个柱状图,需要在高度增长的同时改变颜色,等到增长到最大高度后,我们需要在x轴上平移一段距离。可以发现上述场景在不同阶段包含了多种动画,要实现这种效果,使用交织动画(stagger","用于指定该属性的开始值和结束值。也就是说0.0到1.0代表整个动画过程,我们可以给不同动画指定不同的起始点和终止点来决定它们的开始时间和终止时间。","示例","给每一个动画对象指定时间间隔(interval)","要创建交织动画,需要使用多个动画对象(animation)。","高度增长到300后,开始沿x轴向右平移100像素;这个过程占用整个动画时间的40%。"],"chapter9/animated_switcher.html":["!=","'$_count',","'package:flutter/material.dart';","()","(direction)","(position.statu","(widget",")","),",");","+=","...//省略","...//省略其余代码","//","//上入下出","//动画反向执行时,调整x偏移,实现”从左边滑出隐藏“","//布局构建器","//执行缩放动画","//显示指定key,不同的key会被认为是不同的text,这样才能执行动画","//退场(出)方向","0))","0));","0),","0;","1),","1,","1;","200),","500),","5所示:","6所示:","7所示:","9.6","9.6.1","9.6.2","9.6:通用\"切换动画\"组件(animatedswitcher)",":",";","=","==","=>","@overrid","@requir","[","],","_animatedswitchercounterroutest","_animatedswitchercounterroutestate();","_count","_tween","_tween.evaluate(position);","_tween;","anim","animatedswitch","animatedswitcher(","animatedswitcher({","animatedswitcher.defaultlayoutbuilder,","animatedswitcher.defaulttransitionbuilder,","animatedswitchercounterrout","animatedswitchercounterroute({key","animatedswitchertransitionbuild","animatedswitcher高级用法","animatedwidget","animation)","animation);","animation,","animationstatus.reverse)","assert(posit","axisdirect","axisdirection.down,","axisdirection.down:","axisdirection.left:","axisdirection.right:","axisdirection.up:","bool","break;","build(buildcontext","case","center(","child,","child:","child;","children:","class","column(","const","context)","createstate()","curves.linear,","curves.linear,//","defaulttransitionbuilder(widget","direction:","direction;","duration(milliseconds:","duration:","end:","extend","fadetransition(","final","fractionaltranslation(","function(widget","import","int","key","key);","key,","key:","key})","listenable:","listenable;","mainaxisalignment.center,","mainaxisalignment:","myslidetransit","myslidetransition(","myslidetransition({","null),","offset","offset(","offset(0,","offset(1,","offset(offset.dx,","offset,","offset.dx,","offset.dy);","offset=position.value;","onpressed:","opacity:","posit","position)","position,","position:","raisedbutton(","return","scale:","scaletransition(child:","sdk中提供了一个animatedswitcher组件,它定义了一种通用的ui切换抽象。","sdk组件库中已经提供了一些常用的切换组件,如pageview、tabview等,但是,这些组件并不能覆盖全部的需求场景,为此,flutt","setstate(()","slidetransition(","slidetransitionx","slidetransitionx(","slidetransitionx({","state","statefulwidget","style:","super(key:","switch","text(","text('+1',),","theme.of(context).texttheme.display1,","this.child,","this.direct","this.duration,","this.layoutbuild","this.reverseduration,//","this.switchincurv","this.switchoutcurv","this.transformhittest","this.transitionbuild","transformhittests,","transformhittests:","transformhittests;","transitionbuilder:","translation:","true,","tween","tween(begin:","tween.animate(animation),","tween=tween(begin:","typedef","valuekey(_count),","var","widget","{","}","})","});","},","”下入上出“怎么办?当然,我们可以分别修改上面的代码,但是这样每种动画都得单独定义一个”transition“,这很麻烦。本节将分装一个通用的slidetransitionx","上图中“0”从左侧滑出,而\"1\"从右侧滑入。可以看到,我们通过这种巧妙的方式实现了类似路由进场切换的动画,实际上flutter路由切换也正是通过animatedswitcher来实现的。","上图中“1”从底部滑出,而\"2\"从顶部滑入。读者可以尝试给slidetransitionx的direction取不同的值来查看运行效果。","上图是第一次点击“+1”按钮后切换动画的一帧,此时“0”正在逐渐缩小,而“1”正在“0”的中间,正在逐渐放大。","上面的代码有什么问题呢?我们前面说过在animatedswitcher的child切换时会分别对新child执行正向动画(forward),而对旧child执行反向动画(reverse),所以真正的效果便是:新child确实从屏幕右侧平移进入了,但旧child却会从屏幕右侧(而不是左侧)退出。其实也很容易理解,因为在没有特殊处理的情况下同一个动画的正向和逆向正好是相反(对称)的。","上面的示例我们实现了”左出右入“的动画,那如果要实现”右入左出“、”上入下出“或者","下面我们看一个列子:实现一个计数器,然后再每一次自增的过程中,旧数字执行缩小动画隐藏,新数字执行放大动画显示,代码如下:","例子","假设现在我们想实现一个类似路由平移切换的动画:旧页面屏幕中向左侧平移退出,新页面重屏幕右侧平移进入。如果要用animatedswitcher的话,我们很快就会发现一个问题:做不到!我们可能会写出下面的代码:","偏移在内部处理","动画构建器","可以同时对其新、旧子元素添加显示、隐藏动画。也就是说在animatedswitcher的子元素发生变化时,会对其旧元素和新元素,我们先看看animatedswitch","可以看到,返回了fadetransition对象,也就是说默认情况,animatedswitcher会对新旧child执行“渐隐”和“渐显”动画。","实际开发中,我们经常会遇到切换ui元素的场景,比如tab切换、路由切换。为了增强用户体验,通常在切换时都会指定一个动画,以使切换过程显得平滑。flutt","对新child,绑定的动画会正向指向(forward)","对旧child,绑定的动画会反向执行(reverse)","当animatedswitcher的child发生变化时(类型或key不同),旧child会执行隐藏动画,新child会执行执行显示动画。究竟执行何种动画效果则由transitionbuilder参数决定,该参数接受一个animatedswitchertransitionbuilder类型的builder,定义如下:","总结","新child显示动画时长","新child显示的动画曲线","旧child隐藏的动画时长","旧child隐藏的动画曲线","本节我们学习了animatedswitcher的详细用法,同时也介绍了打破animatedswitcher动画对称性的方法。我们可以发现:在需要切换新旧ui元素的场景,animatedswitcher将十分实用。","来实现这种”出入滑动动画“,代码如下:","注意:animatedswitcher的新旧child,如果类型相同,则key必须不相等。","现在如果我们想实现各种”滑动出入动画\"\"便非常容易,只需给direction传递不同的方向值即可,比如要实现”上入下出“,则:","的定义:","该builder在animatedswitcher的child切换时会分别对新、旧child绑定动画:","调用时,将slidetransition替换成myslidetransition即可:","运行后,我截取动画执行过程中的一帧,如图9","运行示例代码,当点击“+1”按钮时,原先的数字会逐渐缩小直至隐藏,而新数字会逐渐放大,我截取了动画执行过程的一帧,如图9","这样一下,便实现了对新、旧child的动画绑定。animatedswitcher的默认值是animatedswitcher.defaulttransitionbuild","通用\"切换动画\"组件(animatedswitcher)","那么问题来了,难道就不能用animatedswitcher了?答案当时是否定的!仔细想想这个问题,究其原因,就是因为同一个animation正向(forward)和反向(reverse)是对称的。所以如果我们可以打破这种对称性,那么便可以实现这个功能,下面我们来封装一个myslidetransition,它和slidetransition唯一的不同就是对动画的反向执行进行了(从左边滑出隐藏):",":"],"chapter10/":["custompaint与canva","实例:turnbox","实例:圆形渐变进度条","本章目录","第十章:自定义组件","自定义widget方法简介","通过组合现有widget实现"],"chapter10/intro.html":["10.1","10.1:自定义组件方法简介","api手动去绘制ui,优点是强大灵活,理论上可以实现任何外观的ui,而缺点是必须了解canva","api来实现。子类需要重写此方法以实现自身的绘制逻辑,如renderparagraph需要实现文本绘制逻辑,而renderimage需要实现图片绘制逻辑。","api来绘制的,那么通过实现renderobject的方式和上面介绍的通过custompaint和canvas自绘的方式有什么区别?其实答案很简单,custompaint只是为了方便开发者封装的一个代理类,它直接继承自singlechildrenderobjectwidget,通过rendercustompaint的paint方法将canvas和画笔painter(需要开发者实现,后面章节介绍)连接起来实现了最终的绘制(绘制逻辑在painter中)。","api细节,并且得自己去实现绘制逻辑。","context,","flutter提供的自身具有ui外观的组件,如文本text、image都是通过相应的renderobject(我们将在“flutter核心原理”一章中详细介绍renderobject)渲染出来的,如text是由renderparagraph渲染;而image是由renderimage渲染。renderobject是一个抽象类,它定义了一个抽象方法paint(...):","offset","offset)","paint(paintingcontext","paintingcontext代表组件的绘制上下文,通过paintingcontext.canvas可以获得canvas,而绘制逻辑主要是通过canva","void","“组合”是自定义组件最简单的方法,在任何需要自定义组件的场景下,我们都应该优先考虑是否能够通过组合来实现。而自绘和通过实现renderobject的方法本质上是一样的,都需要开发者调用canva","可以发现,renderobject中最终也是通过canva","在flutter中,组合的思想非常重要,flutter提供了非常多的基础组件,而我们的界面开发其实就是按照需要组合这些组件来实现各种不同的布局而已。","在本章接下来的小节中,我们将通过一些实例来详细介绍自定义ui的过程,由于后两种方法本质是相同的,并且flutter中很多基础组件都是通过renderobject的形式来实现的,所以后续我们只介绍custompaint和canvas的方式,读者如果对自定义renderobject的方法好奇,可以查看flutter中相关基础组件对应的renderobject的实现源码,如renderparagraph或renderimage。","如果遇到无法通过现有的组件来实现需要的ui时,我们可以通过自绘组件的方式来实现,例如我们需要一个颜色渐变的圆形进度条,而flutter提供的circularprogressindicator并不支持在显示精确进度时对进度条应用渐变色(其valuecolor","实现renderobject","属性只支持执行旋转动画时变化indicator的颜色),这时最好的方法就是通过自定义组件来绘制出我们期望的外观。我们可以通过flutter中提供的custompaint和canvas来实现ui自绘。","当flutter提供的现有组件无法满足我们的需求,或者我们为了共享代码需要封装一些通用组件,这时我们就需要自定义组件。在flutter中自定义组件有三种方式:通过组合其它组件、自绘和实现renderobject。本节我们先分别介绍一下这三种方式的特点,后面章节中则详细介绍它们的细节。","总结","组合其它widget","自定义组件方法简介","自绘","这种方式是通过拼装其它组件来组合成一个新的组件。例如我们之前介绍的container就是一个组合组件,它是由decoratedbox、constrainedbox、transform、padding、align等组件组成。"],"chapter10/combine.html":["'../widgets/index.dart';","'package:flutter/material.dart';","),",");","//","//点击回调","//确保colors数组不空","10.2","10.2:组合现有组件","1):","50.0,","=","=>","??","@overrid","@requir","[","[colors.lightblue[300],","[colors.lightgreen,","[colors.orange,","[theme.primarycolor,","],","_color","_colors),","_colors.last,","_gradientbuttonroutest","_gradientbuttonroutestate();","borderradiu","borderradius,","borderradius:","borderradius;","boxconstraints.tightfor(height:","boxdecoration(","build(buildcontext","center(","child,","child:","child;","children:","class","click\");","color","colors.blueaccent],","colors.green[700]],","colors.red],","colors.transparent,","colors:","colors;","column(","const","constrainedbox(","constraints:","container(","context)","createstate()","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,","material组件库中的按钮默认不支持渐变背景,为了实现渐变背景按钮,我们自定义一个gradientbutton组件,它需要支持一下功能:","onpressed,","onpressed:","onpressed;","ontap()","ontap,","ontap:","padding(","padding:","print(\"button","return","splashcolor:","state","statefulwidget","statelesswidget","style:","text(\"submit\"),","textstyle(fontweight:","theme","theme.of(context);","theme.primarycolor];","theme.primarycolordark","themedata","this.borderradius,","this.child,","this.colors,","this.height,","this.onpressed,","this.width,","type:","widget","width),","width:","width;","{","}","});","使用gradientbutton","可以支持圆角","可以看到gradientbutton是由decoratedbox、padding、center、inkwell等组件组合而成。当然上面的代码只是一个示例,作为一个按钮它还并不完整,比如没有禁用状态,读者可以根据实际需要来完善。","在flutter中页面ui通常都是由一些低阶别的组件组合而成,当我们需要封装一些通用组件时,应该首先考虑是否可以通过组合其它组件来实现,如果可以,则应优先使用组合,因为直接通过现有组件拼装会非常简单、灵活、高效。","总结","我们decoratedbox可以支持背景色渐变和圆角,inkwell在手指按下有涟漪效果,所以我们可以通过组合decoratedbox和inkwell来实现gradientbutton,代码如下:","我们先来看看最终要实现的效果(图10","手指按下时有涟漪效果","按钮宽高","标注,对于可选参数在特定场景需要判空或设置默认值等。这是由于使用者大多时候可能不了解组件的内部细节,所以为了保证代码健壮性,我们需要在用户错误地使用组件时能够兼容或报错提示(使用assert断言函数)。","渐变色数组","示例:自定义渐变按钮","组合现有组件","背景支持渐变色","通过组合的方式定义组件和我们之前写界面并无差异,不过在抽离出单独的组件时我们要考虑代码规范性,如必要参数要用@requir"],"chapter10/turn_box.html":["!=","'../widgets/index.dart';","'package:flutter/material.dart';","'package:flutter/widgets.dart';","()","(oldwidget.turn","(widget.text",")","),",");","+=",".0,",".0;",".2;","//","//旋转的“圈”数,一圈为360度,如0.25圈即90度","//旋转角度发生变化时执行过渡动画","//过渡动画执行的总时长","10.3","10.3:组合实例:turnbox","1000,","150.0,),","200,","2所示:","50,),","500,",":",":super(key:","=","=>","@overrid","[","],","_control","_controller,","_controller.animateto(","_controller.dispose();","_controller.valu","_controller;","_myrichtextst","_myrichtextstate();","_textspan","_textspan,","_textspan;","_turn","_turnboxroutest","_turnboxroutestate();","_turnboxst","_turnboxstate();","_turns,","animationcontrol","animationcontroller(","build(buildcontext","center(","child:","child;","children:","class","column(","const","context)","createstate()","curve:","curves.easeout,","didupdatewidget(myrichtext","didupdatewidget(turnbox","dispose()","doubl","double.infin","double.infinity,","duration(milliseconds:","duration:","extend","final","icon(icons.refresh,","import","initstate()","int","key","key);","key,","linkstyle;","lowerbound:","myrichtext","myrichtext({","new","oldwidget)","oldwidget.text)","onpressed:","parsetext(str","parsetext(widget.text)","parsetext(widget.text);","raisedbutton(","return","richtext(","rotationtransition(","setstate(()","singletickerproviderstatemixin","size:","speed:","speed;","state","statefulwidget","string","super(key:","super.didupdatewidget(oldwidget);","super.dispose();","super.initstate();","text(\"逆时针旋转1/5圈\"),","text(\"顺时针旋转1/5圈\"),","text)","text:","text;","textspan","textstyl","this,","this.child","this.linkstyle,","this.spe","this.text,","this.turn","turnbox","turnbox(","turnbox({","turnboxrout","turnbox的完整代码如下:","turns:","turns;","upperbound:","url链接样式","void","vsync:","widget","widget.child,","widget.speed??200),","widget.turns)","widget.turns,","widget.turns;","{","}","})","});","},","上面代码中:","下面我们测试一下turnbox的功能,测试代码如下:","在build中返回最终的富文本样式;","在didupdatewidget中,我们判断要旋转的角度是否发生了变化,如果变了,则执行一个过渡动画。","实现的代码大致如下:","实际上本示例只组合了rotationtransition一个组件,它是一个最简的组合类组件示例。另外,如果我们封装的是statefulwidget,那么一定要注意在组件更新时是否需要同步状态。比如我们要封装一个富文本展示组件myrichtext","当我们点击旋转按钮时,两个图标的旋转都会旋转1/5圈,但旋转的速度是不同的,读者可以自己运行一下示例看看效果。","我们之前已经介绍过rotatedbox,它可以旋转子组件,但是它有两个缺点:一是只能将其子节点以90度的倍数旋转;二是当旋转的角度发生变化时,旋转角度更新过程没有动画。","我们是通过组合rotationtransition和child来实现的旋转效果。","接下来我们在_myrichtextstate中要实现的功能有两个:","文本字符串","有些读者可能会觉得这个点也很简单,是的,的确很简单,之所以要在这里反复强调是因为这个点在实际开发中很容易被忽略,它虽然简单,但却很重要。总之,当我们在state中会缓存某些依赖widget参数的数据时,一定要注意在组件更新时是否需要同步状态。","本节我们将实现一个turnbox组件,它不仅可以以任意角度来旋转其子节点,而且可以在角度发生变化时执行一个动画以过渡到新状态,同时,我们可以手动指定动画速度。","测试代码运行后效果如图10","由于解析文本字符串,构建出textspan是一个耗时操作,为了不在每次build的时候都解析一次,所以我们在initstate中对解析的结果进行了缓存,然后再build中直接使用解析的结果_textspan。这看起来很不错,但是上面的代码有一个严重的问题,就是父组件传入的text发生变化时(组件树结构不变),那么myrichtext显示的内容不会更新,原因就是initstate只会在state创建时被调用,所以在text发生变化时,parsetext没有重新执行,导致_textspan任然是旧的解析值。要解决这个问题也很简单,我们只需添加一个didupdatewidget回调,然后再里面重新调用parsetext即可:","省略具体实现。","组合实例:turnbox","耗时操作:解析文本字符串,构建出textspan。","解析文本字符串“text”,生成textspan缓存起来;",",它可以自动处理url链接,定义如下:"],"chapter10/custom_paint.html":["&","'dart:math';","'package:flutter/material.dart';","(int",")","),",");","..color","..color=color(0x77cdb175);//画笔颜色","..isantialia","..strokewidth","..style","/","//创建一个画笔并配置其属性","//填充","//子节点,可以为空","//指定画布大小","//是否抗锯齿","//画棋盘网格","//画棋盘背景","//画笔样式:填充","//线","//背景为纸黄色","0;","1.0;","10.4","10.4:自绘组件(custompaint与canvas)","15;","300),","3所示:","=","@overrid","build(buildcontext","canvas,","canvas.drawrect(offset.zero","canvas:一个画布,包括各种绘制方法,我们列出一下常用的方法:","center(","child,","child:","class","color(0x77cdb175);","colors.black87","context)","custompaint","custompaint(","custompaint({","custompainter中提定义了一个虚函数paint:","custompaintrout","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","willchange:和iscomplex配合使用,当启用缓存时,该属性代表在下一帧中绘制是否会改变。","{","|","|api名称","}","})","下面我们通过一个五子棋游戏中棋盘和棋子的绘制来演示自绘ui的过程,首先我们看一下我们的目标效果,如图10","代码:","几乎所有的ui系统都会提供一个自绘ui的接口,这个接口通常会提供一块2d画布canvas,canvas内部封装了一些基本绘制的api,开发者可以通过canvas绘制各种自定义图形。在flutter中,提供了一个custompaint","前景画笔,会显示在子节点前面","功能","可以看到,绘制时我们需要提供前景或背景画笔,两者也可以同时提供。我们的画笔需要继承custompainter类,我们在画笔类中实现真正的绘制逻辑。","如果custompaint有子节点,为了避免子节点不必要的重绘并提高性能,通常情况下都会将子节点包裹在repaintboundary组件中,这样会在绘制时就会创建一个新的绘制层(layer),其子组件将在新的layer上绘制,而父组件将在原来layer上绘制,也就是说repaintboundari","子组件的绘制将独立于父组件的绘制,repaintboundary会隔离其子节点和custompaint本身的绘制边界。示例如下:","对于一些复杂或不规则的ui,我们可能无法通过组合其它组件的方式来实现,比如我们需要一个正六边形、一个渐变的圆形进度条、一个棋盘等。当然,有时候我们可以使用图片来实现,但在一些需要动态交互的场景静态图片也是实现不了的,比如要实现一个手写输入面板,这时,我们就需要来自己绘制ui外观。","尽可能的利用好shouldrepaint返回值;在ui树重新build时,控件在绘制前都会先调用该方法以确定是否有必要重绘;假如我们绘制的ui不依赖外部状态,那么就应该始终返回false,因为外部状态改变导致重新build时不会影响我们的ui外观;如果绘制依赖外部状态,那么我们就应该在shouldrepaint中判断依赖的状态是否改变,如果已改变则应返回true来重绘,反之则应返回false不需要重绘。","性能","总结","我们看看custompaint构造函数:","更多的配置属性读者可以参考paint类定义。","注意","现在画布有了,我们最后还缺一个画笔,flutter提供了paint类来实现画笔。在paint中,我们可以配置画笔的各种属性如粗细、颜色、样式等。如:","画图像","画圆","画圆弧","画椭圆","画点","画矩形","画笔paint","画线","画路径","示例:五子棋/盘","组件,它可以结合画笔custompainter来实现自定义图形绘制。","绘制尽可能多的分层;在上面五子棋的示例中,我们将棋盘和棋子的绘制放在了一起,这样会有一个问题:由于棋盘始终是不变的,用户每次落子时变的只是棋子,但是如果按照上面的代码来实现,每次绘制棋子时都要重新绘制一次棋盘,这是没必要的。优化的方法就是将棋盘单独抽为一个组件,并设置其shouldrepaint回调值为false,然后将棋盘组件作为背景。然后将棋子的绘制放到另一个组件中,这样每次落子时只需要绘制棋子。","绘制是比较昂贵的操作,所以我们在实现自绘控件时应该考虑到性能开销,下面是两条关于性能优化的建议:","背景画笔,会显示在子节点后面;","自绘控件非常强大,理论上可以实现任何2d图形外观,实际上flutter提供的所有组件最终都是通过调用canvas绘制出来的,只不过绘制的逻辑被封装起来了,读者有兴趣可以查看具有外观样式的组件源码,找到其对应的renderobject对象,如text对应的renderparagraph对象最终会通过canvas实现文本绘制逻辑。下一节我们会再通过一个自绘的圆形背景渐变进度条的实例来帮助读者加深印象。","自绘组件","(custompaint与canvas)"],"chapter10/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,","10.5","10.5:自绘实例:圆形渐变进度条(自绘)","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(strokewidth","asin(strokewidth/","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","stops,","stops:","stops;","strokecap.butt","strokecap.round","strokecapround","strokecapround,","strokecapround:","strokecapround;","strokewidth","strokewidth));","strokewidth,","strokewidth:","strokewidth;","style:","super.dispose();","super.initstate();","sweepgradient(","text(","textstyle(","theme","this,","this.backgroundcolor","this.colors,","this.radius,","this.stops,","this.strokecapround","this.strokecapround:","this.strokewidth","this.strokewidth:","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的不同外观和用途,这个示例代码会比较长,并且添加了动画,建议读者将此示例运行起来观看实际效果,我们先看看其中的一帧动画的截图:","下面调整的角度的计算公式是通过数学几何知识得出,读者有兴趣可以研究一下为什么是这样","任意弧度;进度条可以不是整圆。","先画背景","再画前景,应用渐变","可以发现要实现这样的一个进度条是无法通过现有组件组合而成的,所以我们通过自绘方式实现,代码如下:","可以自定义粗细、两端是否圆角等样式。","圆的半径","如果两端为圆角,则需要对起始位置进行调整,否则圆角部分会偏离起始位置","当前进度,取值范围","怎么样,很炫酷吧!gradientcircularprogressindicator已经被添加进了笔者维护的flukit组件库中了,读者如果有需要,可以直接依赖flukit包。","支持多种背景渐变色。","本节我们实现一个圆形背景渐变进度条,它支持:","渐变色数组","渐变色的终止点,对应colors属性","示例代码:","自绘实例:圆形背景渐变进度条","进度条的总弧度,2*pi为整圆,小于2*pi则不是整圆","进度条背景色"],"chapter11/":["api","dio","httpclient","http请求","json转model","packag","websocket","使用socket","实例:http分块下载","文件操作","本章目录","第十一章:文件操作与网络请求"],"chapter11/file_operation.html":["$_counter","'dart:async';","'dart:io';","'increment',","'package:flutter/material.dart';","'package:path_provider/path_provider.dart';","(await","),",");","//","//从文件读取点击次数","0;","11.1","11.1:文件操作",":","=","=>","@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())返回的值。","这里,我们使用文件来保存数据:"],"chapter11/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","11.2","11.2:http请求","192.168.1.2:8888\";","1所示:","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请求认证","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的例子,示例效果如图11","我们通过读取响应流来获取服务器返回的数据,在读取时我们可以设置编码格式,这里是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请求"],"chapter11/dio.html":["\"age\":","\"file1\":","\"file2\":","\"files\":","\"name\":","\"proxi","\"upload.txt\")","\"upload.txt\"),","\"upload1.txt\"),","\"upload2.txt\"),","\"wendux\",","#请使用pub上的最新版本","'package:dio/dio.dart';","(buildcontext","(client)","(dio.httpclientadapt","(snapshot.connectionst","(snapshot.haserror)","(uri)","),",").tolist(),",");","//","//发生错误","//校验证书","//设置代理","//证书一致,则允许发送数据","//请求完成","//请求成功,通过项目信息构建用于显示项目名称的listview","//请求未完成时弹出load","11.3","11.3:http请求","192.168.1.2:8888\";","25,",":","=","==","=>","@overrid","[","]","^x.x.x","_dio","_dio.get(\"https://api.github.com/orgs/flutterchina/repos\"),","_futurebuilderroutest","alignment.center,","alignment:","api、formdata、拦截器、请求取消、cookie管理、文件上传/下载、超时等。dio的使用方式随着其版本升级可能会发生变化,如果本节所述内容和dio官方有差异,请以dio官方文档为准。","asyncsnapshot","await","build(buildcontext","builder:","cert,","child:","children:","circularprogressindicator();","class","client.findproxi","connectionstate.done)","container(","context)","context,","data:","data”。","defaulthttpclientadapter).onhttpclientcr","dependencies:","dio","dio();","dio.download(\"https://www.google.com/\",_savepath);","dio.get(\"/test\",queryparameters:{\"id\":12,\"name\":\"wendu\"})","dio.get(\"/test?id=12&name=wendu\")","dio.post(\"/info\",","dio.post(\"/test\",data:{\"id\":12,\"name\":\"wendu\"})","dio:","dio实例来发起网络请求了,注意,一个dio实例可以发起多个http请求,一般来说,app只有一个http数据源时,dio应该使用单例模式。","dio是一个强大的dart","extend","false;","file(\"./example/upload.txt\"),","file(\"./upload.txt\"),","formdata","formdata)","formdata.from({","formdata:","future.wait([dio.post(\"/info\"),dio.get(\"/token\")]);","future:","futurebuilder(","host,","httpclient.badcertificatecallback=(x509certif","http库","http请求","http请求库,支持rest","if(cert.pem==pem){","import","int","listtile(title:","listview(","new","packag","port){","post","print(response);","print(response.data.tostring());","respons","response.data.map((e)","response;","response=","response=await","return","snapshot)","snapshot.data;","state","string","text(e[\"full_name\"]))","text(snapshot.error.tostring());","true;","uploadfileinfo(new","widget","{","}","});","};","。","下一节我们将使用dio实现一个分块下载器。","下载文件:","代码如下:","值得一提的是,dio内部仍然使用httpclient发起的请求,所以代理、请求认证、证书校验等和httpclient是相同的,我们可以在onhttpclientcreate回调中设置,例如:","发起","发起一个","发起多个并发请求:","发送","在请求阶段弹出load","如果发送的数据是formdata,则dio会将请求header的contenttype设为“multipart/form","实例","对于get请求我们可以将query参数通过对象来传递,上面的代码等同于:","导入并创建dio实例:","引入","引入dio:","怎么样,是不是很简单,除了这些基本的用法,dio还支持请求配置、拦截器等,官方资料比较详细,故本书不再赘述,详情可以参考dio主页:https://github.com/flutterchina/dio","我们通过github开放的api来请求flutterchina组织下的所有公开的开源项目,实现:","接下来就可以通过","支持文件数组上传","注意,onhttpclientcreate会在当前dio实例内部需要创建httpclient时调用,所以通过此回调配置httpclient会对整个dio实例生效,如果你想针对某个应用请求单独的代理或证书校验策略,可以创建一个新的dio实例即可。","示例","请求","请求:","请求结束后,如果请求失败,则展示错误信息;如果成功,则将项目名称列表展示出来。","通过formdata上传多个文件:","通过上一节介绍,我们可以发现直接使用httpclient发起网络请求是比较麻烦的,很多事情得我们手动处理,如果再涉及到文件上传/下载、cookie管理等就会非常繁琐。幸运的是,dart社区有一些第三方http请求库,用它们来发起http请求将会简单的多,本节我们介绍一下目前人气较高的dio库。"],"chapter11/download_with_chunks.html":["!=","\"./example/hbuilder.9.0.2.macosx_64.dmg\";","\"bytes=$start","\"http://download.dcloud.net.cn/hbuilder.9.0.2.macosx_64.dmg\";","\"range:","\"temp$no\",","\"temp0\");","#","$end\"},","&&","(chunk","(int","(onreceiveprogress","(received,","(reserv","(response.statuscod","(total","),",");","*","*/*","+","/","//","///","//no","//progress记录每一块已接收数据的长度","//start","//临时文件按照块的序号命名,方便最后合并","//合并临时文件","//如果支持","//指定请求的内容区间","//文件的总块数(包括第一块)","//解析文件总长度,进而算出剩余长度","/hbuilder.9.0.2.macosx_64.dmg","0","0)","0);","0,","0;","1)","10","10\"","10\"的作用是,告诉服务器本次请求我们只想获取文件0","10(包括10,共11字节)这块内容。如果服务器支持分块传输,则响应状态码为206,表示“部分内容”,并且同时响应头中包含”content","10/233295878","100).floor()}%\");","102;","10表示本次返回的区块,233295878代表文件的总长度,单位都是byte,","11.4","11.4:实例:http分块下载","1;","206)","3;","=","==","=>",">","[];","_)","accept:","agent:","api","async","await","b)","b),","bogon:~","byte","bytes=0","chunk","chunksiz","const","content","createcallback(no)","createcallback(no),","curl","curl/7.54.0","dio","dio();","dio.download(","download","download.dcloud.net.cn","downloadchunk(url,","downloadwithchunks(","downloadwithchunks(url,","duwen$","end,","end;","f","f.openwrite(mode:","file","file(savepath","filemode.writeonlyappend);","firstchunks","firstchunksize).ceil()","firstchunksize,","firstchunksize;","futur","h","headers:","host:","http/1.1","http://download.dcloud.net.cn/hbuilder.9.0.2.macosx_64.dmg","http协议定义了分块传输的响应header字段,但具体是否支持取决于server的实现,我们可以指定请求头的\"range\"字段来验证服务器是否支持分块传输。例如,我们可以利用curl命令来验证:","int","int.parse(","int.parse(response.headers.value(httpheaders.contentlengthheader));","iosink","iosink=","main()","maxchunk","maxchunk).ceil();","mergetempfiles(chunk)","no)","null","onreceiveprogress(progress.reduce((a,","onreceiveprogress,","onreceiveprogress:","options(","options:","print(\"${(receiv","progress","progress.add(0);","progress[no]","progresscallback","range\"的内容:","range:","range“字段,如果不支持则不会包含。我们看看上面\"cont","received,","received;","reserv","respons","response.headers.value(httpheaders.contentrangeheader).split(\"/\").last);","return","savepath","savepath,","spite","start,","total","total)","total);","url","url,","user","v","var","{","{\"range\":","}","})","});","};","下面我们使用dio的download","下面我们看一下完整实现:","下面是整体的流程:","也就是该文件大概233m多一点。","代表当前块的起始位置,end代表结束位置","代表当前是第几块","先检测是否支持分块传输,如果不支持,则直接下载;若支持,则将剩余内容分块下载。","其实下载速度的主要瓶颈是取决于网络速度和服务器的出口速度,如果是同一个数据源,分块下载的意义并不大,因为服务器是同一个,出口速度确定的,主要取决于网速,而上面的例子正式同源分块下载,读者可以自己对比一下分块和不分块的的下载速度。如果有多个下载源,并且每个下载源的出口带宽都是有限制的,这时分块下载可能会更快一下,之所以说“可能”,是由于这并不是一定的,比如有三个源,三个源的出口带宽都为1g/s,而我们设备所连网络的峰值假设只有800m/s,那么瓶颈就在我们的网络。即使我们设备的带宽大于任意一个源,下载速度依然不一定就比单源单线下载快,试想一下,假设有两个源a和b,速度a源是b源的3倍,如果采用分块下载,两个源各下载一半的话,读者可以算一下所需的下载时间,然后再算一下只从a源下载所需的时间,看看哪个更快。","分块下载有什么实际的用处吗?","分块下载的最终速度受设备所在网络带宽、源出口速度、每个块大小、以及分块的数量等诸多因素影响,实际过程中很难保证速度最优。在实际开发中,读者可可以先测试对比后再决定是否使用。","分块下载真的能提高下载速度吗?","分块下载还有一个比较使用的场景是断点续传,可以将文件分为若干个块,然后维护一个下载状态文件用以记录每一个块的状态,这样即使在网络中断后,也可以恢复中断前的状态,具体实现读者可以自己尝试一下,还是有一些细节需要特别注意的,比如分块大小多少合适?下载到一半的块如何处理?要不要维护一个任务队列?","创建进度回调,后面实现","删除临时文件。","原理","各个分块下载时保存到各自临时文件,等到所有分块下载完后合并临时文件。","响应头","基于此,我们可以设计一个简单的多线程的文件分块下载器,实现的思路是:","实例:http分块下载","实现","实现downloadchunk:","思考","我们在请求头中添加\"range:","接下来实现mergetempfiles:","本节将通过一个“http分块下载”的示例演示一下dio的具体用法。","现在可以进行分块下载了:","请求头","通过第一个分块请求检测服务器是否支持分块传输"],"chapter11/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.","11.5:websocket","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","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,","{","}","},","。该stream类是dart:async包中的一个基础类。它提供了一种方法来监听来自数据源的异步事件。与future返回单个异步响应不同,stream类可以随着时间推移传递很多事件。该streambuild","上面的例子比较简单,不再赘述。我们现在思考一个问题,假如我们想通过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服务器的工具。该package提供了一个websocketchannel允许我们既可以监听来自服务器的消息,又可以将消息发送到服务器的方法。","来监听新消息,","步骤","注意:http协议中虽然可以通过keep","现在我们建立了连接,我们可以监听来自服务器的消息,在我们发送消息给测试服务器之后,它会返回相同的消息。","监听来自服务器的消息","监听来自服务器的消息。","组件将连接到一个stream,","连接到websocket服务器","连接到websocket服务器。"],"chapter11/socket.html":["/","//发送","//建立连接","//根据http协议,发送请求头","//读取返回内容","11.6","11.6:使用socket","2所示:","80);","=await","_request()","_respons","agent)来看看输出的变化。","api","api在dart:io包中,下面我们看一个使用socket实现简单http请求的示例,以请求百度首页为例:","api来实现的。其实,操作系统中提供的原生网络请求api是标准的,在c语言的socket库中,它主要提供了端到端建立链接和发送数据的基础api,而高级编程语言中的socket库其实都是对操作系统的socket","api的一个封装。所以,如果我们需要自定义协议或者想直接来控制管理网络链接、又或者我们觉得自带的httpclient不好用想重新实现一个,这时我们就需要使用socket。flutter的socket","async{","await","http/1.1\");","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,运行后效果如图11","我们之前介绍的http协议和websocket协议都属于应用层协议,除了它们,应用层协议还有很多如:smtp、ftp等,这些应用层协议的实现都是通过socket"],"chapter11/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;","11.7","11.7:json转dart","4类似的错误。",":",";","=","=>","@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_model","json_model可以手动指定某个字段引用的其它model类,可以避免生成重复的类;而ide插件一般会为每一个json文件中所有嵌套对象都单独生成一个model类,即使这些嵌套对象可能在其它model类中已经生成过。","json_model需要单独维护一个存放json文件的文件夹,如果有改动,只需修改json文件便可重新生成model类;而ide插件一般需要用户手动将json内容拷贝复制到一个输入框中,这样生成之后json文件没有存档的化,之后要改动就需要手动。","json_serializable:","json_serializable第一次创建类时,您会看到与图11","jsonstr='[{\"name\":\"jack\"},{\"name\":\"rose\"}]';","json转dart","link","list","list){","list.foreach((f)","m)","map","map).foreach((key,","map){","matchindex","mo.dart","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类,但插件质量参差不齐,甚至还有一些沾染上了抄袭风波,故笔者在此不做优先推荐,读者有兴趣可以自行了解。但是,我们还是要了解一下ide插件和json_model的优劣:","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文件。","如果每个项目都要构建一个上面这样的脚本显然很麻烦,为此,我们将上面脚本和生成模板封装了一个包,已经发布到了pub上,包名为json_model,开发者把该包加入开发依赖后,便可以用一条命令,根据json文件生成dart类。另外json_model","如果需要,自定义命名策略也很容易。例如,如果我们正在使用的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内容修改为:","持续生成","提供了命令行转化方式,可以方便集成到ci等非ui环境的场景。","方法,","有了上面的设置,源码生成器将生成用于序列化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字符串作为参数:"],"chapter12/":["包与插件","开发packag","插件开发:实现android端api","插件开发:实现ios端api","插件开发:平台通道简介","第十二章:包与插件"],"chapter12/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,在","12.1","12.1:开发packag","1所示:","2)都可.","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为例,它的目录结构如图12","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上发布它","下面我将带领读者一步步来开发一个dart","下面的代码使url_launcher插件的api在hello包中是可用的:","不是很好,只有0.1.1版本.","任何0.4.x(x","但是,如果hello碰巧是一个插件包,其平台特定的代码需要访问url_launcher公开的特定于平台的api,那么我们还需要为特定于平台的构建文件添加合适的依赖声明,如下所示。","你可以通过向hello包的pubspec.yaml文件中添加依赖性覆盖声明来处理冲突,从而强制使用特定版本:","假设我们想在我们的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文档(一个静态网站)。文档注释是使用三斜线\"///\"开始,如:","开发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文件","来创建一个package工程,如图12","来执行","注意,虽然flutter的dart运行时和dart","然后访问","然后调用","现在可以在hello中import","生成文档","第一步:创建dart包","第二章中已经讲过如何使用package(包),我们知道通过package可以创建共享的模块化代码,本节将重点讲一下如何开发并发布我们自己的package。一个最小的package包括:","而package中主要的功能的源码都在src目录下。shelf","解决依赖冲突","详细的文档语法请参考dartdoc","这与在flutter应用程序或任何其他dart项目中引用软件包没有什么不同。","这将在hello/文件夹下创建一个具有以下专用内容的package工程:","这样会较好,","那我们就有潜在的冲突。避免这种情况的最好方法是在指定依赖关系时,程序包作者使用版本范围而不是特定版本。","验证无误后,我们就可以运行发布命令了:",",这样其他开发者就可以轻松使用它。"],"chapter12/platform-channel.html":["(nsnull","...","//","12.2","12.2:平台通道简介","android","android,","api","api可以接收方法调用并返回结果。这些类可以帮助我们用很少的代码就能开发平台插件。","app中调用这些能力就必须和原生平台进行通信。为此,flutter中提供了一个平台通道(platform","app就会认为是当前系统是ios,material组件库中所有组件交互方式都会和ios平台对齐,defaulttargetplatform的值也会变为targetplatform.ios。","bool","byte[]","channel)将消息发送到其应用程序的所在的宿主(ios或android)应用(原生应用)。","channel),用于flutter和原生平台的通信。平台通道正是flutter和原生之间通信的桥梁,它也是flutter插件的底层基础设施。","dart","debugdefaulttargetplatformoverride=targetplatform.ios;","doubl","double[]","enum","float64list","flutter","fluttermethodchannel","flutterstandardbiginteg","flutterstandardtypeddata","flutter与原生之间的通信依赖灵活的消息传递方式:","flutter使用了一个灵活的系统,允许您调用特定平台的api,无论在android上的java或kotlin代码中,还是ios上的objectivec或swift代码中均可用。","fuchsia,","if(defaulttargetplatform==targetplatform.android){","int","int,","int32list","int64list","int[]","io","ios,","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类,或创建自己的编解码器。","list","long[]","map","material库中的一些组件都针对相应的平台做了一些适配,比如路由组件materialpageroute,它在android和ios中会应用各自平台规范的切换动画。那如果我们想让我们的app在所有平台都表现一致,比如希望在所有平台路由切换动画都按照ios平台一致的左右滑动切换风格该怎么做?flutter中提供了一种覆盖默认平台的机制,我们可以通过显式指定debugdefaulttargetplatformoverride全局变量的值来指定应用平台。比如:","nested)","nil","nsarray","nsdictionari","nsnumber","nsstring","null","numberwithbool:","numberwithdouble:","numberwithint:","numberwithlong:","print(defaulttargetplatform);","quick_actions插件就是一个具体的例子。","someth","string","targetplatform","typeddatawithbytes:","typeddatawithfloat64:","typeddatawithint32:","typeddatawithint64:","uint8list","{","}","“平台特定”或“特定平台”中的平台指的就是flutter应用程序运行的平台,如android或ios。我们知道一个完整的flutter应用程序实际上包括原生代码和flutter代码两部分。由于flutter本身只是一个ui系统,它本身是无法提供一些系统能力,比如使用蓝牙、相机、gps等,因此要在flutt","上面代码即在android中运行后,flutt","中提供了一个全局变量defaulttargetplatform来获取当前应用的平台信息,defaulttargetplatform定义在\"platform.dart\"中,它的类型是targetplatform,这是一个枚举类,定义如下:","会输出targetplatform.io","使用平台通道在flutter(client)和原生(host)之间传递消息,如下图所示:","可以发送与方法调用相对应的消息。","可以看到目前flutter只支持这三个平台。我们可以通过如下代码判断平台:","和","在android","在客户端,methodchannel","在宿主平台上,methodchannel","如何获取平台信息","如果不足32位","如果不足64位","如果需要,方法调用(消息传递)可以是反向的,即宿主作为客户端调用dart中实现的api。","宿主监听平台通道,并接收该消息。然后它会调用该平台的api,并将响应发送回客户端,即应用程序的flutter部分。","平台通道","平台通道使用标准消息编/解码器对消息进行编解码,它可以高效的对消息进行二进制序列化与反序列化。由于dart与原生平台之间数据类型有所差异,下面我们列出数据类型之间的映射关系。","平台通道数据类型支持","应用的flutter部分通过平台通道(platform","当在flutter中调用原生方法时,调用信息通过平台通道传递到原生,原生收到调用信息后方可执行指定的操作,如需返回数据,则原生会将数据再通过平台通道传递给flutter。值得注意的是消息传递是异步的,这确保了用户界面在消息传递时不会被挂起。","当在发送和接收值时,这些值在消息中的序列化和反序列化会自动进行。","插件开发:平台通道简介","是安卓系统,do","此外,可以使用专门的binarycodec、stringcodec和","注意:","由于不同平台有它们各自的交互规范,flutter","自定义编解码器","除了上面提到的methodchannel,还可以使用basicmessagechannel,它支持使用自定义消息编解码器进行基本的异步消息传递。"],"chapter12/develop_plugin.html":["\"fail","$result","%","'${e.message}'.\";","'batteri","'dart:async';","'package:flutter/material.dart';","'package:flutter/services.dart';","'unknown","(e)","),",");",".';","...","//","12.3","12.3:开发flutter插件","=","@overrid","[","],","_batterylevel","_getbatterylevel()","_getbatterylevel,","_myhomepagest","api。","api和io","async","await","a标志:","batteri","batterylevel","batterylevel;","batterymanag","build(buildcontext","catch","catch语句中。","center(","child:","children:","class","column(","const","context)","creat","c编写ios代码。要使用kotlin或swift,请使用","device.batterylevel","extend","final","flutter","futur","import","int","i和/或","kotlin","level","level'),","level.","level.';","level:","mainaxisalignment.spaceevenly,","mainaxisalignment:","material(","methodchannel('samples.flutter.io/battery');","new","onpressed:","platform","platform.invokemethod('getbatterylevel');","platformexcept","raisedbutton(","result","return","setstate(()","state","static","string","swift","text('get","text(_batterylevel),","tri","widget","{","}","});","下面我们通过一个获取电池电量的插件来介绍一下flutter插件的开发流程。该插件中我们在dart中通过getbatterylevel","创建flutter平台客户端","创建一个新的应用程序项目","在终端中运行:","在终端中运行:flutter","开发flutter插件","我们使用返回的结果,在setstate中来更新用户界面状态batterylevel。","我们建议在通道名称前加一个唯一的“域名前缀”,例如samples.flutter.io/battery。","接下来,我们调用通道上的方法,指定通过字符串标识符调用方法getbatterylevel。","最后,我们在build创建包含一个小字体显示电池状态和一个用于刷新值的按钮的用户界面。","至此flutter部分的测试代码写好了,接下来我们需要实现android和ios平台下的api,由于平台api实现部分篇幅较大,我们将在接下来的两节中,分别介绍android和ios端api的实现。","该应用的state类拥有当前的应用状态。我们需要延长这一点以保持当前的电量","该调用可能失败(平台不支持平台api,例如在模拟器中运行时),所以我们将invokemethod调用包装在tri","调用android","通道的客户端和宿主通过通道构造函数中传递的通道名称进行连接。单个应用中使用的所有通道名称必须是唯一的;","首先创建一个新的应用程序:","首先,我们构建通道。我们使用methodchannel调用一个方法来返回电池电量。","默认情况下,模板支持使用java编写android代码,或使用object"],"chapter12/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)","12.4","12.4:插件开发:实现android端api","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实现","方法下方:","最后,我们完成之前添加的onmethodcall方法。我们需要处理平台方法名为getbatterylevel的调用消息,所以我们需要先在call参数判断调用的方法是否为getbatterylevel。","本节我们接着上一节\"获取电池电量\"插件的示例,来完成android端api的实现。以下步骤是使用java的示例,如果您更喜欢kotlin,可以直接跳到后面kotlin部分。","然后选择里面的","然后,将下面的新方法添加到activity类中的,位于oncr","现在就可以在android上运行该应用程序了,如果使用的是android模拟器,则可以通过工具栏中的\"...\"按钮访问extend","这个平台方法的实现只需调用我们在前一步中编写的android代码,并通过result参数返回成功或错误情况的响应信息。如果调用了未定义的api,我们也会通知返回:","选择","首先在android","首先,添加需要导入的依赖。"],"chapter12/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);","12.5","12.5:插件开发:实现ios端api","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实现","最后,我们完成之前添加的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"],"chapter13/":["使用intl包","实现local","本章目录","第十三章:国际化","让app支持多语言"],"chapter13/multi_languages_support.html":["'cn')","'cn'),","'package:flutter_localizations/flutter_localizations.dart';","'us'),",")","...","//","//其它local","//手动指定local","13.1","13.1:让app支持多语言","1是android系统中设置语言列表的截图:","=","[","],","app最终使用的locale。通常在不支持的语言区域时返回一个默认的locale。","const","context)","dependencies:","flutter","flutter:","flutter_localizations:","function(list","function(local","globalmateriallocalizations.delegate,","globalwidgetslocalizations.delegate,","globalwidgetslocalizations.delegate定义组件默认的文本方向,从左到右或从右到左,这是因为有些语言的阅读习惯并不是从左到右,比如如阿拉伯语就是从右向左的。","import","iter","local","locale('en',","locale('zh',","locale,","locale:","localelistresolutioncallback和localeresolutioncallback唯一的不同就在第一个参数类型,前者接收的是一个locale列表,而后者接收的是单个locale。","locales,","locale类是用来标识用户的语言环境的,它包括语言和国家两个标志如:","localizations.localeof(context);","localizations.of(context,","localizationsdeleg","localizationsdelegates:","localizationsdelegates列表中的元素是生成本地化值集合的工厂。globalmateriallocalizations.deleg","localizations组件用于加载和查找应用当前语言下的本地化值或资源。应用程序通过localizations.of(context,type)来引用这些对象。","materialapp(","materialloc","materiallocalizations);","materiallocalizations.of(context).backbuttontooltip,","mylocal","new","of(buildcontext","return","sdk:","sdk中的组件仅提供美国英语本地化资源(主要是文本)。要添加对其他语言的支持,应用程序须添加一个名为“flutter_localizations”的包依赖,然后还需要在materialapp中进行一些配置。","sdk已经提供了一些组件和类来帮助我们实现国际化,下面我们来介绍一下flutter中实现国际化的步骤。","static","supportedlocal","supportedlocales)","supportedlocales:","supportedlocales也接收一个locale数组,表示我们的应用支持的语言列表,在本例中我们的应用只支持美国英语和中文简体两种语言。","tooltip:","{","}","。","上述的globalmateriallocalizations和globalwidgetslocalizations只是material组件库的本地化实现,如果我们要让自己的布局支持多语言,那么就需要实现在即的localizations,我们将在下一节介绍其具体的实现方式。","上面的例子中手动指定了应用locale为美国英语,指定后即使设备当前语言是中文简体,应用中的locale也依然是美国英语。如果locale为null,则表示flutter未能获取到设备的locale信息,所以我们在使用locale之前一定要先判空。","中文简体","为materi","为了尽可能小而且简单,flutter软件包中仅提供美国英语值的materiallocalizations和widgetslocalizations接口的实现。","为当前应用支持的locale列表,是开发者在materialapp中通过supportedlocales属性注册的。","使用打包好的localizationsdeleg","列表加载","包包含globalmateriallocalizations和globalwidgetslocalizations的本地化接口的多语言实现,","参数locale的值为当前的当前的系统语言设置,当应用启动时或用户动态改变系统语言设置时此locale即为系统的当前locale。当开发者手动指定app的locale时,那么此locale参数代表开发者指定的locale,此时将忽略系统locale如:","可以直接调用便捷方法","国际化的应用程序必须按照本节开头说明的那样为这些类指定本地化delegate。","在flutter中,应该优先使用localelistresolutioncallback,当然你不必担心android系统的差异性,如果在低版本的android系统中,flutter会自动处理这种情况,这时locale列表只会包含一项。","在大型应用程序中,不同模块或package可能会与自己的本地化值捆绑在一起。","在较新的android系统中,用户可以设置一个语言列表,这样一来,支持多语言的应用就会得到这个列表,应用通常的处理方式就是按照列表的顺序依次尝试加载相应的locale,如果某一种语言加载成功则会停止。图13","基于widgetsapp的应用程序类似,只是不需要globalmateriallocalizations.delegate。","大多数应用程序都是通过materialapp为入口,但根据低级别的widgetsapp类为入口编写的应用程序也可以使用相同的类和逻辑进行国际化。materialapp实际上也是widgetsapp的一个包装。","如果我们的应用要支持多种语言,那么我们需要“国际化”它。这意味着我们在开发时需要为应用程序支持的每种语言环境设置“本地化”的一些值,如文本和布局。flutter","如果系统的语言环境发生变化,widgetsapp将创建一个新的loc","如果设备的locale区域设置发生更改,则loc","它们可以如下方式获取到:","当我们更改系统语言设置时,app中的localizations组件会重新构建,localizations.localeof(context)","我们可以通过localeresolutioncallback或localelistresolutioncallback回调来监听locale改变的事件,我们先看看localeresolutioncallback的回调函数签名:","我们始终可以通过以下方式来获取应用的当前区域locale:","接下来我们以materialapp类为入口的应用来说明如何支持国际化。","接下来,下载flutter_localizations库,然后指定materialapp的localizationsdelegates和supportedlocales:","支持国际化","方法,以生成封装了一系列本地化值的对象。通常这些对象为每个本地化值定义一个方法。","本地化值由localizations的","本地化的代理类","每个委托必须定义一个异步load()","注意,”本地化的值和资源“是指我们针对不同语言准备的不同资源,这些资源一般是指文案(字符串),当然也会有一些其他的资源会根据不同语言地区而不同,比如我们需要显示一个app上架地的国旗图片,那么不同locale区域我们就需要提供不同的的国旗图片。","监听系统语言切换","管理对象表的原因。","组件","组件一般位于widget树中其它业务组件的顶部,它的作用是定义区域locale以及设置子树依赖的本地化资源。","组件会自动加载新区域的locale值,然后重新build使用(依赖)了它们的组件,之所以会这样,是因为localizations内部使用了inheritedwidget","组件并重建它,这样子树中通过localizations.localeof(context)","组件库提供的本地化的字符串和其他值,它可以使materi","组件库的本地化字符串由materiallocalizations类定义,此类的实例由materialapp类提供的localizationdelegate创建,","组件支持多语言。","美国英语","获取当前区域local","获取的locale就会更新。","获取的locale就会更新,最终界面会重新build达到切换语言的效果。但是这个过程是隐式完成的,我们并没有主动去监听系统语言切换,但是有时我们需要在系统语言发生改变时做一些事,比如系统语言切换为一种我们app不支持的语言时,我们需要设置一个默认的语言,这时我们就需要监听locale改变事件。","要使用flutter_localizations包,首先需要添加依赖到pubspec.yaml文件中:","要使用由localizationsdelegate的load方法之一产生的对象,可以指定一个buildcontext和对象的类型来找到它。例如,materi","让app支持多语言","返回值是一个locale,此locale为flutt","这个特殊的localizations.of()表达式会经常使用,所以materiallocalizations类提供了一个便捷方法:","这些实现类分别称为defaultmateriallocalizations和defaultwidgetslocalizations。flutter_loc","这就是为什么要用local","默认情况下,flutter",",我们在介绍该组件时讲过:当子组件的build函数引用了inheritedwidget时,会创建对inheritedwidget的隐式依赖关系。因此,当inheritedwidget发生更改时,即localizations的locale设置发生更改时,将重建所有依赖它的子组件。"],"chapter13/locallization_implement.html":["\"flutter","\"flutter应用\"","\"zh\")","'zh'].contains(locale.languagecode);","),",");","...","//","//...","//locale代理类","//locale相关值,title为应用标题","//locale资源类","//为了使用方便,我们定义一个静态方法","//使用local","//是否为中文","//是否支持某个local","//省略无关代码","13.2","13.2:实现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的返回值决定当localizations组件重新build时,是否调用load方法重新加载locale资源。一般情况下,locale资源只应该在locale切换时加载一次,不需要每次在localizations重新build时都加载,所以返回false即可。可能有些人会担心返回false的话在app启动后用户再改变系统语言时load方法将不会被调用,所以locale资源将不会被加载。事实上,每当locale改变时flutter都会再调用load方法加载新的locale,无论shouldreload返回true还是false。","static","string","synchronousfuture(","text(demolocalizations.of(context).title),","titl","title:","{","}","其它的值","前面讲了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",")"],"chapter13/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","13.3:使用intl包","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"],"chapter13/faq.html":["'us')","(context){","(list",");","...","//","//不能正常工作!","13.4","13.4:国际化常见问题","[","],","demolocalizations.of(context).title,","demolocalizations.of(context).title;","demolocalizationsdelegate()","demolocalizationsdelegate(),","globalmateriallocalizations.delegate,","globalwidgetslocalizations.delegate,","iter","localelistresolutioncallback:","locales,","localizationsdelegates:","materialapp(","materialapp有一个title属性,用于指定app的标题。在android系统中,app的标题会出现在任务管理器中。所以也需要对title进行国际化。但是问题是很多国际化的配置都是在materialapp上设置的,我们无法在构建materialapp时通过localizations.of来获取本地化资源,如:","ongeneratetitle:","return","supportedlocales)","title:","{","}","},","上面代码运行后,demolocalizations.of(context).titl","判断当前locale是否为英语系国家,如果是直接返回locale('en',","国际化常见问题","在一些非大陆行货渠道买的一些android和ios设备,会出现默认的locale不是中文简体的情况。这属于正常现象,但是为了防止设备获取的locale与实际的地区不一致,所有的支持多语言的app都必须提供一个手动选择语言的入口。","如何为英语系的国家指定同一个local","如何对应用标题进行国际化","是会报错的,原因是localizations.of会从当前的context沿着widget树向顶部查找demolocalizations,但是我们在materialapp中设置完demolocalizationsdelegate后,实际上demolocalizations是在当前context的子树中的,所以demolocalizations.of(context)会返回null,报错。那么我们该如何处理这种情况呢?其实很简单,我们只需要设置一个ongeneratetitle回调即可:","本地化的代理类","本节主要解答一下在国际化中常见的问题。","此时context在localizations的子树中","英语系的国家非常多,如美国、英国、澳大利亚等,这些英语系国家虽然说的都是英语,但也会有一些区别。如果我们的app只想提供一种英语(如美国英语)供所有英语系国家使用,我们可以在前面介绍的localelistresolutioncallback中来做兼容:","设置deleg","默认语言区域不对"],"chapter14/":["element和buildcontext","flutter","flutter从启动到显示","renderobject和renderbox","ui系统","本章目录","第十四章:flutter核心原理"],"chapter14/flutter_ui_system.html":["14.1","14.1:flutter","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系统和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","//获取上下文大小","//获取主题","14.2","14.2.1","14.2.2","14.2:element和buildcontext","1和14","2(点击后)所示:",":","=","=>","?","@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就是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就是statelesselement。同样,我们同样发现statefulwidget的context是statefulelement。但statelesselement和statefulelement本身并没有实现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","总结","我们也知道,在很多时候我们都需要使用这个context","我们可以看到element是flutt","我们已经知道,statelesswidget和statefulwidget的build方法都会传一个buildcontext对象:","我们通过纯粹的element来模拟一个statefulwidget的功能,假设有一个页面,该页面有一个按钮,按钮的文本是一个9位数,点击一次按钮,则对9个数随机排一次序,代码如下:","方法来移除它,移除后element.renderobject也会被从渲染树中移除,然后framework会调用element.deactiv","方法,这时element状态变为“inactive”状态。","时(如widget树结构发生了变化,导致element对应的widget被移除),这时该祖先element就会调用deactivatechild","本节详细的介绍了element的生命周期,以及它widget、buildcontext的关系,也介绍了element在flutt","点击按钮则按钮文本会随机排序。","现在就可以将customhome添加到widget树了,我们在一个新路由页创建它,最终效果如下如图14","看完element的生命周期,可能有些读者会有疑问,开发者会直接操作element树吗?其实对于开发者来说,大多数情况下只需要关注widget树就行,flutter框架已经将对widget树的操作映射到了element树上,这可以极大的降低复杂度,提高开发效率。但是了解element对理解整个flutt","至此真相大白,buildcontext就是widget对应的element,所以我们可以通过context在statelesswidget和statefulwidget的build方法中直接访问element对象。我们获取主题数据的代码theme.of(context)内部正是调用了element的inheritfromwidgetofexacttype()方法。","调用","调用widget.createel","进阶","那么buildcontext到底是什么呢,查看其定义,发现其是一个抽象接口类:","那这个context对象对应的实现类到底是谁呢?我们顺藤摸瓜,发现build调用是发生在statelesswidget和statefulwidget对应的statelesselement和statefulelement的build方法中,以statelesselement为例:",",mount方法中首先调用element所对应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进行命中测试","14.3","14.3.1","14.3.2","14.3.3","14.3.4","14.3.5","14.3:renderobject与renderbox","300),","3所示:",":","=","==","=>",">","@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,该参数表示子节点布局变化是否影响父节点,如果为true,当子节点布局发生变化时父节点都会标记为需要重新布局,如果为false,则子节点布局发生变化后不会影响父节点。","relayoutboundary?在前面介绍element时,我们讲过当一个element标记为","renderbox","renderbox子类要定制布局算法不应该重写layout()方法,因为对于任何renderbox的子类来说,它的layout流程基本是相同的,不同之处只在具体的布局算法,而具体的布局算法子类应该通过重写performresize()","renderbox实际的测量和布局逻辑是在performresize()","renderobject","renderobject)","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,此时其大小在","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来指定isrepaintboundari","{","||","}","})","。","一个isrepaintboundari","一个对象是否可以响应事件,取决于其对命中测试的返回,当发生用户事件时,会从根节点(renderview)开始进行命中测试,下面是renderview的hittest()源码:","一定要注意,renderobject的parentdata","上面layout()源码中定义了一个relayoutboundary变量,什么是","下面我们看看repaintboundary的原理,renderobject有一个isrepaintboundary属性,该属性决定这个renderobject重绘时是否独立于其父元素,如果该属性值为tru","中就确定了,在后面的","中,有个size属性用来保存控件的宽和高。renderbox的layout是通过在组件树中从上往下传递boxconstraints对象的实现的。boxconstraints对象可以限制子节点的最大和最小宽高,子节点必须遵守父节点给定的限制条件。","为","为true,则该renderobject拥有layer,直接绘制","为事件触发的坐标(如果有的话),返回","也就不用重新布局了。","也需要被重新布局,那么到什么时候是个头呢?答案就是","代码大致逻辑是先判断自身是不是relayoutboundary,如果不是就继续向par","代码很简单,首先判断有无溢出,如果没有则调用defaultpaint(context,","会和一个祖先节点共用一个layer","会被renderbox和它的子类使用.","传给它的","列表中,参数","则表示有renderbox","只能通过父元素设置.","只负责布局子节点。","可以看出,当调用","可以看到layout方法需要传入两个参数,第一个为constraints,即","向父级递归查找","命中测试","和","唯一不同的是","在","在renderbox","在上一节我们说过每个element都对应一个renderobject,我们可以通过element.renderobject","在布局阶段,父节点会调用子节点的layout()方法,下面我们看看renderobject中layout()方法的大致实现(删掉了一些无关代码和异常捕获):","如何设置isrepaintboundary属性呢?其实,如果使用了repaintboundary,其对应的renderrepaintboundary会自动将isrepaintboundary设为true的:","如果子元素未超出当前边界,则绘制子元素","如果直到根节点也没找到一个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()","方法时,会从当前","方法用来判断该renderobject","时便会重新build,这时renderobject便会重新布局,我们是通过调用","时,performresize()","时,才会触发重绘,这样便可以实现局部重绘。当","是","是否在被点击的范围内,同时负责将被点击的","是每次布局都会被调用的。sizedbypar","有renderobject","本节我们介绍了renderobject主要的功能和方法,理解这些内容可以帮助我们更好的理解flutt","来保存子节的keepalive状态。","来标记element为dirty的。在renderobject中有一个类似的markneedslayout()方法,它会将renderobject的布局状态标记为","来绘制溢出部分提示,这个就是我们经常看到的溢出提示,如图14","来获取。并且我们也说过renderobject的主要职责是layout和绘制,所有的renderobject会组成一棵渲染树rend","来赋值的,parent通常会通过子renderobject的parentdata存储一些和子元素相关的数据,如在stack布局中,renderstack就会将子元素的偏移数据存储在子元素的parentdata中(具体可以查看positioned实现)。","查找,一直向上查找到是","没有自己的layer,","添加到","源码可以看出只有","父节点对子节点大小的限制,该值根据父节点的布局逻辑确定。另外一个参数是","的","的。这样来看它的作用就比较明显了,意思就是当一个控件的大小被改变时可能会影响到它的","的大小了,于是","的大小,那么","相似,repaintboundary是用于在确定重绘边界的,与relayoutboundary不同的是,这个绘制边界需要由开发者通过repaintboundari","答案就在paintchild()源码中:","组件自己指定,如:","组件,它使用keepaliveparentdatamixin(继承自parentdata)","绘制的很频繁或很复杂时,可以通过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","//调用rendererbinding的drawframe()方法","//重绘之前的预处理操作,检查renderobject是否需要重绘","14.4","14.4:flutter从启动到显示","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])","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的入口在\"lib/main.dart\"的main()函数中,它是dart应用程序的起点。在flutter应用中,main()函数最简单的实现如下:","flutter运行机制","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","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()","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","widgetsbind","widgetsbinding.instance;","widgetsbinding:提供了window.onlocalechanged、onbuildschedul","widgetsflutterbind","widgetsflutterbinding();","widgetsflutterbinding.ensureinitialized()","widgetsflutterbinding.ensureinitialized()负责初始化一个widgetsbinding的全局单例,紧接着会调用widgetsbinding的attachrootwidget方法,该方法负责将根widget添加到renderview上,代码如下:","widget层与engine的桥梁。","widget树对应的element树。如果el","window","{","}","});","、window.ontextscalefactorchang","。","一次绘制过程,我们称其为一帧。flutter","两个方法的源码,可以发现前者主要是执行了transientcallbacks队列,而后者执行了","两个方法,在看这两个方法之前我们首先了解一下frame","中关联的widget","中,它被调用后会立即进行一次绘制(而不是等待\"vsync\"","从启动到显示","信号),在此次绘制结束前,该方法会锁定事件分发,也就是说在本次绘制结束完成之前flutter将不会响应各种事件,这可以保证在绘制过程中不会再触发新的重绘。下面是schedulewarmupframe()","参数app是一个widget,它是flutter应用启动后要展示的第一个widget。而widgetsflutterbinding正是绑定widget","反向遍历需要重绘的renderobject","发送平台消息","只会创建一次,后面会进行复用。那么buildowner是什么呢?其实他就是widget","可以看main()函数只调用了一个runapp()方法,我们看看runapp()方法中都做了什么:","可以看到widgetsflutterbinding继承自bindingbas","可以看到window类包含了当前设备和系统的一些信息以及flutt","可以看到该方法中主要调用了handlebeginframe()","向persistentcallbacks队列添加了一个回调","启动","和","回到runapp的实现中,当调用完attachrootwidget后,最后一行会调用","回调,","回调,绑定framework手势子系统,是framework事件模型与底层事件的绑定入口。","在一次绘制过程中,这三个回调队列会放在不同时机被执行:","实例的","将需要绘制的比特数据发给gpu","已经创建过了,则将根element","平台通道消息处理回调","并混入了很多binding,在介绍这些binding之前我们先介绍一下window,下面是window的官方解释:","当前系统字体缩放比例。","当前系统默认的语言local","当前设备的dpi,即一个逻辑像素显示多少物理像素,数字越大,显示效果就越精细保真。","当绘制区域大小改变回调","很明显,window正是flutt","总结","我们发现在调用rendererbinding.drawframe()方法前会调用","我们看最后一行,通过addpersistentframecallback","我们看看这些方法分别做了什么:","提供了window.onmetricschang","方法的部分实现(省略了无关代码):","方法,该方法的实现在schedulerbind","更新应用在gpu上的渲染,此方法会直接调用flutt","最后","本节介绍了flutter","本节我们主要介绍一下flutter从启动到显示的过程。","框架和flutter","检查renderobject是否需要重绘,然后更新renderobject.needscompositing属性,如果该属性值被标记为true则需要重绘。","此方法会直接调用flutter","注册,注意,不要在此类回调中再触发新的frame,这可以会导致循环刷新。","注意,代码中的有renderview和renderviewelement两个变量,renderview是一个renderobject,它是渲染树的根,而renderviewelement是renderview对应的element对象,可见该方法主要完成了根widget到根","添加回调。","渲染","渲染和绘制逻辑在rendererbinding中实现,查看其源发,发现在其initinstances()方法中有如下代码:","源码很简单,该方法主要任务是更新了所有被标记为“dirty”的renderobject的布局信息。主要的动作发生在node._layoutwithoutresize()方法中,该方法中会调用performlayout()进行重新布局。","点击或指针事件回调","现在请读者自行查看handlebeginframe()","用于绑定平台消息通道(messag","的","的概念:","真正的绘制逻辑","等回调。它是flutter","等回调。它是渲染树与flutter","类中有三个framecallback回调队列,","系统字体缩放变化回调","绘制","绘制前回调,一般会受显示器的垂直同步信号vsync驱动,当屏幕刷新时就会被调用","绘制回调","设为新的,由此可以看出element","该方法直接调用了rendererbinding的drawframe()方法:","该方法负责创建根element,即renderobjecttowidgetelement,并且将element与widget","该方法进行了最终的绘制,可以看出它不是重绘了所有","调度frame,该方法执行后,onbeginframe和ondrawframe将紧接着会在合适时机被调用,","这个方法中有一个scene对象,scene对象是一个数据结构,保存最终渲染后的像素信息。这个方法将canvas画好的scene传给window.render()方法,该方法会直接将scene信息发送给flutt","进行","进行关联,即创建出","重绘","锁定事件","队列。","需要注意的是:由于rendererbinding只是一个mixin,而with它的是widgetsbinding,所以我们需要看看widgetsbinding中是否重写该方法,查看widgetsbinding的drawframe()方法源码:","(非首次绘制),该方法会将被标记为“dirty”"],"chapter14/image_and_cache.html":["!=","\"https://avatars2.githubusercontent.com/u/20411648?s=460&v=4\",","$resolved');","&&","'codec_framecount';","'codec_getnextframe';","'codec_repetitioncount';","'instantiateimagecodec';","()","(100","(_currentsizebyt","(_imagestream.key","(bytes.lengthinbyt","(complet","(error,","(imag","(int","(maximums","(maximumsizebyt","(onerror","(pendingimag","(response.statuscod","(result","(widget.imageprovid",")","));","),",");","*","+","+=","...","...省略具体实现代码",".imagecache.putifabsent(key,","//","///","//下载图片","//判断新旧imagestream是否相同,如果不同,则需要调整流的监听器","//定义错误处理函数","//最多2000张","//省略无关代码","//调用","0","0)","1","1.0,","100","1000;","14.5","14.5.1","14.5.2","14.5:flutter图片加载与缓存","200","4;","4所示:",":","=","==","==(dynam","=>",">","?","??","@overrid","@pragma('vm:entri","@protect","@requir","[","[_pendingimage.removelistener].","],","_cach","_cache.keys.first;","_cache.length","_cache.remove(key);","_cache[key]","_cache[key];","_cachedimag","_cachedimage(result,","_callback","_checkcachesize()","_checkcachesize();","_currentsizebyt","_futurize(_getnextframe);","_getimage()","_getimage();","_getnextframe(_callback","_httpclient.geturl(resolved);","_imageinfo","_imageinfo;","_imageinfo?.image,","_imageinfo?.scal","_imagestream","_imagestream.addlistener(listener);","_imagestream.removelistener(imagestreamlistener(_updateimage));","_imagestream;","_instantiateimagecodec(uint8list","_kdefaults","_kdefaultsize;","_kdefaultsizebyt","_kdefaultsizebytes;","_loadasync(","_loadasync(key,","_maximums","_maximumsize)","_maximumsizebyt","_myimagest","_myimagestate();","_pendingimag","_pendingimage(result,","_pendingimages.remove(key);","_pendingimages[key]","_pendingimages[key]?.completer;","_updateimage(imageinfo","abstract","api","api的包装,实际上会调用flutt","assert(imageprovid","assert(key","assert(load","async","await","bool","build","build(buildcontext","bundle:","byte","cache,","callback)","callback,","catch","changes.","children:","chunkev","chunkevents),","chunkevents,","chunkevents.add(imagechunkevent(","chunkevents.close();","chunkevents.stream,","chunkevents:","class","clear()","codec","codec._();","codec:","codec参数值为_loadasync方法的返回值,我们继续看_loadasync方法的实现:","column(","complet","configur","configuration)","configuration);","consolidatehttpclientresponsebytes(","const","context)","context,","createlocalimageconfiguration(buildcontext","createstate()","cumulative,","cumulativebytesloaded:","dangerzon","dangerzone.runguarded(()","dart:ui","defaultassetbundle.of(context),","defaulttargetplatform,","devicepixelratio:","didchangedependencies()","didupdatewidget(myimag","directionality.of(context),","dispose()","empti","engin","engine中实现的。codec类部分定义如下:","engine创建,不应该手动实例化此类或直接继承此类。","engine的instantiateimagecodec方法,源码如下:","evict(object","evict({","exception('networkimag","exception(...);","exception,","expectedtotalbytes:","extend","file:","final","framecount","futur","getnextframe()","handleerror(dynam","handleerror(error,","handleerror);","headers?.foreach((str","httpclientrequest","httpclientrespons","httpstatus.ok)","imag","image.completer;","image.sizebytes;","image:","image;","imagecach","imagecache的一个实例,它是paintingbinding的一个属性,而flutter框架中的paintingbinding.instance是一个单例,imagecache事实上也是一个单例,也就是说图片缓存是全局的,统一由paintingbinding.instance.imagecach","imagecompleter.seterror(...);","imageconfigur","imageconfiguration(","imageconfiguration.empti","imageerrorlisten","imageinfo","imageinfo,","imageinfo;","imageinternaltestrout","imageprovid","imageprovider:","imageprovider;","images","imagesize);","imagesize;","imagestream","imagestream();","imagestreamcomplet","imagestreamcompleter的一个子类,是flutt","imagestreamlisten","imagestreamlistener(_updateimage);","imagestreamlistener(listener);","image组件原理","info,","info.image.height","info.image.width","info?.imag","int","key","key)","key);","key)方法","key)方法从数据源加载图片数据,加载成功后先缓存,然后返回imagestream。","key,","key.scale,","key.then((t","key;","list,","listen","listener(imageinfo","load(image_provider.networkimag","load(key),","load(t","loader(),","loader();","locale:","localizations.localeof(context,","map","maximumsize(int","maximumsizebyt","maximumsizebytes(int","maximumsizebytes)","mb)","mediaquery.of(context,","multiframeimagestreamcomplet","multiframeimagestreamcompleter(","myimag","myimage(","myimage({","myimage,代码大致如下:","name,","nativ","nativefieldwrapperclass2","networkimag","networkimage(","null","null)","null),","null);","null;","nullok:","object","obtainedkey","obtainedkey;","obtainkey(configuration);","obtainkey(image_provider.imageconfigur","obtainkey(imageconfigur","obtainkey(imageconfiguration)方法","oldimagestream","oldimagestream?.key)","oldimagestream?.removelistener(listener);","oldwidget)","oldwidget.imageprovider)","onbytesreceived:","onerror","onerror(error,","onerror:","oper","other)","other;","paintingbinding.inst","paintingbinding.instance.imagecache.maximumsize=2000;","paintingbinding.instance.imagecache.maximumsizebyt","paintingbinding.instance.instantiateimagecodec(bytes);","pendingimag","pendingimage.removelistener();","platform:","point')","putifabsent(object","rawimage(","remov","repetitioncount","request","request.close();","request.headers.add(name,","resolv","resolve(imageconfigur","resolve(imageconfiguration)","resolve方法是imageprovider的暴露的给image的主入口方法,它接受一个imageconfiguration参数,返回imagestream,即图片数据流。我们重点看一下resolve执行流程:","respons","response,","result","result.addlistener(streamlistener);","result;","rethrow;","return","return;","scale","scale:","sdk提供了一个便捷函数createlocalimageconfiguration来创建imageconfigur","sdk预置的类,通过该类,我们以方便、轻松地创建出一个imagestreamcompleter实例来做为load方法的返回值。","set","setstate(()","size","size,","size:","stack)","stacktrac","stacktrace)","stacktrace);","state","statefulwidget","statelesswidget","stream","stream.setcompleter(completer);","stream.setcompleter(imagecompleter);","stream;","streamcontrol","streamcontroller();","streamlisten","streamlistener);","string","super(key:","super.didchangedependencies();","super.didupdatewidget(oldwidget);","super.dispose();","synccall)","synchronouscall)","synchronousfuture(this);","t","targetheight)","targetwidth,","textdirection:","this.imageprovider,","throw","total)","total,","tri","trigger","true),","true)?.devicepixelratio","typedoth","typedother.scale;","typedother.url","uint8list","uri","uri.base.resolve(key.url);","url","value)","value);","void","whenev","widget","widget.imageprovider.resolve(createlocalimageconfiguration(context));","widget。rawimage最终会通过renderimage来将图片绘制在屏幕上。如果继续跟进renderimage类,我们会发现renderimage的paint","widget中正是通过它来监听图片加载状态的(我们将在下面介绍imag","widget的源码已经没必要在花费篇章去介绍了,读者有兴趣可以自行去阅读。","zone","zone.current.fork(...);","{","{...}","{};","||","}","})","}).catcherror(handleerror);","});","},","上面主要结合源码,探索了imageprovider的主要功能和原理,如果要用一句话来总结imageprovider功能,那么应该是:加载图片数据并进行缓存、解码。在此再次提醒读者,flutter的源码是非常好的第一手资料,建议读者多多探索,另外,在阅读源码学西的同时一定要有总结,这样才不至于在源码中迷失。","上面代码a处就是处理缓存的主要代码,这里的paintingbinding.instance.imagecach","上面代码流程如下:","下载图片。","下载逻辑比较简单:通过httpclient从网上下载图片,另外下载请求会设置一些自定义的header,开发者可以通过networkimage的headers命名参数来传递。","下面我们看看imagecache类定义:","下面是缓存处理的逻辑","下面测试一下myimage:","代码很简单,创建了一个同步的future,然后直接将自身做为key返回。因为map中在判断key(此时是networkimage对象)是否相等时会使用“==”运算符,那么定义key的逻辑就是networkimage的“==”运算符:","代码部分实现,而是在flutter","依赖改变时,图片的配置信息可能会发生改变","先判断图片数据有缓存,如果有,则直接返回imagestream。","先移除缓存,后再添加,可以让最新使用过的缓存在_map中的位置更近一些,清理时会lru来清除","先验证是否已经有缓存","创建一个新zone,主要是为了当发生错误时不会干扰mainzon","前面章节中我们介绍过image的基础用法,现在我们更深入一些,研究一下image是如何和imageprovider配合来获取最终解码后的数据,然后又如何将图片绘制到屏幕上的。","加载图片数据源的接口,不同的数据源的加载方法不同,每个imageprovider的子类必须实现它。比如networkimage类和assetimage类,它们都是imageprovider的子类,但它们需要从不同的数据源来加载图片数据:networkimage是从网络来加载图片数据,而assetimage则是从最终的应用包里来加载(加载打到应用安装包里的资源图片)。","动画重复的次数","包含图片和设备的相关信息,如图片的大小、所在的assetbundle(只有打到安装包的图片存在)以及当前的设备平台、devicepixelratio(设备像素比等)。flutt","原理时详细介绍)。","参数是一个必选参数,它是imageprovider类型。下面我们便详细介绍一下imageprovider,imageprovider是一个抽象类,定义了图片数据获取和加载的相关接口。它的主要职责有两个:","另外,我们可以看到imagecache类中有设置缓存上限的setter,所以,如果我们可以自定义缓存上限:","另外,我们需要注意的是,图片缓存是在内存中,并没有进行本地文件持久化存储,这也是为什么网络图片在应用重启后需要重新联网下载的原因。","可以看到_loadasync方法主要做了两件事:","同时也意味着在应用生命周期内,如果缓存没有超过上限,相同u的图片只会被下载一次。","图片中的帧数(动态图会有多帧)","图片加载原理与缓存","图片的加载、缓存和绘制流程。其中imageprovider主要负责图片数据的加载和缓存,而绘制部分逻辑主要是由rawimage来完成。","图片还未加载成功,直接返回","在图片下载完成后调用了paintingbinding.instance.instantiateimagecodec(bytes)对图片进行解码,值得注意的是instantiateimagecodec(...)也是一个n","在本书前面章节已经介绍过imag","如果没有缓存,则调用load(t","实现代码省略","对下载的图片数据进行解码。","对图片数据进行解码","对象:","当缓存数量超过最大值或缓存的大小超过最大缓存容量,会调用此方法清理到缓存上限以内","很清晰,对于网络图片来说,会将其“url+缩放比例”作为缓存的key。也就是说如果两张图片的url或scale只要有一个不同,便会重新下载并分别缓存。","总结","成功了!","我们以networkimage为例,看看其load方法的实现:","我们可以发现这些信息基本都是通过context来获取。","我们可以看到codec最终的结果是一个或多个(动图)帧,而这些帧最终会绘制到屏幕上。","我们可以看到,multiframeimagestreamcomplet","我们已经知道imag","我们看到,load方法的返回值类型是imagestreamcomplet","我们看看imageprovider抽象类的详细定义:","接收图片数据","提供图片数据源","方法","方法中调用了paintimage方法,而paintimage方法中通过canvas的drawimagerect(…)、drawimagenine(...)等方法来完成最终的绘制。","是","是处理图片编解码的类的一个handler,实际上,它只是一个flutt","更新后会rebuild,此时会创建一个rawimag","最终的绘制由rawimage来完成。","有缓存则使用缓存,没有缓存则调用load方法加载图片,加载成功后:","有缓存,继续往下走","本节主要介绍了flutter","本节换一个思路,我们先不去直接看image的源码,而根据已经掌握的知识来实现一个简版的“image组件”","来管理。","此类由flutter","清除所有缓存","清除指定key对应的图片缓存","现在我们看一下缓存的key,因为map中相同key的值会被覆盖,也就是说key是图片缓存的一个唯一标识,只要是不同key,那么图片数据就会分别缓存(即使事实上是同一张图片)。那么图片的唯一标识是什么呢?跟踪源码,很容易发现key正是imageprovider.obtainkey()方法的返回值,而此方法需要imageprovider子类去重写,这也就意味着不通的imageprovider对key的定义逻辑会不同。其实也很好理解,比如对于networkimage,将图片的url作为key会很合适,而对于assetimage,则应该将“包名+路径”作为唯一的key。下面我们以networkimage为例,看一下它的obtainkey()实现:","现在,想必imag","生成缓存key,后面会根据此key来检测是否有缓存","的","的包装类,也就是说图片的编解码逻辑不是在dart","的桥梁。","省略部分定义","类。","组件的imag","组件,并提到flutter框架对加载过的图片是有缓存的(内存),默认最大缓存数量是1000,最大缓存空间为100m。本节便详细介绍image的原理及图片缓存机制,下面我们先看看imageprovid","缓存上限设置的setter","缓存图片","缓存容量上限","缓存数量上限(1000)","缓存的处理逻辑在这里,记为a,下面详细介绍","缓存队列","而image正是连接起imageprovider和rawimag","获取下一个动画帧","表示只执行一次","表示循环执行","该接口主要是为了配合实现图片缓存,imageprovider从数据源加载完数据后,会在全局的imagecache中缓存图片数据,而图片数据缓存是一个map,而map的key便是调用此方法的返回值,不同的key代表不同的图片数据缓存。","调用imageprovider.resolve方法,获得imagestream。","运行效果如图14","通过imageprovider.resolve方法可以得到一个imagestream(图片数据流),然后监听imagestream的变化。当图片数据源发生变化时,imagestream会触发相应的事件,而本例中我们只设置了图片成功的监听器_updateimage,而_updateimage中只更新了_imageinfo。值得注意的是,如果是静态图,imagestream只会触发一次时间,如果是动态图,则会触发多次事件,每一次都会有一个解码后的图片帧。","需子类实现","需要一个codec参数,该参数类型为future。codec",",它是一个抽象类,定义了管理图片加载过程的一些接口,imag"],"chapter15/intro.html":["15.1","api。","github客户端示例","json转dart","model类;","全局状态管理;语言、主题、登录态等都需要全局共享。","实现github账号登录、退出登录功能","对前面章节所学内容的一个应用及总结。","带领读者了解如何使用flutter来开发一个完整app,了解flutter应用开发流程及工程结构等。","持久化存储;保存登录信息,用户信息等。","支持国际化、intl包的使用","支持多语言","支持换肤","本章新建一个flutter工程,实现一个简单的github客户端。这个实例的主要目标有两个:","现在,目前已经确定,在接下来章节中,我们将分模块一步一步实现上述功能。","登录后可以查看自己的项目主页","登录状态可以持久化;","第十五章:一个完整的flutter应用","网络请求;需要请求github","要实现上面这些功能会涉及到如下技术点:","需要注意的是,由于github本身功能非常多,我们的焦点并不是去实现github的所有业务功能。因此,我们只需要实现一个app的骨架,能达到上面这两点即可。下面对我们要实现的功能如下:"],"chapter15/code_structure.html":["15.2","15.2:app代码结构","android","app代码结构","app内封装的一些widget组件都在该目录下","arb","common","flutter","font","github_client_app","i10n","img","io","json","json文件对应的dart","lib","model","model类会在此目录下","model类,现在我们使用在第十一章中”json转model“小节中介绍的方案,所以,我们需要在根目录下再创建一个用于保存json文件的”jsons“文件夹。","rout","state","test","widget","└──","├──","一些工具类,如通用方法类、网络接口类、保存全局变量的静态类等","作用","保存app中需要跨组件共享的状态类","国际化相关的类都在此目录下","多语言支持我们使用第十三章”国际化“中介绍的方案,所以还需要在根目录下创建一个\"i10n\"文件夹,用于保存各国语言对应的arb文件。","存放所有路由页面类","我们先来创建一个全新的flutter工程,命名为\"github_client_app\";创建新工程的步骤视读者使用的编辑器而定,都比较简单,在此不再赘述。创建完成后,工程结构如下:","文件夹","注意,使用不同的框架或技术选型会对代码有不同的组织方式,因此,本节介绍的代码组织结构并不是固定或者“最佳”的,在实战中,读者可以自己根据情况调整源码结构。但是无论采取何种源码组织结构,但清晰和解耦是一个通用原则,我们应该让自己的代码结构清晰,以便交流和维护。","现在工程目录变为:","由于在网络数据传输和持久化时,我们需要通过json来传输、保存数据;但是在应用开发时我们又需要将json转成dart","由于我们的dart代码都在“lib”文件夹下,笔者根据技术选型和经验在lib文件下创建了如下目录:","由于我们需要使用外部图片和icon资源,所以我们在项目根目录下分别创建”imgs“和”fonts“文件件,前者用于保存图片,后者用于保存icon文件。关于图片和icon,读者可以参考第三章中相应的内容。"],"chapter15/models.html":["\"$user\",","\"2008","\"2011","\"avatar_url\":","\"bio\":","\"blog\":","\"cache\":\"$cacheconfig\",","\"company\":","\"created_at\":","\"default_branch\":","\"description\":","\"email\":","\"enable\":true,","\"followers\":","\"following\":","\"fork\":","\"forks_count\":","\"full_name\":","\"github\",","\"hello","\"hireable\":","\"https://api.github.com/licenses/mit\",","\"https://github.com/blog\",","\"https://github.com/images/error/octocat_happy.gif\",","\"id\":","\"javascript\",//该项目的主要编程语言","\"key\":","\"language\":","\"lastlogin\":\"\",","\"license\":","\"locale\":\"\"","\"location\":","\"login\":","\"master\",","\"maxage\":1000,","\"maxcount\":100","\"mdc6tgljzw5zzw1pda==\"","\"mit","\"mit\",","\"monalisa","\"name\":","\"node_id\":","\"octocat\",","\"octocat/hello","\"octocat@github.com\",","\"open_issues_count\":","\"owned_private_repos\":","\"owner\":","\"parent\":\"$repo\",","\"private\":","\"public_repos\":","\"pushed_at\":","\"san","\"size\":","\"spdx_id\":","\"stargazers_count\":","\"subscribers_count\":","\"theme\":5678,","\"there","\"thi","\"token\":\"\",","\"total_private_repos\":","\"type\":","\"updated_at\":","\"url\":","\"user\",","\"user\":\"$user\",","...","...//省略其它字段","//","//github账号信息,结构见\"user.json\"","//主题色值","//公司","//关注该用户的人数","//博客地址","//最近一次的注销登录的用户名","//用户名字","//用户头像地址","//用户登录名","//用户类型,可能是组织","//省略其它字段","//订阅(关注)该项目的人数","//该用户总的私有项目数(包括参与的其它组织的私有项目)","//该用户自己的私有项目数","//该项目当前打开的issue数量","//该项目的star数量","//项目名称","//项目完成名称","//项目描述","//项目的默认分支","0,","01","100","100,","108,","1296269,","14t04:33:35z\",","15.3","15.3:model类定义","2,","20,","26t19:01:12z\",","26t19:06:43z\",","26t19:14:43z\",","42,","80,","9,","api应用一些简单的缓存策略。我们在“jsons”目录下创建一个“cacheconfig.json”文件缓存策略信息,定义如下:","api接口返回json结构如下:","api缓存策略信息","app语言信息","cacheconfig.dart","cacheconfig.g.dart","false,","first","flutter","fork了该项目的数量","francisco\",","github账号信息","github账号信息;由于我们的app可以切换账号登录,且登录后再次打开则不需要登录,所以我们需要对用户账号信息和登录状态进行持久化。","index.dart","json_model","license\",","model","model的方案采用前面介绍过的","model类","model类。json文件转dart","model类定义","model类:","octocat\",","onc","packag","package提供的命令来通过json文件生成相应的dart类:","profile.dart","profile.g.dart","pub","repo!\",","repo.dart","repo.g.dart","run","user.dart","user.g.dart","was...\",","world\",","{","}","│","└──","├──","公开项目数","包方案","命令执行成功后,可以看到lib/models文件夹下会生成相应的dart","如果是fork的项目,则此字段表示fork的父项目信息","应用使用配置信息;没一个用户都应有自己的app配置信息,如主题、语言、以及数据缓存策略等。","我们使用shared_preferences包来对登录用户的profile信息进行持久化。shared_preferences是一个flutter插件,它通过android和ios平台提供的机制来实现数据持久化。由于shared_preferences的使用非常简单,读者可以自行查看其文档,在此不再赘述。","我们在“jsons”目录下创建一个“profile.json”文件,结构如下:","我们在“jsons”目录下创建一个“user.json”文件保存上述信息。","数据持久化","是否启用缓存","是否私有项目","最大缓存数","本节我们先梳理一下app中将用到的数据,然后生成相应的dart","注意:在这里需要提醒读者,在登录场景中,保护用户账号安全是一个非常重要且永恒的话题,在实际开发中应严格杜绝直接明文存储用户账密的行为。","现在,我们需要的json数据已经定义完毕,现在只需要运行json_model","生成dart","用户信息","用户信息(profile)应包括如下信息:","用户所处地理位置","用户注销登录后,为了便于用户在退出app前再次登录,我们需要记住上次登录的用户名。","用户简介","由于app主页要显示其所有项目信息,我们在“jsons”目录下创建一个“repo.json”文件保存项目信息。通过参考github","由于github服务器在国内访问速度较慢,我们对github","登录github后,我们需要获取当前登录者的github账号信息,github","登录用户的token(oauth)或密码","缓存的最长时间,单位(秒)","缓存策略信息,结构见\"cacheconfig.json\"","获取项目信息的api文档,定义出最终的“repo.json”文件结构,如下:","该用户关注的人数","该项目是否为fork的项目","该项目的开源许可证","账号信息更新时间","账号创建时间","邮箱","需要注意的是,目前github有三种登录方式,分别是账号密码登录、oauth授权登录、二次认证登录;这三种登录方式的安全性依次加强,但是在本示例中,为了简单起见,我们使用账号密码登录,因此我们需要保存用户的密码。","项目信息","项目占用的存储大小","项目拥有者,结构见\"user.json\""],"chapter15/globals.html":["!=","()","(_profil","(_profile.local","(color","(e)","(local","(user?.login","..enabl","..maxag","..maxcount",".firstwhere((e)","//","//保存profile变更","//初始化全局信息,会在app启动时执行","//初始化网络请求相关配置","//用户信息发生变化,更新用户信息并通知依赖它的子孙widgets更新","//通知依赖的widget更新","100;","15.4","15.4.1","15.4.2","15.4:全局变量及共享状态","3600","=","==","=>","??","@overrid","[","];","_pref","_prefs.getstring(\"profile\");","_prefs.setstring(\"profile\",","_prefs;","_profil","_profile.lastlogin","_profile.local","_profile.locale)","_profile.locale.split(\"_\");","_profile.locale;","_profile.them","_profile.theme,","_profile.us","_profile.user;","_profile.user?.login)","_profile.user?.login;","_theme","_themes;","app主题状态","app是否登录(如果有用户信息,则证明登录过)","app语言状态","async","await","bool","bool.fromenvironment(\"dart.vm.product\");","cacheconfig()","catch","changenotifi","class","color)","color[500].value;","colors.blue);","colors.blue,","colors.cyan,","colors.green,","colors.red,","colors.teal,","colorswatch","const","e.valu","extend","futur","getlocale()","git.init();","global","global.init().then((e)","global.profile;","global.saveprofile();","global.them","global类","global类的各个字段的意义都有注释,在此不再赘述,需要注意的是init()需要在app启动时就要执行,所以应用的main方法如下:","init()","islogin","isreleas","jsonencode(profile.tojson()));","list","local","locale(str","locale(t[0],","locale)","locale;","localemodel","main()","netcach","netcache();","notifylisteners()","notifylisteners();","null)","null;","orelse:","print(e);","profil","profile();","profile.cach","profile.fromjson(jsondecode(_profile));","profilechangenotifi","return","runapp(myapp()));","runapp(myapp())根本执行不到。","saveprofile()","set","sharedprefer","sharedpreferences.getinstance();","static","string","super.notifylisteners();","t","t[1]);","theme","theme(colorswatch","theme)","thememodel","tri","true","user","user(us","user)","user;","usermodel","var","void","{","}","主题改变后,通知其依赖项,新主题会立即生效","主题状态在用户更换app主题时更新、通知其依赖项,定义如下:","全局变量","全局变量及共享状态","共享状态","可选的主题列表","在此,一定要确保global.init()方法不能抛出异常,否则","如果没有缓存策略,设置默认缓存策略","应用程序中通常会包含一些贯穿app生命周期的变量信息,这些信息在app大多数地方可能都会被用到,比如当前用户信息、local信息等。在flutter中我们把需要全局共享的信息氛围两类:全局变量和共享状态。全局变量就是单纯指会贯穿整个app生命周期的变量,用于单纯的保存一些信息,或者封装一些全局工具和方法的对象。而共享状态则是指哪些需要跨组件或跨路由共享的信息,这些信息通常也是全局变量,而共享状态和全局变量的不同在于前者者发生改变时需要通知所有使用该状态的组件,而后者不需要。为此,我们将全局变量和共享状态分开单独管理。","当app语言选为跟随系统(auto)时,在系通语言改变时,app语言会更新;当用户在app中选定了具体语言时(美国英语或中文简体),则app便会一直使用用户选定的语言,不会再随系统语言而变。语言状态类定义如下:","我们在“lib/common”目录下创建一个global类,它主要管理app的全局变量,定义如下:","持久化profile信息","提供四套可选主题色","是否为release版","有了全局变量,我们还需要考虑如何跨组件共享状态。当然,如果我们将要共享的状态全部用全局变量替代也是可以的,但是这在flutter开发中并不是一个好主意,因为组件的状态是和ui相关,而在状态改变时我们会期望依赖该状态的ui组件会自动更新,如果使用全局变量,那么我们必须得去手动处理状态变动通知、接收机制以及变量和组件依赖关系。因此,本实例中,我们使用前面介绍过的provider包来实现跨组件状态共享,因此我们需要定义相关的provider。在本实例中,需要共享的状态有登录用户信息、app主题信息、app语言信息。由于这些信息改变后都要立即通知其它依赖的该信息的widget更新,所以我们应该使用changenotifierprovider,另外,这些信息改变后都是需要更新profile信息并进行持久化的。综上所述,我们可以定义一个profilechangenotifier基类,然后让需要共享的model继承自该类即可,profilechangenotifier定义如下:","用户改变app语言后,通知依赖项更新,新语言会立即生效","用户状态","用户状态在登录状态发生变化时更新、通知其依赖项,我们定义如下:","网络缓存对象","获取当前locale的字符串表示","获取当前主题,如果为设置主题,则默认使用蓝色主题","获取当前用户的app语言配置locale类,如果为null,则语言跟随系统语言"],"chapter15/network.html":["!=","\"/users/$login\",","\"application/vnd.github.squirrel","\"application/vnd.github.symmetra","\"list\":","\"nocache\":","\"proxi","\"user/repos\",","&&","'","'../index.dart';","'basic","'dart:async';","'dart:collection';","'dart:convert';","'dart:io';","'get')","'https://api.github.com/',","'package:dio/dio.dart';","'package:flutter/material.dart';","(!global.isrelease)","(!global.profile.cache.enable)","((datetime.now().millisecondssinceepoch","(client)","(dio.httpclientadapt","(ob","(options.extra[\"list\"]","(options.extra[\"nocache\"]","(refresh)","(uri)","(x509certif","));",");","+","/","//","//query参数,用于接收分页信息","//代理工具会提供一个抓包的自签名证书,会通不过证书校验,所以我们禁用证书校验","//如果是下拉刷新,先删除相关缓存","//将请求uri作为缓存的key","//更新profile中的token信息","//本接口禁用缓存","//清空所有缓存","//登录成功后更新公共头(authorization),此后的所有请求都会带上用户身份信息","//若是列表,则只要url中包含当前path的缓存全部删除(简单实现,并不精准)","//若缓存未过期,则返回缓存内容","//获取用户项目列表","10.1.10.250:8888\";","1000","15.5","15.5.1","15.5.2","15.5:网络请求封装",":","=","==","==(other)","=>","??","@overrid","_option","_options,","_options.extra.addall({\"refresh\":","_options.merge(headers:","_options;","api接口调用。另外,在调试过程中,我们通常需要一些工具来查看网络请求、响应报文,使用网络代理工具来调试网络数据问题是主流方式。配置代理需要在应用中指定代理服务器的地址和端口,另外github","api是https协议,所以在配置完代理后还应该禁用证书校验,这些配置我们在git类初始化时执行(init()方法)。下面是git类的源码:","api的基地址和api支持的header进行了全局配置,这样所有通过该dio实例发出的请求都会默认使用者些配置。","async","await","base64.encode(utf8.encode('$login:$pwd'));","baseurl:","basic","basic;","bool","buildcontext","cach","cache.removewhere((key,","cache[key];","cacheobject","cacheobject(this.response)","cert,","class","client.badcertificatecallback","client.findproxi","context;","context});","datetime.now().millisecondssinceepoch;","defaulthttpclientadapter).onhttpclientcr","delete(options.uri.tostring());","dio","dio(baseoptions(","dio.get(","dio.interceptors.add(global.netcache);","dio.options.headers[httpheaders.authorizationheader]","extend","extra:","false})","futur","future>","getrepos(","girl","git","git([this.context])","global.netcache.cache.clear();","global.profile.token","global.profile.token;","hashcod","headers:","host,","httpheaders.acceptheader:","httpheaders.authorizationheader:","import","init()","int","interceptor","key","key.contains(options.path));","linkedhashmap();","login(str","login,","netcach","new","nocach","null)","ob","ob.timestamp)","onrequest(requestopt","oper","option","options(extra:","options)","options.extra[\"cachekey\"]","options.extra[\"refresh\"]","options.method.tolowercase()","options.uri.tostring();","options:","options;","other.hashcode;","package,所以我们可以直接通过拦截器来实现缓存策略:","port)","preview+json\",","preview,\"","pwd)","queryparameters,","queryparameters:","r","r.data.map((e)","refresh","refresh标记是否是\"下拉刷新\"","repo.fromjson(e)).tolist();","respons","response.hashcod","response.realuri.hashcode;","response;","return","static","string","timestamp","timestamp;","true","true)","true,","true;","true});","user.fromjson(r.data);","v)","var","void","{","{\"context\":","{map","}","}),","},","};","一个完整的app,可能会涉及很多网络请求,为了便于管理、收敛请求入口,工程上最好的作法就是将所有网络请求放到同一个源码文件中。由于我们的接口都是请求的github","为确保迭代器顺序和对象插入时间一致顺序一致,我们使用linkedhashmap","关于代码的解释都在注释中了,在此需要说明的是dio包的option.extra是专门用于扩展请求参数的,我们通过定义了“refresh”和“nocache”两个参数实现了”针对特定接口或请求决定是否启用缓存的机制“,这两个参数含义如下:","列表下拉刷新,需要删除缓存(拦截器中会读取这些信息)","参数名","另外需要注意,我们所有的网络请求是通过同一个dio实例(静态变量)发出的,在创建该dio实例时我们将github","可以看到我们在init()方法中,我们判断了是否是调试环境,然后做了一些针对调试环境的网络配置(设置代理和禁用证书校验)。而git.init()方法是应用启动时被调用的(global.init()方法中会调用git.init())。","在本实例中,我们只用到了登录接口和获取用户项目的接口,所以在git类中只定义了login(…)和getrepos(…)方法,如果读者要在本实例的基础上扩充功能,读者可以将其它的接口请求方法添加到git类中,这样便实现了网络请求接口在代码层面的集中管理和维护。","在网络请求过程中可能会需要使用当前的context信息,比如在请求失败时","在调试模式下需要抓包调试,所以我们使用代理,并禁用https证书校验","如果不是列表,则只删除uri相同的缓存","如果为true,则本次请求不使用缓存,但新的请求结果依然会被缓存","封装网络请求","开发平台提供的api,所以我们定义一个git类,专门用于github","打开一个新路由,而打开新路由需要context信息。","接下来我们需要实现具体的缓存策略,由于我们使用的是dio","本次请求禁用缓存,请求结果也不会被缓存。","本节我们会基于前面介绍过的dio网络库封装app中用到的网络请求接口,并同时应用一个简单的缓存策略。下面我们先介绍一下网络接口缓存原来,然后再封装app的业务请求接口。","添加缓存插件","由于在国内访问github服务器速度较慢,所以我们应用一些简单的缓存策略:将请求的url作为key,对请求的返回值在一个指定时间段类进行缓存,另外设置一个最大缓存数,当超过最大缓存数后移除最早的一条缓存。但是也得提供一种针对特定接口或请求决定是否启用缓存的机制,这种机制可以指定哪些接口或那次请求不应用缓存,这种机制是很有必要的,比如登录接口就不应该缓存,又比如用户在下拉刷新时就不应该再应用缓存。在实现缓存之前我们先定义保存缓存信息的cacheobject类:","登录接口,登录成功后返回用户信息","类型","缓存创建时间","网络接口缓存","网络请求封装","解释","设置用户token(可能为null,代表未登录)"],"chapter15/entry.html":["!=","\"","\"\"),","\"imgs/avatar","\"language\"),","\"language\":","\"login\":","\"themes\"),","\"themes\":","'../index.dart';","'cn'),","'page':","'page_size':","'us'),","'us');","(!usermodel.islogin)","(!value.islogin)","()","(buildcontext","(context)","(context){","(context,","(ctx)","(int","(list","(local","(localemodel.getlocale()","(supportedlocales.contains(_locale))","(widget.repo.fork)","(widget.repo.priv",")","),",");","+","...//",".5,",".9,",".padright(paddingwidth)),",".tostring()","//","//app语言跟随系统语言,如果系统语言不是中文简体或美国英语,","//其它local","//则默认使用美国英语","//头像占位图,加载过程中显示","//如果已经选定语言,则不跟随系统","//已登录,则展示项目列表","//应用主页","//我们只支持美国英语和中文简体","//我们的自定义图标","//把请求到的新数据添加到items中","//抽屉菜单","//构建功能菜单","//构建抽屉菜单头部","//用户未登录,显示登录按钮","//移除顶部pad","//该赋值语句会触发materialapp","//退出账号前先弹二次确认窗","//项目owner头像","0.0,","1.15,","10;","12),","13,","15,","15.6","15.6.1","15.6.2","15.6.3","15.6:app入口及首页","16),","16.0),","1、15","20),","20,","24.0,","2所示:","3,","30,","3、15","40,","4所示:","8,","8.0),","80)","80,",":","=","==","=>","=>placeholder,","?","??","@overrid","[","]);","],","];","_buildbody()","_buildbody(),","_buildbody()方法来构建主页内容,_buildbody()方法实现代码如下:","_buildbottom()","_buildheader()","_buildheader(),","_buildmenus()","_buildmenus()),","_homeroutest","_homeroutestate();","_locale,","_locale;","_repoitemst","_repoitemstate();","actions:","alertdialog(","appbar(","appbar:","application.","app入口","app入口及主页","async","await","body:","bool","borderdirectional(","borderradiu","borderradius,","borderradius.circular(12),","borderradius.circular(2),","borderradius:","borderside(","bottom:","boxfit","build(buildcontext","buildcontext","builder(builder:","builder:","cachednetworkimage(","center(","changenotifierprovider.value(value:","child)","child:","children","children);","children.add(text(\"forked\".padright(paddingwidth)));","children.addall([","children:","class","clipoval(","cliprrect(","color:","colors.bluegrey[700],","colors.grey,","colors.grey[700]),","colors.white,","column(","const","consumer(","consumer2(","container(","content:","context)","context,","context:","createstate()","crossaxisalignment.start,","crossaxisalignment:","ctx)","data","data.length==20;","data:","default.png\",","defaulttextstyle(","dense:","doubl","drawer(","drawer:","edgeinsets.only(top:","edgeinsets.symmetric(horizontal:","error)","errorwidget:","expanded(child:","extend","final","fit,","fit:","flatbutton(","fontsize:","fontstyle.ital","fontstyle.italic,","fontstyle.normal,","fontstyle:","fontweight.bold,","fontweight:","gesturedetector(","git(context).getrepos(","global.init().then((e)","globalmateriallocalizations.delegate,","globalwidgetslocalizations.delegate,","gm","gmavatar(","gmavatar(str","gmavatar(value.user.avatar_url,","gmlocalizations.of(context).login,","gmlocalizations.of(context).nodescription,","gmlocalizations.of(context).title;","gmlocalizations.of(context);","gmlocalizationsdelegate()","height","height,","height:","home:","homerout","homeroute(),","homeroute是应用的主页。","icon(icons.color_lens),","icon(icons.info_outline),","icon(icons.language),","icon(icons.lock),","icon(icons.power_settings_new),","icon(icons.star),","icon(myicons.fork),","icontheme(","iconthemedata(","if(usermodel.islogin)","image.asset(","imageurl:","import","index,","infinitelistview(","int","item","itembuilder:","itembuilder为列表项的builder,我们需要在该回调中构建每一个列表项widget。由于列表项构建逻辑较负责,我们单独封装一个repoitem","items,","items.addall(data);","iter","key","key);","key,","languageroute(),","leading:","list","list,","listtile(","listview(","local","locale('en',","locale('zh',","locale:","locale;","locale=","localemodel()),","localemodel,","localemodel.getlocale(),","localemodel.getlocale();","localeresolutioncallback:","localizationsdelegates:","loginroute(),","main()","main函数为app入口函数,实现如下:","material(","materialapp(","maxlines:","mediaquery.removepadding(","multiprovider(","myapp","mydraw","mydrawer(),","mydrawer({","navigator.of(context).pushnamed(\"login\"),","navigator.of(context).pushnamed(\"login\");","navigator.pop(context),","navigator.pop(context);","navigator.pushnamed(context,","null","null)","null;","ongeneratetitle:","onpressed:","onretrievedata:","ontap:","package中提供的。infinitelistview同时支持了下拉刷新和上拉加载更多两种功能。onretrievedata","padding(","padding:","paddingwidth","page","page,","placehold","placeholder:","primaryswatch:","private\".padright(paddingwidth))","provider.of(context);","providers:","queryparameters:","raisedbutton(","rebuild","refresh","refresh)","refresh,","refresh:","removetop:","repo","repo;","repoitem","repoitem(list[index]);","repoitem(this.repo)","return","root","routes:","row(","row(children:","runapp(myapp()));","scaffold(","shape:","showdialog(","size:","state","statefulwidget","statelesswidget","style:","subtitle,","subtitle:","subtitle;","super(key:","supportedlocales)","supportedlocales:","text(","text(\"","text(gm.cancel),","text(gm.language),","text(gm.logout),","text(gm.logouttip),","text(gm.theme),","text(gm.yes),","text(gmlocalizations.of(context).home),","text(gmlocalizations.of(context).login),","text(widget.repo.forks_count.tostring().padright(paddingwidth)),","text(widget.repo.languag","textscalefactor:","textstyle(","textstyle(color:","theme.of(context).dividercolor,","theme.of(context).primarycolor,","theme:","themechangeroute(),","themedata(","thememodel()),","thememodel,","thememodel.theme,","title:","trailing:","true)","true,","url)","url,","usermodel","usermodel()),","usermodel,","usermodel.us","value,","value.islogin","value.user.login","valuekey(repo.id));","var","void","widget","widget.repo.descript","widget.repo.description,","widget.repo.fork","widget.repo.full_nam","widget.repo.name,","widget.repo.open_issues_count","widget.repo.owner.avatar_url,","widget.repo.owner.login,","widget.repo.stargazers_count","widget,它是flukit","width","width,","width:","{","}","})","}),","},","上面代码中,主页的标题(title)我们是通过gmlocalizations.of(context).home来获得,gmlocalizations是我们提供的一个localizations类,用于支持多语言,因此当app语言改变时,凡是使用gmlocalizations动态获取的文案都会是相应语言的文案,这在前面”国际化“一章中已经介绍过,读者可以前翻查阅。","上面代码有两点需要注意:","上面代码注释很清楚:如果用户未登录,显示登录按钮;如果用户已登录,则展示项目列表。这里项目列表使用了infinitelistview","专门用于构建列表项ui。repoitem","中文简体","为了支持多语言(本app中我们支持美国英语和中文简体两种语言)我们实现了一个gmlocalizationsdelegate,子widget中都可以通过gmlocalizations来动态获取app当前语言对应的文案。关于gmlocalizationsdelegate和gmlocalizations的实现方式读者可以参考”国际化“一章中的介绍,此处不再赘述。","为了简单起见,当app启动后,如果之前已登录了app,则显示该用户项目列表;如果之前未登录,则显示一个登录按钮,点击后跳转到登录页。另外,我们实现一个抽屉菜单,里面包含当前用户头像及app的菜单。下面我们先看看要实现的效果,如图15","为数据获取回调,该回调函数接收三个参数:","主页","代码中调用了cachednetworkimag","会被置空,此时所有依赖usermodel的组件都会被rebuild,如主页会恢复成未登录的状态。","保存当前列表数据的list","初始化完成后才会加载ui(myapp),myapp","参数名","回调中我们调用git(context).getrepos(...)来获取用户项目列表,同时指定每次请求获取20条。当获取成功时,首先要将新获取的项目数据添加到items中,然后根据本次请求的项目条数是否等于期望的20条来判断还有没有更多的数据。在此需要注意,git(context).getrepos(…)方法中需要refresh参数来判断是否使用缓存。","图标库中没有fork图标,所以我们在iconfont.cn上找了一个fork图标,然后根据”图片和icon“一节中介绍的使用自定义字体图标的方法集成到了我们的项目中。","在上面的代码中:","在构建materialapp时,我们配置了app支持的语言列表,以及监听了系统语言改变事件;另外materialapp消费(依赖)了thememodel和localemodel,所以当app主题或语言改变时materialapp会重新构建","在构建项目拥有者头像时调用了gmavatar(…)方法,该方法是是一个全局工具函数,专门用于获取头像图片,实现如下:","如果已登录,则显示用户头像;若未登录,则显示默认头像","如果接口返回的数量等于'page_size',则认为还有数据,反之则认为最后一页","实现代码如下:","实现如下:","将`repo.id`作为repoitem的默认key","当前页号","我们在”lib/routes“下创建一个”home_page.dart“文件,实现如下:","我们注册了命名路由表,以便在app中可以直接通过路由名跳转。","我们的根widget是multiprovider,它将主题、用户、语言三种状态绑定到了应用的根上,如此一来,任何路由中都可以通过provider.of()来获取这些状态,也就是说这三种状态是全局共享的!","我们通过","抽屉菜单","抽屉菜单分为两部分:顶部头像和底部功能菜单项。当用户未登录,则抽屉菜单顶部会显示一个默认的灰色占位图,若用户已登录,则会显示用户的头像。抽屉菜单底部有”换肤“和”语言“两个固定菜单,若用户已登录,则会多一个”注销“菜单。用户点击”换肤“和”语言“两个菜单项,会进入相应的设置页面。我们的抽屉菜单效果如图15","是cached_network_image包中提供的一个widget,它不仅可以在图片加载过程中指定一个占位图,而且还可以对网络请求的图片进行缓存,更多详情读者可以自行查阅其文档。","是否是下拉刷新触发","是应用的入口widget,实现如下:","本地化的代理类","本小节我们介绍了app入口materialapp的一些配置,然后实现了app的首页。后面我们将展示登录页、换肤页、语言切换页。","本节来介绍一下app入口及首页。","构建主页面","构建卡片底部信息","构建菜单项","构建项目标题和简介","注册命名路由表","用户点击”注销“,usermodel.us","由于flutter","的materi","省略","类型","美国英语","解释","返回值类型为bool,为true时表示还有数据,为false时则表示后续没有数据了。onretrievedata","项目信息列表项"],"chapter15/login_page.html":["!=","!_nameautofocus,","!pwdshow,","!pwdshow;","'../index.dart';","((_formkey.currentst","()","(_unamecontroller.text","(e)","(e.response?.statuscod","(user","(v)",")),","),",");","//","//密码是否显示明文","//校验密码(不能为空)","//登录失败则提示","15.7","15.7:登录页","25),","401)","55.0),","5所示。",":","=","==","=>","?","@overrid","[","],","_formkey","_formkey,","_loginroutest","_loginroutestate();","_nameautofocu","_nameautofocus,","_onlogin()","_onlogin,","_pwdcontrol","_pwdcontroller,","_pwdcontroller.text);","_unamecontrol","_unamecontroller,","_unamecontroller.text","appbar(title:","appbar:","async","autofocus:","autovalidate:","await","body:","bool","boxconstraints.expand(height:","build(buildcontext","catch","child:","children:","class","color:","colors.white,","column(","const","constrainedbox(","constraints:","context)","controller:","createstate()","decoration:","edgeinsets.all(16.0),","edgeinsets.only(top:","extend","false).us","false;","final","form(","formstate).validate())","git(context).login(_unamecontroller.text,","global.profile.lastlogin;","globalkey","globalkey();","gm","gm.password,","gm.passwordrequired;","gm.username,","gm.usernameoremail,","gm.usernamerequired;","gmlocalizations.of(context);","hinttext:","icon(","icon(icons.lock),","icon(icons.person),","icon:","iconbutton(","icons.visibility),","icons.visibility_off","import","initstate()","inputdecoration(","key:","labeltext:","listen:","loginrout","navigator.of(context).pop();","new","null","null)","obscuretext:","onpressed:","padding(","padding:","prefixicon:","provider.of(context,","pwdshow","raisedbutton(","return","scaffold(","setstate(()","showloading(context);","showtoast(e.tostring());","showtoast(gmlocalizations.of(context).usernameorpasswordwrong);","state","statefulwidget","suffixicon:","super.initstate();","text(gm.login)),","text(gm.login),","textcolor:","texteditingcontrol","texteditingcontroller();","textformfield(","theme.of(context).primarycolor,","tri","true,","true;","user","user;","v.trim().isnotempti","validator:","var","void","widget","{","}","}),","});","},","为了防止密码输入错误,密码框应该有开关可以看明文。","代码很简单,关键地方都有注释,不再赘述,下面我们看一下运行效果,如图15","可以自动填充上次登录的用户名(如果有)。","因为登录页返回后,首页会build,所以我们传false,更新user后不触发更新","实现代码如下:","我们说过github有多种登录方式,为了简单起见,我们只实现通过用户名和密码登录。在实现登录页时有四点需要注意:","提交前,先验证各个表单字段是否合法","校验用户名(不能为空)","用户名或密码字段在调用登录接口前有本地合法性校验(比如不能为空)。","登录成功后需更新用户信息。","登录页","自动填充上次登录的用户名,填充后将焦点定位到密码输入框","返回","隐藏loading框"],"chapter15/language_and_theme_setting.html":["\"en_us\"),","\"zh_cn\"),","()","),",");","//","//主题更新后,materialapp会重新build","//显示主题色块","//构建语言选择项","15.8","15.8.1","15.8.2","15.8:多语言和多主题","16),","40,","5,","6、15","7所示:","8所示:",":","=","==","?","@overrid","[","],","_buildlanguageitem(\"english\",","_buildlanguageitem(\"中文简体\",","_buildlanguageitem(gm.auto,","_buildlanguageitem(str","appbar(","appbar:","app语言选择页提供三个选项:中文简体、美国英语、跟随系统。我们将当前app使用的语言高亮显示,并且在后面添加一个”对号“图标,实现如下:","body:","build(buildcontext","child:","children:","class","color","color)","color:","const","container(","context)","e,","e;","edgeinsets.symmetric(vertical:","extend","gesturedetector(","global.themes.map((e)","gm","gmlocalizations.of(context);","height:","horizontal:","icon(icons.done,","lan,","languagerout","listtile(","listview(","localemodel","localemodel.local","null),","null,","ontap:","padding(","padding:","provider.of(context).them","provider.of(context);","return","scaffold(","statelesswidget","statelesswidget{","style:","text(","text(gm.language),","text(gmlocalizations.of(context).theme),","textstyle(color:","theme.of(context).primarycolor;","themechangerout","title:","trailing:","valu","value)","value;","var","widget","{","}","}).tolist(),","},","一个完整的主题theme包括很多选项,这些选项在themedata中定义。本实例为了简单起见,我们只配置主题颜色。我们提供几种默认预定义的主题色供用户选择,用户点击一种色块后则更新主题。主题选择页的实现代码如下:","上面代码逻辑很简单,唯一需要注意的是我们在build(…)方法里面定义了_buildlanguageitem(…)方法,它和在languageroute类中定义该方法的区别就在于:在build(…)内定义的方法可以共享build(...)方法上下文中的变量,本例中是共享了localemodel。当然,如果_buildlanguageitem(…)的实现复杂一些的话不建议这样做,此时最好是将其作为languageroute类的方法。该页面运行效果如图15","主题选择页","切换语言后立即生效。","多语言和多主题","对app当前语言进行高亮显示","更新locale后materialapp会重新build","本实例app中语言和主题都是可以设置的,而两者都是通过changenotifierprovider来实现的:我们在main函数中使用了consumer2,依赖了thememodel和localemodel,因此,当我们在语言和主题设置页更该当前的配置后,consumer2的builder都会重新执行,构建一个新的materialapp,所以修改会立即生效。下面看一下语言和主题设置页的实现。","点击其它主题色块后,app主题色立马切换生效。","语言选择页","运行效果如图15"]},"length":102},"tokenStore":{"root":{"0":{"0":{"5":{"2":{"2":{"9":{"8":{"3":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}},"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}},"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":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.020242914979757085}}},"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.005698005698005698},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.004694835680751174}},";":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.008547008547008548},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}},".":{"0":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.00303951367781155},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}},")":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}},";":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}},",":{"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.001519756838905775}}},"docs":{}}},"docs":{}}},"docs":{}}},"1":{"docs":{},".":{"0":{"docs":{},",":{"0":{"docs":{},".":{"0":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}},"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.001519756838905775}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.00911854103343465},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.009900990099009901},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00851063829787234},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.016194331983805668},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010309278350515464},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.008403361344537815},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},"/":{"docs":{},"/":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}}},";":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.008726003490401396}},"/":{"docs":{},"/":{"docs":{},"距":{"docs":{},"左":{"docs":{},"边":{"docs":{},"的":{"docs":{},"偏":{"docs":{},"移":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}}}}}}},"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}},"docs":{}}},"6":{"docs":{},")":{"docs":{},",":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}},"带":{"docs":{},"入":{"docs":{},"坐":{"docs":{},"标":{"docs":{},"转":{"docs":{},"换":{"docs":{},"公":{"docs":{},"式":{"docs":{},"得":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"o":{"docs":{},"实":{"docs":{},"际":{"docs":{},"偏":{"docs":{},"移":{"docs":{},"为":{"docs":{},"(":{"1":{"2":{"docs":{},",":{"3":{"6":{"docs":{},")":{"docs":{},",":{"docs":{},"和":{"docs":{},"实":{"docs":{},"际":{"docs":{},"运":{"docs":{},"行":{"docs":{},"效":{"docs":{},"果":{"docs":{},"吻":{"docs":{},"合":{"docs":{},"。":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.008403361344537815}},"/":{"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.004201680672268907}}}}}}}}},"docs":{}},"docs":{}}}}}}}}},"docs":{}},"x":{"docs":{},"e":{"0":{"0":{"0":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}},"docs":{}},"docs":{}},"6":{"1":{"4":{"docs":{},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}},"docs":{}},"docs":{}},"9":{"0":{"docs":{},"d":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}},"1":{"4":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}},"docs":{}},"docs":{}},"docs":{},"c":{"7":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}},"docs":{}}},"f":{"docs":{},"f":{"2":{"1":{"9":{"6":{"docs":{},"f":{"3":{"docs":{},";":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}},")":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}},",":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.0102880658436214}}},")":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.006172839506172839}},";":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00823045267489712}}}},";":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}},"}":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}}}},",":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.009900990099009901},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849},"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}},"1":{"0":{"0":{"0":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0056179775280898875},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}}},",":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}},"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935},"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.013215859030837005},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.005376344086021506},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.006134969325153374},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0058309037900874635},"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}},".":{"0":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.03316326530612245},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.006802721088435374}}},")":{"docs":{},",":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}},")":{"docs":{},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}}}}}},"docs":{}},")":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}},".":{"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.003067484662576687}}},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},"}":{"docs":{},"%":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}}}}}}},")":{"docs":{},";":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}},";":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}},":":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}},";":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}},"1":{"docs":{},".":{"8":{"docs":{},")":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}},"docs":{}}},"2":{"docs":{},";":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}},"4":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}},"docs":{}}},"8":{"docs":{},",":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}},"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}},".":{"0":{"docs":{},",":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}}},")":{"docs":{},";":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}},"1":{"docs":{"chapter10/intro.html":{"ref":"chapter10/intro.html","tf":0.04}},":":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"组":{"docs":{},"件":{"docs":{},"方":{"docs":{},"法":{"docs":{},"简":{"docs":{},"介":{"docs":{"chapter10/intro.html":{"ref":"chapter10/intro.html","tf":10}}}}}}}}}}}},".":{"1":{"0":{"docs":{},".":{"2":{"5":{"0":{"docs":{},":":{"8":{"8":{"8":{"8":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"2":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}},":":{"docs":{},"组":{"docs":{},"合":{"docs":{},"现":{"docs":{},"有":{"docs":{},"组":{"docs":{},"件":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":10}}}}}}}}}},"3":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}},":":{"docs":{},"组":{"docs":{},"合":{"docs":{},"实":{"docs":{},"例":{"docs":{},":":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":10}}}}}}}}}}}}}}}},"4":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}},":":{"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":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":10}}}}}}}}}}}}}}}}}}}}}}}}}}}},"5":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}},":":{"docs":{},"自":{"docs":{},"绘":{"docs":{},"实":{"docs":{},"例":{"docs":{},":":{"docs":{},"圆":{"docs":{},"形":{"docs":{},"渐":{"docs":{},"变":{"docs":{},"进":{"docs":{},"度":{"docs":{},"条":{"docs":{},"(":{"docs":{},"自":{"docs":{},"绘":{"docs":{},")":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":10}}}}}}}}}}}}}}}}}}}},"docs":{}},":":{"0":{"0":{"docs":{},":":{"5":{"2":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"_":{"3":{"docs":{},"_":{"1":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}},"docs":{}}},"docs":{}},"\"":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}},"的":{"docs":{},"作":{"docs":{},"用":{"docs":{},"是":{"docs":{},",":{"docs":{},"告":{"docs":{},"诉":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"本":{"docs":{},"次":{"docs":{},"请":{"docs":{},"求":{"docs":{},"我":{"docs":{},"们":{"docs":{},"只":{"docs":{},"想":{"docs":{},"获":{"docs":{},"取":{"docs":{},"文":{"docs":{},"件":{"0":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"包":{"docs":{},"括":{"1":{"0":{"docs":{},",":{"docs":{},"共":{"1":{"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":{},"码":{"docs":{},"为":{"2":{"0":{"6":{"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":{},"n":{"docs":{},"t":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}},"docs":{}},"docs":{}}}},"/":{"2":{"3":{"3":{"2":{"9":{"5":{"8":{"7":{"8":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"表":{"docs":{},"示":{"docs":{},"本":{"docs":{},"次":{"docs":{},"返":{"docs":{},"回":{"docs":{},"的":{"docs":{},"区":{"docs":{},"块":{"docs":{},",":{"2":{"3":{"3":{"2":{"9":{"5":{"8":{"7":{"8":{"docs":{},"代":{"docs":{},"表":{"docs":{},"文":{"docs":{},"件":{"docs":{},"的":{"docs":{},"总":{"docs":{},"长":{"docs":{},"度":{"docs":{},",":{"docs":{},"单":{"docs":{},"位":{"docs":{},"都":{"docs":{},"是":{"docs":{},"b":{"docs":{},"y":{"docs":{},"t":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}},"t":{"1":{"5":{"docs":{},":":{"4":{"6":{"docs":{},":":{"2":{"0":{"docs":{},".":{"8":{"9":{"7":{"2":{"2":{"8":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter13/intl.html":{"ref":"chapter13/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":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},";":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}},"1":{"docs":{},"所":{"docs":{},"示":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}}},":":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064}}}}},"。":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}},".":{"1":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}},":":{"docs":{},"文":{"docs":{},"件":{"docs":{},"操":{"docs":{},"作":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":10}}}}}}}},"2":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}},":":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"请":{"docs":{},"求":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":5}}}}}}}}}},"3":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}},":":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"请":{"docs":{},"求":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":3.333333333333333}}}}}}}}}},"4":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}},":":{"docs":{},"实":{"docs":{},"例":{"docs":{},":":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"分":{"docs":{},"块":{"docs":{},"下":{"docs":{},"载":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":10}}}}}}}}}}}}}}},"5":{"docs":{},":":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":10}}}}}}}}}}}}},"6":{"docs":{"chapter11/socket.html":{"ref":"chapter11/socket.html","tf":0.02857142857142857}},":":{"docs":{},"使":{"docs":{},"用":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter11/socket.html":{"ref":"chapter11/socket.html","tf":5}}}}}}}}}}}},"7":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}},":":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"转":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":5}}}}}}}}}}}}},"docs":{}}},"2":{"0":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.020618556701030927},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.008097165991902834}}},")":{"docs":{},",":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}}}}},"docs":{}}},"5":{"docs":{},".":{"8":{"docs":{},")":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}},"docs":{}}},"9":{"6":{"2":{"6":{"9":{"docs":{},",":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.008403361344537815}},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}},".":{"1":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}},":":{"docs":{},"开":{"docs":{},"发":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":10}}}}}}}}}}}},"2":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}},":":{"docs":{},"平":{"docs":{},"台":{"docs":{},"通":{"docs":{},"道":{"docs":{},"简":{"docs":{},"介":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":10}}}}}}}}}},"3":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}},":":{"docs":{},"开":{"docs":{},"发":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"插":{"docs":{},"件":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":10}}}}}}}}}}}}}}},"4":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}},":":{"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":10}}}}}}}}}}}}}}}}}}}}}},"5":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}},":":{"docs":{},"插":{"docs":{},"件":{"docs":{},"开":{"docs":{},"发":{"docs":{},":":{"docs":{},"实":{"docs":{},"现":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"端":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":10}}}}}}}}}}}}}}}}}},"docs":{}},")":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}}}}},"3":{"0":{"docs":{},",":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}},"docs":{},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}},"下":{"docs":{},":":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}},".":{"0":{"docs":{},")":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}},"1":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}},":":{"docs":{},"让":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"支":{"docs":{},"持":{"docs":{},"多":{"docs":{},"语":{"docs":{},"言":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":10}}}}}}}}}}}}},"2":{"docs":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894}},":":{"docs":{},"实":{"docs":{},"现":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":10}}}}}}}}}}},"3":{"docs":{},":":{"docs":{},"使":{"docs":{},"用":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"包":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":10}}}}}}}}}}},"4":{"docs":{"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02}},":":{"docs":{},"国":{"docs":{},"际":{"docs":{},"化":{"docs":{},"常":{"docs":{},"见":{"docs":{},"问":{"docs":{},"题":{"docs":{"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":10}}}}}}}}}}},"docs":{}},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}},"4":{"docs":{},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}},".":{"0":{"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.0013477088948787063}}}}}}}}}}}}}},"1":{"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":{},"e":{"docs":{},"r":{"docs":{"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":5}}}}}}}}}}},"2":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}},".":{"1":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}}},"2":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}}},"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":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":10}}}}}}}}}}}}}}}}}}}}}}}},"3":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}},".":{"1":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}},"2":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}},"3":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}},"4":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}},"5":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}},"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":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":10}}}}}}}}}}}}}}}}}}}}}}}}}},"4":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}},":":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"从":{"docs":{},"启":{"docs":{},"动":{"docs":{},"到":{"docs":{},"显":{"docs":{},"示":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":10}}}}}}}}}}}}}}}}},"5":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},".":{"1":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}},"2":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}},"docs":{}},":":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"图":{"docs":{},"片":{"docs":{},"加":{"docs":{},"载":{"docs":{},"与":{"docs":{},"缓":{"docs":{},"存":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":10}}}}}}}}}}}}}}}}}},"docs":{}},"t":{"0":{"4":{"docs":{},":":{"3":{"3":{"docs":{},":":{"3":{"5":{"docs":{},"z":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.008097165991902834}}}}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"5":{"0":{"docs":{},".":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}}},")":{"docs":{},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}}}}},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}},")":{"docs":{},",":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}},"docs":{}},")":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}},"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}},".":{"0":{"docs":{},",":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.013605442176870748}}}},"1":{"docs":{"chapter15/intro.html":{"ref":"chapter15/intro.html","tf":0.05}}},"2":{"docs":{"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.015151515151515152}},":":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"代":{"docs":{},"码":{"docs":{},"结":{"docs":{},"构":{"docs":{"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":10}}}}}}}}}}},"3":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}},":":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"类":{"docs":{},"定":{"docs":{},"义":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":10}}}}}}}}}}}},"4":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}},".":{"1":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}},"2":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}},"docs":{}},":":{"docs":{},"全":{"docs":{},"局":{"docs":{},"变":{"docs":{},"量":{"docs":{},"及":{"docs":{},"共":{"docs":{},"享":{"docs":{},"状":{"docs":{},"态":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":10}}}}}}}}}}}}},"5":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}},".":{"1":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}},"2":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}},"docs":{}},":":{"docs":{},"网":{"docs":{},"络":{"docs":{},"请":{"docs":{},"求":{"docs":{},"封":{"docs":{},"装":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":10}}}}}}}}}},"6":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},".":{"1":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},"2":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},"3":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},"docs":{}},":":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"入":{"docs":{},"口":{"docs":{},"及":{"docs":{},"首":{"docs":{},"页":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":10}}}}}}}}}}}},"7":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}},":":{"docs":{},"登":{"docs":{},"录":{"docs":{},"页":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":10}}}}}}},"8":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}},".":{"1":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}},"2":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}},"docs":{}},":":{"docs":{},"多":{"docs":{},"语":{"docs":{},"言":{"docs":{},"和":{"docs":{},"多":{"docs":{},"主":{"docs":{},"题":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":10}}}}}}}}}}},"docs":{}},";":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.00909090909090909}}},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}}}},"6":{"5":{"7":{"3":{"9":{"3":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}},")":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}},"的":{"docs":{},"卡":{"docs":{},"片":{"docs":{},":":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}}}}}}}},".":{"0":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}},")":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}}}}},"docs":{}},")":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}}},"7":{"9":{"4":{"docs":{},".":{"0":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}},"docs":{}}},"docs":{}},"docs":{},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}},"8":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.03125}}},")":{"docs":{},",":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186}},")":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.012903225806451613}}}}}},"docs":{}},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}},"、":{"docs":{},"图":{"5":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}},"docs":{}}}},"9":{"2":{"docs":{},".":{"1":{"6":{"8":{"docs":{},".":{"1":{"docs":{},".":{"2":{"docs":{},":":{"8":{"8":{"8":{"8":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}},"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.002551020408163265}}}}}}},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}},"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0056022408963585435},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},".":{"0":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.008097165991902834}},".":{"0":{"docs":{},"+":{"1":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}}},"docs":{}}},"docs":{}},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.012145748987854251},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}}},")":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.010309278350515464},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}},")":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}},";":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}},"代":{"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":{},"(":{"1":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}},"带":{"docs":{},"入":{"docs":{},"上":{"docs":{},"面":{"docs":{},"公":{"docs":{},"式":{"docs":{},",":{"docs":{},"可":{"docs":{},"得":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"o":{"docs":{},"的":{"docs":{},"实":{"docs":{},"际":{"docs":{},"偏":{"docs":{},"移":{"docs":{},"坐":{"docs":{},"标":{"docs":{},"正":{"docs":{},"是":{"docs":{},"(":{"6":{"0":{"docs":{},",":{"0":{"docs":{},")":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"再":{"docs":{},"看":{"docs":{},"一":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},":":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}},"]":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}},"1":{"5":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}},"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}},".":{"1":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}},"2":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}},"3":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}},"4":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}},"5":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}},"6":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}},"docs":{}},":":{"docs":{},"移":{"docs":{},"动":{"docs":{},"开":{"docs":{},"发":{"docs":{},"技":{"docs":{},"术":{"docs":{},"简":{"docs":{},"介":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":10}}}}}}}}}}}},"2":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01}},".":{"1":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01}}},"2":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01}}},"3":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01}}},"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":10}}}}}}}}}}}},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}}},"3":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},".":{"1":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},"2":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},"3":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},"4":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},"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":10}}}}}}}}}}}}}}}}},"4":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}},".":{"1":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}},"2":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}},"3":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}},"4":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}},"5":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}},"docs":{}},":":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"语":{"docs":{},"言":{"docs":{},"简":{"docs":{},"介":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":10}}}}}}}}}}}},"5":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.012903225806451613}}}},"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}},"\"":{"docs":{},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}},")":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.014245014245014245},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.01567398119122257},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}},",":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856}}},")":{"docs":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513}},".":{"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.003278688524590164}}}}}}}}}}},";":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.005454545454545455}}}},";":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}},"秒":{"docs":{},"后":{"docs":{},"返":{"docs":{},"回":{"docs":{},"结":{"docs":{},"果":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.00303951367781155},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.023668639053254437},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}},"}":{"docs":{},")":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609}}}},"到":{"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":{},"此":{"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":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},";":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.014814814814814815},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.014245014245014245},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}},"]":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"值":{"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":{},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"的":{"docs":{},"简":{"docs":{},"单":{"docs":{},"实":{"docs":{},"现":{"docs":{},":":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"、":{"1":{"5":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},"docs":{}},"9":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866}}},"docs":{}},")":{"docs":{},":":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}},"是":{"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}},"和":{"1":{"4":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}}},"docs":{}},"docs":{}}},"2":{"0":{"0":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.009900990099009901},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}}}},"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},"m":{"docs":{},"s":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}},".":{"0":{"docs":{},",":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.012170385395537525},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.00510204081632653},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}}},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}}}}},";":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}},",":{"0":{"docs":{},".":{"0":{"docs":{},"]":{"docs":{},"的":{"docs":{},"值":{"docs":{},":":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}}},"docs":{}}},"docs":{}}},"docs":{}},")":{"docs":{},",":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.006172839506172839}}}},":":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}},"1":{"7":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}},"8":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}},"年":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}},"6":{"docs":{},")":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}},"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}}},")":{"docs":{},",":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}},"/":{"docs":{},"/":{"docs":{},"子":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00851063829787234}}}}}}}},"docs":{}},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}},",":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.01702127659574468},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},")":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}},"1":{"7":{"1":{"9":{"7":{"8":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}},"2":{"docs":{},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}},"3":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}},"所":{"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.00202020202020202}}}}}}}}}}}}}}}}}}}},"4":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}},".":{"0":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},")":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}},"docs":{}},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}}}}},"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.0049504950495049506}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}}}}}}}}}}}}}}}},"docs":{},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}}}},".":{"0":{"docs":{},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}},"docs":{}},",":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.009433962264150943}}},")":{"docs":{},",":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}},"6":{"docs":{},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}},".":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001445086705202312}}}}},"docs":{}},"t":{"1":{"9":{"docs":{},":":{"0":{"1":{"docs":{},":":{"1":{"2":{"docs":{},"z":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}},"docs":{}},"docs":{}}},"6":{"docs":{},":":{"4":{"3":{"docs":{},"z":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}},"docs":{}},"docs":{}}},"docs":{}},"1":{"4":{"docs":{},":":{"4":{"3":{"docs":{},"z":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"7":{"docs":{},"k":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}},"8":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}},"docs":{},".":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}},"docs":{}},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}},"9":{"docs":{},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}},"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.004081632653061225}},".":{"0":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}},"已":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}},"语":{"docs":{},"法":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}},")":{"docs":{},")":{"docs":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406}}}}},")":{"docs":{},",":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}}}},";":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}},"1":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}},".":{"1":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}},"2":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}},"docs":{}},":":{"docs":{},"计":{"docs":{},"数":{"docs":{},"器":{"docs":{},"示":{"docs":{},"例":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":10}}}}}}}}},"2":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}},".":{"1":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}},"2":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}},"3":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}},"4":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}},"5":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}},"6":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}},"7":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}},"docs":{}},":":{"docs":{},"路":{"docs":{},"由":{"docs":{},"管":{"docs":{},"理":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":10}}}}}}}},"3":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}},":":{"docs":{},"包":{"docs":{},"管":{"docs":{},"理":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":10}}}}}}},"4":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}},":":{"docs":{},"资":{"docs":{},"源":{"docs":{},"管":{"docs":{},"理":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":10}}}}}}}},"5":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}},":":{"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":5}}}}}}}}}}}}},"6":{"2":{"5":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}},"x":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}},"docs":{}},"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}},".":{"1":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}},"2":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}},"docs":{}},":":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"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":10}}}}}}}}}}}}}}}}},"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247},"chapter11/socket.html":{"ref":"chapter11/socket.html","tf":0.02857142857142857},"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}},")":{"docs":{},",":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.003745318352059925},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}},"(":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.00749063670411985}}}}}},")":{"docs":{},".":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"(":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}}}}}}}},";":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}},"都":{"docs":{},"可":{"docs":{},".":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}},"秒":{"docs":{},"后":{"docs":{},"返":{"docs":{},"回":{"docs":{},"结":{"docs":{},"果":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}},"和":{"2":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}},"docs":{}},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.011834319526627219},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.020618556701030927},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.008097165991902834}}},"(":{"docs":{},"点":{"docs":{},"击":{"docs":{},"后":{"docs":{},")":{"docs":{},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}}}}}}}}}}},"3":{"0":{"0":{"docs":{},":":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}},".":{"0":{"docs":{},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.012605042016806723}}},")":{"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.002577319587628866}}}}}}}}}}}},"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.002577319587628866}},";":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},")":{"docs":{},",":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.00909090909090909},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}},"3":{"9":{"docs":{},")":{"docs":{},":":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.011299435028248588}}}}},"docs":{}},"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}},".":{"0":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}},",":{"docs":{},")":{"docs":{},",":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856}}}}},",":{"docs":{},"及":{"docs":{},"图":{"docs":{},"片":{"docs":{},"中":{"docs":{},"部":{"4":{"0":{"docs":{},"×":{"3":{"0":{"docs":{},"像":{"docs":{},"素":{"docs":{},"的":{"docs":{},"范":{"docs":{},"围":{"docs":{},"。":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}}}}}}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}}}}}}},",":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.023668639053254437},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}},"docs":{}},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}},")":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001445086705202312}}}},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.002167630057803468},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}},"1":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}}},"2":{"8":{"0":{"2":{"6":{"8":{"1":{"3":{"docs":{},"]":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.006085192697768763}}}},"docs":{}},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}}},"3":{"docs":{},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}}},"6":{"0":{"0":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}},"docs":{}},"docs":{},".":{"0":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}},"docs":{}}},"8":{"8":{"9":{"6":{"5":{"3":{"5":{"5":{"docs":{},"]":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{},".":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}},"docs":{}}},"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713},"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}},".":{"0":{"docs":{},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.004081632653061225}}}},"1":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}},".":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"1":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}},"2":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}},"3":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}},"4":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}},"5":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}},"6":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}},"7":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}},"docs":{}},":":{"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":10}}}}}}}}}}}},"2":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}},".":{"0":{"docs":{},".":{"docs":{},"p":{"docs":{},"o":{"docs":{},"m":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}},"1":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}},"2":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}},"3":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}},"docs":{}},":":{"docs":{},"状":{"docs":{},"态":{"docs":{},"管":{"docs":{},"理":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":10}}}}}}}},"3":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}},".":{"1":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}},"2":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}},"3":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}},"4":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}},"5":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}},"docs":{}},":":{"docs":{},"文":{"docs":{},"本":{"docs":{},"、":{"docs":{},"字":{"docs":{},"体":{"docs":{},"样":{"docs":{},"式":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":10}}}}}}}}}}},"4":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}},".":{"1":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}},"2":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}},"docs":{}},":":{"docs":{},"按":{"docs":{},"钮":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":10}}}}}},"5":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}},",":{"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.001519756838905775}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},".":{"1":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}},"2":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}},"docs":{}},":":{"docs":{},"图":{"docs":{},"片":{"docs":{},"和":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":10}}}}}}}}}}},"6":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514}},":":{"docs":{},"单":{"docs":{},"选":{"docs":{},"框":{"docs":{},"和":{"docs":{},"复":{"docs":{},"选":{"docs":{},"框":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":10}}}}}}}}}}},"7":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}},".":{"1":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}},"2":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}},"docs":{}},":":{"docs":{},"输":{"docs":{},"入":{"docs":{},"框":{"docs":{},"和":{"docs":{},"表":{"docs":{},"单":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":10}}}}}}}}}},"8":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}},":":{"docs":{},"进":{"docs":{},"度":{"docs":{},"指":{"docs":{},"示":{"docs":{},"器":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":10}}}}}}}}},"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}},"。":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}},"\"":{"docs":{},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}},")":{"docs":{},",":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.007731958762886598}}},")":{"docs":{},";":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}},"秒":{"docs":{},"后":{"docs":{},"返":{"docs":{},"回":{"docs":{},"结":{"docs":{},"果":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}},")":{"docs":{},"是":{"docs":{},"在":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00851063829787234},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.012145748987854251},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},"是":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"原":{"docs":{},"理":{"docs":{},"图":{"docs":{},":":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}},"灰":{"docs":{},"色":{"docs":{},"矩":{"docs":{},"形":{"docs":{},",":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},"整":{"docs":{},"个":{"docs":{},"动":{"docs":{},"画":{"docs":{},"效":{"docs":{},"果":{"docs":{},",":{"docs":{},"图":{"9":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}},"docs":{}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}},"、":{"1":{"5":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},"docs":{}},"docs":{}}},"4":{"0":{"0":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}},":":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}},"1":{"docs":{},")":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}},"docs":{},".":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}}}},",":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.013605442176870748}}}},"docs":{}},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}},"1":{"1":{"docs":{},".":{"4":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0060790273556231}}}},"docs":{}}},"docs":{}},"2":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0056022408963585435}},",":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717},"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}},"3":{"7":{"docs":{},".":{"0":{"8":{"6":{"docs":{},"m":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"8":{"docs":{},".":{"0":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}},"docs":{}}},"docs":{},".":{"0":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}},",":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}},"1":{"docs":{"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":0.04}},"(":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}},":":{"docs":{},"布":{"docs":{},"局":{"docs":{},"类":{"docs":{},"组":{"docs":{},"件":{"docs":{},"简":{"docs":{},"介":{"docs":{"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":10}}}}}}}}}}},"2":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856}},":":{"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":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":10}}}}}}}}}}}}}}}}}}}},"3":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609}},":":{"docs":{},"弹":{"docs":{},"性":{"docs":{},"布":{"docs":{},"局":{"docs":{},"(":{"docs":{},"f":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{},")":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":10}}}}}}}}}}}}}},"4":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}},".":{"1":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}}},"2":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}}},"docs":{}},":":{"docs":{},"流":{"docs":{},"式":{"docs":{},"布":{"docs":{},"局":{"docs":{},"(":{"docs":{},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"、":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},")":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":10}}}}}}}}}}}}}}}}}}},"5":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125}},":":{"docs":{},"层":{"docs":{},"叠":{"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":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":10}}}}}}}}}}}}}}}}}}}}}}}}}},"6":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}},".":{"1":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}},"2":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}},"3":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}},"docs":{}},":":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"与":{"docs":{},"相":{"docs":{},"对":{"docs":{},"定":{"docs":{},"位":{"docs":{},"(":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},")":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":10}}}}}}}}}}}}}}}}}},"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}},")":{"docs":{},",":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}},"秒":{"docs":{},"后":{"docs":{},"返":{"docs":{},"回":{"docs":{},"结":{"docs":{},"果":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}},"所":{"docs":{},"示":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}},"。":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}},":":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}},"、":{"6":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}},"docs":{}},"是":{"docs":{},"动":{"docs":{},"画":{"docs":{},"执":{"docs":{},"行":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"的":{"docs":{},"一":{"docs":{},"帧":{"docs":{},"。":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}}}}}}}}}}}}},"类":{"docs":{},"似":{"docs":{},"的":{"docs":{},"错":{"docs":{},"误":{"docs":{},"。":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}},"5":{"0":{"0":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.0078125}},":":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}},")":{"docs":{},",":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.009900990099009901},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}},",":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}},"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}},")":{"docs":{},",":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}},".":{"0":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.017857142857142856},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.006134969325153374},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.014778325123152709},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.009523809523809525},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}},"docs":{}},":":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}},"1":{"4":{"5":{"8":{"5":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"2":{"docs":{},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}},"4":{"3":{"6":{"docs":{},")":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.018867924528301886}}}}},"docs":{}},"docs":{}},"5":{"docs":{},".":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}},"docs":{}}},"6":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}},"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}},".":{"0":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}},",":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.005442176870748299}}},")":{"docs":{},",":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064}}}}},"1":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684}},":":{"docs":{},"填":{"docs":{},"充":{"docs":{},"(":{"docs":{},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},")":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":10}}}}}}}}}}}}}}},"2":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}},".":{"1":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}}},"2":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}}},"3":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}}},"4":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00851063829787234}}},"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":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":10}}}}}}}}}}}}}}}}}}}}}}}}}}}},"3":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186}},":":{"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":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":10}}}}}}}}}}}}}}}}}}}}}},"4":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064}},":":{"docs":{},"变":{"docs":{},"换":{"docs":{},"(":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},")":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":10}}}}}}}}}}}}}}}}},"5":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}},":":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"容":{"docs":{},"器":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":10}}}}}}}}}}}}}}},"6":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}},".":{"1":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}},"2":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}},"3":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}},"4":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}},"5":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}},"docs":{}},":":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"f":{"docs":{},"f":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"、":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"、":{"docs":{},"底":{"docs":{},"部":{"docs":{},"导":{"docs":{},"航":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":10}}}}}}}}}}}}}}}}}}}}}}}},"7":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}},":":{"docs":{},"剪":{"docs":{},"裁":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"p":{"docs":{},")":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":10}}}}}}}}}}}},"docs":{}},"s":{"docs":{},"或":{"docs":{},"更":{"docs":{},"高":{"docs":{},"版":{"docs":{},"本":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},"所":{"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.00625}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}},"。":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}},")":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}},",":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}},"6":{"0":{"0":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}},":":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}},"docs":{},",":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.020618556701030927}}},".":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00851063829787234}}},";":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}}},",":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.01276595744680851}}}},"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}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"2":{"5":{"7":{"0":{"2":{"2":{"1":{"8":{"docs":{},"]":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"5":{"5":{"9":{"docs":{},")":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0425531914893617}}}}},"docs":{}},"docs":{}},"8":{"3":{"docs":{},".":{"4":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.00303951367781155}},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.004559270516717325}}},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}},",":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}},"docs":{},")":{"docs":{},",":{"docs":{},"单":{"docs":{},"击":{"docs":{},"右":{"docs":{},"上":{"docs":{},"角":{"docs":{},"的":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}}}}}}}}}},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}},".":{"1":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.02631578947368421}},":":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"组":{"docs":{},"件":{"docs":{},"简":{"docs":{},"介":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":10}}}}}}}}}}},"2":{"docs":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406}},":":{"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":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":10}}}}}}}}}}}}}}}}}}}}}}}}},"3":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}},":":{"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":10}}}}}}}}}}}},"4":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}},":":{"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":10}}}}}}}}}}}},"5":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}},":":{"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":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":10}}}}}}}}}}}}}}}}}}}},"6":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}},".":{"1":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}},"2":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}},"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/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":10}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"、":{"1":{"5":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}},"docs":{}},"7":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}},"docs":{}},")":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001445086705202312}}}},"的":{"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.0018587360594795538}}},"docs":{}}},"docs":{}}}}}}}}},"7":{"0":{"0":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},":":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}},"docs":{}},"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}},"。":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}}}}},".":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"1":{"docs":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513}},":":{"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":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":10}}}}}}}}}}}}}}}}}}}}}}}},"2":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}},":":{"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":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":10}}}}}}}}}}}}}}}}}}}}}}}}},"3":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}},":":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":5}}}},"4":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}},".":{"1":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}},"2":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}},"docs":{}},":":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"和":{"docs":{},"主":{"docs":{},"题":{"docs":{},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":10}}}}}}}}}}}}}}}},"5":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}},".":{"1":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}},"2":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}},"docs":{}},":":{"docs":{},"异":{"docs":{},"步":{"docs":{},"u":{"docs":{},"i":{"docs":{},"更":{"docs":{},"新":{"docs":{},"(":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"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":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":10}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"6":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}},".":{"1":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}},"2":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}},"3":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}},"4":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}},"5":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}},"docs":{}},":":{"docs":{},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{},"详":{"docs":{},"解":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":10}}}}}}}}},"docs":{}}},"8":{"0":{"0":{"docs":{},":":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}},"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0297029702970297},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00851063829787234},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186}},"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.00851063829787234}}}}}}}}},"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.00425531914893617}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}}}}}}}}}},"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.00425531914893617}}}}}}}}}}}},")":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}},",":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}}},"作":{"docs":{},"为":{"docs":{},"子":{"docs":{},"组":{"docs":{},"件":{"docs":{},"的":{"docs":{},"约":{"docs":{},"束":{"docs":{},"。":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}}}}}}}}}}},"等":{"docs":{},"价":{"docs":{},"于":{"docs":{},":":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}}}}}}}},"docs":{}},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},")":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},";":{"docs":{"chapter11/socket.html":{"ref":"chapter11/socket.html","tf":0.02857142857142857}}}}},"2":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}},"docs":{}}},"5":{"1":{"3":{"docs":{},")":{"docs":{},":":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0034904013961605585}}}}},"docs":{}},"docs":{}},"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}},"所":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}}},")":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}}},",":{"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.00390625}}}}}}}}}}}}}}}}}}},".":{"0":{"docs":{},",":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}},"/":{"docs":{},"/":{"docs":{},"按":{"docs":{},"下":{"docs":{},"时":{"docs":{},"的":{"docs":{},"阴":{"docs":{},"影":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}}}}}}}}},")":{"docs":{},",":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.021052631578947368},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}},"1":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}},":":{"docs":{},"原":{"docs":{},"始":{"docs":{},"指":{"docs":{},"针":{"docs":{},"事":{"docs":{},"件":{"docs":{},"处":{"docs":{},"理":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":10}}}}}}}}}}}},"2":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}},".":{"1":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}},"2":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}},"3":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}},"docs":{}},":":{"docs":{},"手":{"docs":{},"势":{"docs":{},"识":{"docs":{},"别":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":10}}}}}}}},"3":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}},":":{"docs":{},"全":{"docs":{},"局":{"docs":{},"事":{"docs":{},"件":{"docs":{},"总":{"docs":{},"线":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":10}}}}}}}}}},"4":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}},":":{"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":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":10}}}}}}}}}}}}}}}}}}}},"docs":{}},":":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}}},"、":{"7":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}},"docs":{}},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}},"9":{"0":{"0":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}},":":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}},"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.01276595744680851}}}},"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.001519756838905775}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{},".":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}},"高":{"docs":{},"版":{"docs":{},"本":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}},"1":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}},":":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"动":{"docs":{},"画":{"docs":{},"简":{"docs":{},"介":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":10}}}}}}}}}}}}}}},"2":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866}},".":{"1":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866}}},"2":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866}}},"docs":{}},":":{"docs":{},"动":{"docs":{},"画":{"docs":{},"结":{"docs":{},"构":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":10}}}}}}}},"3":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602}},":":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"路":{"docs":{},"由":{"docs":{},"过":{"docs":{},"渡":{"docs":{},"动":{"docs":{},"画":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":10}}}}}}}}}}}}},"4":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403}},":":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"动":{"docs":{},"画":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":10}}}}}}}}}},"5":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}},":":{"docs":{},"交":{"docs":{},"织":{"docs":{},"动":{"docs":{},"画":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":10}}}}}}}},"6":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}},".":{"1":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}},"2":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}},"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":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":10}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125}}},")":{"docs":{},",":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}}}},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}},")":{"docs":{},"]":{"docs":{},",":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308}}}}},",":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}},"docs":{},"d":{"docs":{},"u":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.02702702702702703}}},",":{"docs":{},"期":{"docs":{},"待":{"docs":{},"和":{"docs":{},"你":{"docs":{},"做":{"docs":{},"同":{"docs":{},"事":{"docs":{},"!":{"docs":{"./":{"ref":"./","tf":0.02702702702702703}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001445086705202312},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602}},"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.016853932584269662},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010309278350515464},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}},"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.003067484662576687},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.019801980198019802},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.012422360248447204},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00823045267489712},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"y":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001445086705202312}}}}}}}},":":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.019801980198019802},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010309278350515464},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00823045267489712},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}},"表":{"docs":{},"示":{"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.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}},"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.003278688524590164}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"n":{"docs":{},"$":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.003745318352059925},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.004559270516717325},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101},"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}},"语":{"docs":{},"言":{"docs":{},"简":{"docs":{},"介":{"docs":{"chapter1/":{"ref":"chapter1/","tf":0.2},"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}},"开":{"docs":{},"发":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01}}}}}},":":{"docs":{},"u":{"docs":{},"i":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},"库":{"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"团":{"docs":{},"队":{"docs":{},"就":{"docs":{},"在":{"docs":{},"你":{"docs":{},"身":{"docs":{},"边":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01}}}}}}}}},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01}}}}},"支":{"docs":{},"持":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01}}}},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01}}}}},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"和":{"docs":{},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},"支":{"docs":{},"持":{"docs":{},"f":{"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"插":{"docs":{},"件":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}},"中":{"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.0018726591760299626}}}}}}}}}}}}}},"可":{"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":{},"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.003278688524590164}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"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.003278688524590164}}}}}}}}}}}}}}}}}}},"函":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"和":{"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":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"一":{"docs":{},"种":{"docs":{},"真":{"docs":{},"正":{"docs":{},"的":{"docs":{},"面":{"docs":{},"向":{"docs":{},"对":{"docs":{},"象":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"线":{"docs":{},"程":{"docs":{},"模":{"docs":{},"型":{"docs":{},"及":{"docs":{},"异":{"docs":{},"常":{"docs":{},"捕":{"docs":{},"获":{"docs":{"chapter2/":{"ref":"chapter2/","tf":0.1}}}}}}}}}}},"单":{"docs":{},"线":{"docs":{},"程":{"docs":{},"模":{"docs":{},"型":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}}}}}},"的":{"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":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}},"包":{"docs":{},":":{"docs":{},"其":{"docs":{},"中":{"docs":{},"一":{"docs":{},"些":{"docs":{},"可":{"docs":{},"能":{"docs":{},"包":{"docs":{},"含":{"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005649717514124294},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.009433962264150943},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},";":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0064516129032258064},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364}}},"”":{"docs":{},"。":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}},",":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{},"=":{"docs":{},"=":{"2":{"0":{"docs":{},";":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}},"docs":{}},"docs":{}}}}}}}}}}},"e":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001445086705202312}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513}},"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.012195121951219513}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"c":{"docs":{},"h":{"docs":{},";":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.005813953488372093}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001445086705202312}}}}}}}}}}}}},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.002167630057803468}}},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"(":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001445086705202312}}}}}},"y":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}},":":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}},"y":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},"e":{"docs":{},".":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"g":{"docs":{},"u":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"m":{"docs":{},"树":{"docs":{},"与":{"docs":{},"控":{"docs":{},"件":{"docs":{},"树":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}}}},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},"’":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},"命":{"docs":{},"令":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616}},"来":{"docs":{},"验":{"docs":{},"证":{"docs":{},"是":{"docs":{},"否":{"docs":{},"安":{"docs":{},"装":{"docs":{},"成":{"docs":{},"功":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}}}}},"并":{"docs":{},"按":{"docs":{},"照":{"docs":{},"说":{"docs":{},"明":{"docs":{},"解":{"docs":{},"决":{"docs":{},"问":{"docs":{},"题":{"docs":{},".":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}}},")":{"docs":{},"时":{"docs":{},",":{"docs":{},"它":{"docs":{},"会":{"docs":{},"下":{"docs":{},"载":{"docs":{},"它":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"项":{"docs":{},"并":{"docs":{},"自":{"docs":{},"行":{"docs":{},"编":{"docs":{},"译":{"docs":{},"。":{"docs":{},"以":{"docs":{},"后":{"docs":{},"再":{"docs":{},"运":{"docs":{},"行":{"docs":{},"就":{"docs":{},"会":{"docs":{},"快":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"n":{"0":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}}},"1":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}}},"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}},".":{"docs":{},"d":{"docs":{},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"u":{"docs":{},"d":{"docs":{},".":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"n":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"u":{"docs":{},"n":{"docs":{},"k":{"docs":{},"(":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},",":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.008547008547008548}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"c":{"docs":{},"h":{"docs":{},"u":{"docs":{},"n":{"docs":{},"k":{"docs":{},"s":{"docs":{},"(":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},",":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.00881057268722467},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.010309278350515464},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.031578947368421054},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.013245033112582781},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.005376344086021506},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.03643724696356275},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.009202453987730062},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.012216404886561954},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.009852216748768473},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.006644518272425249},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.00909090909090909},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0163265306122449},"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0037174721189591076},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}},"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.00425531914893617},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},")":{"docs":{},",":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856}}}},",":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00851063829787234},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}}}},"t":{"docs":{},"w":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}}},"[":{"docs":{},"]":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}}}}}}},"n":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}},"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.0035714285714285713}},"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}},"项":{"docs":{},"目":{"docs":{},"主":{"docs":{},"页":{"docs":{},"查":{"docs":{},"看":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}}}}}}}}}}},"l":{"docs":{},"(":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}}}}}}},"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.007142857142857143}},".":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"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.0013422818791946308}}}}}}}}}}}}}}},"e":{"docs":{},"p":{"docs":{},"l":{"docs":{},"o":{"docs":{},"y":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"/":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101},"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}},"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.03125},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101},"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.015625},"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444},"chapter13/intl.html":{"ref":"chapter13/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.00625}}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"_":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006557377049180328}},"s":{"docs":{},")":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.009836065573770493},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.004056795131845842},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.010471204188481676}},"{":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}}},";":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}},"=":{"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.003278688524590164}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"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.005235602094240838}}}},"y":{"docs":{},";":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0034904013961605585}}}}}}}}}}}},":":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},"]":{"docs":{},")":{"docs":{},";":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}},"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.003067484662576687}}}}}}}}}}}}}}}}},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"!":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}}}}}},"v":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"p":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}},"i":{"docs":{},"c":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.005369127516778523},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.008264462809917356}},"e":{"docs":{},".":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}}}},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}},"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}},"]":{"docs":{},")":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}},"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.0018587360594795538}},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}},"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.00625},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101},"chapter13/intl.html":{"ref":"chapter13/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.00625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}},"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.009615384615384616}},"e":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}},"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.00390625}},"e":{"docs":{},"(":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},",":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"d":{"docs":{},"a":{"docs":{},"p":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"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":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0056022408963585435}},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}},":":{"docs":{},"子":{"docs":{},"组":{"docs":{},"件":{"docs":{},"会":{"docs":{},"一":{"docs":{},"个":{"docs":{},"接":{"docs":{},"一":{"docs":{},"个":{"docs":{},"的":{"docs":{},"进":{"docs":{},"行":{"docs":{},"命":{"docs":{},"中":{"docs":{},"测":{"docs":{},"试":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"子":{"docs":{},"组":{"docs":{},"件":{"docs":{},"中":{"docs":{},"有":{"docs":{},"测":{"docs":{},"试":{"docs":{},"通":{"docs":{},"过":{"docs":{},"的":{"docs":{},",":{"docs":{},"则":{"docs":{},"当":{"docs":{},"前":{"docs":{},"组":{"docs":{},"件":{"docs":{},"通":{"docs":{},"过":{"docs":{},",":{"docs":{},"这":{"docs":{},"就":{"docs":{},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"指":{"docs":{},"针":{"docs":{},"事":{"docs":{},"件":{"docs":{},"作":{"docs":{},"用":{"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.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004651162790697674},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.011204481792717087}},"'":{"docs":{},",":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004651162790697674}}}},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}}},",":{"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":{},"x":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"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.00202020202020202}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.017699115044247787},"chapter13/intl.html":{"ref":"chapter13/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":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},".":{"docs":{},"i":{"docs":{},"s":{"docs":{},"z":{"docs":{},"h":{"docs":{},")":{"docs":{},";":{"docs":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894}}}}}}}}}}}}},")":{"docs":{},";":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}},")":{"docs":{},";":{"docs":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02}},";":{"docs":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}},",":{"docs":{"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02}}}}}}}}}}}}},"中":{"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":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"(":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}},"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":{"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02}}},";":{"docs":{"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0125}}}}}}}},"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter13/intl.html":{"ref":"chapter13/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.002824858757062147},"chapter9/":{"ref":"chapter9/","tf":0.09090909090909091}},":":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}},"基":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"时":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}}}}},"字":{"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.002551020408163265}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"设":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}},"的":{"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":{},"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"图":{"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.002551020408163265}}}}}}}}}}}}}}}}}}}},"字":{"docs":{},"体":{"docs":{},"图":{"docs":{},"标":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}}},"所":{"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.002551020408163265}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"docs":{},"头":{"docs":{},"部":{"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}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"的":{"docs":{},"类":{"docs":{},",":{"docs":{},"它":{"docs":{},"包":{"docs":{},"含":{"docs":{},"一":{"docs":{},"种":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"的":{"1":{"0":{"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":{},"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":{},"有":{"docs":{},":":{"5":{"0":{"docs":{},",":{"1":{"0":{"0":{"docs":{},",":{"2":{"0":{"0":{"docs":{},",":{"docs":{},"…":{"docs":{},",":{"9":{"0":{"0":{"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":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"的":{"docs":{},"默":{"docs":{},"认":{"docs":{},"值":{"docs":{},"为":{"docs":{},"索":{"docs":{},"引":{"docs":{},"等":{"docs":{},"于":{"5":{"0":{"0":{"docs":{},"的":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"。":{"docs":{},"举":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},",":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},".":{"docs":{},"b":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"是":{"docs":{},"预":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"定":{"docs":{},"义":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.013245033112582781}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"(":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.03225806451612903},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.013245033112582781},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}},"{":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186}}}},"可":{"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":{},"渐":{"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.011627906976744186}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.006085192697768763},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.014824797843665768},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.019867549668874173},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.007692307692307693}},"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.00390625}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.025806451612903226}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186}},"e":{"docs":{},"(":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}}}}}}}},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}}}}}}},",":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}}},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186}},"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.011627906976744186}}}}}}}}}}}}}}}}}}}}}},":":{"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":{},"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.011627906976744186}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}}},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.004559270516717325}},"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.001519756838905775}}}}}}}}}}},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"=":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},".":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},";":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}},"语":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}}}}}}}},"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}},"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0020964360587002098}}}}}},"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0018832391713747645}}}}}}}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}},":":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0049504950495049506},"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":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001445086705202312},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}},"(":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{},".":{"docs":{},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.003745318352059925},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}},"i":{"docs":{},"c":{"docs":{},"与":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"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":{},",":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}},"和":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}}},"的":{"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.0018726591760299626}}}}}}}}}},"点":{"docs":{},"使":{"docs":{},"得":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"使":{"docs":{},"用":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}}}}}}}}},"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}},"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.002824858757062147}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001445086705202312}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}},"(":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}},"{":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}},"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.0020964360587002098},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}},"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.0020964360587002098},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0064516129032258064},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},":":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0020964360587002098}},"(":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}},"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.0020964360587002098}}}}}}}}}}}}}},"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":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"y":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"h":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}},"(":{"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}},"方":{"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005154639175257732},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},":":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"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":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}},"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":{},"v":{"docs":{},"i":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"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":{},"v":{"docs":{},"i":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"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":{},"终":{"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":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},"。":{"docs":{},"源":{"docs":{},"码":{"docs":{},"中":{"docs":{},"传":{"docs":{},"给":{"docs":{},"v":{"docs":{},"i":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"回":{"docs":{},"调":{"docs":{},"为":{"docs":{},"v":{"docs":{},"i":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"看":{"docs":{},"v":{"docs":{},"i":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},":":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.011834319526627219},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}},";":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"(":{"docs":{},"s":{"docs":{},"r":{"docs":{},"c":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}},"=":{"docs":{},"i":{"1":{"0":{"docs":{},"n":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0056022408963585435}}}},"docs":{}},"docs":{}},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"/":{"docs":{},"i":{"1":{"0":{"docs":{},"n":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0056022408963585435}}}},"docs":{}},"docs":{}}}}}}},"t":{"docs":{},"i":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.003766478342749529}}},"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0037174721189591076}},"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.0037174721189591076}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.002688172043010753}}}}}}}}}}}}}}}}}},"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.002688172043010753}}}}}}}}}}}}}}}}}},"docs":{},"(":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}}}}},"o":{"docs":{"chapter11/":{"ref":"chapter11/","tf":0.08333333333333333},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":3.352201257861635},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.005813953488372093}},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.009433962264150943},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"(":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}},".":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"(":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.005698005698005698}},"\"":{"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":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.005813953488372093}},"\"":{"docs":{},"/":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"\"":{"docs":{},",":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"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":{},"{":{"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":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}}}}}}}}}},"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":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.009433962264150943}}}}}}}},"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":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"(":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},".":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"[":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"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":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"]":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.005813953488372093}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}},"实":{"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":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"强":{"docs":{},"大":{"docs":{},"的":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00404040404040404},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}},"c":{"docs":{},"i":{"docs":{},"r":{"docs":{},"c":{"docs":{},"l":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}},"o":{"docs":{},"v":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}},"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.0037174721189591076}},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}}}}},"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":{},"组":{"docs":{},"件":{"docs":{},")":{"docs":{},"原":{"docs":{},"点":{"docs":{},"(":{"docs":{},"左":{"docs":{},"上":{"docs":{},"角":{"docs":{},")":{"docs":{},"的":{"docs":{},"偏":{"docs":{},"移":{"docs":{},"。":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0017452006980802793}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0017452006980802793}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.010416666666666666}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.004026845637583893}},"d":{"docs":{},"k":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.010738255033557046}},"文":{"docs":{},"档":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"翻":{"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":{},"两":{"docs":{},"个":{"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":{},"f":{"docs":{},"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":{},"f":{"docs":{},"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":{},"划":{"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":{},"。":{"2":{"0":{"1":{"8":{"docs":{},"年":{"1":{"2":{"docs":{},"月":{"docs":{},",":{"docs":{},"《":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"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":{},"同":{"docs":{},"时":{"docs":{},"上":{"docs":{},"线":{"docs":{},"了":{"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.02702702702702703}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{"chapter3/":{"ref":"chapter3/","tf":0.1}}}}},"开":{"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.0035714285714285713}}}}}}}}}}}}}}},";":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"源":{"docs":{},"码":{"docs":{},"是":{"docs":{},"开":{"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"安":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}},"目":{"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.0013422818791946308}}}}}}},"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"包":{"docs":{},"括":{"docs":{},"了":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01}}}}}}},"它":{"docs":{},"实":{"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}},"但":{"docs":{},"在":{"docs":{},"国":{"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":{},"v":{"docs":{},"p":{"docs":{},"n":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"则":{"docs":{},"必":{"docs":{},"须":{"docs":{},"将":{"docs":{},"该":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}},"只":{"docs":{},"需":{"docs":{},"一":{"docs":{},"句":{"docs":{},"命":{"docs":{},"令":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}},"在":{"docs":{},"安":{"docs":{},"装":{"docs":{},"f":{"docs":{},"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},"、":{"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.0013422818791946308}}}}}}}}}},"分":{"docs":{},"支":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}},"和":{"docs":{},"i":{"docs":{},"o":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}},"你":{"docs":{},"的":{"docs":{},"f":{"docs":{},"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"依":{"docs":{},"赖":{"docs":{},"包":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}},"已":{"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.0013422818791946308}}}}}}}}}}}}},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"一":{"docs":{},"些":{"docs":{},"组":{"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"平":{"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.0013422818791946308}}}}}}}}}}}}}},"有":{"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":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"s":{"docs":{},"t":{"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":{},"如":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"构":{"docs":{},"建":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"版":{"docs":{},"本":{"docs":{},"是":{"docs":{},"基":{"docs":{},"于":{"docs":{},"你":{"docs":{},"的":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}},"里":{"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.0013422818791946308}}}}}}}}}}}}}}}}}},")":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"如":{"docs":{},"下":{"docs":{},"命":{"docs":{},"令":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}}}},":":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.01875},"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.013888888888888888}}},"内":{"docs":{},"置":{"docs":{},"组":{"docs":{},"件":{"docs":{},"库":{"docs":{},"介":{"docs":{},"绍":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}}}}}}},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"组":{"docs":{},"件":{"docs":{},",":{"docs":{},"内":{"docs":{},"容":{"docs":{},"就":{"docs":{},"是":{"docs":{},"f":{"docs":{},"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":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"宽":{"docs":{},"、":{"docs":{},"高":{"docs":{},"都":{"docs":{},"为":{"1":{"2":{"0":{"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":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"和":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"便":{"docs":{},"捷":{"docs":{},"函":{"docs":{},"数":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"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":{},"建":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"u":{"docs":{},"r":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"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":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.02631578947368421}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"正":{"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":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"提":{"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":{},"此":{"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":{},"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":{},"解":{"docs":{},"透":{"docs":{},"彻":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"它":{"docs":{},"们":{"docs":{},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"是":{"docs":{},"非":{"docs":{},"常":{"docs":{},"实":{"docs":{},"用":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"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":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"组":{"docs":{},"件":{"docs":{},"仅":{"docs":{},"提":{"docs":{},"供":{"docs":{},"美":{"docs":{},"国":{"docs":{},"英":{"docs":{},"语":{"docs":{},"本":{"docs":{},"地":{"docs":{},"化":{"docs":{},"资":{"docs":{},"源":{"docs":{},"(":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"文":{"docs":{},"本":{"docs":{},")":{"docs":{},"。":{"docs":{},"要":{"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":{},"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":{},"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"组":{"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":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"、":{"docs":{},"t":{"docs":{},"a":{"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":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"正":{"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}}}}}}}}}}}}},"预":{"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":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"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":{},"。":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},"i":{"docs":{},"f":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}},"e":{"docs":{},"d":{"docs":{},":":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.006644518272425249}}},";":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}},"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.0013422818791946308}}}}}}}}},"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.006024096385542169},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609}},"(":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609}},"{":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}},":":{"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.0049504950495049506}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}},"。":{"docs":{},"而":{"docs":{},"今":{"docs":{},"天":{"docs":{},"(":{"2":{"0":{"1":{"9":{"docs":{},"年":{"5":{"docs":{},"月":{"2":{"9":{"docs":{},"日":{"docs":{},")":{"docs":{},",":{"docs":{},"已":{"docs":{},"经":{"docs":{},"有":{"6":{"5":{"docs":{},"k":{"docs":{},"的":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"。":{"docs":{},"经":{"docs":{},"历":{"docs":{},"了":{"docs":{},"短":{"docs":{},"短":{"2":{"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.0035714285714285713}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}},"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.001519756838905775}},"和":{"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.001519756838905775}}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}},",":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.005698005698005698}}}}},"c":{"docs":{},"k":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125}},"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.009836065573770493},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},")":{"docs":{},";":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}}},";":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}},"{":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}}},",":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006557377049180328}}},":":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}},"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.013114754098360656},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},"e":{"docs":{},")":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}}}}}}}}},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}},"(":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015625},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.006980802792321117},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}},"{":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125}}}},"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.0078125}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125}}}}}}}}}}}},"、":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125}}}}}}}},"可":{"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":{},"只":{"docs":{},"能":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{},",":{"docs":{},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},"堆":{"docs":{},"叠":{"docs":{},"。":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.014598540145985401},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.006289308176100629},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.008113590263691683},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0026954177897574125},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00404040404040404},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.006134969325153374},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.00967741935483871},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.002167630057803468},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.012216404886561954},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0058309037900874635},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005154639175257732},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.009966777408637873},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935},"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.030303030303030304},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}},")":{"docs":{},"{":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801}}}},"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.004866180048661801},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.006289308176100629},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.008113590263691683},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0026954177897574125},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.006134969325153374},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0064516129032258064},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001445086705202312},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.006980802792321117},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005154639175257732},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.009966777408637873},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}},"类":{"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":{},"w":{"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"{":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}},"生":{"docs":{},"命":{"docs":{},"周":{"docs":{},"期":{"docs":{},"如":{"docs":{},"图":{"3":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}},"docs":{}}}}}}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0041928721174004195}},"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.0020964360587002098}}}}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}},"{":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"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.004866180048661801},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.009302325581395349},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.006289308176100629},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.011834319526627219},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0058309037900874635},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.017543859649122806},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}},"类":{"docs":{},",":{"docs":{},"这":{"docs":{},"也":{"docs":{},"就":{"docs":{},"意":{"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}},"用":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"{":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}}}}}}},"e":{"docs":{},"l":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0041928721174004195},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}},"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.0020964360587002098}}}}}}}}},")":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}},"类":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}},";":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.00303951367781155}}},"中":{"docs":{},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},"常":{"docs":{},"用":{"docs":{},"属":{"docs":{},"性":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}}}}}}}}},"生":{"docs":{},"命":{"docs":{},"周":{"docs":{},"期":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}}}},">":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}},"i":{"docs":{},"c":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.00510204081632653},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0064516129032258064},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.00847457627118644},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514},"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0056022408963585435},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.026515151515151516},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.005813953488372093}}}},"u":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}},"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.004201680672268907}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}},"{":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}}},"中":{"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":{},"。":{"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.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}}}}}}}}}},"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"s":{"docs":{},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}},":":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}},";":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}}}},"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.008053691275167786},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}},">":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}},"不":{"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.0013422818791946308}}}}}}}}}}}}}}},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"f":{"docs":{},"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"后":{"docs":{},"插":{"docs":{},"件":{"docs":{},"生":{"docs":{},"效":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}},"和":{"docs":{},"v":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.004026845637583893},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}},"安":{"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.0013422818791946308}}}}}}}}}}},"向":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}},"工":{"docs":{},"具":{"docs":{},"栏":{"docs":{},",":{"docs":{},"如":{"docs":{},"图":{"1":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},"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.0013422818791946308}}}}}}}}}}}}},"的":{"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.0013422818791946308}}}}}}}}}}}}}},"磁":{"docs":{},"盘":{"docs":{},"空":{"docs":{},"间":{"docs":{},")":{"docs":{},".":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}},")":{"docs":{},".":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}},"编":{"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":{},"图":{"2":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}},"问":{"docs":{},"题":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}},",":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"此":{"docs":{},"不":{"docs":{},"再":{"docs":{},"赘":{"docs":{},"述":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}},"然":{"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.0013422818791946308}}}}}}}}}}}}}},"读":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}},"或":{"docs":{},"v":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"提":{"docs":{},"供":{"docs":{},"有":{"docs":{},"关":{"docs":{},"库":{"docs":{},"导":{"docs":{},"入":{"docs":{},"的":{"docs":{},"建":{"docs":{},"议":{"docs":{},"选":{"docs":{},"项":{"docs":{},"。":{"docs":{},"导":{"docs":{},"入":{"docs":{},"后":{"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.00625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"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":{},"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":{},"抄":{"docs":{},"袭":{"docs":{},"风":{"docs":{},"波":{"docs":{},",":{"docs":{},"故":{"docs":{},"笔":{"docs":{},"者":{"docs":{},"在":{"docs":{},"此":{"docs":{},"不":{"docs":{},"做":{"docs":{},"优":{"docs":{},"先":{"docs":{},"推":{"docs":{},"荐":{"docs":{},",":{"docs":{},"读":{"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":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"的":{"docs":{},"优":{"docs":{},"劣":{"docs":{},":":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},">":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},">":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}},"中":{"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"1":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.003745318352059925}}},"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.003745318352059925},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406}},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0056179775280898875},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.015873015873015872},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},".":{"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.0018726591760299626}}}}}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"(":{"docs":{},"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":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}},":":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.009302325581395349}}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.009302325581395349}},"{":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}},"使":{"docs":{},"用":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}}}}}}},"处":{"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":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"没":{"docs":{},"有":{"docs":{},"该":{"docs":{},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.013108614232209739},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.0069767441860465115},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.009836065573770493},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0041928721174004195},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005649717514124294},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001445086705202312},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.011661807580174927},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.011299435028248588},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.03211009174311927},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.029357798165137616},"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.014285714285714285},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.008403361344537815},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0035211267605633804},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.011627906976744186}},")":{"docs":{},"{":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}},"b":{"docs":{},"u":{"docs":{},"f":{"docs":{},"f":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}},"c":{"docs":{},"t":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}},":":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00851063829787234},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0163265306122449}}},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}}}}},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}}},";":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.004081632653061225}}}}}}}},"c":{"docs":{},"a":{"docs":{},"p":{"docs":{},".":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}},":":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.010884353741496598}}},";":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}}}}}}}}}}}}}},".":{"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.014492753623188406}}}}}}}}}}}},",":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.006085192697768763},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.01953125},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.012903225806451613},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0034904013961605585},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.0058823529411764705},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}},":":{"docs":{},"正":{"docs":{},"在":{"docs":{},"编":{"docs":{},"辑":{"docs":{},"的":{"docs":{},"文":{"docs":{},"本":{"docs":{},"样":{"docs":{},"式":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}}}}}}}},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}}}}},"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.010416666666666666}}}}},")":{"docs":{},",":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},"将":{"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.0013422818791946308}}}}}}}}}}}}}}}},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"点":{"docs":{},"击":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.004026845637583893}},"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.0018726591760299626}}}}},"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.0018726591760299626}}}}}}}}}}},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.003745318352059925}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.008547008547008548}},",":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.005698005698005698}}}}}},"r":{"docs":{},"o":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}},"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"h":{"docs":{},"i":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}},"'":{"docs":{},"b":{"docs":{},"o":{"docs":{},"b":{"docs":{},"'":{"docs":{},",":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.003745318352059925}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}},"f":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"(":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{},"/":{"6":{"0":{"2":{"docs":{},".":{"1":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},":":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}}},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},":":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}}},"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.002577319587628866}},"e":{"1":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866}}},"docs":{}}}}}}}}}}}}}}}}},"f":{"docs":{},"f":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}},"(":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004651162790697674},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.010101010101010102},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.012658227848101266}}},"、":{"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":0.00202020202020202}}}}}}}}}}}}}},".":{"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.00202020202020202}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}},"的":{"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":{},"抽":{"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":{},"下":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.004807692307692308}}}}}}}}}}}}}}}}}}},"的":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.001519756838905775}}}}}}},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.006134969325153374}},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}},"{":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}},"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.003067484662576687}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.006134969325153374}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}}}}}}}}}}}}}}}}},"控":{"docs":{},"制":{"docs":{},"原":{"docs":{},"理":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}}}},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}}}}}}},"还":{"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.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}},"间":{"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.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}}}}}}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},"{":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.02631578947368421}}}}}}}},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.02631578947368421}},"(":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.02631578947368421},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.006134969325153374}}},"和":{"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":{},"于":{"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":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.02631578947368421}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"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":{},"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":{},"可":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.02631578947368421}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}}}}}}}},"p":{"docs":{},"h":{"docs":{},"y":{"docs":{},"s":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}}},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.009202453987730062}},"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":{},"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":{},"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":{},"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.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"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.003067484662576687}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}}}}}}}}}}},"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.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.003067484662576687}}}}}}}}}}}}}}}}}}}}}},"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.0029154518950437317}}}}}}}}}}}}}}}}}},"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.0029154518950437317}}}}}}}}}}}}}}}}}}}},"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.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}},")":{"docs":{},";":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}},".":{"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"=":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.006880733944954129}}}}},"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.0018587360594795538}}}}}}}}},"r":{"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.0018587360594795538}}},".":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0037174721189591076}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}},".":{"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.0018587360594795538}}}}}}}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},"o":{"docs":{},"r":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}},"f":{"docs":{},",":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006557377049180328}}},")":{"docs":{},";":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0045871559633027525},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.011363636363636364}},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"s":{"docs":{},"/":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},")":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}},"{":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}},",":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}},".":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}}},"u":{"docs":{},"p":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616}},"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}},"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.004866180048661801},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.012170385395537525},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.02702702702702703},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.006134969325153374},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001445086705202312},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.015706806282722512},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0058309037900874635},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.006644518272425249},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.011299435028248588},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0045871559633027525},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}},"=":{"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.01694915254237288}}}}}}}}}}}}}}}},"{":{"docs":{},"}":{"docs":{},")":{"docs":{},";":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866}}}}}}}}}},"v":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}},")":{"docs":{},";":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}},",":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"(":{"docs":{},"'":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.003669724770642202}}}}}}}}}}}}}},"=":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}},"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.008264462809917356}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}},"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.001519756838905775}}}},"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.0018587360594795538}}},":":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}},"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.00390625}}}}}}}}}}}},"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.002688172043010753}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"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":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.012422360248447204},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403}}},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.012422360248447204}}}}}}}}}}}}}}},")":{"docs":{},",":{"docs":{},"即":{"docs":{},"每":{"docs":{},"秒":{"docs":{},"的":{"docs":{},"动":{"docs":{},"画":{"docs":{},"帧":{"docs":{},"数":{"docs":{},"。":{"docs":{},"很":{"docs":{},"明":{"docs":{},"显":{"docs":{},",":{"docs":{},"帧":{"docs":{},"率":{"docs":{},"越":{"docs":{},"高":{"docs":{},"则":{"docs":{},"动":{"docs":{},"画":{"docs":{},"就":{"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":{},"是":{"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":{},"是":{"docs":{},"持":{"docs":{},"平":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},":":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}},"n":{"docs":{},"t":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.003669724770642202}}},"d":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}},"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.0018587360594795538}}},":":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},"a":{"docs":{},"l":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}},"'":{"docs":{},")":{"docs":{},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}}},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}},"(":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001445086705202312}}}}}}}}},"也":{"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":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"语":{"docs":{},"言":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},",":{"docs":{},"运":{"docs":{},"行":{"docs":{},"结":{"docs":{},"果":{"docs":{},"如":{"docs":{},"图":{"7":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}},"z":{"docs":{},"e":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.00909090909090909},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}},"(":{"1":{"0":{"8":{"0":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"3":{"0":{"0":{"docs":{},",":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.00909090909090909},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}},"docs":{}},"docs":{}},"4":{"1":{"1":{"docs":{},".":{"4":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.004559270516717325}}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.004559270516717325},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.020618556701030927},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.006644518272425249},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.00909090909090909},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}},"(":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.013215859030837005},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.01276595744680851},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.005376344086021506},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001445086705202312},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}},")":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}},".":{"docs":{},"s":{"docs":{},"h":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609}}}}}}}}}}}},"用":{"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.00425531914893617}}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.003766478342749529}},"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}},",":{"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.00425531914893617}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}},",":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}},".":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},",":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}},"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":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}},";":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}}}}}}}}}}}},":":{"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":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"前":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"区":{"docs":{},"域":{"docs":{},"大":{"docs":{},"小":{"docs":{},"。":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}}}}}}}}},"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":{"chapter6/":{"ref":"chapter6/","tf":0.14285714285714285},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406}},"(":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.02631578947368421},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}},"{":{"docs":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406}}}},"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.014492753623188406}}}}}}}}}},"类":{"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":{},"组":{"docs":{},"件":{"docs":{},"。":{"docs":{},"定":{"docs":{},"义":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.04}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":0.04}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}},"{":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}},"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.001519756838905775}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408},"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}}},"_":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/socket.html":{"ref":"chapter11/socket.html","tf":0.02857142857142857}}}}}}}}},"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":{"chapter11/socket.html":{"ref":"chapter11/socket.html","tf":0.02857142857142857}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/socket.html":{"ref":"chapter11/socket.html","tf":0.02857142857142857}}}}}}}}}},"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":{"chapter11/socket.html":{"ref":"chapter11/socket.html","tf":0.02857142857142857}}}}}}}}}}}}}}}}}}}},"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":{"chapter11/socket.html":{"ref":"chapter11/socket.html","tf":0.02857142857142857}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter11/socket.html":{"ref":"chapter11/socket.html","tf":0.02857142857142857}}}}},"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":{"chapter11/socket.html":{"ref":"chapter11/socket.html","tf":0.02857142857142857}}}}}}}}}}}}}}}}}}}},")":{"docs":{},";":{"docs":{"chapter11/socket.html":{"ref":"chapter11/socket.html","tf":0.02857142857142857}}}}}}}}}}}}},"=":{"docs":{},"a":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter11/socket.html":{"ref":"chapter11/socket.html","tf":0.02857142857142857}}}}}}}}}}}}},"u":{"docs":{},"d":{"docs":{},"o":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}},"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.004866180048661801},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.006085192697768763},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001445086705202312},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.006172839506172839},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}}}}}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},":":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}},")":{"docs":{},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}}},"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.006060606060606061}}}}}}}}}}},".":{"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.0024330900243309003}}}}}}}}}}}}}}}},"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.0020964360587002098}}}}}}}}}}}}},"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0020964360587002098},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0064516129032258064},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}},"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.0020964360587002098},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.006644518272425249},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0020964360587002098},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005154639175257732},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}},"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.0020964360587002098},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010309278350515464},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.006644518272425249},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}}}}}}},"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.0020964360587002098}}}}}}}}}}}}}}},"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}},";":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"y":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}},"e":{"docs":{},"s":{"docs":{},")":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.013888888888888888},"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},":":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},"也":{"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},":":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},";":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}},"f":{"docs":{},"f":{"docs":{},"i":{"docs":{},"x":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856}},"(":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514}},"_":{"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.00202020202020202}}}}}}}}}}}}}}}}}}}}}}}}},"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.013513513513513514}}}}}}}}}}}}}}}}}}}}},"和":{"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.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"t":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}}}}},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},"'":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}},"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.010526315789473684}}}}}}}}}}},"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":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894}},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},")":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},")":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}}}},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}},"t":{"docs":{},"h":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.007339449541284404}}}}}}}},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.009615384615384616}},"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.009202453987730062}}}}}}}},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},"e":{"docs":{},".":{"docs":{},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}},"g":{"docs":{},"m":{"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":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"r":{"docs":{},"p":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"w":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},")":{"docs":{},";":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}},"c":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"o":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"a":{"docs":{},"l":{"docs":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"u":{"docs":{},"p":{"docs":{},"(":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"(":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}},"{":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"p":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"r":{"docs":{},"m":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"1":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}},";":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}},"2":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}},";":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}},"3":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}},";":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}},"4":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}},"docs":{}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"(":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0050578034682080926},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},")":{"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":{},"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":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"{":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"l":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"(":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}},"{":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001445086705202312}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"a":{"docs":{},"l":{"docs":{},"b":{"docs":{},"o":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}},"方":{"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":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"原":{"docs":{},"理":{"docs":{},"和":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"l":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"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":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"b":{"docs":{},"o":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"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":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"p":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"p":{"docs":{},"p":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}}}}}}}}}}}}}}}}},"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":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}}}}}}}}},"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":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"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":{},"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":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"重":{"docs":{},"新":{"docs":{},"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":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"p":{"docs":{},"e":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186}},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},"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.006024096385542169}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.00967741935483871}},"(":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}},"{":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.002824858757062147}}},"y":{"docs":{},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"v":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}},"可":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.002688172043010753},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}},":":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}},":":{"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":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.008097165991902834}},"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.004048582995951417}},"(":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.008097165991902834},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}},"{":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}}}},"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.004048582995951417}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}},"{":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"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.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"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":{},"薄":{"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":{},"样":{"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":{},"件":{"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":{},"了":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"直":{"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":{},"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":{},"可":{"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":{},"了":{"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":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"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":{},"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":{},"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":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"组":{"docs":{},"件":{"docs":{},"最":{"docs":{},"大":{"docs":{},"的":{"docs":{},"区":{"docs":{},"别":{"docs":{},"就":{"docs":{},"是":{"docs":{},"前":{"docs":{},"者":{"docs":{},"不":{"docs":{},"包":{"docs":{},"含":{"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}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"系":{"docs":{},"列":{"docs":{},"w":{"docs":{},"i":{"docs":{},"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":{},"组":{"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":{},"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":{},"组":{"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":{},"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":{},"组":{"docs":{},"件":{"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}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}},"x":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856}},"(":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}},"{":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{},")":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.015873015873015872},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.009302325581395349}}},"会":{"docs":{},"包":{"docs":{},"含":{"docs":{},"当":{"docs":{},"前":{"docs":{},"异":{"docs":{},"步":{"docs":{},"任":{"docs":{},"务":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"信":{"docs":{},"息":{"docs":{},"及":{"docs":{},"结":{"docs":{},"果":{"docs":{},"信":{"docs":{},"息":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},";":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}}}}},"r":{"docs":{},"c":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}},".":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}},"=":{"docs":{},"\"":{"docs":{},".":{"docs":{},"/":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}},"“":{"docs":{},"唯":{"docs":{},"有":{"docs":{},"深":{"docs":{},"入":{"docs":{},",":{"docs":{},"方":{"docs":{},"能":{"docs":{},"浅":{"docs":{},"出":{"docs":{},"”":{"docs":{},"。":{"docs":{},"我":{"docs":{},"非":{"docs":{},"常":{"docs":{},"认":{"docs":{},"同":{"docs":{},"这":{"docs":{},"句":{"docs":{},"话":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"一":{"docs":{},"门":{"docs":{},"技":{"docs":{},"术":{"docs":{},",":{"docs":{},"只":{"docs":{},"有":{"docs":{},"了":{"docs":{},"解":{"docs":{},"的":{"docs":{},"深":{"docs":{},"入":{"docs":{},",":{"docs":{},"才":{"docs":{},"能":{"docs":{},"用":{"docs":{},"最":{"docs":{},"浅":{"docs":{},"显":{"docs":{},"、":{"docs":{},"通":{"docs":{},"俗":{"docs":{},"的":{"docs":{},"话":{"docs":{},"语":{"docs":{},"描":{"docs":{},"述":{"docs":{},"出":{"docs":{},"。":{"docs":{},"我":{"docs":{},"在":{"docs":{},"写":{"docs":{},"作":{"docs":{},"本":{"docs":{},"书":{"docs":{},"时":{"docs":{},",":{"docs":{},"深":{"docs":{},"入":{"docs":{},"浅":{"docs":{},"出":{"docs":{},"就":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"主":{"docs":{},"要":{"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":{},"p":{"docs":{},"c":{"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":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"本":{"docs":{},"质":{"docs":{},"上":{"docs":{},"是":{"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":{},"大":{"docs":{},"前":{"docs":{},"端":{"docs":{},"“":{"docs":{},"下":{"docs":{},"有":{"docs":{},"很":{"docs":{},"多":{"docs":{},"相":{"docs":{},"通":{"docs":{},"之":{"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":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"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":{"./":{"ref":"./","tf":0.02702702702702703}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"千":{"docs":{},"呼":{"docs":{},"万":{"docs":{},"唤":{"docs":{},"始":{"docs":{},"出":{"docs":{},"来":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"提":{"docs":{},"前":{"docs":{},"编":{"docs":{},"译":{"docs":{},"”":{"docs":{},";":{"docs":{},"而":{"docs":{},"解":{"docs":{},"释":{"docs":{},"执":{"docs":{},"行":{"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}},"控":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}}},"去":{"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.00425531914893617}}}},"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.0017452006980802793}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"组":{"docs":{},"合":{"docs":{},"”":{"docs":{},"是":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"组":{"docs":{},"件":{"docs":{},"最":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"在":{"docs":{},"任":{"docs":{},"何":{"docs":{},"需":{"docs":{},"要":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"组":{"docs":{},"件":{"docs":{},"的":{"docs":{},"场":{"docs":{},"景":{"docs":{},"下":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"都":{"docs":{},"应":{"docs":{},"该":{"docs":{},"优":{"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":{"chapter10/intro.html":{"ref":"chapter10/intro.html","tf":0.04}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"w":{"docs":{},"w":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}},"平":{"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":{},"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":{},"f":{"docs":{},"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":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"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":{},"g":{"docs":{},"p":{"docs":{},"s":{"docs":{},"等":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"要":{"docs":{},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"为":{"2":{"docs":{},"也":{"docs":{},"是":{"docs":{},"可":{"docs":{},"以":{"docs":{},"达":{"docs":{},"到":{"docs":{},"同":{"docs":{},"样":{"docs":{},"的":{"docs":{},"效":{"docs":{},"果":{"docs":{},":":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}}},"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.007532956685499058}},"了":{"docs":{},"更":{"docs":{},"好":{"docs":{},"的":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"中":{"docs":{},"国":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"了":{"docs":{},"解":{"docs":{},"这":{"docs":{},"门":{"docs":{},"新":{"docs":{},"技":{"docs":{},"术":{"docs":{},",":{"docs":{},"我":{"docs":{},"在":{"2":{"0":{"1":{"8":{"docs":{},"年":{"docs":{},"初":{"docs":{},"开":{"docs":{},"始":{"docs":{},"翻":{"docs":{},"译":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"官":{"docs":{},"网":{"docs":{},"文":{"docs":{},"档":{"docs":{},",":{"docs":{},"同":{"docs":{},"年":{"4":{"docs":{},"月":{"docs":{},"份":{"docs":{},"上":{"docs":{},"线":{"docs":{},"了":{"docs":{},"f":{"docs":{},"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":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"文":{"docs":{},"官":{"docs":{},"网":{"docs":{},"日":{"docs":{},"p":{"docs":{},"v":{"docs":{},"在":{"7":{"docs":{},"万":{"docs":{},"左":{"docs":{},"右":{"docs":{},",":{"docs":{},"每":{"docs":{},"日":{"docs":{},"独":{"docs":{},"立":{"docs":{},"访":{"docs":{},"问":{"docs":{},"人":{"docs":{},"数":{"docs":{},"近":{"docs":{},"一":{"docs":{},"万":{"docs":{},"多":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.02702702702702703}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}},"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":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"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":{},"组":{"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":{},"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"开":{"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":{},"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":{},"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":{},"绍":{"docs":{},"它":{"docs":{},"们":{"docs":{},"。":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"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.002551020408163265}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"避":{"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":{},"为":{"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.012195121951219513}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"防":{"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.012195121951219513}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}},"密":{"docs":{},"码":{"docs":{},"输":{"docs":{},"入":{"docs":{},"错":{"docs":{},"误":{"docs":{},",":{"docs":{},"密":{"docs":{},"码":{"docs":{},"框":{"docs":{},"应":{"docs":{},"该":{"docs":{},"有":{"docs":{},"开":{"docs":{},"关":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"明":{"docs":{},"文":{"docs":{},"。":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}},"优":{"docs":{},"化":{"docs":{},"这":{"docs":{},"两":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"封":{"docs":{},"装":{"docs":{},"一":{"docs":{},"个":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"docs":{},"m":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}},"加":{"docs":{},"强":{"docs":{},"读":{"docs":{},"者":{"docs":{},"的":{"docs":{},"理":{"docs":{},"解":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"不":{"docs":{},"直":{"docs":{},"接":{"docs":{},"去":{"docs":{},"看":{"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":{},"通":{"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":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"。":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"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":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"尽":{"docs":{},"可":{"docs":{},"能":{"docs":{},"小":{"docs":{},"而":{"docs":{},"且":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"f":{"docs":{},"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"支":{"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":{},"g":{"docs":{},"m":{"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":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"中":{"docs":{},"都":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"g":{"docs":{},"m":{"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":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"当":{"docs":{},"前":{"docs":{},"语":{"docs":{},"言":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"文":{"docs":{},"案":{"docs":{},"。":{"docs":{},"关":{"docs":{},"于":{"docs":{},"g":{"docs":{},"m":{"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":{},"g":{"docs":{},"m":{"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":{},"不":{"docs":{},"再":{"docs":{},"赘":{"docs":{},"述":{"docs":{},"。":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"简":{"docs":{},"单":{"docs":{},"起":{"docs":{},"见":{"docs":{},",":{"docs":{},"当":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"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":{},"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":{},"图":{"1":{"5":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},"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/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}}}}}}}}}}}}}}},"要":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}},"什":{"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"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":{},"化":{"docs":{},"中":{"docs":{},"的":{"docs":{},"超":{"docs":{},"人":{"docs":{},"是":{"docs":{},"可":{"docs":{},"以":{"docs":{},"飞":{"docs":{},"的":{"docs":{},",":{"docs":{},"那":{"docs":{},"是":{"docs":{},"美":{"docs":{},"国":{"docs":{},"人":{"docs":{},"心":{"docs":{},"中":{"docs":{},"的":{"docs":{},"大":{"docs":{},"英":{"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":{},"w":{"docs":{},"i":{"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":{},"e":{"docs":{},"r":{"docs":{},"o":{"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.008771929824561403}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"保":{"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}},"此":{"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.001519756838905775}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"b":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}},"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}},"当":{"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"事":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}},"确":{"docs":{},"保":{"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":{},"n":{"docs":{},"k":{"docs":{},"e":{"docs":{},"d":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"数":{"docs":{},"据":{"docs":{},"获":{"docs":{},"取":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"该":{"docs":{},"回":{"docs":{},"调":{"docs":{},"函":{"docs":{},"数":{"docs":{},"接":{"docs":{},"收":{"docs":{},"三":{"docs":{},"个":{"docs":{},"参":{"docs":{},"数":{"docs":{},":":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}},"作":{"docs":{},"者":{"docs":{},"w":{"docs":{},"e":{"docs":{},"n":{"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":{},"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":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},"社":{"docs":{},"区":{"docs":{},"知":{"docs":{},"名":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},",":{"docs":{},"是":{"docs":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},"、":{"docs":{},"f":{"docs":{},"l":{"docs":{},"y":{"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":{},"百":{"docs":{},"度":{"docs":{},"、":{"docs":{},"小":{"docs":{},"赢":{"docs":{},"科":{"docs":{},"技":{"docs":{},"等":{"docs":{},"互":{"docs":{},"联":{"docs":{},"网":{"docs":{},"公":{"docs":{},"司":{"docs":{},",":{"docs":{},"从":{"docs":{},"事":{"docs":{},"过":{"docs":{},"p":{"docs":{},"c":{"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":{},"闲":{"docs":{},"暇":{"docs":{},"时":{"docs":{},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"关":{"docs":{},"注":{"docs":{},"大":{"docs":{},"前":{"docs":{},"端":{"docs":{},"行":{"docs":{},"业":{"docs":{},"发":{"docs":{},"展":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.02702702702702703}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"为":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},"分":{"docs":{},"隔":{"docs":{},"符":{"docs":{},".":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}},"用":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374},"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.015151515151515152}}}},"关":{"docs":{},"于":{"docs":{},"作":{"docs":{},"者":{"docs":{"./":{"ref":"./","tf":0.02702702702702703}}}},"随":{"docs":{},"书":{"docs":{},"源":{"docs":{},"码":{"docs":{"./":{"ref":"./","tf":0.02702702702702703}}}}}},"示":{"docs":{},"例":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}},"矩":{"docs":{},"阵":{"docs":{},"变":{"docs":{},"换":{"docs":{},"的":{"docs":{},"相":{"docs":{},"关":{"docs":{},"内":{"docs":{},"容":{"docs":{},"属":{"docs":{},"于":{"docs":{},"线":{"docs":{},"性":{"docs":{},"代":{"docs":{},"数":{"docs":{},"范":{"docs":{},"畴":{"docs":{},",":{"docs":{},"本":{"docs":{},"书":{"docs":{},"不":{"docs":{},"做":{"docs":{},"讨":{"docs":{},"论":{"docs":{},",":{"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":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"动":{"docs":{},"画":{"docs":{},"相":{"docs":{},"关":{"docs":{},"内":{"docs":{},"容":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"在":{"docs":{},"本":{"docs":{},"书":{"docs":{},"后":{"docs":{},"面":{"docs":{},"章":{"docs":{},"节":{"docs":{},"介":{"docs":{},"绍":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"内":{"docs":{},"容":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"先":{"docs":{},"了":{"docs":{},"解":{"docs":{},"一":{"docs":{},"下":{"docs":{},"(":{"docs":{},"不":{"docs":{},"必":{"docs":{},"深":{"docs":{},"究":{"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/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"路":{"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.006211180124223602}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"代":{"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":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"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":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{},"”":{"docs":{},"和":{"docs":{},"“":{"docs":{},"n":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"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":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"闭":{"docs":{},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}},"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"连":{"docs":{},"接":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}},"。":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}}}}},"在":{"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.0035714285714285713}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616},"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.010416666666666666},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}},"f":{"docs":{},"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":{},"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":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"样":{"docs":{},"?":{"docs":{},"和":{"docs":{},"r":{"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":{},"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":{},"f":{"docs":{},"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":{},"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":{},"f":{"docs":{},"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":{},"教":{"docs":{},"程":{"docs":{},"有":{"docs":{},"直":{"docs":{},"接":{"docs":{},"关":{"docs":{},"系":{"docs":{},",":{"docs":{},"很":{"docs":{},"多":{"docs":{},"人":{"docs":{},"对":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"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":{"./":{"ref":"./","tf":0.02702702702702703}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"命":{"docs":{},"令":{"docs":{},"行":{"docs":{},"运":{"docs":{},"行":{"docs":{},"如":{"docs":{},"下":{"docs":{},"命":{"docs":{},"令":{"docs":{},"来":{"docs":{},"查":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"安":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"docs":{},",":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"东":{"docs":{},"西":{"docs":{},"都":{"docs":{},"是":{"docs":{},"w":{"docs":{},"i":{"docs":{},"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":{},"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":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"嗾":{"docs":{},"使":{"docs":{},"以":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"形":{"docs":{},"式":{"docs":{},"提":{"docs":{},"供":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"还":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"f":{"docs":{},"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.003278688524590164}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"组":{"docs":{},"合":{"docs":{},"的":{"docs":{},"思":{"docs":{},"想":{"docs":{},"非":{"docs":{},"常":{"docs":{},"重":{"docs":{},"要":{"docs":{},",":{"docs":{},"f":{"docs":{},"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":{"chapter10/intro.html":{"ref":"chapter10/intro.html","tf":0.04}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"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":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"应":{"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"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.00390625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"多":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"动":{"docs":{},"画":{"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":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"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.008771929824561403}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"页":{"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":{"chapter10/combine.html":{"ref":"chapter10/combine.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":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"框":{"docs":{},"架":{"docs":{},"加":{"docs":{},"载":{"docs":{},"时":{"docs":{},",":{"docs":{},"f":{"docs":{},"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"项":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"见":{"docs":{},"图":{"2":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}}},"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.001519756838905775}}}}}}}}}}}}}},"开":{"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.002551020408163265}}}}}}}}}}}}}}}}}}}}},"状":{"docs":{},"态":{"docs":{},"管":{"docs":{},"理":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"永":{"docs":{},"恒":{"docs":{},"的":{"docs":{},"话":{"docs":{},"题":{"docs":{},"。":{"docs":{},"一":{"docs":{},"般":{"docs":{},"的":{"docs":{},"原":{"docs":{},"则":{"docs":{},"是":{"docs":{},":":{"docs":{},"如":{"docs":{},"果":{"docs":{},"状":{"docs":{},"态":{"docs":{},"是":{"docs":{},"组":{"docs":{},"件":{"docs":{},"私":{"docs":{},"有":{"docs":{},"的":{"docs":{},",":{"docs":{},"则":{"docs":{},"应":{"docs":{},"该":{"docs":{},"由":{"docs":{},"组":{"docs":{},"件":{"docs":{},"自":{"docs":{},"己":{"docs":{},"管":{"docs":{},"理":{"docs":{},";":{"docs":{},"如":{"docs":{},"果":{"docs":{},"状":{"docs":{},"态":{"docs":{},"要":{"docs":{},"跨":{"docs":{},"组":{"docs":{},"件":{"docs":{},"共":{"docs":{},"享":{"docs":{},",":{"docs":{},"则":{"docs":{},"该":{"docs":{},"状":{"docs":{},"态":{"docs":{},"应":{"docs":{},"该":{"docs":{},"由":{"docs":{},"各":{"docs":{},"个":{"docs":{},"组":{"docs":{},"件":{"docs":{},"共":{"docs":{},"同":{"docs":{},"的":{"docs":{},"父":{"docs":{},"元":{"docs":{},"素":{"docs":{},"来":{"docs":{},"管":{"docs":{},"理":{"docs":{},"。":{"docs":{},"对":{"docs":{},"于":{"docs":{},"组":{"docs":{},"件":{"docs":{},"私":{"docs":{},"有":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"管":{"docs":{},"理":{"docs":{},"很":{"docs":{},"好":{"docs":{},"理":{"docs":{},"解":{"docs":{},",":{"docs":{},"但":{"docs":{},"对":{"docs":{},"于":{"docs":{},"跨":{"docs":{},"组":{"docs":{},"件":{"docs":{},"共":{"docs":{},"享":{"docs":{},"的":{"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":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"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":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"当":{"docs":{},"中":{"docs":{},"有":{"docs":{},"没":{"docs":{},"有":{"docs":{},"更":{"docs":{},"好":{"docs":{},"的":{"docs":{},"跨":{"docs":{},"组":{"docs":{},"件":{"docs":{},"状":{"docs":{},"态":{"docs":{},"管":{"docs":{},"理":{"docs":{},"方":{"docs":{},"式":{"docs":{},"了":{"docs":{},"呢":{"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":{},"的":{"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":{},"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":{},"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":{},"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":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"社":{"docs":{},"区":{"docs":{},"著":{"docs":{},"名":{"docs":{},"的":{"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":{},"解":{"docs":{},"决":{"docs":{},"方":{"docs":{},"案":{"docs":{},",":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"我":{"docs":{},"们":{"docs":{},"便":{"docs":{},"详":{"docs":{},"细":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"用":{"docs":{},"法":{"docs":{},"及":{"docs":{},"原":{"docs":{},"理":{"docs":{},"。":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"全":{"docs":{},"球":{"docs":{},",":{"docs":{},"随":{"docs":{},"着":{"docs":{},"f":{"docs":{},"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.02702702702702703}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"笔":{"docs":{},"者":{"docs":{},"深":{"docs":{},"入":{"docs":{},"的":{"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":{},"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":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"(":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"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":{},"f":{"docs":{},"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":{"./":{"ref":"./","tf":0.02702702702702703}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"看":{"docs":{},"来":{"docs":{},",":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"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":{},"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0035714285714285713}}}}}}}}}}}}}}}},"和":{"docs":{},"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.003278688524590164}}}}}}}}},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"打":{"docs":{},"开":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}},"原":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"那":{"docs":{},"两":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"的":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}},"小":{"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":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"收":{"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.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"本":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"示":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"可":{"docs":{},"以":{"docs":{},"朝":{"docs":{},"任":{"docs":{},"意":{"docs":{},"方":{"docs":{},"向":{"docs":{},"拖":{"docs":{},"动":{"docs":{},"的":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"在":{"docs":{},"很":{"docs":{},"多":{"docs":{},"场":{"docs":{},"景":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"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.0017452006980802793}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"书":{"docs":{},"中":{"docs":{},"经":{"docs":{},"常":{"docs":{},"会":{"docs":{},"出":{"docs":{},"现":{"docs":{},"“":{"docs":{},"树":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"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":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}},"章":{"docs":{},"中":{"docs":{},",":{"docs":{},"为":{"docs":{},"了":{"docs":{},"让":{"docs":{},"读":{"docs":{},"者":{"docs":{},"对":{"docs":{},"布":{"docs":{},"局":{"docs":{},"类":{"docs":{},"w":{"docs":{},"i":{"docs":{},"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":{},"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":{},"和":{"docs":{},"细":{"docs":{},"节":{"docs":{},"等":{"docs":{},"我":{"docs":{},"们":{"docs":{},"对":{"docs":{},"f":{"docs":{},"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":{"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":0.04}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"接":{"docs":{},"下":{"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":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"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":{},"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":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"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":{},"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":{"chapter10/intro.html":{"ref":"chapter10/intro.html","tf":0.04}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"例":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"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":{},"类":{"docs":{},"中":{"docs":{},"只":{"docs":{},"定":{"docs":{},"义":{"docs":{},"了":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},"…":{"docs":{},")":{"docs":{},"和":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"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":{},"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":{},"。":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"移":{"docs":{},"动":{"docs":{},"互":{"docs":{},"联":{"docs":{},"网":{"docs":{},"发":{"docs":{},"展":{"docs":{},"初":{"docs":{},"期":{"docs":{},",":{"docs":{},"业":{"docs":{},"务":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"端":{"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.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}},"设":{"docs":{},"备":{"docs":{},"上":{"docs":{},"启":{"docs":{},"用":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}}}},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"中":{"docs":{},"声":{"docs":{},"明":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}}}}}}}},"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.007407407407407408}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"开":{"docs":{},"发":{"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}},"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.008771929824561403}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0013422818791946308}}}}}}}}}}}}}}}}}}},"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}},"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}}}}},"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}},"生":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"内":{"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/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"树":{"docs":{},"中":{"docs":{},",":{"docs":{},"文":{"docs":{},"本":{"docs":{},"的":{"docs":{},"样":{"docs":{},"式":{"docs":{},"默":{"docs":{},"认":{"docs":{},"是":{"docs":{},"可":{"docs":{},"以":{"docs":{},"被":{"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":{},"w":{"docs":{},"i":{"docs":{},"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.00390625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}},"“":{"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.0013422818791946308}}}}}}}}},"用":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}},"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"你":{"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.0013422818791946308}}}}}}}}}}}}}}}},"的":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"上":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}},"命":{"docs":{},"令":{"docs":{},"行":{"docs":{},"运":{"docs":{},"行":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}},"工":{"docs":{},"具":{"docs":{},"栏":{"docs":{},"中":{"docs":{},"点":{"docs":{},"击":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}},"程":{"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.002551020408163265}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"搜":{"docs":{},"索":{"docs":{},"框":{"docs":{},"输":{"docs":{},"入":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}},"给":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},"项":{"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.0013422818791946308}}}}}}}}}}}}}}}},"中":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}},"之":{"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":{},"以":{"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":{},"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":{},"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"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":{},"了":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"介":{"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":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"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":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"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.0024330900243309003}}}}}}}}}}}}}}}}},"种":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"每":{"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.001519756838905775}}}}}}}}},"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.00390625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"_":{"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.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"p":{"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":{},"的":{"docs":{},"区":{"docs":{},"别":{"docs":{},"是":{"docs":{},"前":{"docs":{},"者":{"docs":{},"不":{"docs":{},"会":{"docs":{},"返":{"docs":{},"回":{"docs":{},"数":{"docs":{},"据":{"docs":{},"给":{"docs":{},"上":{"docs":{},"一":{"docs":{},"个":{"docs":{},"路":{"docs":{},"由":{"docs":{},",":{"docs":{},"而":{"docs":{},"后":{"docs":{},"者":{"docs":{},"会":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"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":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"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":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"打":{"docs":{},"开":{"docs":{},"路":{"docs":{},"由":{"docs":{},"时":{"docs":{},"传":{"docs":{},"递":{"docs":{},"参":{"docs":{},"数":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}},"路":{"docs":{},"由":{"docs":{},"页":{"docs":{},"通":{"docs":{},"过":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"对":{"docs":{},"象":{"docs":{},"获":{"docs":{},"取":{"docs":{},"路":{"docs":{},"由":{"docs":{},"参":{"docs":{},"数":{"docs":{},":":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}},"软":{"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":{},"使":{"docs":{},"用":{"docs":{},"时":{"docs":{},"再":{"docs":{},"直":{"docs":{},"接":{"docs":{},"集":{"docs":{},"成":{"docs":{},"这":{"docs":{},"个":{"docs":{},"模":{"docs":{},"块":{"docs":{},",":{"docs":{},"便":{"docs":{},"可":{"docs":{},"大":{"docs":{},"大":{"docs":{},"提":{"docs":{},"高":{"docs":{},"开":{"docs":{},"发":{"docs":{},"效":{"docs":{},"率":{"docs":{},"。":{"docs":{},"很":{"docs":{},"多":{"docs":{},"编":{"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":{},"言":{"docs":{},"中":{"docs":{},"这":{"docs":{},"种":{"docs":{},"独":{"docs":{},"立":{"docs":{},"模":{"docs":{},"块":{"docs":{},"会":{"docs":{},"被":{"docs":{},"打":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"j":{"docs":{},"a":{"docs":{},"r":{"docs":{},"包":{"docs":{},",":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"中":{"docs":{},"的":{"docs":{},"a":{"docs":{},"a":{"docs":{},"r":{"docs":{},"包":{"docs":{},",":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},"的":{"docs":{},"n":{"docs":{},"p":{"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":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"输":{"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.00625}}}}}}}}}}}}},"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"docs":{},"的":{"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.002551020408163265}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"构":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}},"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":{},"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":{},"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":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"和":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"当":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"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":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"项":{"docs":{},"目":{"docs":{},"拥":{"docs":{},"有":{"docs":{},"者":{"docs":{},"头":{"docs":{},"像":{"docs":{},"时":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{},"g":{"docs":{},"m":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"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":{},"下":{"docs":{},":":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"设":{"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.004807692307692308}}}}}}}}}}}}}}}},"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"开":{"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.001519756838905775}}}}}}}}}}}},"运":{"docs":{},"行":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}},"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.003278688524590164}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"转":{"docs":{},"的":{"docs":{},"角":{"docs":{},"度":{"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/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"事":{"docs":{},"件":{"docs":{},"循":{"docs":{},"环":{"docs":{},"中":{"docs":{},",":{"docs":{},"当":{"docs":{},"某":{"docs":{},"个":{"docs":{},"任":{"docs":{},"务":{"docs":{},"发":{"docs":{},"生":{"docs":{},"异":{"docs":{},"常":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"被":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"时":{"docs":{},",":{"docs":{},"程":{"docs":{},"序":{"docs":{},"并":{"docs":{},"不":{"docs":{},"会":{"docs":{},"退":{"docs":{},"出":{"docs":{},",":{"docs":{},"而":{"docs":{},"直":{"docs":{},"接":{"docs":{},"导":{"docs":{},"致":{"docs":{},"的":{"docs":{},"结":{"docs":{},"果":{"docs":{},"是":{"docs":{},"当":{"docs":{},"前":{"docs":{},"任":{"docs":{},"务":{"docs":{},"的":{"docs":{},"后":{"docs":{},"续":{"docs":{},"代":{"docs":{},"码":{"docs":{},"就":{"docs":{},"不":{"docs":{},"会":{"docs":{},"被":{"docs":{},"执":{"docs":{},"行":{"docs":{},"了":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"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.003278688524590164}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"介":{"docs":{},"绍":{"docs":{},"f":{"docs":{},"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":{},"解":{"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":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"主":{"docs":{},"题":{"docs":{},"前":{"docs":{},"我":{"docs":{},"们":{"docs":{},"先":{"docs":{},"了":{"docs":{},"解":{"docs":{},"一":{"docs":{},"些":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"的":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"类":{"docs":{},"。":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"类":{"docs":{},"中":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"以":{"docs":{},"一":{"docs":{},"个":{"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":{},"站":{"8":{"docs":{},"比":{"docs":{},"特":{"docs":{},",":{"docs":{},"存":{"docs":{},"储":{"docs":{},"结":{"docs":{},"构":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"单":{"docs":{},"线":{"docs":{},"程":{"docs":{},"中":{"docs":{},"是":{"docs":{},"以":{"docs":{},"消":{"docs":{},"息":{"docs":{},"循":{"docs":{},"环":{"docs":{},"机":{"docs":{},"制":{"docs":{},"来":{"docs":{},"运":{"docs":{},"行":{"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.003278688524590164}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"前":{"docs":{},"面":{"docs":{},"的":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"知":{"docs":{},"道":{"docs":{},"在":{"docs":{},"f":{"docs":{},"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"几":{"docs":{},"节":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"了":{"docs":{},"f":{"docs":{},"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":{},"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":{},"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.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"调":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}},"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}},"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.0020964360587002098}}}}}}}}}}}}}}}},"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.0020964360587002098}}}}}}}}}}}}}}}},"试":{"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":{},"验":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"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":{},"改":{"docs":{},"变":{"docs":{},"。":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"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":{},"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":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"以":{"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":{},"态":{"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":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"b":{"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":{},"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/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"按":{"docs":{},"下":{"docs":{},"时":{"docs":{},"添":{"docs":{},"加":{"docs":{},"绿":{"docs":{},"色":{"docs":{},"边":{"docs":{},"框":{"docs":{},",":{"docs":{},"当":{"docs":{},"抬":{"docs":{},"起":{"docs":{},"时":{"docs":{},",":{"docs":{},"取":{"docs":{},"消":{"docs":{},"高":{"docs":{},"亮":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}}}}},"上":{"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.00390625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},":":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}},"一":{"docs":{},"节":{"docs":{},"中":{"docs":{},"我":{"docs":{},"们":{"docs":{},"讲":{"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":{},"个":{"docs":{},"或":{"docs":{},"多":{"docs":{},"个":{"docs":{},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{},"相":{"docs":{},"对":{"docs":{},"于":{"docs":{},"父":{"docs":{},"元":{"docs":{},"素":{"docs":{},"各":{"docs":{},"个":{"docs":{},"边":{"docs":{},"的":{"docs":{},"精":{"docs":{},"确":{"docs":{},"偏":{"docs":{},"移":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"可":{"docs":{},"以":{"docs":{},"重":{"docs":{},"叠":{"docs":{},"。":{"docs":{},"但":{"docs":{},"如":{"docs":{},"果":{"docs":{},"我":{"docs":{},"们":{"docs":{},"只":{"docs":{},"想":{"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":{},"组":{"docs":{},"件":{"docs":{},"会":{"docs":{},"更":{"docs":{},"简":{"docs":{},"单":{"docs":{},"一":{"docs":{},"些":{"docs":{},"。":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"字":{"docs":{},"体":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{},",":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"字":{"docs":{},"符":{"docs":{},"都":{"docs":{},"对":{"docs":{},"应":{"docs":{},"一":{"docs":{},"个":{"docs":{},"位":{"docs":{},"码":{"docs":{},",":{"docs":{},"而":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"位":{"docs":{},"码":{"docs":{},"对":{"docs":{},"应":{"docs":{},"一":{"docs":{},"个":{"docs":{},"显":{"docs":{},"示":{"docs":{},"字":{"docs":{},"形":{"docs":{},",":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"字":{"docs":{},"体":{"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.002551020408163265}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"后":{"docs":{},"面":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"又":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"了":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"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":{},"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":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"际":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},",":{"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":{},"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":{},"限":{"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":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"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":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"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":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"战":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"组":{"docs":{},"件":{"docs":{},"的":{"docs":{},"坐":{"docs":{},"标":{"docs":{},"描":{"docs":{},"述":{"docs":{},"中":{"docs":{},",":{"docs":{},"通":{"docs":{},"常":{"docs":{},"将":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"方":{"docs":{},"向":{"docs":{},"称":{"docs":{},"为":{"docs":{},"主":{"docs":{},"轴":{"docs":{},",":{"docs":{},"非":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"方":{"docs":{},"向":{"docs":{},"称":{"docs":{},"为":{"docs":{},"纵":{"docs":{},"轴":{"docs":{},"。":{"docs":{},"由":{"docs":{},"于":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"组":{"docs":{},"件":{"docs":{},"的":{"docs":{},"默":{"docs":{},"认":{"docs":{},"方":{"docs":{},"向":{"docs":{},"一":{"docs":{},"般":{"docs":{},"都":{"docs":{},"是":{"docs":{},"沿":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},",":{"docs":{},"所":{"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.02631578947368421}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"很":{"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.02631578947368421}}}}}},"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.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"大":{"docs":{},"型":{"docs":{},"复":{"docs":{},"杂":{"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":{},"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":{},",":{"docs":{},"提":{"docs":{},"高":{"docs":{},"开":{"docs":{},"发":{"docs":{},"效":{"docs":{},"率":{"docs":{},"。":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"应":{"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.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":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"一":{"docs":{},"定":{"docs":{},"要":{"docs":{},"确":{"docs":{},"保":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"不":{"docs":{},"能":{"docs":{},"抛":{"docs":{},"出":{"docs":{},"异":{"docs":{},"常":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"任":{"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":{},"。":{"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.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"某":{"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":{},"[":{"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":{},"f":{"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":{},"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":{},"手":{"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":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}}}},"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":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}}}}}}}}}}},"请":{"docs":{},"求":{"docs":{},"阶":{"docs":{},"段":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}},"我":{"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":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}}}}}}}}}}}},"您":{"docs":{},"的":{"docs":{},"项":{"docs":{},"目":{"docs":{},"根":{"docs":{},"文":{"docs":{},"件":{"docs":{},"夹":{"docs":{},"中":{"docs":{},"运":{"docs":{},"行":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}},"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"根":{"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":{},"个":{"docs":{},"“":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"/":{"docs":{},"s":{"docs":{},"r":{"docs":{},"c":{"docs":{},"”":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"的":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"文":{"docs":{},"件":{"docs":{},":":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"发":{"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"客":{"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":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}}}}}}}}}}}}}}}}}},"宿":{"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":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}}}}}}}}}}}}}}}}}}}},"终":{"docs":{},"端":{"docs":{},"中":{"docs":{},"运":{"docs":{},"行":{"docs":{},":":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}},":":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}}}}}}}}}}}},"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"较":{"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":{},"图":{"1":{"3":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}},"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":{},"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":{},"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":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"都":{"docs":{},"必":{"docs":{},"须":{"docs":{},"提":{"docs":{},"供":{"docs":{},"一":{"docs":{},"个":{"docs":{},"手":{"docs":{},"动":{"docs":{},"选":{"docs":{},"择":{"docs":{},"语":{"docs":{},"言":{"docs":{},"的":{"docs":{},"入":{"docs":{},"口":{"docs":{},"。":{"docs":{"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"次":{"docs":{},"绘":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}},"布":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"图":{"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":{},"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":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"(":{"docs":{},"b":{"docs":{},"y":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},")":{"docs":{},"对":{"docs":{},"图":{"docs":{},"片":{"docs":{},"进":{"docs":{},"行":{"docs":{},"解":{"docs":{},"码":{"docs":{},",":{"docs":{},"值":{"docs":{},"得":{"docs":{},"注":{"docs":{},"意":{"docs":{},"的":{"docs":{},"是":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"i":{"docs":{},"m":{"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":{},"n":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"网":{"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":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}},"果":{"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{},"您":{"docs":{},"发":{"docs":{},"现":{"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.02702702702702703}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"从":{"docs":{},"未":{"docs":{},"打":{"docs":{},"算":{"docs":{},"更":{"docs":{},"改":{"docs":{},"一":{"docs":{},"个":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"使":{"docs":{},"用":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}}}}}}}}}}},"重":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"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":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}},"尝":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"问":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"布":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"现":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"编":{"docs":{},"写":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"渲":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"树":{"docs":{},"的":{"docs":{},"结":{"docs":{},"构":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"如":{"docs":{},"尺":{"docs":{},"寸":{"docs":{},"、":{"docs":{},"布":{"docs":{},"局":{"docs":{},"、":{"docs":{},"节":{"docs":{},"点":{"docs":{},"隐":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"切":{"docs":{},"正":{"docs":{},"常":{"docs":{},",":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}},"你":{"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.0013422818791946308}}}}}}}}}}}}}},"不":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"i":{"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":{},"i":{"docs":{},"d":{"docs":{},"e":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"想":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"遇":{"docs":{},"到":{"docs":{},"包":{"docs":{},"发":{"docs":{},"布":{"docs":{},"失":{"docs":{},"败":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"先":{"docs":{},"检":{"docs":{},"查":{"docs":{},"是":{"docs":{},"否":{"docs":{},"因":{"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"安":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.00390625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"上":{"docs":{},"例":{"docs":{},"中":{"docs":{},"我":{"docs":{},"们":{"docs":{},"同":{"docs":{},"时":{"docs":{},"监":{"docs":{},"听":{"docs":{},"水":{"docs":{},"平":{"docs":{},"和":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},"的":{"docs":{},"拖":{"docs":{},"动":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"我":{"docs":{},"们":{"docs":{},"斜":{"docs":{},"着":{"docs":{},"拖":{"docs":{},"动":{"docs":{},"时":{"docs":{},"哪":{"docs":{},"个":{"docs":{},"方":{"docs":{},"向":{"docs":{},"会":{"docs":{},"生":{"docs":{},"效":{"docs":{},"?":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"取":{"docs":{},"决":{"docs":{},"于":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"移":{"docs":{},"动":{"docs":{},"时":{"docs":{},"两":{"docs":{},"个":{"docs":{},"轴":{"docs":{},"上":{"docs":{},"的":{"docs":{},"位":{"docs":{},"移":{"docs":{},"分":{"docs":{},"量":{"docs":{},",":{"docs":{},"哪":{"docs":{},"个":{"docs":{},"轴":{"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":{},"组":{"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":{},"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":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"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":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"已":{"docs":{},"安":{"docs":{},"装":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}},"登":{"docs":{},"录":{"docs":{},",":{"docs":{},"则":{"docs":{},"显":{"docs":{},"示":{"docs":{},"用":{"docs":{},"户":{"docs":{},"头":{"docs":{},"像":{"docs":{},";":{"docs":{},"若":{"docs":{},"未":{"docs":{},"登":{"docs":{},"录":{"docs":{},",":{"docs":{},"则":{"docs":{},"显":{"docs":{},"示":{"docs":{},"默":{"docs":{},"认":{"docs":{},"头":{"docs":{},"像":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}}}}}},"想":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}},"自":{"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":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"该":{"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.0013422818791946308}}}}}}}}}}}}}}},"存":{"docs":{},"在":{"docs":{},",":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}},"这":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"有":{"docs":{},"大":{"docs":{},"量":{"docs":{},"异":{"docs":{},"步":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"出":{"docs":{},"现":{"docs":{},"大":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"异":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"要":{"docs":{},"将":{"docs":{},"父":{"docs":{},"类":{"docs":{},"状":{"docs":{},"态":{"docs":{},"暴":{"docs":{},"露":{"docs":{},"给":{"docs":{},"子":{"docs":{},"类":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"必":{"docs":{},"须":{"docs":{},"得":{"docs":{},"有":{"docs":{},"一":{"docs":{},"种":{"docs":{},"传":{"docs":{},"递":{"docs":{},"机":{"docs":{},"制":{"docs":{},",":{"docs":{},"而":{"docs":{},"做":{"docs":{},"这":{"docs":{},"一":{"docs":{},"套":{"docs":{},"传":{"docs":{},"递":{"docs":{},"机":{"docs":{},"制":{"docs":{},"是":{"docs":{},"无":{"docs":{},"意":{"docs":{},"义":{"docs":{},"的":{"docs":{},",":{"docs":{},"因":{"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"让":{"docs":{},"里":{"docs":{},"面":{"docs":{},"的":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},"占":{"docs":{},"满":{"docs":{},"外":{"docs":{},"部":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"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.00411522633744856}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"访":{"docs":{},"问":{"docs":{},"的":{"docs":{},"路":{"docs":{},"由":{"docs":{},"页":{"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.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"应":{"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.00625}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"正":{"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.00625}}}}}}}}}}}}}}}}},"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"f":{"docs":{},"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.00625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"应":{"docs":{},"用":{"docs":{},"要":{"docs":{},"支":{"docs":{},"持":{"docs":{},"多":{"docs":{},"种":{"docs":{},"语":{"docs":{},"言":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"“":{"docs":{},"国":{"docs":{},"际":{"docs":{},"化":{"docs":{},"”":{"docs":{},"它":{"docs":{},"。":{"docs":{},"这":{"docs":{},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"开":{"docs":{},"发":{"docs":{},"时":{"docs":{},"需":{"docs":{},"要":{"docs":{},"为":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"支":{"docs":{},"持":{"docs":{},"的":{"docs":{},"每":{"docs":{},"种":{"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"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.001519756838905775}}}}}}}}}}},"想":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"背":{"docs":{},"景":{"docs":{},"渐":{"docs":{},"变":{"docs":{},"的":{"docs":{},"圆":{"docs":{},"角":{"docs":{},"按":{"docs":{},"钮":{"docs":{},",":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"有":{"docs":{},"没":{"docs":{},"有":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},"呢":{"docs":{},"?":{"docs":{},"答":{"docs":{},"案":{"docs":{},"是":{"docs":{},"否":{"docs":{},"定":{"docs":{},"的":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"其":{"docs":{},"它":{"docs":{},"方":{"docs":{},"式":{"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.006024096385542169}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"剪":{"docs":{},"裁":{"docs":{},"子":{"docs":{},"组":{"docs":{},"件":{"docs":{},"的":{"docs":{},"特":{"docs":{},"定":{"docs":{},"区":{"docs":{},"域":{"docs":{},",":{"docs":{},"比":{"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":{"docs":{},"×":{"3":{"0":{"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":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"来":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"剪":{"docs":{},"裁":{"docs":{},"区":{"docs":{},"域":{"docs":{},",":{"docs":{},"实":{"docs":{},"现":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"组":{"docs":{},"件":{"docs":{},"树":{"docs":{},"中":{"docs":{},"拦":{"docs":{},"截":{"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.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"颜":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"的":{"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":{},"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.00202020202020202}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"嫌":{"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":{},"s":{"docs":{},"i":{"docs":{},"z":{"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":{},"不":{"docs":{},"行":{"docs":{},"的":{"docs":{},",":{"docs":{},"原":{"docs":{},"因":{"docs":{},"是":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"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":{},"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":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"对":{"docs":{},"宽":{"docs":{},"度":{"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":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"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":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"类":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"将":{"docs":{},"上":{"docs":{},"面":{"docs":{},"代":{"docs":{},"码":{"docs":{},"在":{"docs":{},"现":{"docs":{},"有":{"docs":{},"f":{"docs":{},"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"未":{"docs":{},"在":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}}}}}}}},"图":{"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.001519756838905775}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}},"某":{"docs":{},"一":{"docs":{},"个":{"docs":{},"状":{"docs":{},"态":{"docs":{},"是":{"docs":{},"不":{"docs":{},"同":{"docs":{},"w":{"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/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"组":{"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":{},"例":{"docs":{},"子":{"docs":{},":":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"个":{"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":{"chapter13/intl.html":{"ref":"chapter13/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/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"用":{"docs":{},"户":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"如":{"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/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.00411522633744856}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"给":{"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":{},"菜":{"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.00202020202020202}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.005649717514124294}}}}},"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":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"遇":{"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":{},"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":{"chapter10/intro.html":{"ref":"chapter10/intro.html","tf":0.04}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"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":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"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":{},"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":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.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":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"的":{"docs":{},"项":{"docs":{},"目":{"docs":{},",":{"docs":{},"则":{"docs":{},"此":{"docs":{},"字":{"docs":{},"段":{"docs":{},"表":{"docs":{},"示":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"的":{"docs":{},"父":{"docs":{},"项":{"docs":{},"目":{"docs":{},"信":{"docs":{},"息":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}},"第":{"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"请":{"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"过":{"docs":{},"滤":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"手":{"docs":{},"动":{"docs":{},"判":{"docs":{},"断":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}},",":{"docs":{},"自":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"调":{"docs":{},"用":{"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":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"发":{"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":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"每":{"docs":{},"个":{"docs":{},"项":{"docs":{},"目":{"docs":{},"都":{"docs":{},"要":{"docs":{},"构":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"上":{"docs":{},"面":{"docs":{},"这":{"docs":{},"样":{"docs":{},"的":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"显":{"docs":{},"然":{"docs":{},"很":{"docs":{},"麻":{"docs":{},"烦":{"docs":{},",":{"docs":{},"为":{"docs":{},"此":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"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":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"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":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"文":{"docs":{},"件":{"docs":{},"生":{"docs":{},"成":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"类":{"docs":{},"。":{"docs":{},"另":{"docs":{},"外":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}},"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"足":{"3":{"2":{"docs":{},"位":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}}},"docs":{}},"6":{"4":{"docs":{},"位":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}}},"docs":{}},"docs":{}},"是":{"docs":{},"列":{"docs":{},"表":{"docs":{},",":{"docs":{},"则":{"docs":{},"只":{"docs":{},"删":{"docs":{},"除":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},"缓":{"docs":{},"存":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}},"系":{"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"设":{"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}},"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"没":{"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"则":{"docs":{},"调":{"docs":{},"用":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"(":{"docs":{},"t":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}},"策":{"docs":{},"略":{"docs":{},",":{"docs":{},"设":{"docs":{},"置":{"docs":{},"默":{"docs":{},"认":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"策":{"docs":{},"略":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}},"子":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}},"直":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"节":{"docs":{},"点":{"docs":{},"有":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"它":{"docs":{},"除":{"docs":{},"了":{"docs":{},"完":{"docs":{},"成":{"docs":{},"自":{"docs":{},"身":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"为":{"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":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"接":{"docs":{},"口":{"docs":{},"返":{"docs":{},"回":{"docs":{},"的":{"docs":{},"数":{"docs":{},"量":{"docs":{},"等":{"docs":{},"于":{"docs":{},"'":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"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":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"之":{"docs":{},"前":{"docs":{},"所":{"docs":{},"述":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.01}}}}}}}}}}},"决":{"docs":{},"定":{"docs":{},"使":{"docs":{},"用":{"docs":{},"哪":{"docs":{},"种":{"docs":{},"管":{"docs":{},"理":{"docs":{},"方":{"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/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"转":{"docs":{},"成":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"对":{"docs":{},"象":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}}}}}}}}},"获":{"docs":{},"取":{"docs":{},"平":{"docs":{},"台":{"docs":{},"信":{"docs":{},"息":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}}}}}}},"为":{"docs":{},"英":{"docs":{},"语":{"docs":{},"系":{"docs":{},"的":{"docs":{},"国":{"docs":{},"家":{"docs":{},"指":{"docs":{},"定":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"应":{"docs":{},"用":{"docs":{},"标":{"docs":{},"题":{"docs":{},"进":{"docs":{},"行":{"docs":{},"国":{"docs":{},"际":{"docs":{},"化":{"docs":{"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02}}}}}}}}}}}},"设":{"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":{},"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":{},"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"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.0013422818791946308}}}}}}}}}},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},"的":{"docs":{},"色":{"docs":{},"值":{"docs":{},"通":{"docs":{},"常":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"如":{"docs":{},"\"":{"docs":{},"#":{"docs":{},"d":{"docs":{},"c":{"3":{"8":{"0":{"docs":{},"d":{"docs":{},"\"":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"r":{"docs":{},"g":{"docs":{},"b":{"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":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}},"广":{"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":{},"u":{"docs":{},"w":{"docs":{},"e":{"docs":{},"n":{"3":{"2":{"7":{"6":{"7":{"docs":{},"@":{"1":{"6":{"3":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{"./":{"ref":"./","tf":0.02702702702702703}}}}}}},"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":{},"f":{"docs":{},"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":{},"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":{"./":{"ref":"./","tf":0.02702702702702703}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"或":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616},"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}},"加":{"docs":{},"微":{"docs":{},"信":{"docs":{},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.02702702702702703}}}}}}}}}},"以":{"docs":{},"下":{"docs":{},"命":{"docs":{},"令":{"docs":{},"找":{"docs":{},"到":{"docs":{},"模":{"docs":{},"拟":{"docs":{},"器":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}}},"更":{"docs":{},"新":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}},"高":{"docs":{},"版":{"docs":{},"本":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}},"者":{"docs":{},"点":{"docs":{},"击":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}},"事":{"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.001519756838905775}}}}}}}}}}}}}}}}}}},"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":{},"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":{},"值":{"docs":{},"。":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"无":{"docs":{},"论":{"docs":{},"是":{"docs":{},"做":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"文":{"docs":{},"网":{"docs":{},",":{"docs":{},"还":{"docs":{},"是":{"docs":{},"写":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"m":{"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":{},"围":{"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":{},"在":{"2":{"0":{"1":{"8":{"docs":{},"年":{"docs":{},"初":{"docs":{},"f":{"docs":{},"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":{},"到":{"1":{"docs":{},".":{"0":{"docs":{},")":{"docs":{},",":{"docs":{},"存":{"docs":{},"在":{"docs":{},"很":{"docs":{},"多":{"docs":{},"b":{"docs":{},"u":{"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":{},"f":{"docs":{},"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":{},"在":{"2":{"0":{"1":{"8":{"docs":{},"年":{"4":{"docs":{},"月":{"docs":{},"份":{"docs":{},",":{"docs":{},"我":{"docs":{},"以":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"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":{},"划":{"docs":{},"主":{"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":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},"建":{"docs":{},"立":{"docs":{},"f":{"docs":{},"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":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},"、":{"docs":{},"c":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"i":{"docs":{},"e":{"docs":{},"j":{"docs":{},"a":{"docs":{},"r":{"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.02702702702702703}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"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.006211180124223602}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"法":{"docs":{},"连":{"docs":{},"接":{"docs":{},",":{"docs":{},"如":{"docs":{},"图":{"1":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},"docs":{}}}}}}}},"最":{"docs":{},"后":{"docs":{"./":{"ref":"./","tf":0.02702702702702703},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.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":{},",":{"docs":{},"但":{"docs":{},"我":{"docs":{},"对":{"docs":{},"您":{"docs":{},"有":{"docs":{},"个":{"docs":{},"小":{"docs":{},"小":{"docs":{},"的":{"docs":{},"要":{"docs":{},"求":{"docs":{},",":{"docs":{},"希":{"docs":{},"望":{"docs":{},"您":{"docs":{},"在":{"docs":{},"阅":{"docs":{},"读":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"能":{"docs":{},"积":{"docs":{},"极":{"docs":{},"参":{"docs":{},"与":{"docs":{},"到":{"docs":{},"本":{"docs":{},"书":{"docs":{},"的":{"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.02702702702702703}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"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.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"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":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"完":{"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.008264462809917356}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"docs":{},"是":{"docs":{},"使":{"docs":{},"用":{"docs":{},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}},"一":{"docs":{},"步":{"docs":{},":":{"docs":{},"添":{"docs":{},"加":{"docs":{},"多":{"docs":{},"语":{"docs":{},"言":{"docs":{},"支":{"docs":{},"持":{"docs":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894}}}}}}}}}},"就":{"docs":{},"是":{"docs":{},"根":{"docs":{},"据":{"docs":{},"a":{"docs":{},"r":{"docs":{},"b":{"docs":{},"生":{"docs":{},"成":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"文":{"docs":{},"件":{"docs":{},":":{"docs":{"chapter13/intl.html":{"ref":"chapter13/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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"好":{"docs":{},"在":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"只":{"docs":{},"设":{"docs":{},"置":{"docs":{},"一":{"docs":{},"次":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"您":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"中":{"docs":{},"更":{"docs":{},"改":{"docs":{},"它":{"docs":{},",":{"docs":{},"尤":{"docs":{},"其":{"docs":{},"是":{"docs":{},"在":{"docs":{},"动":{"docs":{},"画":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"将":{"docs":{},"其":{"docs":{},"值":{"docs":{},"减":{"docs":{},"小":{"docs":{},",":{"docs":{},"则":{"docs":{},"框":{"docs":{},"架":{"docs":{},"的":{"docs":{},"观":{"docs":{},"察":{"docs":{},"时":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"终":{"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.00425531914893617}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.00425531914893617}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}},"docs":{}},"docs":{}}}}}}}},"绘":{"docs":{},"制":{"docs":{},"由":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"来":{"docs":{},"完":{"docs":{},"成":{"docs":{},"。":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"图":{"5":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}},"docs":{}}}}}},"大":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"数":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}},"本":{"docs":{},"书":{"docs":{},"不":{"docs":{},"适":{"docs":{},"合":{"docs":{},"做":{"docs":{},"为":{"docs":{},"编":{"docs":{},"程":{"docs":{},"的":{"docs":{},"入":{"docs":{},"门":{"docs":{},"读":{"docs":{},"物":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.02702702702702703}}}}}}}}}}}}}}},"官":{"docs":{},"网":{"docs":{},"访":{"docs":{},"问":{"docs":{},"量":{"docs":{},"较":{"docs":{},"大":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"配":{"docs":{},"置":{"docs":{},"有":{"docs":{},"限":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"某":{"docs":{},"些":{"docs":{},"时":{"docs":{},"段":{"docs":{},"访":{"docs":{},"问":{"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":{},"书":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.02702702702702703}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"第":{"docs":{},"一":{"docs":{},"本":{"docs":{},"系":{"docs":{},"统":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"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":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.02702702702702703}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"特":{"docs":{},"色":{"docs":{"./":{"ref":"./","tf":0.02702702702702703}}}},"读":{"docs":{},"者":{"docs":{},"对":{"docs":{},"象":{"docs":{"./":{"ref":"./","tf":0.02702702702702703}}}}}},"后":{"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"docs":{},"在":{"docs":{},"\"":{"docs":{},"功":{"docs":{},"能":{"docs":{},"型":{"docs":{},"组":{"docs":{},"件":{"docs":{},"\"":{"docs":{},"一":{"docs":{},"章":{"docs":{},"中":{"docs":{},"介":{"docs":{},"绍":{"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":{},"与":{"docs":{},"通":{"docs":{},"知":{"docs":{},"\"":{"docs":{},"一":{"docs":{},"章":{"docs":{},"中":{"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/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"章":{"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},"chapter10/":{"ref":"chapter10/","tf":0.16666666666666666},"chapter11/":{"ref":"chapter11/","tf":0.08333333333333333},"chapter13/":{"ref":"chapter13/","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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"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":{},"f":{"docs":{},"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":{},"这":{"docs":{},"将":{"docs":{},"会":{"docs":{},"带":{"docs":{},"来":{"docs":{},"如":{"docs":{},"下":{"docs":{},"好":{"docs":{},"处":{"docs":{},":":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"后":{"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":{},"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":{},"件":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"新":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"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":{},"这":{"docs":{},"个":{"docs":{},"实":{"docs":{},"例":{"docs":{},"的":{"docs":{},"主":{"docs":{},"要":{"docs":{},"目":{"docs":{},"标":{"docs":{},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},":":{"docs":{"chapter15/intro.html":{"ref":"chapter15/intro.html","tf":0.05}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"篇":{"docs":{},"主":{"docs":{},"要":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}}}}},"节":{"docs":{},"将":{"docs":{},"主":{"docs":{},"要":{"docs":{},"介":{"docs":{},"绍":{"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":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"详":{"docs":{},"细":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"f":{"docs":{},"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":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"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":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},"的":{"docs":{},"具":{"docs":{},"体":{"docs":{},"用":{"docs":{},"法":{"docs":{},"。":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"主":{"docs":{},"要":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"了":{"docs":{},"一":{"docs":{},"下":{"docs":{},"f":{"docs":{},"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"组":{"docs":{},"件":{"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.002688172043010753}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}},"解":{"docs":{},"答":{"docs":{},"一":{"docs":{},"下":{"docs":{},"在":{"docs":{},"国":{"docs":{},"际":{"docs":{},"化":{"docs":{},"中":{"docs":{},"常":{"docs":{},"见":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"先":{"docs":{},"对":{"docs":{},"f":{"docs":{},"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":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"框":{"docs":{},"架":{"docs":{},"图":{"docs":{},",":{"docs":{},"如":{"docs":{},"图":{"1":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01}}},"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":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"学":{"docs":{},"习":{"docs":{},"了":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"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":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"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":{},"u":{"docs":{},"i":{"docs":{},"元":{"docs":{},"素":{"docs":{},"的":{"docs":{},"场":{"docs":{},"景":{"docs":{},",":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"将":{"docs":{},"十":{"docs":{},"分":{"docs":{},"实":{"docs":{},"用":{"docs":{},"。":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"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":{},"动":{"docs":{},"画":{"docs":{},"速":{"docs":{},"度":{"docs":{},"。":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"圆":{"docs":{},"形":{"docs":{},"背":{"docs":{},"景":{"docs":{},"渐":{"docs":{},"变":{"docs":{},"进":{"docs":{},"度":{"docs":{},"条":{"docs":{},",":{"docs":{},"它":{"docs":{},"支":{"docs":{},"持":{"docs":{},":":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}}}}}}}}}},"接":{"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"之":{"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"过":{"docs":{},"一":{"docs":{},"个":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},"说":{"docs":{},"明":{"docs":{},"了":{"docs":{},"f":{"docs":{},"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":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"主":{"docs":{},"要":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"从":{"docs":{},"启":{"docs":{},"动":{"docs":{},"到":{"docs":{},"显":{"docs":{},"示":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"。":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}},"会":{"docs":{},"基":{"docs":{},"于":{"docs":{},"前":{"docs":{},"面":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"过":{"docs":{},"的":{"docs":{},"d":{"docs":{},"i":{"docs":{},"o":{"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":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"的":{"docs":{},"业":{"docs":{},"务":{"docs":{},"请":{"docs":{},"求":{"docs":{},"接":{"docs":{},"口":{"docs":{},"。":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"给":{"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"介":{"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.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":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"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":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"组":{"docs":{},"件":{"docs":{},"及":{"docs":{},"两":{"docs":{},"种":{"docs":{},"偏":{"docs":{},"移":{"docs":{},"类":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"过":{"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":{},"现":{"docs":{},"状":{"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":{},"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":{},"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":{},"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":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"设":{"docs":{},"计":{"docs":{},"思":{"docs":{},"想":{"docs":{},"。":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"先":{"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.005649717514124294}}}}}}}}}}}}}}}}}}}}},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"些":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"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":{},"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":{},"。":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"详":{"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":{},"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"换":{"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":{},"据":{"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":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"来":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"入":{"docs":{},"口":{"docs":{},"及":{"docs":{},"首":{"docs":{},"页":{"docs":{},"。":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}},"示":{"docs":{},"例":{"docs":{},"是":{"docs":{},"对":{"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.002824858757062147}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"地":{"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}},"的":{"docs":{},"代":{"docs":{},"理":{"docs":{},"类":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}},"次":{"docs":{},"请":{"docs":{},"求":{"docs":{},"禁":{"docs":{},"用":{"docs":{},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"请":{"docs":{},"求":{"docs":{},"结":{"docs":{},"果":{"docs":{},"也":{"docs":{},"不":{"docs":{},"会":{"docs":{},"被":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"。":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}},"小":{"docs":{},"节":{"docs":{},"我":{"docs":{},"们":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"了":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"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":{},"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":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"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":{},"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":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},":":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"函":{"docs":{},"数":{"docs":{},"中":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"2":{"docs":{},",":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"了":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"和":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"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":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"2":{"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":{},"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":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"权":{"docs":{},"益":{"docs":{"./":{"ref":"./","tf":0.02702702702702703}}}},"由":{"docs":{},"于":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}},"篇":{"docs":{},"幅":{"docs":{},"所":{"docs":{},"限":{"docs":{},",":{"docs":{},"本":{"docs":{},"书":{"docs":{},"中":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"示":{"docs":{},"例":{"docs":{},"代":{"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.02702702702702703}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"子":{"docs":{},"组":{"docs":{},"件":{"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":{},"子":{"docs":{},"组":{"docs":{},"件":{"docs":{},"所":{"docs":{},"占":{"docs":{},"用":{"docs":{},"的":{"docs":{},"实":{"docs":{},"际":{"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.0064516129032258064}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"渲":{"docs":{},"染":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"原":{"docs":{},"生":{"docs":{},"控":{"docs":{},"件":{"docs":{},",":{"docs":{},"不":{"docs":{},"同":{"docs":{},"平":{"docs":{},"台":{"docs":{},"的":{"docs":{},"控":{"docs":{},"件":{"docs":{},"需":{"docs":{},"要":{"docs":{},"单":{"docs":{},"独":{"docs":{},"维":{"docs":{},"护":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"当":{"docs":{},"系":{"docs":{},"统":{"docs":{},"更":{"docs":{},"新":{"docs":{},"时":{"docs":{},",":{"docs":{},"社":{"docs":{},"区":{"docs":{},"控":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0013422818791946308}}}}}}}},"p":{"docs":{},"p":{"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":{},"s":{"docs":{},"”":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"“":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},".":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"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":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},"会":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"国":{"docs":{},"内":{"docs":{},"访":{"docs":{},"问":{"docs":{},"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"缓":{"docs":{},"存":{"docs":{},"策":{"docs":{},"略":{"docs":{},":":{"docs":{},"将":{"docs":{},"请":{"docs":{},"求":{"docs":{},"的":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"作":{"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":{},",":{"docs":{},"另":{"docs":{},"外":{"docs":{},"设":{"docs":{},"置":{"docs":{},"一":{"docs":{},"个":{"docs":{},"最":{"docs":{},"大":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"数":{"docs":{},",":{"docs":{},"当":{"docs":{},"超":{"docs":{},"过":{"docs":{},"最":{"docs":{},"大":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"数":{"docs":{},"后":{"docs":{},"移":{"docs":{},"除":{"docs":{},"最":{"docs":{},"早":{"docs":{},"的":{"docs":{},"一":{"docs":{},"条":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},"也":{"docs":{},"得":{"docs":{},"提":{"docs":{},"供":{"docs":{},"一":{"docs":{},"种":{"docs":{},"针":{"docs":{},"对":{"docs":{},"特":{"docs":{},"定":{"docs":{},"接":{"docs":{},"口":{"docs":{},"或":{"docs":{},"请":{"docs":{},"求":{"docs":{},"决":{"docs":{},"定":{"docs":{},"是":{"docs":{},"否":{"docs":{},"启":{"docs":{},"用":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"的":{"docs":{},"机":{"docs":{},"制":{"docs":{},",":{"docs":{},"这":{"docs":{},"种":{"docs":{},"机":{"docs":{},"制":{"docs":{},"可":{"docs":{},"以":{"docs":{},"指":{"docs":{},"定":{"docs":{},"哪":{"docs":{},"些":{"docs":{},"接":{"docs":{},"口":{"docs":{},"或":{"docs":{},"那":{"docs":{},"次":{"docs":{},"请":{"docs":{},"求":{"docs":{},"不":{"docs":{},"应":{"docs":{},"用":{"docs":{},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"这":{"docs":{},"种":{"docs":{},"机":{"docs":{},"制":{"docs":{},"是":{"docs":{},"很":{"docs":{},"有":{"docs":{},"必":{"docs":{},"要":{"docs":{},"的":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"登":{"docs":{},"录":{"docs":{},"接":{"docs":{},"口":{"docs":{},"就":{"docs":{},"不":{"docs":{},"应":{"docs":{},"该":{"docs":{},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"又":{"docs":{},"比":{"docs":{},"如":{"docs":{},"用":{"docs":{},"户":{"docs":{},"在":{"docs":{},"下":{"docs":{},"拉":{"docs":{},"刷":{"docs":{},"新":{"docs":{},"时":{"docs":{},"就":{"docs":{},"不":{"docs":{},"应":{"docs":{},"该":{"docs":{},"再":{"docs":{},"应":{"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":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"类":{"docs":{},":":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"网":{"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":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"转":{"docs":{},"成":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.015151515151515152}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"本":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"指":{"docs":{},"定":{"docs":{},"了":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856}}}}},"没":{"docs":{},"有":{"docs":{},"指":{"docs":{},"定":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"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":{},"使":{"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":{},"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":{},"为":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"高":{"docs":{},"度":{"docs":{},"。":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"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":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"文":{"docs":{},"件":{"docs":{},"下":{"docs":{},"创":{"docs":{},"建":{"docs":{},"了":{"docs":{},"如":{"docs":{},"下":{"docs":{},"目":{"docs":{},"录":{"docs":{},":":{"docs":{"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.015151515151515152}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"使":{"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":{},"i":{"docs":{},"m":{"docs":{},"g":{"docs":{},"s":{"docs":{},"“":{"docs":{},"和":{"docs":{},"”":{"docs":{},"f":{"docs":{},"o":{"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":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"文":{"docs":{},"件":{"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":{"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.015151515151515152}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"子":{"docs":{},"文":{"docs":{},"本":{"docs":{},"组":{"docs":{},"件":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125}}}}}}}}}}}}}}}}}},"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":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"矩":{"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":{},"组":{"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":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"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":{},"提":{"docs":{},"高":{"docs":{},"性":{"docs":{},"能":{"docs":{},"。":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.00202020202020202}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"列":{"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.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}},"docs":{}},"docs":{}}}}}}},"手":{"docs":{},"势":{"docs":{},"竞":{"docs":{},"争":{"docs":{},"最":{"docs":{},"终":{"docs":{},"只":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"胜":{"docs":{},"出":{"docs":{},"者":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},",":{"docs":{},"当":{"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.0017452006980802793}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"解":{"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":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"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":{},"然":{"docs":{},"后":{"docs":{},"再":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"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":{},"个":{"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":{},"m":{"docs":{},"y":{"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":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"只":{"docs":{},"会":{"docs":{},"在":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"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":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"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":{},"简":{"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":{},"后":{"docs":{},"再":{"docs":{},"里":{"docs":{},"面":{"docs":{},"重":{"docs":{},"新":{"docs":{},"调":{"docs":{},"用":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"即":{"docs":{},"可":{"docs":{},":":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"同":{"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":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}}}}}}}}}}}}}}}}}}}}}}},"最":{"docs":{},"终":{"docs":{},"的":{"docs":{},"图":{"docs":{},"形":{"docs":{},"计":{"docs":{},"算":{"docs":{},"和":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"都":{"docs":{},"是":{"docs":{},"由":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"硬":{"docs":{},"件":{"docs":{},"来":{"docs":{},"完":{"docs":{},"成":{"docs":{},",":{"docs":{},"而":{"docs":{},"直":{"docs":{},"接":{"docs":{},"操":{"docs":{},"作":{"docs":{},"硬":{"docs":{},"件":{"docs":{},"的":{"docs":{},"指":{"docs":{},"令":{"docs":{},"通":{"docs":{},"常":{"docs":{},"都":{"docs":{},"会":{"docs":{},"有":{"docs":{},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},"屏":{"docs":{},"蔽":{"docs":{},",":{"docs":{},"应":{"docs":{},"用":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"通":{"docs":{},"常":{"docs":{},"不":{"docs":{},"会":{"docs":{},"直":{"docs":{},"接":{"docs":{},"面":{"docs":{},"对":{"docs":{},"硬":{"docs":{},"件":{"docs":{},",":{"docs":{},"操":{"docs":{},"作":{"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":{},"者":{"docs":{},"在":{"docs":{},"大":{"docs":{},"学":{"docs":{},"时":{"docs":{},"读":{"docs":{},"过":{"docs":{},"候":{"docs":{},"捷":{"docs":{},"(":{"docs":{},"真":{"docs":{},"名":{"docs":{},"侯":{"docs":{},"俊":{"docs":{},"杰":{"docs":{},")":{"docs":{},"写":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"c":{"docs":{},"+":{"docs":{},"+":{"docs":{},"相":{"docs":{},"关":{"docs":{},"书":{"docs":{},"籍":{"docs":{},",":{"docs":{},"在":{"docs":{},"他":{"docs":{},"的":{"docs":{},"《":{"docs":{},"深":{"docs":{},"入":{"docs":{},"浅":{"docs":{},"出":{"docs":{},"m":{"docs":{},"f":{"docs":{},"c":{"docs":{},"》":{"docs":{},"一":{"docs":{},"书":{"docs":{},"中":{"docs":{},",":{"docs":{},"有":{"docs":{},"一":{"docs":{},"句":{"docs":{},"话":{"docs":{},"我":{"docs":{},"映":{"docs":{},"像":{"docs":{},"非":{"docs":{},"常":{"docs":{},"深":{"docs":{"./":{"ref":"./","tf":0.02702702702702703}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"简":{"docs":{},"介":{"docs":{"./":{"ref":"./","tf":0.02702702702702703},"chapter2/":{"ref":"chapter2/","tf":0.1},"chapter9/":{"ref":"chapter9/","tf":0.09090909090909091}}},"称":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}},"化":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"并":{"docs":{},"非":{"docs":{},"源":{"docs":{},"码":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}},"单":{"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":{},"起":{"docs":{"./":{"ref":"./","tf":10.027027027027026}}}},"致":{"docs":{},"谢":{"docs":{"./":{"ref":"./","tf":0.02702702702702703}}}},"虽":{"docs":{},"然":{"docs":{},"f":{"docs":{},"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":{},"f":{"docs":{},"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":{},"f":{"docs":{},"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":{},"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":{},"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":{},"有":{"8":{"0":{"0":{"0":{"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":{},"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.02702702702702703}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"做":{"docs":{},"的":{"docs":{},"事":{"docs":{},"情":{"docs":{},"已":{"docs":{},"经":{"docs":{},"够":{"docs":{},"多":{"docs":{},"了":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"仍":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"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.02702702702702703}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},"比":{"docs":{},"较":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"但":{"docs":{},"它":{"docs":{},"却":{"docs":{},"将":{"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":{},"图":{"7":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"两":{"docs":{},"种":{"docs":{},"方":{"docs":{},"法":{"docs":{},"都":{"docs":{},"可":{"docs":{},"以":{"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.006211180124223602}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"读":{"docs":{},"者":{"docs":{},"最":{"docs":{},"好":{"docs":{},"接":{"docs":{},"触":{"docs":{},"过":{"docs":{},"p":{"docs":{},"c":{"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":{"./":{"ref":"./","tf":0.02702702702702703}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"至":{"docs":{},"少":{"docs":{},"熟":{"docs":{},"悉":{"docs":{},"一":{"docs":{},"种":{"docs":{},"编":{"docs":{},"程":{"docs":{},"语":{"docs":{},"言":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.02702702702702703}}}}}}}}}}}}},"应":{"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.0020964360587002098}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"运":{"docs":{},"行":{"docs":{},"示":{"docs":{},"例":{"docs":{},"看":{"docs":{},"看":{"docs":{},"效":{"docs":{},"果":{"docs":{},"。":{"docs":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513}}}}}}}}}}},"自":{"docs":{},"己":{"docs":{},"运":{"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":{},",":{"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":{},"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":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"此":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"知":{"docs":{},"道":{"docs":{},"帧":{"docs":{},"监":{"docs":{},"听":{"docs":{},"器":{"docs":{},"和":{"docs":{},"状":{"docs":{},"态":{"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.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"取":{"docs":{},"点":{"docs":{},"击":{"docs":{},"次":{"docs":{},"数":{"docs":{},"(":{"docs":{},"以":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},")":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}},"响":{"docs":{},"应":{"docs":{},"内":{"docs":{},"容":{"docs":{},":":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}},"起":{"docs":{},"初":{"docs":{},",":{"docs":{},"我":{"docs":{},"没":{"docs":{},"有":{"docs":{},"出":{"docs":{},"版":{"docs":{},"实":{"docs":{},"体":{"docs":{},"书":{"docs":{},"的":{"docs":{},"打":{"docs":{},"算":{"docs":{},",":{"docs":{},"当":{"docs":{},"时":{"docs":{},"我":{"docs":{},"以":{"docs":{},"为":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"直":{"docs":{},"接":{"docs":{},"通":{"docs":{},"过":{"docs":{},"在":{"docs":{},"线":{"docs":{},"访":{"docs":{},"问":{"docs":{},"本":{"docs":{},"书":{"docs":{},"官":{"docs":{},"网":{"docs":{},"即":{"docs":{},"方":{"docs":{},"便":{"docs":{},"又":{"docs":{},"不":{"docs":{},"用":{"docs":{},"付":{"docs":{},"费":{"docs":{},",":{"docs":{},"何":{"docs":{},"乐":{"docs":{},"而":{"docs":{},"不":{"docs":{},"为":{"docs":{},"。":{"docs":{},"但":{"docs":{},"在":{"docs":{},"本":{"docs":{},"书":{"docs":{},"上":{"docs":{},"线":{"docs":{},"后":{"docs":{},",":{"docs":{},"很":{"docs":{},"多":{"docs":{},"读":{"docs":{},"者":{"docs":{},"来":{"docs":{},"添":{"docs":{},"加":{"docs":{},"微":{"docs":{},"信":{"docs":{},"好":{"docs":{},"友":{"docs":{},",":{"docs":{},"表":{"docs":{},"示":{"docs":{},"非":{"docs":{},"常":{"docs":{},"有":{"docs":{},"收":{"docs":{},"益":{"docs":{},",":{"docs":{},"很":{"docs":{},"期":{"docs":{},"待":{"docs":{},"出":{"docs":{},"版":{"docs":{},"纸":{"docs":{},"质":{"docs":{},"书":{"docs":{},",":{"docs":{},"甚":{"docs":{},"至":{"docs":{},"有":{"docs":{},"比":{"docs":{},"较":{"docs":{},"热":{"docs":{},"心":{"docs":{},"的":{"docs":{},"读":{"docs":{},"者":{"docs":{},"想":{"docs":{},"提":{"docs":{},"前":{"docs":{},"付":{"docs":{},"定":{"docs":{},"金":{"docs":{},"预":{"docs":{},"定":{"docs":{},"!":{"docs":{},"我":{"docs":{},"理":{"docs":{},"解":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"大":{"docs":{},"家":{"docs":{},"对":{"docs":{},"我":{"docs":{},"所":{"docs":{},"做":{"docs":{},"之":{"docs":{},"事":{"docs":{},"的":{"docs":{},"认":{"docs":{},"可":{"docs":{},"和":{"docs":{},"鼓":{"docs":{},"励":{"docs":{},"。":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"到":{"docs":{},",":{"docs":{},"确":{"docs":{},"实":{"docs":{},"有":{"docs":{},"一":{"docs":{},"部":{"docs":{},"分":{"docs":{},"读":{"docs":{},"者":{"docs":{},",":{"docs":{},"尤":{"docs":{},"其":{"docs":{},"是":{"docs":{},"还":{"docs":{},"没":{"docs":{},"毕":{"docs":{},"业":{"docs":{},"的":{"docs":{},"同":{"docs":{},"学":{"docs":{},",":{"docs":{},"可":{"docs":{},"能":{"docs":{},"更":{"docs":{},"喜":{"docs":{},"欢":{"docs":{},"通":{"docs":{},"过":{"docs":{},"书":{"docs":{},"籍":{"docs":{},"去":{"docs":{},"学":{"docs":{},"习":{"docs":{},",":{"docs":{},"为":{"docs":{},"此":{"docs":{},",":{"docs":{},"我":{"docs":{},"已":{"docs":{},"经":{"docs":{},"和":{"docs":{},"机":{"docs":{},"械":{"docs":{},"工":{"docs":{},"业":{"docs":{},"出":{"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.02702702702702703}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"近":{"docs":{},"来":{"docs":{},"在":{"docs":{},"网":{"docs":{},"上":{"docs":{},"发":{"docs":{},"现":{"docs":{},"很":{"docs":{},"多":{"docs":{},"原":{"docs":{},"封":{"docs":{},"不":{"docs":{},"动":{"docs":{},"复":{"docs":{},"制":{"docs":{},"本":{"docs":{},"书":{"docs":{},"的":{"docs":{},"镜":{"docs":{},"像":{"docs":{},"网":{"docs":{},"站":{"docs":{},"和":{"docs":{},"大":{"docs":{},"量":{"docs":{},"复":{"docs":{},"制":{"docs":{},"或":{"docs":{},"引":{"docs":{},"用":{"docs":{},"了":{"docs":{},"本":{"docs":{},"书":{"docs":{},"但":{"docs":{},"未":{"docs":{},"注":{"docs":{},"明":{"docs":{},"出":{"docs":{},"处":{"docs":{},"的":{"docs":{},"博":{"docs":{},"客":{"docs":{},"、":{"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":{},"n":{"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":{},",":{"docs":{},"笔":{"docs":{},"者":{"docs":{},"保":{"docs":{},"留":{"docs":{},"追":{"docs":{},"究":{"docs":{},"其":{"docs":{},"法":{"docs":{},"律":{"docs":{},"责":{"docs":{},"任":{"docs":{},"的":{"docs":{},"权":{"docs":{},"利":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"是":{"docs":{},"非":{"docs":{},"商":{"docs":{},"业":{"docs":{},"目":{"docs":{},"的":{"docs":{},"的":{"docs":{},"转":{"docs":{},"载":{"docs":{},"和":{"docs":{},"引":{"docs":{},"用":{"docs":{},",":{"docs":{},"请":{"docs":{},"注":{"docs":{},"明":{"docs":{},"出":{"docs":{},"处":{"docs":{},"并":{"docs":{},"附":{"docs":{},"上":{"docs":{},"本":{"docs":{},"书":{"docs":{},"网":{"docs":{},"址":{"docs":{},"。":{"docs":{},"另":{"docs":{},"外":{"docs":{},"如":{"docs":{},"有":{"docs":{},"出":{"docs":{},"版":{"docs":{},"机":{"docs":{},"构":{"docs":{},"愿":{"docs":{},"意":{"docs":{},"为":{"docs":{},"本":{"docs":{},"书":{"docs":{},"出":{"docs":{},"版":{"docs":{},"实":{"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":{},"n":{"docs":{"./":{"ref":"./","tf":0.02702702702702703}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"随":{"docs":{},"着":{"docs":{},"学":{"docs":{},"习":{"docs":{},"f":{"docs":{},"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":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.02702702702702703}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"至":{"docs":{},"今":{"docs":{},"每":{"docs":{},"天":{"docs":{},"有":{"3":{"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":{},"护":{"docs":{},"知":{"docs":{},"识":{"docs":{},"产":{"docs":{},"权":{"docs":{},",":{"docs":{},"而":{"docs":{},"直":{"docs":{},"接":{"docs":{},"开":{"docs":{},"源":{"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":{},"f":{"docs":{},"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":{},"常":{"docs":{},"有":{"docs":{},"意":{"docs":{},"义":{"docs":{},"的":{"docs":{},"事":{"docs":{},",":{"docs":{},"只":{"docs":{},"要":{"docs":{},"坚":{"docs":{},"持":{"docs":{},"做":{"docs":{},"对":{"docs":{},"别":{"docs":{},"人":{"docs":{},"有":{"docs":{},"价":{"docs":{},"值":{"docs":{},"的":{"docs":{},"事":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"上":{"docs":{},"帝":{"docs":{},"迟":{"docs":{},"早":{"docs":{},"会":{"docs":{},"奖":{"docs":{},"赏":{"docs":{},"你":{"docs":{},";":{"docs":{},"当":{"docs":{},"然":{"docs":{},"我":{"docs":{},"们":{"docs":{},"也":{"docs":{},"在":{"docs":{},"网":{"docs":{},"站":{"docs":{},"中":{"docs":{},"留":{"docs":{},"了":{"docs":{},"打":{"docs":{},"赏":{"docs":{},"的":{"docs":{},"按":{"docs":{},"钮":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"读":{"docs":{},"者":{"docs":{},"觉":{"docs":{},"得":{"docs":{},"有":{"docs":{},"帮":{"docs":{},"助":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"扫":{"docs":{},"码":{"docs":{},"打":{"docs":{},"赏":{"docs":{},",":{"docs":{},"请":{"docs":{},"笔":{"docs":{},"者":{"docs":{},"喝":{"docs":{},"一":{"docs":{},"杯":{"docs":{},"咖":{"docs":{},"啡":{"docs":{},"。":{"docs":{},"另":{"docs":{},"外":{"docs":{},"由":{"docs":{},"于":{"docs":{},"成":{"docs":{},"书":{"docs":{},"比":{"docs":{},"较":{"docs":{},"仓":{"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":{},"有":{"7":{"8":{"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":{"./":{"ref":"./","tf":0.02702702702702703}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}}}}}}}}}}}},"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"docs":{},"多":{"docs":{},"个":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"则":{"docs":{},"每":{"docs":{},"个":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"偏":{"docs":{},"移":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.002551020408163265}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"此":{"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.0018832391713747645}}}}}}}}}}}}}}}},"采":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"其":{"docs":{},"中":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}},"在":{"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.0013422818791946308}}}}}}}}}}}},"搜":{"docs":{},"索":{"docs":{},"结":{"docs":{},"果":{"docs":{},"列":{"docs":{},"表":{"docs":{},"中":{"docs":{},"选":{"docs":{},"择":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}}},"然":{"docs":{},"后":{"docs":{},"将":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},"打":{"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}},"再":{"docs":{},"上":{"docs":{},"面":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}}}}}},"重":{"docs":{},"启":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}},"下":{"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.002325581395348837}}}}}}}}}}}}}}}}}}},"也":{"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.004807692307692308}}}}}}},"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":{},"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":{},"动":{"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":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}},"灰":{"docs":{},"色":{"docs":{},"为":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},",":{"docs":{},"如":{"docs":{},"图":{"3":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}},"docs":{}}}}}}}}}}}},"表":{"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.013513513513513514}}}}}}}}}}}}}}}}}}},"这":{"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.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"样":{"docs":{},"其":{"docs":{},"他":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"轻":{"docs":{},"松":{"docs":{},"使":{"docs":{},"用":{"docs":{},"它":{"docs":{},"。":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}},"它":{"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":{},"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.00202020202020202}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"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":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"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.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"继":{"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":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"风":{"docs":{},"格":{"docs":{},"的":{"docs":{},"发":{"docs":{},"布":{"docs":{},"者":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"动":{"docs":{},"处":{"docs":{},"理":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"链":{"docs":{},"接":{"docs":{},",":{"docs":{},"定":{"docs":{},"义":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}}}}}}}}}}}},"比":{"docs":{},"如":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"s":{"docs":{},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"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":{},"s":{"docs":{},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{},".":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"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":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"查":{"docs":{},"看":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"s":{"docs":{},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{},"类":{"docs":{},"定":{"docs":{},"义":{"docs":{},"。":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"正":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"这":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"来":{"docs":{},"将":{"docs":{},"动":{"docs":{},"画":{"docs":{},"和":{"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":{},"s":{"docs":{},".":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"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.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"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":{},"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":{},"此":{"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":{},"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":{},"置":{"docs":{},"发":{"docs":{},"生":{"docs":{},"更":{"docs":{},"改":{"docs":{},"时":{"docs":{},",":{"docs":{},"将":{"docs":{},"重":{"docs":{},"建":{"docs":{},"所":{"docs":{},"有":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"它":{"docs":{},"的":{"docs":{},"子":{"docs":{},"组":{"docs":{},"件":{"docs":{},"。":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.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":{},"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.002577319587628866}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"作":{"docs":{},"为":{"docs":{},"参":{"docs":{},"数":{"docs":{},":":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}},"打":{"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"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":{},"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"则":{"docs":{},"独":{"docs":{},"立":{"docs":{},"绘":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.005698005698005698}},"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.0035714285714285713},"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.04},"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.032214765100671144},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.03125},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.005504587155963303},"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.03125},"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.008264462809917356},"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.013888888888888888},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.011204481792717087},"chapter14/":{"ref":"chapter14/","tf":0.16666666666666666},"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":0.05555555555555555},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538},"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.015151515151515152},"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}},"简":{"docs":{},"介":{"docs":{"chapter1/":{"ref":"chapter1/","tf":0.2},"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01}}}},"出":{"docs":{},"世":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}},"是":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"高":{"docs":{},",":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}},"性":{"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.01}}}}}}}}}}}}}}}}}}}}}},"与":{"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"原":{"docs":{},"生":{"docs":{},"之":{"docs":{},"间":{"docs":{},"的":{"docs":{},"通":{"docs":{},"信":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"灵":{"docs":{},"活":{"docs":{},"的":{"docs":{},"消":{"docs":{},"息":{"docs":{},"传":{"docs":{},"递":{"docs":{},"方":{"docs":{},"式":{"docs":{},":":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}}}}}}}}}}}}}}}}}}}}},"中":{"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"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.002551020408163265}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"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":{},"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.002551020408163265}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"一":{"docs":{},"些":{"docs":{},"剪":{"docs":{},"裁":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"对":{"docs":{},"组":{"docs":{},"件":{"docs":{},"进":{"docs":{},"行":{"docs":{},"剪":{"docs":{},"裁":{"docs":{},"。":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}}}}}}}}}}}}}}}}}}}}},"的":{"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":{},"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":{},"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":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},"定":{"docs":{},"义":{"docs":{},":":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"很":{"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":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"过":{"docs":{},"通":{"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":{},"类":{"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":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"动":{"docs":{},"画":{"docs":{},"抽":{"docs":{},"象":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}},"正":{"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.002577319587628866}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"构":{"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"提":{"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.01}}}}}}}}}}}}}}},",":{"docs":{},"在":{"docs":{},"实":{"docs":{},"际":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},"你":{"docs":{},"可":{"docs":{},"以":{"docs":{},"根":{"docs":{},"据":{"docs":{},"需":{"docs":{},"要":{"docs":{},"随":{"docs":{},"意":{"docs":{},"使":{"docs":{},"用":{"docs":{},"它":{"docs":{},"们":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"必":{"docs":{},"担":{"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":{},"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":{},"组":{"docs":{},"件":{"docs":{},"库":{"docs":{},"之":{"docs":{},"上":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"如":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"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":{},"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":{},"组":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"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":{},"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"自":{"docs":{},"身":{"docs":{},"具":{"docs":{},"有":{"docs":{},"u":{"docs":{},"i":{"docs":{},"外":{"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":{},"是":{"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":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"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":{},"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":{"chapter10/intro.html":{"ref":"chapter10/intro.html","tf":0.04}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"旨":{"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"框":{"docs":{},"架":{"docs":{},"使":{"docs":{},"用":{"docs":{},"函":{"docs":{},"数":{"docs":{},"式":{"docs":{},"流":{"docs":{},",":{"docs":{},"这":{"docs":{},"使":{"docs":{},"得":{"docs":{},"它":{"docs":{},"在":{"docs":{},"很":{"docs":{},"大":{"docs":{},"程":{"docs":{},"度":{"docs":{},"上":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"于":{"docs":{},"底":{"docs":{},"层":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"分":{"docs":{},"配":{"docs":{},"器":{"docs":{},"。":{"docs":{},"因":{"docs":{},"此":{"docs":{},",":{"docs":{},"拥":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"能":{"docs":{},"够":{"docs":{},"有":{"docs":{},"效":{"docs":{},"地":{"docs":{},"处":{"docs":{},"理":{"docs":{},"琐":{"docs":{},"碎":{"docs":{},"任":{"docs":{},"务":{"docs":{},"的":{"docs":{},"内":{"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"本":{"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"结":{"docs":{},"构":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01}}}},"中":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"异":{"docs":{},"常":{"docs":{},"捕":{"docs":{},"获":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}}}}},"对":{"docs":{},"加":{"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":{},"为":{"1":{"0":{"0":{"docs":{},"m":{"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":{},"深":{"docs":{},"入":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"。":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"添":{"docs":{},"加":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01}}}},"还":{"docs":{},"使":{"docs":{},"用":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01}}}}},"\\":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},"的":{"docs":{},"全":{"docs":{},"路":{"docs":{},"径":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}}}},"_":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"_":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}}}}}}},"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}},"依":{"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.0013422818791946308}}}}}}}}}}}},"插":{"docs":{},"件":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}},"默":{"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}},"包":{"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.002551020408163265}}}}}}}}}}}}}}},":":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.01875},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.014423076923076924},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.0078125},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.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":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}}}}}}}}}}}}}}}}}},"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.006557377049180328}}}}}}}}},"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.003278688524590164}}}}}}}}}}}}}}}}}}}}}}}},"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.009836065573770493}},"s":{"docs":{},"(":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}}}}}}}}}}}}}},"异":{"docs":{},"常":{"docs":{},"捕":{"docs":{},"获":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006557377049180328}}}}}},"也":{"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":{},"组":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"o":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}},"(":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.020618556701030927}}}}}}},"的":{"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.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"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":{},"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.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"入":{"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":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"动":{"docs":{},"画":{"docs":{},"简":{"docs":{},"介":{"docs":{"chapter9/":{"ref":"chapter9/","tf":0.09090909090909091},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}},"可":{"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}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"应":{"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":{},"过":{"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.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}},"*":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},",":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.008264462809917356}}}}}}}}}}}}},"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":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"d":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.035398230088495575}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}},"p":{"docs":{},"p":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.008264462809917356}},")":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.012396694214876033}}}}}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"*":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}},";":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}},"会":{"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":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}},"从":{"docs":{},"启":{"docs":{},"动":{"docs":{},"到":{"docs":{},"显":{"docs":{},"示":{"docs":{"chapter14/":{"ref":"chapter14/","tf":0.16666666666666666}}}}}}}},"运":{"docs":{},"行":{"docs":{},"机":{"docs":{},"制":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}}}},"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.0037174721189591076}}}}}}}}}}}}}}}}}}},"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.0037174721189591076}}}}}}}}}},"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.0037174721189591076}}}}}}}}}}}},"o":{"docs":{},"a":{"docs":{},"t":{"6":{"4":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}}}}}},"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.00404040404040404}},"(":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}},"是":{"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":{},"数":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.00202020202020202}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.00202020202020202}}}}}}}}}}}}}}}},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}},"(":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}},"(":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.012048192771084338},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.008670520231213872},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}},"{":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}},".":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}}}}}},"即":{"docs":{},"扁":{"docs":{},"平":{"docs":{},"按":{"docs":{},"钮":{"docs":{},",":{"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":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.011834319526627219}},"(":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.011834319526627219}},"{":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609}}}},",":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609}}},":":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.03550295857988166}}},";":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609}}},"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.005917159763313609}}}}}}}}}}}}}}}},"参":{"docs":{},"数":{"docs":{},"为":{"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.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":{},"使":{"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":{},"使":{"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":{},"讨":{"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.005917159763313609}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"继":{"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.005917159763313609}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616}}}}}},"a":{"docs":{},"l":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0056179775280898875},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.008385744234800839},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.008113590263691683},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.00967741935483871},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.01818181818181818},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005649717514124294},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.004335260115606936},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.011661807580174927},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.039603960396039604},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.007731958762886598},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.043478260869565216},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.0102880658436214},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.029556650246305417},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.016611295681063124},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.021768707482993196},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.005504587155963303},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0056022408963585435},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.005649717514124294},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.00929368029739777},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.02464788732394366},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}},"和":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}}}},"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.002551020408163265}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.011299435028248588},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.008547008547008548},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.003669724770642202},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.008264462809917356}},"/":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},">":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}},"s":{"docs":{},"\\":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}}}},"(":{"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":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}}},"\"":{"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":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.009433962264150943}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"p":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},".":{"docs":{},"t":{"docs":{},"x":{"docs":{},"t":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.009433962264150943}}}}}}}}}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"$":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.005698005698005698}}}}}}}}}},"f":{"docs":{},".":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}},".":{"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":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}},"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":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}},"e":{"docs":{},"(":{"docs":{},"{":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},".":{"docs":{},"w":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"y":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.005698005698005698}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}},"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.002551020408163265}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006557377049180328},"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}},"c":{"docs":{},"h":{"docs":{},"u":{"docs":{},"n":{"docs":{},"k":{"docs":{},"s":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},")":{"docs":{},".":{"docs":{},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"l":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}},",":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}},";":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.005698005698005698}}}}}}}}}},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}}}}},"t":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.02040816326530612},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},"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.002551020408163265}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.002551020408163265}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"该":{"docs":{},"属":{"docs":{},"性":{"docs":{},"用":{"docs":{},"于":{"docs":{},"在":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"显":{"docs":{},"示":{"docs":{},"空":{"docs":{},"间":{"docs":{},"和":{"docs":{},"图":{"docs":{},"片":{"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.002551020408163265}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"此":{"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":{},"的":{"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":{},"组":{"docs":{},"件":{"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.0078125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}}}},"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.00202020202020202}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.012121212121212121}},"会":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"调":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"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.0020964360587002098}}}}}}}}}}}}}}}}},"动":{"docs":{},"态":{"docs":{},"设":{"docs":{},"置":{"docs":{},"。":{"docs":{},"注":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"只":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"一":{"docs":{},"次":{"docs":{},"该":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},",":{"docs":{},"通":{"docs":{},"常":{"docs":{},"在":{"docs":{},"该":{"docs":{},"回":{"docs":{},"调":{"docs":{},"中":{"docs":{},"做":{"docs":{},"一":{"docs":{},"些":{"docs":{},"一":{"docs":{},"次":{"docs":{},"性":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"如":{"docs":{},"状":{"docs":{},"态":{"docs":{},"初":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"构":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"状":{"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.0020964360587002098}}}}}}}}}}}}}},"隐":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}},"重":{"docs":{},"新":{"docs":{},"构":{"docs":{},"建":{"docs":{},"u":{"docs":{},"i":{"docs":{},"。":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514}}}}}}}}},"是":{"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.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{},"而":{"docs":{},"这":{"docs":{},"个":{"docs":{},"“":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"”":{"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":{},"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":{},"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":{},"果":{"docs":{},"没":{"docs":{},"有":{"docs":{},"使":{"docs":{},"用":{"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":{},"时":{"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":{},"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":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"内":{"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.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":{},"的":{"docs":{},"插":{"docs":{},"值":{"docs":{},"(":{"docs":{},"中":{"docs":{},"间":{"docs":{},"态":{"docs":{},")":{"docs":{},"即":{"docs":{},"可":{"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.008771929824561403}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"自":{"docs":{},"动":{"docs":{},"完":{"docs":{},"成":{"docs":{},"的":{"docs":{},"。":{"docs":{},"必":{"docs":{},"须":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},",":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403}}}}}}}}}}}}}},"的":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}},"连":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"?":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.00303951367781155}}},":":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}},"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.0037174721189591076}},":":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},".":{"docs":{},"i":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}},"t":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.010309278350515464}},"(":{"0":{"docs":{},".":{"2":{"docs":{},",":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}},"docs":{}}},"docs":{}},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"在":{"docs":{},"下":{"docs":{},"面":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},"详":{"docs":{},"细":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"。":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"c":{"docs":{},"i":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}},"o":{"docs":{},"m":{"docs":{},",":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}},"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.010526315789473684}}}}}}}}}}}}}},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015625},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684}}},",":{"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.0078125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}},"e":{"docs":{},")":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}},".":{"docs":{},"u":{"docs":{},"s":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}},",":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.004056795131845842},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.005390835579514825},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.005376344086021506},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.008097165991902834},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.00909090909090909},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.005442176870748299},"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.012145748987854251}}},";":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.012170385395537525},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.002890173410404624},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.011661807580174927},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.009174311926605505},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.017699115044247787},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.005649717514124294},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.007692307692307693}}},"}":{"docs":{},")":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}},"l":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}},"m":{"docs":{},"i":{"docs":{},"l":{"docs":{},"y":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.01171875},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}}}},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.007339449541284404}}}}}}},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602}},"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.006211180124223602}}}}}}}}}},"{":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602}}}}}}}}},"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.018633540372670808},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}},"q":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.00749063670411985},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004651162790697674},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.00939306358381503},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.01694915254237288},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.019943019943019943},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0056022408963585435},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.008215962441314555},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}},"e":{"2":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}},".":{"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.003278688524590164}}}}}}}}}}}}}}}}}},"3":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}},"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.0018726591760299626}}}}}}}}}}}},"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.016853932584269662}}}}},"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.003278688524590164},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}},"(":{"docs":{},"(":{"docs":{},"_":{"docs":{},")":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}},"(":{"docs":{},"[":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}},"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":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0018726591760299626}}}}}}}}}}}}},"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.003278688524590164}}}}}}}}}}}}}}}},"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.003278688524590164}}}}},"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}}},":":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}},"{":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}},"会":{"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":{},"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":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},":":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}}}}}}},":":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"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":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},">":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}},"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.002325581395348837}},"表":{"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.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028}},"c":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.008264462809917356}},"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.003278688524590164},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}},"(":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}},"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/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}},"t":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}},"'":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"s":{"docs":{},"i":{"docs":{},"a":{"docs":{},",":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}},"a":{"docs":{},"t":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}},"(":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}},"{":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}},"(":{"docs":{},"{":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}},"e":{"docs":{},")":{"docs":{},".":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}},"{":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}}}}}}}}}}},".":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"为":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0013477088948787063}}}}}}}}}},"的":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"继":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.018867924528301886}},")":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.009433962264150943}}},".":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"(":{"docs":{},"{":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.009433962264150943}}}}}}}}},":":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}},"e":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},":":{"docs":{},"在":{"docs":{},"子":{"docs":{},"组":{"docs":{},"件":{"docs":{},"之":{"docs":{},"上":{"docs":{},"绘":{"docs":{},"制":{"docs":{},",":{"docs":{},"即":{"docs":{},"前":{"docs":{},"景":{"docs":{},"。":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186}}}}}}}}}}}}}}}},"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.006622516556291391}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866}}}}}},"c":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}},"k":{"docs":{},"了":{"docs":{},"该":{"docs":{},"项":{"docs":{},"目":{"docs":{},"的":{"docs":{},"数":{"docs":{},"量":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}},"c":{"docs":{},"u":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}},"s":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.008086253369272238}},"e":{"1":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}},",":{"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.0013477088948787063}}},"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.0013477088948787063}}}}}}}}}}}}}},"2":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}},",":{"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.0013477088948787063}}},"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.0013477088948787063}}}}}}}}}}}}}},"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.004043126684636119}}}}},")":{"docs":{},";":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}},".":{"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.0013477088948787063}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0026954177897574125}}},"和":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"绑":{"docs":{},"定":{"docs":{},"输":{"docs":{},"入":{"docs":{},"框":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}},"继":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0013477088948787063}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0026954177897574125}},"e":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}},".":{"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.0013477088948787063}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}}}}}}},"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.0013477088948787063}}}}}}}}}}}}},"n":{"docs":{},"t":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.015151515151515152}},"f":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"l":{"docs":{},"i":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}},"y":{"docs":{},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.015625},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.007653061224489796}}},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}},"s":{"docs":{},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.01953125},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.00510204081632653}}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.0078125},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0026954177897574125},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.012903225806451613},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.0035294117647058825}}},"可":{"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.00390625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"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.00390625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"docs":{},"的":{"docs":{},"字":{"docs":{},"体":{"docs":{},"。":{"docs":{},"本":{"docs":{},"节":{"docs":{},"将":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"如":{"docs":{},"何":{"docs":{},"为":{"docs":{},"f":{"docs":{},"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.00390625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"/":{"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.002551020408163265}}}}}}}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"i":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},"i":{"docs":{},"c":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}},":":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}}}}}}}},"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.00202020202020202},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}}}}}}}},":":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}}}}}}}}}}}},"n":{"docs":{},")":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}},")":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}}},"]":{"docs":{},")":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}}}},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}},".":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"w":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.005698005698005698}}}}}}}}}}}}}}}}}},"m":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}},"搭":{"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":0.0013422818791946308}}}}}}}}}}}}}}},"移":{"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":0.0035714285714285713}}}}}}}}},"除":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"的":{"docs":{},"监":{"docs":{},"听":{"docs":{},"器":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}},"第":{"docs":{},"一":{"docs":{},"章":{"docs":{},":":{"docs":{},"起":{"docs":{},"步":{"docs":{"chapter1/":{"ref":"chapter1/","tf":10}}}}}},":":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}},"次":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"比":{"docs":{},"较":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"不":{"docs":{},"在":{"docs":{},"举":{"docs":{},"例":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"来":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"个":{"docs":{},"进":{"docs":{},"度":{"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":{"docs":{},"%":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"。":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"执":{"docs":{},"行":{"docs":{},"循":{"docs":{},"环":{"docs":{},"动":{"docs":{},"画":{"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":{"docs":{},"%":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"。":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}}}}},"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":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"s":{"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":{},"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":{},"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":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"步":{"docs":{},":":{"docs":{},"创":{"docs":{},"建":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"包":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}},"必":{"docs":{},"要":{"docs":{},"目":{"docs":{},"录":{"docs":{"chapter13/intl.html":{"ref":"chapter13/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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"章":{"docs":{},":":{"docs":{},"基":{"docs":{},"础":{"docs":{},"组":{"docs":{},"件":{"docs":{"chapter3/":{"ref":"chapter3/","tf":10}}}}}}}},"步":{"docs":{},":":{"docs":{},"添":{"docs":{},"加":{"docs":{},"需":{"docs":{},"要":{"docs":{},"国":{"docs":{},"际":{"docs":{},"化":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{"chapter13/intl.html":{"ref":"chapter13/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.0035714285714285713}}}}}}}}}}}}}}},"章":{"docs":{},":":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"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":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"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":{},"布":{"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":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"包":{"docs":{},"括":{"docs":{},":":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"层":{"docs":{},"为":{"docs":{},"手":{"docs":{},"势":{"docs":{},",":{"docs":{},"描":{"docs":{},"述":{"docs":{},"由":{"docs":{},"一":{"docs":{},"个":{"docs":{},"或":{"docs":{},"多":{"docs":{},"个":{"docs":{},"指":{"docs":{},"针":{"docs":{},"移":{"docs":{},"动":{"docs":{},"组":{"docs":{},"成":{"docs":{},"的":{"docs":{},"语":{"docs":{},"义":{"docs":{},"动":{"docs":{},"作":{"docs":{},",":{"docs":{},"如":{"docs":{},"拖":{"docs":{},"动":{"docs":{},"、":{"docs":{},"缩":{"docs":{},"放":{"docs":{},"、":{"docs":{},"双":{"docs":{},"击":{"docs":{},"等":{"docs":{},"。":{"docs":{},"本":{"docs":{},"章":{"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":{"chapter13/intl.html":{"ref":"chapter13/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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"章":{"docs":{},":":{"docs":{},"布":{"docs":{},"局":{"docs":{},"类":{"docs":{},"组":{"docs":{},"件":{"docs":{"chapter4/":{"ref":"chapter4/","tf":10}}}}}}}}},"步":{"docs":{},":":{"docs":{},"生":{"docs":{},"成":{"docs":{},"a":{"docs":{},"r":{"docs":{},"b":{"docs":{},"文":{"docs":{},"件":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}}}}}},"五":{"docs":{},"章":{"docs":{},":":{"docs":{},"容":{"docs":{},"器":{"docs":{},"类":{"docs":{},"组":{"docs":{},"件":{"docs":{"chapter5/":{"ref":"chapter5/","tf":10}}}}}}}}},"步":{"docs":{},":":{"docs":{},"生":{"docs":{},"成":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"代":{"docs":{},"码":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}},"六":{"docs":{},"章":{"docs":{},":":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"组":{"docs":{},"件":{"docs":{"chapter6/":{"ref":"chapter6/","tf":10}}}}}}}}}},"七":{"docs":{},"章":{"docs":{},":":{"docs":{},"功":{"docs":{},"能":{"docs":{},"型":{"docs":{},"组":{"docs":{},"件":{"docs":{"chapter7/":{"ref":"chapter7/","tf":10}}}}}}}}}},"八":{"docs":{},"章":{"docs":{},":":{"docs":{},"事":{"docs":{},"件":{"docs":{},"处":{"docs":{},"理":{"docs":{},"与":{"docs":{},"通":{"docs":{},"知":{"docs":{"chapter8/":{"ref":"chapter8/","tf":10}}}}}}}}}}}},"九":{"docs":{},"章":{"docs":{},":":{"docs":{},"动":{"docs":{},"画":{"docs":{"chapter9/":{"ref":"chapter9/","tf":10}}}}}}},"十":{"docs":{},"章":{"docs":{},":":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"组":{"docs":{},"件":{"docs":{"chapter10/":{"ref":"chapter10/","tf":10}}}}}}}}},"一":{"docs":{},"章":{"docs":{},":":{"docs":{},"文":{"docs":{},"件":{"docs":{},"操":{"docs":{},"作":{"docs":{},"与":{"docs":{},"网":{"docs":{},"络":{"docs":{},"请":{"docs":{},"求":{"docs":{"chapter11/":{"ref":"chapter11/","tf":10}}}}}}}}}}}}}},"二":{"docs":{},"章":{"docs":{},":":{"docs":{},"包":{"docs":{},"与":{"docs":{},"插":{"docs":{},"件":{"docs":{"chapter12/":{"ref":"chapter12/","tf":10}}}}}}}}},"三":{"docs":{},"章":{"docs":{},":":{"docs":{},"国":{"docs":{},"际":{"docs":{},"化":{"docs":{"chapter13/":{"ref":"chapter13/","tf":10}}}}}}}},"四":{"docs":{},"章":{"docs":{},":":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"核":{"docs":{},"心":{"docs":{},"原":{"docs":{},"理":{"docs":{"chapter14/":{"ref":"chapter14/","tf":10}}}}}}}}}}}}}}}},"五":{"docs":{},"章":{"docs":{},":":{"docs":{},"一":{"docs":{},"个":{"docs":{},"完":{"docs":{},"整":{"docs":{},"的":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{"chapter15/intro.html":{"ref":"chapter15/intro.html","tf":10}}}}}}}}}}}}}}}}}}}}},"(":{"1":{"0":{"0":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}},"docs":{}},"7":{"5":{"3":{"9":{"docs":{},")":{"docs":{},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0034904013961605585}}}}},"docs":{}},"docs":{}},"6":{"6":{"6":{"docs":{},")":{"docs":{},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0056179775280898875}}}}},"docs":{}},"docs":{}},"docs":{}},"8":{"5":{"4":{"5":{"docs":{},")":{"docs":{},":":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.022935779816513763}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"2":{"7":{"8":{"9":{"6":{"docs":{},")":{"docs":{},":":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004651162790697674}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"6":{"4":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616}}},"docs":{}},"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0425531914893617},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.018867924528301886},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.011299435028248588},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0034904013961605585}},"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.0035714285714285713}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"x":{"docs":{},"*":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},"/":{"2":{"docs":{},"+":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},"/":{"2":{"docs":{},",":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}},"docs":{}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"g":{"docs":{},")":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}}}}},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.011299435028248588}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0035714285714285713}}}}}}}}}},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}},"e":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.008264462809917356}}}}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001445086705202312}},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"s":{"docs":{},")":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.005235602094240838}},"{":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.005235602094240838}}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}},"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.0017452006980802793}}}}}}}}}}}},"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.0017452006980802793}}}}}}}}}}},"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.010471204188481676}}}}}}}}}}}}}}}}},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856}}}}}}}}}},"o":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"d":{"docs":{},"a":{"docs":{},"p":{"docs":{},"t":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}},"简":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}},"c":{"docs":{},"m":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.004026845637583893}}}},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001445086705202312}},")":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.0069767441860465115},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.005454545454545455},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.004335260115606936},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.004705882352941176}},"{":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004651162790697674},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.005454545454545455},"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},"=":{"docs":{},">":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"b":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602}}}}}}}}}}}}},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.006134969325153374},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0058309037900874635},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.009302325581395349},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}}}}}}}},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}},"t":{"docs":{},"x":{"docs":{},")":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}},"h":{"docs":{},"u":{"docs":{},"n":{"docs":{},"k":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.008547008547008548}}}}},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.003766478342749529}},".":{"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.0018832391713747645}}}}}}}}}}}}}},"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.0018832391713747645}}}}}}}}}}}}}}}}}}}},"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.0018832391713747645}}}}}}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},".":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}},".":{"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.008264462809917356}}}}}}},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"命":{"docs":{},"令":{"docs":{},"行":{"docs":{},"工":{"docs":{},"具":{"docs":{},")":{"docs":{},";":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}}},"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}},"x":{"docs":{},"i":{"docs":{},"m":{"docs":{},"u":{"docs":{},"m":{"docs":{},"s":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"b":{"docs":{},"y":{"docs":{},"t":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}},"不":{"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.0013422818791946308}}}}}}}}},"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.0013422818791946308}}}}}}}}}}}}}}}}},"透":{"docs":{},"明":{"docs":{},"度":{"docs":{},")":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}},"如":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},"m":{"docs":{},"y":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},")":{"docs":{},",":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}},"果":{"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.004807692307692308}}}}}}}}}}}}}}}},"带":{"docs":{},"有":{"docs":{},"闪":{"docs":{},"电":{"docs":{},"⚡":{"docs":{},"️":{"docs":{},"图":{"docs":{},"标":{"docs":{},"的":{"docs":{},"按":{"docs":{},"钮":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},"也":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"绿":{"docs":{},"色":{"docs":{},"圆":{"docs":{},"形":{"docs":{},"箭":{"docs":{},"头":{"docs":{},"按":{"docs":{},"钮":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}}},"输":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}},"运":{"docs":{},"行":{"docs":{},"、":{"docs":{},"调":{"docs":{},"试":{"docs":{},"、":{"docs":{},"热":{"docs":{},"重":{"docs":{},"载":{"docs":{},"等":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}}}}},")":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.009363295880149813},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.009302325581395349},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.030120481927710843},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.005390835579514825},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00404040404040404},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.005454545454545455},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.014450867052023121},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.006980802792321117},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0058309037900874635},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.006644518272425249},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.00823529411764706},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.012658227848101266}},"{":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}},"e":{"docs":{},")":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006557377049180328},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}},"{":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}}},",":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.01694915254237288}},"=":{"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.005649717514124294}}}}}}},"u":{"docs":{},"p":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.014814814814814815}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}}}}}}},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"?":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}},"n":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.00303951367781155}},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.014245014245014245},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}},")":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},")":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}},"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.0018832391713747645}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},")":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}}}}}}}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005154639175257732},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.004081632653061225}}}}}},"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.003067484662576687}}}}}}}}}}},"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.0017452006980802793}}}}}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},")":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.010582010582010581},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},")":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}}}}}}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},".":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}},"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.0018832391713747645}}}}}}}}}}}}}}},"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":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"(":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},")":{"docs":{},")":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.001519756838905775}}}}}}},"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.005649717514124294}}}}}}}},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"e":{"docs":{},"v":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}}}}}}}},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"v":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856}}}}}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}},"语":{"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.001519756838905775}}}}}}}}}}}}}}},"f":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}},"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.006557377049180328}}}}}}}}}}}}},"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},".":{"docs":{},"x":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}},"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.006557377049180328}}}}}}},"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.003278688524590164},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}}}}}}}}}},"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":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}}}}}}},"w":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.005649717514124294}}}}}},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"[":{"docs":{},"\"":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"\"":{"docs":{},"]":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}},"n":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"\"":{"docs":{},"]":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}}},"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.006557377049180328}}}}}},"译":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},")":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.004043126684636119},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.007692307692307693}}},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}},"e":{"docs":{},",":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}},"r":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}}}},"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028}}}}}}}}}}}}}}}}},"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.04}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408},"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}}}}},"_":{"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.002688172043010753}}}}}}}}},"[":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"]":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}}}}}}}}}},"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.003067484662576687}}}}}}}},"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":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"b":{"docs":{},"y":{"docs":{},"t":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}},"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.012195121951219513}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}},"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.0018832391713747645}}}}}}}}}},"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.0018832391713747645}}}}}}}}}}}}}}}}}},"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},".":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}},"e":{"docs":{},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}}}}}},"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":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}},"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.01881720430107527},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.015873015873015872},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0072254335260115606},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005154639175257732},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.0035294117647058825}}}}}}}}}}}}},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0036127167630057803}},")":{"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}}}}},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}},"y":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"b":{"docs":{},"y":{"docs":{},"t":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}},"当":{"docs":{},"前":{"docs":{},"语":{"docs":{},"言":{"docs":{},"环":{"docs":{},"境":{"docs":{},")":{"docs":{},"信":{"docs":{},"息":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00823045267489712}},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},",":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},".":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},")":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"v":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}},"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.0058309037900874635}},"{":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.008746355685131196}}}},".":{"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.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}},"s":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}}}}}}},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"u":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}}}}}},"e":{"docs":{},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.008547008547008548}}}}},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}},"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.007434944237918215}}}}}}}},"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.0018587360594795538}}}}}}}}}}}},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{},")":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.005813953488372093}}}}}}}}}},"k":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{},",":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{},")":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}},"?":{"docs":{},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}},"或":{"docs":{},"者":{"docs":{},"在":{"docs":{},"编":{"docs":{},"辑":{"docs":{},"器":{"docs":{},"中":{"docs":{},"点":{"docs":{},"击":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}},"\"":{"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}},"[":{"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}},"!":{"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.0018832391713747645}}}}}}}}}}}}},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},".":{"docs":{},"i":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},".":{"docs":{},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},".":{"docs":{},"i":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},")":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},".":{"docs":{},"i":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},")":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}},"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":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},".":{"docs":{},"n":{"docs":{},"o":{"docs":{},"w":{"docs":{},"(":{"docs":{},")":{"docs":{},".":{"docs":{},"m":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"c":{"docs":{},"h":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"_":{"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":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}},"x":{"5":{"0":{"9":{"docs":{},"c":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}},".":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}},";":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}},",":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}},";":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}}}},"2":{"docs":{},";":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.006644518272425249}}}},"5":{"docs":{},",":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.013215859030837005},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},"/":{"docs":{},"/":{"docs":{},"宽":{"docs":{},"度":{"docs":{},"设":{"docs":{},"为":{"docs":{},"原":{"docs":{},"来":{"docs":{},"宽":{"docs":{},"度":{"docs":{},"一":{"docs":{},"半":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}},",":{"docs":{},"另":{"docs":{},"一":{"docs":{},"半":{"docs":{},"会":{"docs":{},"溢":{"docs":{},"出":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}}}}}}}}}}}}}}}}}}}}}},"7":{"5":{"docs":{},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}}}},"docs":{},",":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.00881057268722467}}}},"8":{"docs":{},",":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}},"9":{"8":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}}},"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}},"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},".":{"docs":{},".":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713},"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.009363295880149813},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.009302325581395349},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.004559270516717325},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.019672131147540985},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.018072289156626505},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.00510204081632653},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.012129380053908356},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.00881057268722467},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.026490066225165563},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.01818181818181818},"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.05263157894736842},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.021505376344086023},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.018404907975460124},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.004335260115606936},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.011299435028248588},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.014814814814814815},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333},"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.017699115044247787},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.020833333333333332},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.024242424242424242},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.026365348399246705},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.013011152416356878},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.007042253521126761},"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}},"/":{"docs":{},"/":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},"省":{"docs":{},"略":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001445086705202312},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856}},"无":{"docs":{},"关":{"docs":{},"代":{"docs":{},"码":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}},"重":{"docs":{},"复":{"docs":{},"代":{"docs":{},"码":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}},"其":{"docs":{},"余":{"docs":{},"代":{"docs":{},"码":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}},"它":{"docs":{},"字":{"docs":{},"段":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}},",":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}}},";":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}},".":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}},"省":{"docs":{},"略":{"docs":{},"具":{"docs":{},"体":{"docs":{},"实":{"docs":{},"现":{"docs":{},"代":{"docs":{},"码":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}}}}}}}}}}},"/":{"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.00625}}},"docs":{}}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}},"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.0018587360594795538}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}},"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.005154639175257732}}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.00909090909090909}},"=":{"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":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}}}}}},"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":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.00909090909090909},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}},"c":{"docs":{},"a":{"docs":{},"p":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.013636363636363636},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}},"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.0026954177897574125}}}}}}}},"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.0013477088948787063},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0064516129032258064},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}}},"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.0013477088948787063}}}}}}}}}}}}}},"a":{"docs":{},"d":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"(":{"docs":{},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"m":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0026954177897574125}}}}}}},"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.014492753623188406}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}},")":{"docs":{},";":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0064516129032258064}}}}}}}}}}}}}},"”":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0026954177897574125}}},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"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":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"d":{"docs":{},"(":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"(":{"2":{"0":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},";":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"(":{"docs":{},"(":{"docs":{},"c":{"docs":{},")":{"docs":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0064516129032258064}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}},"/":{"docs":{},"m":{"docs":{},"o":{"docs":{},".":{"docs":{},"s":{"docs":{},"h":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},".":{"docs":{},"s":{"docs":{},"h":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}}}},"'":{"docs":{},";":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},".":{"docs":{},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"a":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},",":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{},"w":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"(":{"docs":{},"(":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}},"/":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.004026845637583893},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.00909090909090909},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.005442176870748299},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.011396011396011397},"chapter11/socket.html":{"ref":"chapter11/socket.html","tf":0.02857142857142857},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}},"/":{"1":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}},".":{"docs":{},"设":{"docs":{},"置":{"docs":{},"文":{"docs":{},"本":{"docs":{},"默":{"docs":{},"认":{"docs":{},"样":{"docs":{},"式":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}}}}}}}}}}},"2":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}},".":{"docs":{},"不":{"docs":{},"继":{"docs":{},"承":{"docs":{},"默":{"docs":{},"认":{"docs":{},"样":{"docs":{},"式":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}}}}}}}}}},"3":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}},"像":{"docs":{},"素":{"docs":{},"圆":{"docs":{},"角":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186}}}}}}},"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.02247191011235955},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.018604651162790697},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.00303951367781155},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006557377049180328},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.02028397565922921},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.0078125},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.012755102040816327},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.01752021563342318},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.02643171806167401},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.009900990099009901},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.013245033112582781},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.022222222222222223},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.01935483870967742},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.025454545454545455},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005649717514124294},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.031746031746031744},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.023121387283236993},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.02040816326530612},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00823045267489712},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.009852216748768473},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.013289036544850499},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.006802721088435374},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.01694915254237288},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.005698005698005698},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101},"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333},"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.017699115044247787},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.014285714285714285},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.008264462809917356},"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.041666666666666664},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.02654867256637168},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0056022408963585435},"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.08},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.009416195856873822},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.040892193308550186},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.035211267605633804},"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.08097165991902834},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.045454545454545456},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.03197674418604651},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.01647058823529412},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.023076923076923078},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.012658227848101266}},"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"打":{"docs":{},"印":{"docs":{},"机":{"docs":{},"型":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}}}},"手":{"docs":{},"指":{"docs":{},"按":{"docs":{},"下":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"(":{"docs":{},"相":{"docs":{},"对":{"docs":{},"于":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},")":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}}}}}}}}}}},"滑":{"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.0017452006980802793}}}}}}}}}}}}}}}},"通":{"docs":{},"知":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}},"开":{"docs":{},"b":{"docs":{},"路":{"docs":{},"由":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"连":{"docs":{},"接":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}},"注":{"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.0035714285714285713}}}}}}}}}}}}}}},"路":{"docs":{},"由":{"docs":{},"表":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004651162790697674}}}}},"首":{"docs":{},"页":{"docs":{},"路":{"docs":{},"由":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}},"依":{"docs":{},"赖":{"docs":{},"关":{"docs":{},"系":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}},"直":{"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.0035714285714285713}}}}}}}}}}},"添":{"docs":{},"加":{"docs":{},"这":{"docs":{},"一":{"docs":{},"句":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}},"一":{"docs":{},"个":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"表":{"docs":{},"示":{"docs":{},"是":{"docs":{},"否":{"docs":{},"建":{"docs":{},"立":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"关":{"docs":{},"系":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}},"监":{"docs":{},"听":{"docs":{},"器":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}},"订":{"docs":{},"阅":{"docs":{},"者":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}},"l":{"docs":{},"e":{"docs":{},"为":{"docs":{},"证":{"docs":{},"书":{"docs":{},"路":{"docs":{},"径":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}},"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.005917159763313609}}}}}}}},"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.005917159763313609}}}}}}}}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0056179775280898875},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866}}}}}},"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},"面":{"docs":{},"代":{"docs":{},"码":{"docs":{},"没":{"docs":{},"有":{"docs":{},"问":{"docs":{},"题":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}},"效":{"docs":{},"果":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}}},"生":{"docs":{},"成":{"docs":{},"模":{"docs":{},"板":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}},"划":{"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.002688172043010753}}}}}}}}}}}}}}}}}},"载":{"docs":{},"图":{"docs":{},"片":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}},"不":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}},"剪":{"docs":{},"裁":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}}},"足":{"1":{"0":{"0":{"docs":{},"条":{"docs":{},",":{"docs":{},"继":{"docs":{},"续":{"docs":{},"获":{"docs":{},"取":{"docs":{},"数":{"docs":{},"据":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"同":{"docs":{},"的":{"docs":{},"类":{"docs":{},"使":{"docs":{},"用":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"m":{"docs":{},"i":{"docs":{},"x":{"docs":{},"i":{"docs":{},"n":{"docs":{},"即":{"docs":{},"可":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}},"能":{"docs":{},"正":{"docs":{},"常":{"docs":{},"工":{"docs":{},"作":{"docs":{},"!":{"docs":{"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02}}}}}}}}},"保":{"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.0018726591760299626}}}}}}}}}}}}}}}},"回":{"docs":{},"调":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"数":{"docs":{},"据":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}}}}}}}},"进":{"docs":{},"度":{"docs":{},"百":{"docs":{},"分":{"docs":{},"比":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}}}}},"事":{"docs":{},"件":{"docs":{},"名":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}},"订":{"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.007407407407407408}}}}}}}}}}}}}}}}}}}}}}}}}}}},"单":{"docs":{},"例":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"变":{"docs":{},"更":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}}}},"先":{"docs":{},"分":{"docs":{},"别":{"docs":{},"定":{"docs":{},"义":{"docs":{},"各":{"docs":{},"个":{"docs":{},"异":{"docs":{},"步":{"docs":{},"任":{"docs":{},"务":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}}}}}},"正":{"docs":{},"向":{"docs":{},"执":{"docs":{},"行":{"docs":{},"动":{"docs":{},"画":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}}}}}}}},"可":{"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.0018726591760299626}}}}}}}}}}}}}}}},"直":{"docs":{},"接":{"docs":{},"添":{"docs":{},"加":{"docs":{},"输":{"docs":{},"入":{"docs":{},"流":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}},"滚":{"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.002688172043010753}}}}}}}}}}}}}}},"执":{"docs":{},"行":{"docs":{},"失":{"docs":{},"败":{"docs":{},"会":{"docs":{},"走":{"docs":{},"到":{"docs":{},"这":{"docs":{},"里":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.003745318352059925}}}}}}}}},"成":{"docs":{},"功":{"docs":{},"会":{"docs":{},"走":{"docs":{},"到":{"docs":{},"这":{"docs":{},"里":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.003745318352059925}}}}}}}}},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.003745318352059925}}}}}}}},"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.003278688524590164}}}}}}}}},"删":{"docs":{},"除":{"docs":{},"操":{"docs":{},"作":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}},"缩":{"docs":{},"放":{"docs":{},"动":{"docs":{},"画":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}},"报":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}},"告":{"docs":{},"错":{"docs":{},"误":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}}}}},"无":{"docs":{},"论":{"docs":{},"成":{"docs":{},"功":{"docs":{},"或":{"docs":{},"失":{"docs":{},"败":{"docs":{},"都":{"docs":{},"会":{"docs":{},"走":{"docs":{},"到":{"docs":{},"这":{"docs":{},"里":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}}}}}}}}},"用":{"docs":{},"户":{"docs":{},"登":{"docs":{},"录":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}},"名":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}},"手":{"docs":{},"指":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"时":{"docs":{},",":{"docs":{},"更":{"docs":{},"新":{"docs":{},"偏":{"docs":{},"移":{"docs":{},",":{"docs":{},"重":{"docs":{},"新":{"docs":{},"构":{"docs":{},"建":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}}}}}}}}}}}},"名":{"docs":{},"字":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}},"头":{"docs":{},"像":{"docs":{},"地":{"docs":{},"址":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"可":{"docs":{},"能":{"docs":{},"是":{"docs":{},"组":{"docs":{},"织":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}},"信":{"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":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"未":{"docs":{},"登":{"docs":{},"录":{"docs":{},",":{"docs":{},"显":{"docs":{},"示":{"docs":{},"登":{"docs":{},"录":{"docs":{},"按":{"docs":{},"钮":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}},"于":{"docs":{},"记":{"docs":{},"录":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"点":{"docs":{},"击":{"docs":{},"的":{"docs":{},"总":{"docs":{},"次":{"docs":{},"数":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}}}}}}}}}},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"颜":{"docs":{},"色":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}},"导":{"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.002824858757062147}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"到":{"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.0017452006980802793}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"登":{"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.0018726591760299626}}}}}}}}}}}}},"触":{"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.007407407407407408}}}}}}}}}}}}}}}}}}}},"更":{"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":{},"所":{"docs":{},"有":{"docs":{},"请":{"docs":{},"求":{"docs":{},"都":{"docs":{},"会":{"docs":{},"带":{"docs":{},"上":{"docs":{},"用":{"docs":{},"户":{"docs":{},"身":{"docs":{},"份":{"docs":{},"信":{"docs":{},"息":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"状":{"docs":{},"态":{"docs":{},"变":{"docs":{},"化":{"docs":{},"处":{"docs":{},"理":{"docs":{},"逻":{"docs":{},"辑":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}},"页":{"docs":{},"b":{"docs":{},"中":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}}}}},"失":{"docs":{},"败":{"docs":{},"则":{"docs":{},"提":{"docs":{},"示":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}},"结":{"docs":{},"果":{"docs":{},"是":{"docs":{},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}},"b":{"docs":{},"o":{"docs":{},"b":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}}},"获":{"docs":{},"取":{"docs":{},"用":{"docs":{},"户":{"docs":{},"信":{"docs":{},"息":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}},"后":{"docs":{},"保":{"docs":{},"存":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}},"项":{"docs":{},"目":{"docs":{},"列":{"docs":{},"表":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}},"路":{"docs":{},"由":{"docs":{},"参":{"docs":{},"数":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}}}}}}},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{},"大":{"docs":{},"小":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}}}}}}},"主":{"docs":{},"题":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}}}}}},"设":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}},"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.0013477088948787063}}}}}}}}},"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}},"代":{"docs":{},"理":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}},"错":{"docs":{},"误":{"docs":{},"处":{"docs":{},"理":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.003745318352059925}}}}}},"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.0024330900243309003}}}}}}}}}},"r":{"docs":{},"t":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}},"应":{"docs":{},"用":{"docs":{},"名":{"docs":{},"称":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}},"首":{"docs":{},"页":{"docs":{},"路":{"docs":{},"由":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}}}},"主":{"docs":{},"页":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}},"所":{"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"暴":{"docs":{},"露":{"docs":{},"给":{"docs":{},"其":{"docs":{},"子":{"docs":{},"类":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}}}}}},"由":{"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"本":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"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":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"蓝":{"docs":{},"色":{"docs":{},"主":{"docs":{},"题":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}}}},".":{"docs":{},".":{"docs":{},".":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894}},"省":{"docs":{},"略":{"docs":{},"无":{"docs":{},"关":{"docs":{},"代":{"docs":{},"码":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}},"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.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}},"}":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}},"名":{"docs":{},"为":{"docs":{},"\"":{"docs":{},"/":{"docs":{},"\"":{"docs":{},"的":{"docs":{},"路":{"docs":{},"由":{"docs":{},"作":{"docs":{},"为":{"docs":{},"应":{"docs":{},"用":{"docs":{},"的":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},"首":{"docs":{},"页":{"docs":{},")":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}}}}}}}}}}}}},"导":{"docs":{},"航":{"docs":{},"到":{"docs":{},"新":{"docs":{},"路":{"docs":{},"由":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}},"栏":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}},"右":{"docs":{},"侧":{"docs":{},"菜":{"docs":{},"单":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}},"最":{"docs":{},"左":{"docs":{},"侧":{"docs":{},"w":{"docs":{},"i":{"docs":{},"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.00202020202020202}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"入":{"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.0020964360587002098}}}}}}}}}}}}},"省":{"docs":{},"略":{"docs":{},"无":{"docs":{},"关":{"docs":{},"代":{"docs":{},"码":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.0069767441860465115},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.006060606060606061},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.005376344086021506},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0036127167630057803},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.005868544600938967}}}}}},"其":{"docs":{},"它":{"docs":{},"事":{"docs":{},"件":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}},"字":{"docs":{},"段":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}},"输":{"docs":{},"出":{"docs":{},"`":{"docs":{},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"`":{"docs":{},"路":{"docs":{},"由":{"docs":{},"返":{"docs":{},"回":{"docs":{},"结":{"docs":{},"果":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}}}}}}}},"响":{"docs":{},"应":{"docs":{},"头":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"目":{"docs":{},"录":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"用":{"docs":{},"户":{"docs":{},"的":{"docs":{},"姓":{"docs":{},"名":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}},"入":{"docs":{},"框":{"docs":{},"光":{"docs":{},"标":{"docs":{},"颜":{"docs":{},"色":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}},"上":{"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.003278688524590164}}}}}}}}}},"下":{"docs":{},"各":{"docs":{},"添":{"docs":{},"加":{"8":{"docs":{},"像":{"docs":{},"素":{"docs":{},"补":{"docs":{},"白":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684}}}}}}},"docs":{}}}},"左":{"docs":{},"右":{"docs":{},"各":{"docs":{},"添":{"docs":{},"加":{"1":{"6":{"docs":{},"像":{"docs":{},"素":{"docs":{},"补":{"docs":{},"白":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684}}}}}}},"docs":{}},"docs":{}}}}}}},"次":{"docs":{},"点":{"docs":{},"击":{"docs":{},"时":{"docs":{},"间":{"docs":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513}}}}}}},"入":{"docs":{},"下":{"docs":{},"出":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}},"收":{"docs":{},"集":{"docs":{},"日":{"docs":{},"志":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}}}}},"构":{"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.003278688524590164}}}}}}}},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{},"内":{"docs":{},"部":{"docs":{},"u":{"docs":{},"i":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}},"功":{"docs":{},"能":{"docs":{},"菜":{"docs":{},"单":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}},"抽":{"docs":{},"屉":{"docs":{},"菜":{"docs":{},"单":{"docs":{},"头":{"docs":{},"部":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}},"语":{"docs":{},"言":{"docs":{},"选":{"docs":{},"择":{"docs":{},"项":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}}}}}}},"调":{"docs":{},"用":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},"了":{"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.003278688524590164}}}}}}}}}}}},"后":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"方":{"docs":{},"法":{"docs":{},"会":{"docs":{},"重":{"docs":{},"新":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}}}},"我":{"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.004201680672268907}}}}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"状":{"docs":{},"态":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}},"全":{"docs":{},"局":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"会":{"docs":{},"在":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"执":{"docs":{},"行":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}},"网":{"docs":{},"络":{"docs":{},"请":{"docs":{},"求":{"docs":{},"相":{"docs":{},"关":{"docs":{},"配":{"docs":{},"置":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}},"值":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}}}}}},"点":{"docs":{},"击":{"docs":{},"后":{"docs":{},"计":{"docs":{},"数":{"docs":{},"器":{"docs":{},"自":{"docs":{},"增":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}}}}},"将":{"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"时":{"docs":{},",":{"docs":{},"水":{"docs":{},"波":{"docs":{},"动":{"docs":{},"画":{"docs":{},"中":{"docs":{},"水":{"docs":{},"波":{"docs":{},"的":{"docs":{},"颜":{"docs":{},"色":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}}}}}}}}}}}},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"遮":{"docs":{},"罩":{"docs":{},")":{"docs":{},"时":{"docs":{},"是":{"docs":{},"否":{"docs":{},"关":{"docs":{},"闭":{"docs":{},"它":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}}}}}}}},"该":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"后":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}},"遮":{"docs":{},"罩":{"docs":{},"不":{"docs":{},"关":{"docs":{},"闭":{"docs":{},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}},"是":{"docs":{},"否":{"docs":{},"关":{"docs":{},"闭":{"docs":{},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}},"回":{"docs":{},"调":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}}},"移":{"docs":{},"除":{"docs":{},"计":{"docs":{},"数":{"docs":{},"器":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}}},"抽":{"docs":{},"屉":{"docs":{},"菜":{"docs":{},"单":{"docs":{},"顶":{"docs":{},"部":{"docs":{},"默":{"docs":{},"认":{"docs":{},"留":{"docs":{},"白":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}}}}},"监":{"docs":{},"听":{"docs":{},"器":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}},"订":{"docs":{},"阅":{"docs":{},"者":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}}}}},"顶":{"docs":{},"部":{"docs":{},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}},"随":{"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.0020964360587002098}}}}}}}}}}}}}},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"重":{"docs":{},"复":{"docs":{},"六":{"docs":{},"次":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}}}}}}}},"指":{"docs":{},"定":{"docs":{},"包":{"docs":{},"名":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}}},"未":{"docs":{},"定":{"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.0078125}}}}}}}}}}}}}}}}}}}}},"列":{"docs":{},"表":{"docs":{},"高":{"docs":{},"度":{"docs":{},"为":{"4":{"0":{"0":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}},"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.002824858757062147}}}}}}}}}}}}}}},"宽":{"docs":{},"度":{"docs":{},",":{"docs":{},"高":{"docs":{},"度":{"docs":{},"自":{"docs":{},"适":{"docs":{},"应":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}}}}},"监":{"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":{},"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.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"画":{"docs":{},"布":{"docs":{},"大":{"docs":{},"小":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.00909090909090909},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}},"请":{"docs":{},"求":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"区":{"docs":{},"间":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}}},"外":{"docs":{},"形":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}},"按":{"docs":{},"钮":{"docs":{},"按":{"docs":{},"下":{"docs":{},"时":{"docs":{},"的":{"docs":{},"背":{"docs":{},"景":{"docs":{},"颜":{"docs":{},"色":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}}}}}}}},"文":{"docs":{},"字":{"docs":{},"颜":{"docs":{},"色":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}}}},"点":{"docs":{},"击":{"docs":{},"回":{"docs":{},"调":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}},"时":{"docs":{},"分":{"docs":{},"发":{"docs":{},"通":{"docs":{},"知":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}},"填":{"docs":{},"充":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}}},"禁":{"docs":{},"用":{"docs":{},"时":{"docs":{},"的":{"docs":{},"文":{"docs":{},"字":{"docs":{},"颜":{"docs":{},"色":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}}}}}}}},"背":{"docs":{},"景":{"docs":{},"颜":{"docs":{},"色":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}}}},"主":{"docs":{},"题":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}},"正":{"docs":{},"常":{"docs":{},"状":{"docs":{},"态":{"docs":{},"下":{"docs":{},"的":{"docs":{},"阴":{"docs":{},"影":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}}}}}}}},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"宽":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}},"混":{"docs":{},"合":{"docs":{},"色":{"docs":{},"值":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}}}},"高":{"docs":{},"度":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}},"宽":{"docs":{},"高":{"docs":{},"从":{"0":{"docs":{},"变":{"docs":{},"到":{"3":{"0":{"0":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010309278350515464}}},"docs":{}},"docs":{}},"docs":{}}}},"docs":{}}}}}},"对":{"docs":{},"齐":{"docs":{},"方":{"docs":{},"式":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}},"话":{"docs":{},"框":{"docs":{},"标":{"docs":{},"题":{"docs":{},"组":{"docs":{},"件":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}},"语":{"docs":{},"义":{"docs":{},"化":{"docs":{},"标":{"docs":{},"签":{"docs":{},"(":{"docs":{},"用":{"docs":{},"于":{"docs":{},"读":{"docs":{},"屏":{"docs":{},"软":{"docs":{},"件":{"docs":{},")":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}}}},"混":{"docs":{},"合":{"docs":{},"模":{"docs":{},"式":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}}},"重":{"docs":{},"复":{"docs":{},"方":{"docs":{},"式":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}},"新":{"docs":{},"构":{"docs":{},"建":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}},"页":{"docs":{},"面":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514}}}},"列":{"docs":{},"表":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}}},"绘":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"维":{"docs":{},"护":{"docs":{},"单":{"docs":{},"选":{"docs":{},"开":{"docs":{},"关":{"docs":{},"状":{"docs":{},"态":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514}}}}}}}}}},"选":{"docs":{},"中":{"docs":{},"时":{"docs":{},"的":{"docs":{},"颜":{"docs":{},"色":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514}}}}}}}},"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"记":{"docs":{},"录":{"docs":{},"每":{"docs":{},"一":{"docs":{},"块":{"docs":{},"已":{"docs":{},"接":{"docs":{},"收":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"长":{"docs":{},"度":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}}}}}}}}}}}}}}},"在":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"后":{"docs":{},"面":{"docs":{},"优":{"docs":{},"化":{"docs":{},"部":{"docs":{},"分":{"docs":{},"会":{"docs":{},"用":{"docs":{},"到":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}},"此":{"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":{},"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/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"命":{"docs":{},"中":{"docs":{},"测":{"docs":{},"试":{"docs":{},"期":{"docs":{},"间":{"docs":{},"如":{"docs":{},"何":{"docs":{},"表":{"docs":{},"现":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}}}}}}}}}}}}},"定":{"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.0013477088948787063}}}}}}}}},"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.00202020202020202}}}}}}}}}}}},"便":{"docs":{},"捷":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"方":{"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.0064516129032258064},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"保":{"docs":{},"存":{"docs":{},"当":{"docs":{},"前":{"docs":{},"指":{"docs":{},"针":{"docs":{},"位":{"docs":{},"置":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}}}}}}},"下":{"docs":{},"划":{"docs":{},"线":{"docs":{},"颜":{"docs":{},"色":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}},"错":{"docs":{},"误":{"docs":{},"处":{"docs":{},"理":{"docs":{},"函":{"docs":{},"数":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}},"将":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0064516129032258064}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"选":{"docs":{},"中":{"docs":{},"状":{"docs":{},"态":{"docs":{},"通":{"docs":{},"过":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"形":{"docs":{},"式":{"docs":{},"抛":{"docs":{},"出":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"型":{"docs":{},"转":{"docs":{},"为":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"类":{"docs":{},"型":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"模":{"docs":{},"板":{"docs":{},"输":{"docs":{},"出":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}},"测":{"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.0018832391713747645}}}}}}}}}}}}}}}},"请":{"docs":{},"求":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{},"作":{"docs":{},"为":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"的":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}},"开":{"docs":{},"启":{"docs":{},"自":{"docs":{},"动":{"docs":{},"校":{"docs":{},"验":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}}},"是":{"docs":{},"否":{"docs":{},"自":{"docs":{},"动":{"docs":{},"校":{"docs":{},"验":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}},"显":{"docs":{},"示":{"docs":{},"“":{"docs":{},"返":{"docs":{},"回":{"docs":{},"到":{"docs":{},"顶":{"docs":{},"部":{"docs":{},"”":{"docs":{},"按":{"docs":{},"钮":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}}}}}}}}}}},"是":{"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":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}}}}}}}}},"抗":{"docs":{},"锯":{"docs":{},"齿":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}},"为":{"docs":{},"中":{"docs":{},"文":{"docs":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894}}}}},"支":{"docs":{},"持":{"docs":{},"某":{"docs":{},"个":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}}}}}},"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":{},"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":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"方":{"docs":{},"法":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"取":{"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":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"返":{"docs":{},"回":{"docs":{},",":{"docs":{},"则":{"docs":{},"不":{"docs":{},"应":{"docs":{},"用":{"docs":{},"过":{"docs":{},"渡":{"docs":{},"动":{"docs":{},"画":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602}}}}}}}}}}}}}},"校":{"docs":{},"验":{"docs":{},"密":{"docs":{},"码":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}},"(":{"docs":{},"不":{"docs":{},"能":{"docs":{},"为":{"docs":{},"空":{"docs":{},")":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}}},"证":{"docs":{},"书":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}},"监":{"docs":{},"听":{"docs":{},"输":{"docs":{},"入":{"docs":{},"改":{"docs":{},"变":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}},"滚":{"docs":{},"动":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"打":{"docs":{},"印":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}}}}}}}}}}},"登":{"docs":{},"录":{"docs":{},"事":{"docs":{},"件":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}}}}}},"通":{"docs":{},"知":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0058309037900874635}}}},"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.0018587360594795538}}}}}}}}}}}}}}},"隐":{"docs":{},"藏":{"docs":{},"下":{"docs":{},"划":{"docs":{},"线":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}},"验":{"docs":{},"证":{"docs":{},"回":{"docs":{},"调":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}},"通":{"docs":{},"过":{"docs":{},"提":{"docs":{},"交":{"docs":{},"数":{"docs":{},"据":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0026954177897574125}}}}}}}}}},"动":{"docs":{},"画":{"docs":{},"执":{"docs":{},"行":{"docs":{},"时":{"docs":{},"间":{"3":{"docs":{},"秒":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}},"docs":{}}},"结":{"docs":{},"束":{"docs":{},"时":{"docs":{},"反":{"docs":{},"向":{"docs":{},"执":{"docs":{},"行":{"docs":{},"动":{"docs":{},"画":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866}}}}}}}}}}}}},"恢":{"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.002577319587628866}}}}}}}}}}}}}}}}}},"时":{"docs":{},"间":{"docs":{},"为":{"5":{"0":{"0":{"docs":{},"毫":{"docs":{},"秒":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602}}}}},"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":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}}}}}}}}}},"态":{"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.014492753623188406}}}}}}}}}}}},"进":{"docs":{},"度":{"docs":{},"条":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}},"显":{"docs":{},"示":{"5":{"0":{"docs":{},"%":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}},",":{"docs":{},"会":{"docs":{},"显":{"docs":{},"示":{"docs":{},"一":{"docs":{},"个":{"docs":{},"半":{"docs":{},"圆":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}}}}}}}}},"docs":{}},"docs":{}}}}}},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},"居":{"docs":{},"中":{"docs":{},"对":{"docs":{},"齐":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856}}}}}},"拖":{"docs":{},"动":{"docs":{},"事":{"docs":{},"件":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0034904013961605585}}}}}}}}}},"有":{"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.00411522633744856}}}}}}}}}}}}}}}}}},"多":{"docs":{},"个":{"docs":{},",":{"docs":{},"省":{"docs":{},"略":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}},"测":{"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.00411522633744856}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"弹":{"docs":{},"性":{"docs":{},"布":{"docs":{},"局":{"docs":{},"的":{"docs":{},"方":{"docs":{},"向":{"docs":{},",":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609}}}}}}}}},"出":{"docs":{},"删":{"docs":{},"除":{"docs":{},"确":{"docs":{},"认":{"docs":{},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{},",":{"docs":{},"等":{"docs":{},"待":{"docs":{},"用":{"docs":{},"户":{"docs":{},"确":{"docs":{},"认":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{},"并":{"docs":{},"等":{"docs":{},"待":{"docs":{},"其":{"docs":{},"关":{"docs":{},"闭":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}},"沿":{"docs":{},"主":{"docs":{},"轴":{"docs":{},"方":{"docs":{},"向":{"docs":{},"居":{"docs":{},"中":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}}}}}}}},"y":{"docs":{},"轴":{"docs":{},"倾":{"docs":{},"斜":{"0":{"docs":{},".":{"3":{"docs":{},"弧":{"docs":{},"度":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064}}}}},"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.0049504950495049506}}}}}}}}}}}}}}}}},"未":{"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.0078125}}}}}}}}}}}}}}}}}}}}},"来":{"3":{"0":{"docs":{},"天":{"docs":{},"可":{"docs":{},"选":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}},"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":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"占":{"docs":{},"满":{"docs":{},"屏":{"docs":{},"幕":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125}}}}}}}}}}}}}}}}}}}}}}}}}}}},"位":{"docs":{},"运":{"docs":{},"算":{"docs":{},"符":{"docs":{},"将":{"docs":{},"a":{"docs":{},"l":{"docs":{},"p":{"docs":{},"h":{"docs":{},"a":{"docs":{},"设":{"docs":{},"置":{"docs":{},"为":{"docs":{},"f":{"docs":{},"f":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"将":{"docs":{},"a":{"docs":{},"l":{"docs":{},"p":{"docs":{},"h":{"docs":{},"a":{"docs":{},"设":{"docs":{},"置":{"docs":{},"为":{"docs":{},"f":{"docs":{},"f":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}}}}}}},"修":{"docs":{},"改":{"docs":{},"图":{"docs":{},"片":{"docs":{},"宽":{"docs":{},"度":{"docs":{},"来":{"docs":{},"达":{"docs":{},"到":{"docs":{},"缩":{"docs":{},"放":{"docs":{},"效":{"docs":{},"果":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}}}}}}}}}},"一":{"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.0049504950495049506}}}}}}}}}}}}}}}}},"知":{"docs":{},"所":{"docs":{},"有":{"docs":{},"监":{"docs":{},"听":{"docs":{},"器":{"docs":{},",":{"docs":{},"触":{"docs":{},"发":{"docs":{},"监":{"docs":{},"听":{"docs":{},"器":{"docs":{},"回":{"docs":{},"调":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}},"依":{"docs":{},"赖":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"更":{"docs":{},"新":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}}}}}},"右":{"docs":{},"上":{"docs":{},"角":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}},"左":{"docs":{},"边":{"docs":{},"添":{"docs":{},"加":{"8":{"docs":{},"像":{"docs":{},"素":{"docs":{},"补":{"docs":{},"白":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684}}}}}}},"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.010526315789473684}}}}}}}}}}}}}}}}}}},"关":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}},"示":{"docs":{},"区":{"docs":{},"域":{"docs":{},"宽":{"docs":{},"高":{"docs":{},"相":{"docs":{},"等":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}}}}}}}},"进":{"docs":{},"度":{"docs":{},"百":{"docs":{},"分":{"docs":{},"比":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}}}}},"指":{"docs":{},"定":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},",":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"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":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"主":{"docs":{},"题":{"docs":{},"色":{"docs":{},"块":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}}}}}},"“":{"docs":{},"去":{"docs":{},"除":{"docs":{},"”":{"docs":{},"父":{"docs":{},"级":{"docs":{},"限":{"docs":{},"制":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}}}}}}}}}},"宽":{"docs":{},"度":{"docs":{},"尽":{"docs":{},"可":{"docs":{},"能":{"docs":{},"大":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}}}}}}},"高":{"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.004048582995951417}}}}}}}}}}}},"2":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}}},"docs":{}}}}},"最":{"docs":{},"大":{"docs":{},"宽":{"docs":{},"度":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}}}},"高":{"docs":{},"度":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}}}}},"小":{"docs":{},"宽":{"docs":{},"度":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}}}},"高":{"docs":{},"度":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}},"为":{"5":{"0":{"docs":{},"像":{"docs":{},"素":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}}}}},"docs":{}},"docs":{}}}}},"多":{"2":{"0":{"0":{"0":{"docs":{},"张":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"近":{"docs":{},"一":{"docs":{},"次":{"docs":{},"的":{"docs":{},"注":{"docs":{},"销":{"docs":{},"登":{"docs":{},"录":{"docs":{},"的":{"docs":{},"用":{"docs":{},"户":{"docs":{},"名":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}},"父":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00851063829787234}},"或":{"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.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"圆":{"docs":{},"角":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186}}}},"形":{"docs":{},"状":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186}}}},"渐":{"docs":{},"变":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186}}}},"背":{"docs":{},"景":{"docs":{},"混":{"docs":{},"合":{"docs":{},"模":{"docs":{},"式":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186}}}}}},"渐":{"docs":{},"变":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186}}}},"径":{"docs":{},"向":{"docs":{},"渐":{"docs":{},"变":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}}}}}},"为":{"docs":{},"白":{"docs":{},"色":{"docs":{},",":{"docs":{},"则":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},"自":{"docs":{},"动":{"docs":{},"为":{"docs":{},"黑":{"docs":{},"色":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}}}}}}}},"蓝":{"docs":{},"色":{"docs":{},",":{"docs":{},"则":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},"自":{"docs":{},"动":{"docs":{},"为":{"docs":{},"白":{"docs":{},"色":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}}}}}}}},"纸":{"docs":{},"黄":{"docs":{},"色":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}},"颜":{"docs":{},"色":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}},"边":{"docs":{},"框":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186}}}},"阴":{"docs":{},"影":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"指":{"docs":{},"定":{"docs":{},"多":{"docs":{},"个":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186}}}}}}}}}}},"颜":{"docs":{},"色":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"变":{"docs":{},"量":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}}}},"放":{"docs":{},"大":{"docs":{},"到":{"1":{"docs":{},".":{"5":{"docs":{},"倍":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064}}}},"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.003067484662576687}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"\"":{"docs":{},"点":{"docs":{},"透":{"docs":{},"\"":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}}}}}}}}}}}}}}},"旋":{"docs":{},"转":{"9":{"0":{"docs":{},"度":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064}},"(":{"1":{"docs":{},"/":{"4":{"docs":{},"圈":{"docs":{},")":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064}}}}},"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":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}},"docs":{}},"docs":{}}}},"docs":{}},"docs":{}}},"docs":{}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}},"角":{"docs":{},"度":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},"时":{"docs":{},"执":{"docs":{},"行":{"docs":{},"过":{"docs":{},"渡":{"docs":{},"动":{"docs":{},"画":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}}}}}}}}},"相":{"docs":{},"对":{"docs":{},"于":{"docs":{},"坐":{"docs":{},"标":{"docs":{},"系":{"docs":{},"原":{"docs":{},"点":{"docs":{},"的":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"方":{"docs":{},"式":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064}}}}}}}}}}}}}}},"默":{"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.0064516129032258064}}}}},"docs":{}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}},"不":{"docs":{},"选":{"docs":{},"中":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001445086705202312}}}}}}},"前":{"docs":{},"景":{"docs":{},"装":{"docs":{},"饰":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}}}}}},"卡":{"docs":{},"片":{"docs":{},"倾":{"docs":{},"斜":{"docs":{},"变":{"docs":{},"换":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}}}}}},"内":{"docs":{},"文":{"docs":{},"字":{"docs":{},"居":{"docs":{},"中":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}}}}}}},"大":{"docs":{},"小":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}}}},"文":{"docs":{},"字":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}}}},"阴":{"docs":{},"影":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}}}},"颜":{"docs":{},"色":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}},"变":{"docs":{},"换":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}}},"色":{"docs":{},"开":{"docs":{},"关":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}},"容":{"docs":{},"器":{"docs":{},"内":{"docs":{},"补":{"docs":{},"白":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}},",":{"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.006622516556291391}}}}}}}}}}}}}}}}}}}}}}},"外":{"docs":{},"填":{"docs":{},"充":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}}}},"补":{"docs":{},"白":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}}}}},"大":{"docs":{},"小":{"docs":{},"的":{"docs":{},"限":{"docs":{},"制":{"docs":{},"条":{"docs":{},"件":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}}}}}}}}},"的":{"docs":{},"高":{"docs":{},"度":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}}}}}}},"中":{"docs":{},"间":{"docs":{},"位":{"docs":{},"置":{"docs":{},"空":{"docs":{},"出":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}},"其":{"docs":{},"它":{"docs":{},"属":{"docs":{},"性":{"docs":{},"见":{"docs":{},"源":{"docs":{},"码":{"docs":{},"注":{"docs":{},"释":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}},"及":{"docs":{},"回":{"docs":{},"调":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}},"创":{"docs":{},"建":{"3":{"docs":{},"个":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"页":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}},"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":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0045871559633027525}}}}}}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"连":{"docs":{},"接":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}}}},"均":{"docs":{},"分":{"docs":{},"底":{"docs":{},"部":{"docs":{},"导":{"docs":{},"航":{"docs":{},"栏":{"docs":{},"横":{"docs":{},"向":{"docs":{},"空":{"docs":{},"间":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}}}}}},"如":{"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.00202020202020202}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"到":{"docs":{},"了":{"docs":{},"表":{"docs":{},"尾":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}},"显":{"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.004048582995951417}}}}}}}}}},"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.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"返":{"docs":{},"回":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"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.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"数":{"docs":{},"据":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},"(":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"类":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"y":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"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":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"颜":{"docs":{},"色":{"docs":{},"固":{"docs":{},"定":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"使":{"docs":{},"用":{"docs":{},"整":{"docs":{},"数":{"docs":{},"值":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}}}}}}},"支":{"docs":{},"持":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}},"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"下":{"docs":{},"拉":{"docs":{},"刷":{"docs":{},"新":{"docs":{},",":{"docs":{},"先":{"docs":{},"删":{"docs":{},"除":{"docs":{},"相":{"docs":{},"关":{"docs":{},"缓":{"docs":{},"存":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}},"已":{"docs":{},"经":{"docs":{},"选":{"docs":{},"定":{"docs":{},"语":{"docs":{},"言":{"docs":{},",":{"docs":{},"则":{"docs":{},"不":{"docs":{},"跟":{"docs":{},"随":{"docs":{},"系":{"docs":{},"统":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}},"悬":{"docs":{},"浮":{"docs":{},"按":{"docs":{},"钮":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}},"抽":{"docs":{},"屉":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}},"菜":{"docs":{},"单":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}},"标":{"docs":{},"题":{"docs":{},"是":{"docs":{},"否":{"docs":{},"居":{"docs":{},"中":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}},"文":{"docs":{},"本":{"docs":{},"样":{"docs":{},"式":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}},"生":{"docs":{},"成":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"菜":{"docs":{},"单":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"图":{"docs":{},"标":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}},"动":{"docs":{},"获":{"docs":{},"取":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}},"需":{"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.00202020202020202}}}}}}}}}}}}},"在":{"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.0032258064516129032}}}}}}}}}}}}}}}}}},"继":{"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.002577319587628866}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}}}}}}}}}}}},"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.0032258064516129032}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"的":{"docs":{},"u":{"docs":{},"a":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}},"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.0032258064516129032}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"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":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"会":{"docs":{},"报":{"docs":{},"错":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}},"弹":{"docs":{},"性":{"docs":{},"曲":{"docs":{},"线":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866}}}}}},"渐":{"docs":{},"隐":{"docs":{},"渐":{"docs":{},"入":{"docs":{},"过":{"docs":{},"渡":{"docs":{},",":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894}}}}}}}}},"剪":{"docs":{},"裁":{"docs":{},"为":{"docs":{},"圆":{"docs":{},"形":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}},"角":{"docs":{},"矩":{"docs":{},"形":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}}}}}},"半":{"docs":{},"圆":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}},"后":{"docs":{},"面":{"docs":{},"介":{"docs":{},"绍":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.02631578947368421}}}}}},"每":{"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.014492753623188406}}}}}}}}}}}}}}}}}}}}}}}}},"次":{"docs":{},"生":{"docs":{},"成":{"2":{"0":{"docs":{},"个":{"docs":{},"单":{"docs":{},"词":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}},"docs":{}},"docs":{}}}},"行":{"docs":{},"三":{"docs":{},"列":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}}}}},"点":{"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.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"滚":{"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.014492753623188406}}}}}}}}}}}}}},"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.002688172043010753}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"代":{"docs":{},"理":{"docs":{},"类":{"docs":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}},"相":{"docs":{},"关":{"docs":{},"值":{"docs":{},",":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},"为":{"docs":{},"应":{"docs":{},"用":{"docs":{},"标":{"docs":{},"题":{"docs":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894}}}}}}}}}}}}}}}},"资":{"docs":{},"源":{"docs":{},"类":{"docs":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894}}}}}}}}}}},"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.002688172043010753}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"分":{"docs":{},"割":{"docs":{},"器":{"docs":{},"构":{"docs":{},"造":{"docs":{},"器":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}},"线":{"docs":{},"颜":{"docs":{},"色":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}},"列":{"docs":{},"表":{"docs":{},"项":{"docs":{},"构":{"docs":{},"造":{"docs":{},"器":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}},"高":{"docs":{},"度":{"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.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"列":{"docs":{},"表":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}}}}}},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"为":{"docs":{},"空":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}}}}},"强":{"docs":{},"制":{"docs":{},"高":{"docs":{},"度":{"docs":{},"为":{"5":{"0":{"docs":{},".":{"0":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}},"docs":{}}},"docs":{}},"docs":{}}}}}},"表":{"docs":{},"尾":{"docs":{},"标":{"docs":{},"记":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}},"控":{"docs":{},"制":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}}}}}}}}}}},"横":{"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.004048582995951417}}}}}}}}}}}}},"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}}}}}}}}}}}}},"语":{"docs":{},"言":{"docs":{},"跟":{"docs":{},"随":{"docs":{},"系":{"docs":{},"统":{"docs":{},"语":{"docs":{},"言":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"系":{"docs":{},"统":{"docs":{},"语":{"docs":{},"言":{"docs":{},"不":{"docs":{},"是":{"docs":{},"中":{"docs":{},"文":{"docs":{},"简":{"docs":{},"体":{"docs":{},"或":{"docs":{},"美":{"docs":{},"国":{"docs":{},"英":{"docs":{},"语":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},"账":{"docs":{},"号":{"docs":{},"信":{"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":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}},"因":{"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.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"重":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"方":{"docs":{},"便":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"定":{"docs":{},"义":{"docs":{},"一":{"docs":{},"个":{"docs":{},"静":{"docs":{},"态":{"docs":{},"方":{"docs":{},"法":{"docs":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894}}}}}}}}}}}}}}}}}},"第":{"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.002824858757062147}}}}}}}}}}}}}}}}}}}}}},"返":{"docs":{},"回":{"docs":{},"到":{"docs":{},"顶":{"docs":{},"部":{"docs":{},"时":{"docs":{},"执":{"docs":{},"行":{"docs":{},"动":{"docs":{},"画":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}}}}}}}}}},"两":{"docs":{},"次":{"docs":{},"点":{"docs":{},"击":{"docs":{},"间":{"docs":{},"隔":{"docs":{},"超":{"docs":{},"过":{"1":{"docs":{},"秒":{"docs":{},"则":{"docs":{},"重":{"docs":{},"新":{"docs":{},"计":{"docs":{},"时":{"docs":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513}}}}}}}}},"docs":{}}}}}}}}},"多":{"docs":{},"出":{"docs":{},"的":{"docs":{},"部":{"docs":{},"分":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}},"的":{"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.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"该":{"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.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"用":{"docs":{},"户":{"docs":{},"总":{"docs":{},"的":{"docs":{},"私":{"docs":{},"有":{"docs":{},"项":{"docs":{},"目":{"docs":{},"数":{"docs":{},"(":{"docs":{},"包":{"docs":{},"括":{"docs":{},"参":{"docs":{},"与":{"docs":{},"的":{"docs":{},"其":{"docs":{},"它":{"docs":{},"组":{"docs":{},"织":{"docs":{},"的":{"docs":{},"私":{"docs":{},"有":{"docs":{},"项":{"docs":{},"目":{"docs":{},")":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"私":{"docs":{},"有":{"docs":{},"项":{"docs":{},"目":{"docs":{},"数":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}},"项":{"docs":{},"目":{"docs":{},"当":{"docs":{},"前":{"docs":{},"打":{"docs":{},"开":{"docs":{},"的":{"docs":{},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{},"u":{"docs":{},"e":{"docs":{},"数":{"docs":{},"量":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}},"的":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"数":{"docs":{},"量":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}},"赋":{"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":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}},"共":{"docs":{},"享":{"docs":{},"状":{"docs":{},"态":{"docs":{},"使":{"docs":{},"用":{"docs":{},"泛":{"docs":{},"型":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}},"取":{"docs":{},"消":{"docs":{},"订":{"docs":{},"阅":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}},"商":{"docs":{},"品":{"docs":{},"单":{"docs":{},"价":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}},"当":{"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":{},"据":{"docs":{},"监":{"docs":{},"听":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"添":{"docs":{},"加":{"docs":{},"新":{"docs":{},"数":{"docs":{},"据":{"docs":{},"监":{"docs":{},"听":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"前":{"docs":{},"路":{"docs":{},"由":{"docs":{},"主":{"docs":{},"题":{"docs":{},"色":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}},"被":{"docs":{},"激":{"docs":{},"活":{"docs":{},",":{"docs":{},"是":{"docs":{},"打":{"docs":{},"开":{"docs":{},"新":{"docs":{},"路":{"docs":{},"由":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602}}}}}}}}}}}}}}}},"给":{"docs":{},"购":{"docs":{},"物":{"docs":{},"车":{"docs":{},"中":{"docs":{},"添":{"docs":{},"加":{"docs":{},"商":{"docs":{},"品":{"docs":{},",":{"docs":{},"添":{"docs":{},"加":{"docs":{},"后":{"docs":{},"总":{"docs":{},"价":{"docs":{},"会":{"docs":{},"更":{"docs":{},"新":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}},"订":{"docs":{},"阅":{"docs":{},"登":{"docs":{},"录":{"docs":{},"状":{"docs":{},"态":{"docs":{},"改":{"docs":{},"变":{"docs":{},"事":{"docs":{},"件":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}},"者":{"docs":{},"回":{"docs":{},"调":{"docs":{},"签":{"docs":{},"名":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}}}}}}},"(":{"docs":{},"关":{"docs":{},"注":{"docs":{},")":{"docs":{},"该":{"docs":{},"项":{"docs":{},"目":{"docs":{},"的":{"docs":{},"人":{"docs":{},"数":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}},"主":{"docs":{},"色":{"docs":{},",":{"docs":{},"决":{"docs":{},"定":{"docs":{},"导":{"docs":{},"航":{"docs":{},"栏":{"docs":{},"颜":{"docs":{},"色":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}}},"题":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"样":{"docs":{},"本":{"docs":{},",":{"docs":{},"见":{"docs":{},"下":{"docs":{},"面":{"docs":{},"介":{"docs":{},"绍":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}}}},"色":{"docs":{},"值":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}},"更":{"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":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}}}}}}}}}},"切":{"docs":{},"换":{"docs":{},"主":{"docs":{},"题":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}},"文":{"docs":{},"字":{"docs":{},"字":{"docs":{},"体":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}},"件":{"docs":{},"的":{"docs":{},"总":{"docs":{},"块":{"docs":{},"数":{"docs":{},"(":{"docs":{},"包":{"docs":{},"括":{"docs":{},"第":{"docs":{},"一":{"docs":{},"块":{"docs":{},")":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}}}}}}},"根":{"docs":{},"据":{"docs":{},"背":{"docs":{},"景":{"docs":{},"色":{"docs":{},"亮":{"docs":{},"度":{"docs":{},"来":{"docs":{},"确":{"docs":{},"定":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},"颜":{"docs":{},"色":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"协":{"docs":{},"议":{"docs":{},",":{"docs":{},"发":{"docs":{},"送":{"docs":{},"请":{"docs":{},"求":{"docs":{},"头":{"docs":{"chapter11/socket.html":{"ref":"chapter11/socket.html","tf":0.02857142857142857}}}}}}}}}}}}}}}},"次":{"docs":{},"级":{"docs":{},"色":{"docs":{},",":{"docs":{},"决":{"docs":{},"定":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"w":{"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.002824858757062147}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"深":{"docs":{},"色":{"docs":{},"还":{"docs":{},"是":{"docs":{},"浅":{"docs":{},"色":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}},"第":{"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.002824858757062147}}}}}}}}}}}}}}}}}}}}}}},"/":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.021164021164021163},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.00816326530612245},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849},"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.005649717514124294},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.005868544600938967}},"两":{"docs":{},"端":{"docs":{},"是":{"docs":{},"否":{"docs":{},"为":{"docs":{},"圆":{"docs":{},"角":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}},"粗":{"docs":{},"细":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}},"这":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},":":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}}}}},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"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":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"关":{"docs":{},"闭":{"docs":{},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001445086705202312}},"并":{"docs":{},"返":{"docs":{},"回":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}},"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"注":{"docs":{},"该":{"docs":{},"用":{"docs":{},"户":{"docs":{},"的":{"docs":{},"人":{"docs":{},"数":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}},"内":{"docs":{},"容":{"docs":{},"的":{"docs":{},"填":{"docs":{},"充":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}},"复":{"docs":{},"选":{"docs":{},"框":{"docs":{},"选":{"docs":{},"中":{"docs":{},"状":{"docs":{},"态":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},"时":{"docs":{},"重":{"docs":{},"新":{"docs":{},"构":{"docs":{},"建":{"docs":{},"u":{"docs":{},"i":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}}}}}},"更":{"docs":{},"新":{"docs":{},"复":{"docs":{},"选":{"docs":{},"框":{"docs":{},"状":{"docs":{},"态":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}},"自":{"docs":{},"身":{"docs":{},"选":{"docs":{},"中":{"docs":{},"状":{"docs":{},"态":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}},"选":{"docs":{},"中":{"docs":{},"状":{"docs":{},"态":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001445086705202312}}}}}},"显":{"docs":{},"示":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"名":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"中":{"docs":{},"的":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"信":{"docs":{},"息":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}},"记":{"docs":{},"录":{"docs":{},"复":{"docs":{},"选":{"docs":{},"框":{"docs":{},"是":{"docs":{},"否":{"docs":{},"选":{"docs":{},"中":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}},"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.011299435028248588}}}}}}}}}},"a":{"docs":{},"s":{"docs":{},"i":{"docs":{},"c":{"docs":{},"认":{"docs":{},"证":{"docs":{},"凭":{"docs":{},"据":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}},"手":{"docs":{},"指":{"docs":{},"按":{"docs":{},"下":{"docs":{},"回":{"docs":{},"调":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}}}},"时":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"此":{"docs":{},"回":{"docs":{},"调":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}}}}}},"移":{"docs":{},"动":{"docs":{},"回":{"docs":{},"调":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}}}}}},"滑":{"docs":{},"动":{"docs":{},"时":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"此":{"docs":{},"回":{"docs":{},"调":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}}}}}}},"动":{"docs":{},"指":{"docs":{},"定":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}},"双":{"docs":{},"击":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}},"缩":{"docs":{},"放":{"docs":{},"倍":{"docs":{},"数":{"docs":{},"在":{"0":{"docs":{},".":{"8":{"docs":{},"到":{"1":{"0":{"docs":{},"倍":{"docs":{},"之":{"docs":{},"间":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}},"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.0017452006980802793}}}}}}}}}}}}}}},"距":{"docs":{},"顶":{"docs":{},"部":{"docs":{},"的":{"docs":{},"偏":{"docs":{},"移":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}}},"长":{"docs":{},"按":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}},"反":{"docs":{},"向":{"docs":{},"遍":{"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.007407407407407408}}}}}}}}}}}}}}}}}}}}}}}}}}}},"工":{"docs":{},"厂":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}}}}}}}},"私":{"docs":{},"有":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}}}}}}}},"触":{"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.007407407407407408}}}}}}}}}}}}}}}}}}}}}}}},"页":{"docs":{},"面":{"docs":{},"a":{"docs":{},"中":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}}}}}},"判":{"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":{},"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":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"新":{"docs":{},"旧":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"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":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"只":{"docs":{},"会":{"docs":{},"在":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"结":{"docs":{},"束":{"docs":{},"时":{"docs":{},"才":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"此":{"docs":{},"回":{"docs":{},"调":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}}}}},"故":{"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":{},"e":{"docs":{},"l":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}}}}}}}},"遍":{"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":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"目":{"docs":{},"录":{"docs":{},"生":{"docs":{},"成":{"docs":{},"模":{"docs":{},"板":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}},"启":{"docs":{},"动":{"docs":{},"动":{"docs":{},"画":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005154639175257732}},"(":{"docs":{},"正":{"docs":{},"向":{"docs":{},"执":{"docs":{},"行":{"docs":{},")":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866}}}}}}}},"(":{"docs":{},"正":{"docs":{},"向":{"docs":{},")":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866}}}}}}}}}},"路":{"docs":{},"由":{"docs":{},"销":{"docs":{},"毁":{"docs":{},"时":{"docs":{},"需":{"docs":{},"要":{"docs":{},"释":{"docs":{},"放":{"docs":{},"动":{"docs":{},"画":{"docs":{},"资":{"docs":{},"源":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005154639175257732}}}}}}}}}}}}},"b":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602}}}}},"唯":{"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.017543859649122806}}}}}}}}}}}}}}}}}}}}}}}}}},"再":{"docs":{},"反":{"docs":{},"向":{"docs":{},"执":{"docs":{},"行":{"docs":{},"动":{"docs":{},"画":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}}}}}}}},"间":{"docs":{},"隔":{"docs":{},",":{"docs":{},"前":{"6":{"0":{"docs":{},"%":{"docs":{},"的":{"docs":{},"动":{"docs":{},"画":{"docs":{},"时":{"docs":{},"间":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}}}}}}}},"docs":{}},"docs":{}},"后":{"4":{"0":{"docs":{},"%":{"docs":{},"的":{"docs":{},"动":{"docs":{},"画":{"docs":{},"时":{"docs":{},"间":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}}}}}}}},"docs":{}},"docs":{}}}}},"高":{"docs":{},"度":{"docs":{},"动":{"docs":{},"画":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}}}}},"布":{"docs":{},"局":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}},"构":{"docs":{},"建":{"docs":{},"器":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}},"退":{"docs":{},"场":{"docs":{},"(":{"docs":{},"出":{"docs":{},")":{"docs":{},"方":{"docs":{},"向":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}},"出":{"docs":{},"账":{"docs":{},"号":{"docs":{},"前":{"docs":{},"先":{"docs":{},"弹":{"docs":{},"二":{"docs":{},"次":{"docs":{},"确":{"docs":{},"认":{"docs":{},"窗":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}},"确":{"docs":{},"保":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},"数":{"docs":{},"组":{"docs":{},"不":{"docs":{},"空":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}}}}}}}}}}},"过":{"docs":{},"渡":{"docs":{},"动":{"docs":{},"画":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"总":{"docs":{},"时":{"docs":{},"长":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}}}},"填":{"docs":{},"充":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}},"画":{"docs":{},"棋":{"docs":{},"盘":{"docs":{},"网":{"docs":{},"格":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}},"背":{"docs":{},"景":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}},"笔":{"docs":{},"样":{"docs":{},"式":{"docs":{},":":{"docs":{},"填":{"docs":{},"充":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}}}},"线":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}},"实":{"docs":{},"现":{"docs":{},"画":{"docs":{},"笔":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}},"从":{"docs":{},"文":{"docs":{},"件":{"docs":{},"读":{"docs":{},"取":{"docs":{},"点":{"docs":{},"击":{"docs":{},"次":{"docs":{},"数":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}},"等":{"docs":{},"待":{"docs":{},"连":{"docs":{},"接":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"(":{"docs":{},"会":{"docs":{},"将":{"docs":{},"请":{"docs":{},"求":{"docs":{},"信":{"docs":{},"息":{"docs":{},"发":{"docs":{},"送":{"docs":{},"给":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},")":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}},"证":{"docs":{},"书":{"docs":{},"一":{"docs":{},"致":{"docs":{},",":{"docs":{},"则":{"docs":{},"允":{"docs":{},"许":{"docs":{},"发":{"docs":{},"送":{"docs":{},"数":{"docs":{},"据":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}}}},"读":{"docs":{},"取":{"docs":{},"响":{"docs":{},"应":{"docs":{},"内":{"docs":{},"容":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}},"返":{"docs":{},"回":{"docs":{},"内":{"docs":{},"容":{"docs":{"chapter11/socket.html":{"ref":"chapter11/socket.html","tf":0.02857142857142857}}}}}}}},"发":{"docs":{},"生":{"docs":{},"错":{"docs":{},"误":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}},"送":{"docs":{"chapter11/socket.html":{"ref":"chapter11/socket.html","tf":0.02857142857142857}}}},"请":{"docs":{},"求":{"docs":{},"完":{"docs":{},"成":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}},"成":{"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":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"未":{"docs":{},"完":{"docs":{},"成":{"docs":{},"时":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}}}},"临":{"docs":{},"时":{"docs":{},"文":{"docs":{},"件":{"docs":{},"按":{"docs":{},"照":{"docs":{},"块":{"docs":{},"的":{"docs":{},"序":{"docs":{},"号":{"docs":{},"命":{"docs":{},"名":{"docs":{},",":{"docs":{},"方":{"docs":{},"便":{"docs":{},"最":{"docs":{},"后":{"docs":{},"合":{"docs":{},"并":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}}}}}}}}}}}}},"合":{"docs":{},"并":{"docs":{},"临":{"docs":{},"时":{"docs":{},"文":{"docs":{},"件":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}},"解":{"docs":{},"析":{"docs":{},"文":{"docs":{},"件":{"docs":{},"总":{"docs":{},"长":{"docs":{},"度":{"docs":{},",":{"docs":{},"进":{"docs":{},"而":{"docs":{},"算":{"docs":{},"出":{"docs":{},"剩":{"docs":{},"余":{"docs":{},"长":{"docs":{},"度":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}}}}}}}}}},"网":{"docs":{},"络":{"docs":{},"不":{"docs":{},"通":{"docs":{},"会":{"docs":{},"走":{"docs":{},"到":{"docs":{},"这":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}},"建":{"docs":{},"立":{"docs":{},"连":{"docs":{},"接":{"docs":{"chapter11/socket.html":{"ref":"chapter11/socket.html","tf":0.02857142857142857}}}}}},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}},"一":{"docs":{},"个":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"格":{"docs":{},"式":{"docs":{},"的":{"docs":{},"用":{"docs":{},"户":{"docs":{},"列":{"docs":{},"表":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}},"处":{"docs":{},"理":{"docs":{},"特":{"docs":{},"殊":{"docs":{},"标":{"docs":{},"志":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}},"替":{"docs":{},"换":{"docs":{},"模":{"docs":{},"板":{"docs":{},"占":{"docs":{},"位":{"docs":{},"符":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}},"入":{"docs":{},"栈":{"docs":{},"新":{"docs":{},"路":{"docs":{},"由":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}}}}}}},"查":{"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}}}},"找":{"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.0018832391713747645}}}}}}}}}}}}}}},"绘":{"docs":{},"制":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}},"递":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}},"公":{"docs":{},"司":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}},"博":{"docs":{},"客":{"docs":{},"地":{"docs":{},"址":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}},"项":{"docs":{},"目":{"docs":{},"名":{"docs":{},"称":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}},"完":{"docs":{},"成":{"docs":{},"名":{"docs":{},"称":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}},"描":{"docs":{},"述":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}},"的":{"docs":{},"默":{"docs":{},"认":{"docs":{},"分":{"docs":{},"支":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"头":{"docs":{},"像":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"接":{"docs":{},"收":{"docs":{},"分":{"docs":{},"页":{"docs":{},"信":{"docs":{},"息":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}},"代":{"docs":{},"理":{"docs":{},"工":{"docs":{},"具":{"docs":{},"会":{"docs":{},"提":{"docs":{},"供":{"docs":{},"一":{"docs":{},"个":{"docs":{},"抓":{"docs":{},"包":{"docs":{},"的":{"docs":{},"自":{"docs":{},"签":{"docs":{},"名":{"docs":{},"证":{"docs":{},"书":{"docs":{},",":{"docs":{},"会":{"docs":{},"通":{"docs":{},"不":{"docs":{},"过":{"docs":{},"证":{"docs":{},"书":{"docs":{},"校":{"docs":{},"验":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"禁":{"docs":{},"用":{"docs":{},"证":{"docs":{},"书":{"docs":{},"校":{"docs":{},"验":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"本":{"docs":{},"接":{"docs":{},"口":{"docs":{},"禁":{"docs":{},"用":{"docs":{},"缓":{"docs":{},"存":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}},"清":{"docs":{},"空":{"docs":{},"所":{"docs":{},"有":{"docs":{},"缓":{"docs":{},"存":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}},"若":{"docs":{},"是":{"docs":{},"列":{"docs":{},"表":{"docs":{},",":{"docs":{},"则":{"docs":{},"只":{"docs":{},"要":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"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":{},",":{"docs":{},"并":{"docs":{},"不":{"docs":{},"精":{"docs":{},"准":{"docs":{},")":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"缓":{"docs":{},"存":{"docs":{},"未":{"docs":{},"过":{"docs":{},"期":{"docs":{},",":{"docs":{},"则":{"docs":{},"返":{"docs":{},"回":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"内":{"docs":{},"容":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}},"则":{"docs":{},"默":{"docs":{},"认":{"docs":{},"使":{"docs":{},"用":{"docs":{},"美":{"docs":{},"国":{"docs":{},"英":{"docs":{},"语":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}},"头":{"docs":{},"像":{"docs":{},"占":{"docs":{},"位":{"docs":{},"图":{"docs":{},",":{"docs":{},"加":{"docs":{},"载":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"显":{"docs":{},"示":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}},"已":{"docs":{},"登":{"docs":{},"录":{"docs":{},",":{"docs":{},"则":{"docs":{},"展":{"docs":{},"示":{"docs":{},"项":{"docs":{},"目":{"docs":{},"列":{"docs":{},"表":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"只":{"docs":{},"支":{"docs":{},"持":{"docs":{},"美":{"docs":{},"国":{"docs":{},"英":{"docs":{},"语":{"docs":{},"和":{"docs":{},"中":{"docs":{},"文":{"docs":{},"简":{"docs":{},"体":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}},"的":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"图":{"docs":{},"标":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}},"把":{"docs":{},"请":{"docs":{},"求":{"docs":{},"到":{"docs":{},"的":{"docs":{},"新":{"docs":{},"数":{"docs":{},"据":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"s":{"docs":{},"中":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}},"密":{"docs":{},"码":{"docs":{},"是":{"docs":{},"否":{"docs":{},"显":{"docs":{},"示":{"docs":{},"明":{"docs":{},"文":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}}}},"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"9":{"docs":{},".":{"0":{"docs":{},".":{"2":{"docs":{},".":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"o":{"docs":{},"s":{"docs":{},"x":{"docs":{},"_":{"6":{"4":{"docs":{},".":{"docs":{},"d":{"docs":{},"m":{"docs":{},"g":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}},"docs":{}},"docs":{}}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}},"=":{"0":{"docs":{},"{":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{"chapter13/intl.html":{"ref":"chapter13/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":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}},"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.010714285714285714},"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.031835205992509365},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.009302325581395349},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.029508196721311476},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.02028397565922921},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.015625},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.018072289156626505},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.012755102040816327},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.022911051212938006},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.00881057268722467},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0205761316872428},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.01775147928994083},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0594059405940594},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.03125},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.015463917525773196},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.01702127659574468},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.023255813953488372},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.012121212121212121},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374},"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.02631578947368421},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.043478260869565216},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.021505376344086023},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.05263157894736842},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.027607361963190184},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.012903225806451613},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.01090909090909091},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.01977401129943503},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.018063583815028903},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.02268760907504363},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.05925925925925926},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.008746355685131196},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.04950495049504951},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.023195876288659795},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.024844720496894408},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.01680672268907563},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.03909465020576132},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.009852216748768473},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.026578073089700997},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.07272727272727272},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.03945578231292517},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.022598870056497175},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.03669724770642202},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.04245283018867924},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.07407407407407407},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.027906976744186046},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.02018348623853211},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.04285714285714286},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.04075235109717868},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.0371900826446281},"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.008403361344537815},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.01818181818181818},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.022598870056497175},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.024163568773234202},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.04342723004694836},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.056818181818181816},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.05232558139534884},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.009411764705882352},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.04230769230769231},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.03164556962025317}},">":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.009732360097323601},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.009836065573770493},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.006289308176100629},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.008113590263691683},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0026954177897574125},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.013215859030837005},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.006060606060606061},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.013605442176870748},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.005376344086021506},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.006134969325153374},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.012903225806451613},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.012727272727272728},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.00847457627118644},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.008670520231213872},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.03389830508474576},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.012216404886561954},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0058309037900874635},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005154639175257732},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.006172839506172839},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.009966777408637873},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.01651376146788991},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.017699115044247787},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.008403361344537815},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.007532956685499058},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.024163568773234202},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.045454545454545456},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.014534883720930232},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.012941176470588235},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"总":{"docs":{},"价":{"docs":{},":":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"h":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}}}}}}}}}}}}}}},"=":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.006289308176100629},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.006134969325153374},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0064516129032258064},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.002890173410404624},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.044444444444444446},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005154639175257732},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.006802721088435374},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.01652892561983471},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.003766478342749529},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.00929368029739777},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.004694835680751174},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.007575757575757576},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.014534883720930232},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.012658227848101266}},"(":{"docs":{},"d":{"docs":{},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}},"o":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.005813953488372093}}}}}}}}}},"a":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter11/socket.html":{"ref":"chapter11/socket.html","tf":0.02857142857142857}}}}}}}},"@":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"(":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.007339449541284404}}}}}}}}}}}}}}}}}}}},"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.014598540145985401},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.009302325581395349},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.029350104821802937},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.014198782961460446},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.02702702702702703},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.006738544474393531},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.01762114537444934},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.011834319526627219},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.010101010101010102},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.02040816326530612},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.016129032258064516},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.012145748987854251},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.018404907975460124},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.024390243902439025},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.035483870967741936},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.023636363636363636},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.00847457627118644},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0050578034682080926},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.020942408376963352},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.008746355685131196},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.01288659793814433},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.055900621118012424},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.017543859649122806},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.01680672268907563},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00823045267489712},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.014778325123152709},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.036544850498338874},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.00909090909090909},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.009523809523809525},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.01694915254237288},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0045871559633027525},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.018604651162790697},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.009404388714733543},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.02654867256637168},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.008403361344537815},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.01818181818181818},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.007532956685499058},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.01056338028169014},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.014534883720930232},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.007058823529411765},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.011538461538461539},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.012658227848101266}}}}}}}},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.004056795131845842},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.012048192771084338},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.011834319526627219},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125},"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.02631578947368421},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.016194331983805668},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.024390243902439025},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.010582010582010581},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.006502890173410405},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.006172839506172839},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.004081632653061225},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}},"i":{"docs":{},"m":{"docs":{},"m":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}}},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}},"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.0041928721174004195},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.003766478342749529},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}},"a":{"docs":{},"g":{"docs":{},"m":{"docs":{},"a":{"docs":{},"(":{"docs":{},"'":{"docs":{},"v":{"docs":{},"m":{"docs":{},":":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}}}}}}}}}}}}}}}}}},"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}},"`":{"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.0035714285714285713}}}}}}}}}}}}}}}}},"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":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"运":{"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"当":{"docs":{},"以":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01}}}}}}},"p":{"docs":{},"i":{"docs":{"chapter11/":{"ref":"chapter11/","tf":0.08333333333333333},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849},"chapter11/socket.html":{"ref":"chapter11/socket.html","tf":5.0285714285714285},"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.017699115044247787},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},"。":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter15/intro.html":{"ref":"chapter15/intro.html","tf":0.05}},"比":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"手":{"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":{},"u":{"docs":{},"i":{"docs":{},",":{"docs":{},"而":{"docs":{},"缺":{"docs":{},"点":{"docs":{},"是":{"docs":{},"必":{"docs":{},"须":{"docs":{},"了":{"docs":{},"解":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{"chapter10/intro.html":{"ref":"chapter10/intro.html","tf":0.04}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"来":{"docs":{},"实":{"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":{"chapter10/intro.html":{"ref":"chapter10/intro.html","tf":0.04}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"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":{"chapter11/socket.html":{"ref":"chapter11/socket.html","tf":0.02857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"具":{"docs":{},"体":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"。":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}}}}}},"绘":{"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":{"chapter10/intro.html":{"ref":"chapter10/intro.html","tf":0.04}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"完":{"docs":{},"成":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"。":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}},"细":{"docs":{},"节":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"得":{"docs":{},"自":{"docs":{},"己":{"docs":{},"去":{"docs":{},"实":{"docs":{},"现":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"。":{"docs":{"chapter10/intro.html":{"ref":"chapter10/intro.html","tf":0.04}}}}}}}}}}}}}}}}}},"、":{"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":{},"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":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},"官":{"docs":{},"方":{"docs":{},"有":{"docs":{},"差":{"docs":{},"异":{"docs":{},",":{"docs":{},"请":{"docs":{},"以":{"docs":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},"官":{"docs":{},"方":{"docs":{},"文":{"docs":{},"档":{"docs":{},"为":{"docs":{},"准":{"docs":{},"。":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},":":{"docs":{},"i":{"docs":{},"o":{"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":{},"现":{"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":{"chapter11/socket.html":{"ref":"chapter11/socket.html","tf":0.02857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"封":{"docs":{},"装":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"协":{"docs":{},"议":{"docs":{},"或":{"docs":{},"者":{"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":{"chapter11/socket.html":{"ref":"chapter11/socket.html","tf":0.02857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"示":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"包":{"docs":{},"装":{"docs":{},",":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}},"基":{"docs":{},"地":{"docs":{},"址":{"docs":{},"和":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"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":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},"实":{"docs":{},"例":{"docs":{},"发":{"docs":{},"出":{"docs":{},"的":{"docs":{},"请":{"docs":{},"求":{"docs":{},"都":{"docs":{},"会":{"docs":{},"默":{"docs":{},"认":{"docs":{},"使":{"docs":{},"用":{"docs":{},"者":{"docs":{},"些":{"docs":{},"配":{"docs":{},"置":{"docs":{},"。":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"接":{"docs":{},"收":{"docs":{},"方":{"docs":{},"法":{"docs":{},"调":{"docs":{},"用":{"docs":{},"并":{"docs":{},"返":{"docs":{},"回":{"docs":{},"结":{"docs":{},"果":{"docs":{},"。":{"docs":{},"这":{"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/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"和":{"docs":{},"i":{"docs":{},"o":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}},"标":{"docs":{},"识":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},"和":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"提":{"docs":{},"取":{"docs":{},"到":{"docs":{},"“":{"docs":{},"i":{"1":{"0":{"docs":{},"n":{"docs":{"chapter13/intl.html":{"ref":"chapter13/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":{},"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":{},"原":{"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"校":{"docs":{},"验":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"配":{"docs":{},"置":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"类":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"时":{"docs":{},"执":{"docs":{},"行":{"docs":{},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},")":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"是":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"类":{"docs":{},"的":{"docs":{},"源":{"docs":{},"码":{"docs":{},":":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"应":{"docs":{},"用":{"docs":{},"一":{"docs":{},"些":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"策":{"docs":{},"略":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"“":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"”":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"“":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"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":{},"缓":{"docs":{},"存":{"docs":{},"策":{"docs":{},"略":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"定":{"docs":{},"义":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"接":{"docs":{},"口":{"docs":{},"返":{"docs":{},"回":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"结":{"docs":{},"构":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{},"另":{"docs":{},"外":{"docs":{},",":{"docs":{},"在":{"docs":{},"调":{"docs":{},"试":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"常":{"docs":{},"需":{"docs":{},"要":{"docs":{},"一":{"docs":{},"些":{"docs":{},"工":{"docs":{},"具":{"docs":{},"来":{"docs":{},"查":{"docs":{},"看":{"docs":{},"网":{"docs":{},"络":{"docs":{},"请":{"docs":{},"求":{"docs":{},"、":{"docs":{},"响":{"docs":{},"应":{"docs":{},"报":{"docs":{},"文":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"网":{"docs":{},"络":{"docs":{},"代":{"docs":{},"理":{"docs":{},"工":{"docs":{},"具":{"docs":{},"来":{"docs":{},"调":{"docs":{},"试":{"docs":{},"网":{"docs":{},"络":{"docs":{},"数":{"docs":{},"据":{"docs":{},"问":{"docs":{},"题":{"docs":{},"是":{"docs":{},"主":{"docs":{},"流":{"docs":{},"方":{"docs":{},"式":{"docs":{},"。":{"docs":{},"配":{"docs":{},"置":{"docs":{},"代":{"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":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"缓":{"docs":{},"存":{"docs":{},"策":{"docs":{},"略":{"docs":{},"信":{"docs":{},"息":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}},"p":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.007142857142857143},"chapter2/":{"ref":"chapter2/","tf":0.1},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":5}},"采":{"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.01}}}}}}}}}}}}}}}}}},",":{"docs":{},"一":{"docs":{},"套":{"docs":{},"代":{"docs":{},"码":{"docs":{},"同":{"docs":{},"时":{"docs":{},"运":{"docs":{},"行":{"docs":{},"在":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01}}}}}}}}}}}},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}},"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},"(":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}},":":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}},"\"":{"docs":{},",":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.008403361344537815}}}},"'":{"docs":{},",":{"docs":{"chapter13/intl.html":{"ref":"chapter13/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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00404040404040404}},"(":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004651162790697674},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00851063829787234},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00808080808080808},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.012658227848101266}},"{":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004651162790697674},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00808080808080808},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.012658227848101266}}},"是":{"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":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"标":{"docs":{},"题":{"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.00202020202020202}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"框":{"docs":{},"架":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"安":{"docs":{},"装":{"docs":{},"包":{"docs":{},"中":{"docs":{},"会":{"docs":{},"包":{"docs":{},"含":{"docs":{},"代":{"docs":{},"码":{"docs":{},"和":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}}}}}}}}}}}},"\"":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}},";":{"docs":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894}}},",":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}},",":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}}}}}},"定":{"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":{},"组":{"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":{},"式":{"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":{},"共":{"docs":{},"享":{"docs":{},"样":{"docs":{},"式":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"目":{"docs":{},"录":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}},",":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.008264462809917356}}}}},"中":{"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":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"docs":{},"会":{"docs":{},"认":{"docs":{},"为":{"docs":{},"是":{"docs":{},"当":{"docs":{},"前":{"docs":{},"系":{"docs":{},"统":{"docs":{},"是":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"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":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"平":{"docs":{},"台":{"docs":{},"对":{"docs":{},"齐":{"docs":{},",":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"的":{"docs":{},"值":{"docs":{},"也":{"docs":{},"会":{"docs":{},"变":{"docs":{},"为":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},".":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"。":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}},"最":{"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":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"。":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"”":{"docs":{},"和":{"docs":{},"“":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},"”":{"docs":{},"。":{"docs":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894}}}}}}}}}}}}}}}},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.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":{},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{},"结":{"docs":{},"构":{"docs":{"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.015151515151515152}}}}}},"内":{"docs":{},"封":{"docs":{},"装":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"组":{"docs":{},"件":{"docs":{},"都":{"docs":{},"在":{"docs":{},"该":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.015151515151515152}}}}}}}}}}}}}}}}}}}}}},"语":{"docs":{},"言":{"docs":{},"信":{"docs":{},"息":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}},"状":{"docs":{},"态":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}},"选":{"docs":{},"择":{"docs":{},"页":{"docs":{},"提":{"docs":{},"供":{"docs":{},"三":{"docs":{},"个":{"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":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"主":{"docs":{},"题":{"docs":{},"状":{"docs":{},"态":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}},"是":{"docs":{},"否":{"docs":{},"登":{"docs":{},"录":{"docs":{},"(":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},"用":{"docs":{},"户":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"则":{"docs":{},"证":{"docs":{},"明":{"docs":{},"登":{"docs":{},"录":{"docs":{},"过":{"docs":{},")":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}},"入":{"docs":{},"口":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},"及":{"docs":{},"主":{"docs":{},"页":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}}}}},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.01879194630872483},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.009615384615384616},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.010416666666666666},"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028},"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.030303030303030304}},"平":{"docs":{},"台":{"docs":{},"。":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01}}}}},"_":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}},"设":{"docs":{},"置":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}},"和":{"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":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}},"'":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}},",":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}},".":{"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},";":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},".":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},";":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}},"e":{"docs":{},"s":{"docs":{},";":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}},"e":{"docs":{},";":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}},"文":{"docs":{},"件":{"docs":{},"夹":{"docs":{},",":{"docs":{},"点":{"docs":{},"击":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.00881057268722467},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.002890173410404624},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.019801980198019802},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.02577319587628866},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.049689440993788817},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.017543859649122806},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.02100840336134454},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.0205761316872428}},"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.002577319587628866},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856}},"{":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}},"的":{"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}}},"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.005154639175257732},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866}},"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.005154639175257732}}}}}}}}}}}},"{":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866}}}}}}}}}}}},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00823045267489712}},"{":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}},"e":{"docs":{},"(":{"docs":{},"{":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}},"高":{"docs":{},"级":{"docs":{},"用":{"docs":{},"法":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.024752475247524754},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005154639175257732},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.019801980198019802},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010309278350515464},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}},"v":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},":":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}},"派":{"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.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"生":{"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.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"用":{"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.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.002167630057803468},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.007731958762886598},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.043478260869565216},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.017543859649122806},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856}},")":{"docs":{},";":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005154639175257732}}}}},")":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.0102880658436214}},"方":{"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.0049504950495049506}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856}}}},"对":{"docs":{},"象":{"docs":{},"的":{"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.0049504950495049506}}}}}}}}}}}}}},"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":{},"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":{},"者":{"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":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"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.002577319587628866}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005154639175257732}},"e":{"docs":{},",":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.015463917525773196}}}}}}}}},":":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.007731958762886598},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}},";":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.007731958762886598}}},"=":{"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.002577319587628866}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}},"e":{"docs":{},"d":{"docs":{},")":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866}}}}}}}}}}}},"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.002577319587628866},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},")":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}}}}}}},"}":{"docs":{},")":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866}}}},")":{"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.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"y":{"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":{},"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":{},"错":{"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":{},"v":{"docs":{},"a":{"docs":{},"r":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},".":{"docs":{},"p":{"docs":{},"i":{"docs":{},"/":{"2":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064}}},"docs":{}}}}}}}}}}}}},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0064516129032258064}},",":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}},".":{"docs":{},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"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":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},",":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},";":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}},";":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"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":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"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":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"源":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"时":{"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":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"却":{"docs":{},"别":{"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":{},"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":{},"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":{},"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":{},"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":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{},"而":{"docs":{},"当":{"docs":{},"调":{"docs":{},"用":{"docs":{},"的":{"docs":{},"是":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"只":{"docs":{},"需":{"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":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"改":{"docs":{},"为":{"docs":{},"下":{"docs":{},"面":{"docs":{},"这":{"docs":{},"样":{"docs":{},"既":{"docs":{},"可":{"docs":{},":":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"]":{"docs":{},"?":{"docs":{},")":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616}}},"s":{"docs":{},":":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00851063829787234},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.004335260115606936},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}},"v":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.004056795131845842}},"e":{"docs":{},":":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.004056795131845842}}},";":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.004056795131845842}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514}}}}}}}},",":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}},"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.002551020408163265}}}}}}}}},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}},"p":{"docs":{},"t":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}},":":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}},"s":{"docs":{},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}}}}},"d":{"docs":{},"b":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},"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":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}}}}}}}}}}}}}}}}}}}}},"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.002688172043010753},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}},"i":{"docs":{},"v":{"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":{},"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.002688172043010753}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.002688172043010753},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}},"e":{"docs":{},"s":{"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":{},"组":{"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":{},"重":{"docs":{},"绘":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"当":{"docs":{},"列":{"docs":{},"表":{"docs":{},"项":{"docs":{},"重":{"docs":{},"绘":{"docs":{},"的":{"docs":{},"开":{"docs":{},"销":{"docs":{},"非":{"docs":{},"常":{"docs":{},"小":{"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.002688172043010753}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"v":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}},")":{"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":{},"调":{"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.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"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":{},"状":{"docs":{},"态":{"docs":{},"改":{"docs":{},"变":{"docs":{},"的":{"docs":{},"监":{"docs":{},"听":{"docs":{},"器":{"docs":{},"。":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}},"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"l":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}},"(":{"docs":{},"d":{"docs":{},"o":{"docs":{},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684}}}}}}}}},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.03608247422680412}},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.010309278350515464},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064}}}}}}}},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.013605442176870748}}}}}}},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}},"x":{"docs":{},"*":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"+":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"/":{"2":{"docs":{},")":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.004201680672268907}}}}}}}}}}}}}}}},":":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.020618556701030927},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.013605442176870748},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}},"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.015625}}}}}}}}}}}}}}}}},"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.0078125}}}}}}}}}}}}}}}}}}}}}}},":":{"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":{},"组":{"docs":{},"件":{"docs":{},"。":{"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.0078125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"1":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}},"docs":{}}},"2":{"docs":{},",":{"0":{"docs":{},".":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}},"docs":{}}},"docs":{}}},"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},".":{"docs":{},"x":{"docs":{},",":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"其":{"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/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"唯":{"docs":{},"一":{"docs":{},"的":{"docs":{},"区":{"docs":{},"别":{"docs":{},"就":{"docs":{},"是":{"docs":{},"坐":{"docs":{},"标":{"docs":{},"原":{"docs":{},"点":{"docs":{},"不":{"docs":{},"同":{"docs":{},"!":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"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":{},"x":{"docs":{},"、":{"docs":{},"y":{"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":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"它":{"docs":{},"和":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}},"(":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.020618556701030927},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.013605442176870748},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}},"{":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}},"和":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"对":{"docs":{},"比":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}},"v":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}},"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"机":{"docs":{},"制":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"用":{"docs":{},"于":{"docs":{},"避":{"docs":{},"免":{"docs":{},"在":{"docs":{},"同":{"docs":{},"一":{"docs":{},"台":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"请":{"docs":{},"求":{"docs":{},"多":{"docs":{},"个":{"docs":{},"资":{"docs":{},"源":{"docs":{},"时":{"docs":{},"频":{"docs":{},"繁":{"docs":{},"创":{"docs":{},"建":{"docs":{},"链":{"docs":{},"接":{"docs":{},",":{"docs":{},"它":{"docs":{},"本":{"docs":{},"质":{"docs":{},"上":{"docs":{},"是":{"docs":{},"支":{"docs":{},"持":{"docs":{},"链":{"docs":{},"接":{"docs":{},"复":{"docs":{},"用":{"docs":{},"的":{"docs":{},"技":{"docs":{},"术":{"docs":{},",":{"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/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"在":{"docs":{},"响":{"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":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"y":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},".":{"docs":{},"b":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.030837004405286344}}}}}}}},"w":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"7":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00851063829787234}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"h":{"docs":{},"a":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.009900990099009901}}}}},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}},"(":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.006502890173410405},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}},"{":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}},"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.0013422818791946308}}}}}}},",":{"docs":{},"打":{"docs":{},"开":{"docs":{},"后":{"docs":{},"如":{"docs":{},"图":{"1":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},"docs":{}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.008403361344537815}}}}}}}}}}}},"g":{"docs":{},"s":{"docs":{},"=":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"a":{"docs":{},"l":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"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":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"s":{"docs":{},".":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"u":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}},"}":{"docs":{},")":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}},"b":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0056022408963585435},"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.015151515151515152}},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"_":{"docs":{},"*":{"docs":{},".":{"docs":{},"a":{"docs":{},"r":{"docs":{},"b":{"docs":{"chapter13/intl.html":{"ref":"chapter13/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":{"chapter13/intl.html":{"ref":"chapter13/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":{"chapter13/intl.html":{"ref":"chapter13/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":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}},"v":{"docs":{},"d":{"docs":{},"s":{"docs":{},".":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.013605442176870748}},":":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.019801980198019802}}},")":{"docs":{},",":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}}},",":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.027210884353741496}}}}}},"i":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028}}}}}}}}}}}}},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}},"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.00749063670411985}}}}}}}}}}}}}}}}}}}},"语":{"docs":{},"句":{"docs":{},"被":{"docs":{},"启":{"docs":{},"用":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"f":{"docs":{},"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"f":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.011834319526627219}}}}}},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001445086705202312}}}}}}},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856}}}}}},"a":{"docs":{},"r":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}},"_":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}},"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.0018832391713747645}}}}}}}}}}}}}}}}}}},"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.0018832391713747645}}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}},"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.0018587360594795538}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}},"t":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.04326923076923077}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}},"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.004807692307692308}}}}}}}}}}}}}}}}}}}},"\"":{"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.007653061224489796}}}}}}}}}}}}}}}}}}}}}}}},"类":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.004807692307692308}}}}}}}}}}}}}}}},"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.004807692307692308}}}}}}}}}}}}},"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.00390625}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"y":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.015625}}}}}}}}}}}}}}}},":":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.014423076923076924},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}},"指":{"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.004807692307692308}}}}}}}}}}}}}}}}},"(":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.0234375},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}}},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.003745318352059925},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.004335260115606936},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.01694915254237288},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.017094017094017096},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0035211267605633804},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.005813953488372093},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}},"/":{"docs":{},"a":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}},"和":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"用":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.015873015873015872},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}},"{":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/socket.html":{"ref":"chapter11/socket.html","tf":0.02857142857142857}}}}}},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0064516129032258064}},")":{"docs":{},";":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0064516129032258064}}}},":":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}},"/":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}}}}}}},"!":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}},"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.0018726591760299626}},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.003745318352059925}},"=":{"docs":{},">":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}}}}}}}}},"e":{"docs":{},"d":{"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":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.003067484662576687}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"s":{"docs":{},".":{"docs":{},"w":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"\"":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.003669724770642202}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}},"l":{"docs":{},"n":{"docs":{},"(":{"docs":{},"\"":{"docs":{},";":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}},"=":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.00749063670411985},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.004335260115606936},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.008403361344537815},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.01694915254237288},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.013761467889908258},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.014150943396226415},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.005698005698005698},"chapter11/socket.html":{"ref":"chapter11/socket.html","tf":0.05714285714285714},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0035211267605633804},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.005813953488372093},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}},"f":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}},"s":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.008086253369272238},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.007692307692307693}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0026954177897574125}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}},":":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}},"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}},":":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"(":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}},"”":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}},"b":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0041928721174004195},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}},"o":{"docs":{},"r":{"docs":{},"b":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}}}}}}}}}}}}}},"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.00390625}}}}}}}}}}}},"x":{"docs":{},"i":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}},"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.005917159763313609},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}}}}}}}}}}}}},"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.005917159763313609},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001445086705202312}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}},"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.02631578947368421},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856}}},":":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856}}}}}}},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856}}}}}}},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856}}}}}}}},"u":{"docs":{},"p":{"docs":{},":":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856}}}}}},"滚":{"docs":{},"动":{"docs":{},"方":{"docs":{},"向":{"docs":{},"。":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.02631578947368421}}}}}}}}}}}}}}}}}}},"\"":{"docs":{},")":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.011299435028248588}},")":{"docs":{},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}}}}}},":":{"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.008771929824561403}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"=":{"1":{"7":{"2":{"8":{"0":{"0":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"n":{"docs":{},"t":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0045871559633027525}}}},"字":{"docs":{},"段":{"docs":{},"。":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}},":":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}},")":{"docs":{},"来":{"docs":{},"看":{"docs":{},"看":{"docs":{},"输":{"docs":{},"出":{"docs":{},"的":{"docs":{},"变":{"docs":{},"化":{"docs":{},"。":{"docs":{"chapter11/socket.html":{"ref":"chapter11/socket.html","tf":0.02857142857142857}}}}}}}}}}}}}}}},"标":{"docs":{},"志":{"docs":{},":":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}},",":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0055762081784386614}}},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0037174721189591076}},")":{"docs":{},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}}}}},"b":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713},"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616}},".":{"docs":{},"z":{"docs":{},"i":{"docs":{},"p":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}},"h":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},":":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}}}}}}}},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},":":{"docs":{},".":{"0":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}},"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.004201680672268907}}}}}}}}}}}}}},"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.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}},"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.006024096385542169}}}}}}}},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}}},"e":{"docs":{},"w":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.004026845637583893}}},"a":{"docs":{},"k":{"docs":{},";":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.011661807580174927},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.01646090534979424}}}}}},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}},"u":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0041928721174004195},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.003669724770642202},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},".":{"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.0035714285714285713}}}}}}}},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"l":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}},",":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},"t":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"s":{"docs":{},"/":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}},"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.012422360248447204}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"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.014598540145985401},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.009302325581395349},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.009615384615384616},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.012578616352201259},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.010141987829614604},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0026954177897574125},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.011834319526627219},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.006060606060606061},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.010752688172043012},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.006134969325153374},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.00967741935483871},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.005454545454545455},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005649717514124294},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.010582010582010581},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.002890173410404624},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.012216404886561954},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0058309037900874635},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.015463917525773196},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.017543859649122806},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.008403361344537815},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.006172839506172839},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.009852216748768473},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.009966777408637873},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.004705882352941176},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.012658227848101266}}}}}}}}}}}}}},")":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.012121212121212121}},";":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}},":":{"docs":{},"此":{"docs":{},"回":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}},",":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001445086705202312}}},":":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.010582010582010581},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.00939306358381503},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005154639175257732},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.009302325581395349},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.004705882352941176}}},"进":{"docs":{},"行":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},",":{"docs":{},"如":{"docs":{},"图":{"2":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}}},"docs":{}}}}}}}}},"(":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}},"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.0013477088948787063},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.01090909090909091},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001445086705202312},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602}}},",":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.012422360248447204}}}}}}}}}}},"{":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}},";":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001445086705202312},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602}}},":":{"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":{},"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":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{},";":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}},"时":{"docs":{},"可":{"docs":{},"以":{"docs":{},"被":{"docs":{},"同":{"docs":{},"步":{"docs":{},"读":{"docs":{},"取":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}}}}}}}}},"方":{"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":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.005454545454545455}}}},"了":{"docs":{},",":{"docs":{},"即":{"docs":{},"按":{"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":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"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":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"时":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"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":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"日":{"docs":{},"志":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"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":{},"经":{"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":{},"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":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"调":{"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":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"了":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"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":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0036127167630057803},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.01818181818181818},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}},"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.006211180124223602}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"n":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.005504587155963303}},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}},"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.0018587360594795538}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006557377049180328}}}}},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.009615384615384616}},"e":{"docs":{},"中":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}},"前":{"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.004807692307692308}}}}}}}}}}}}},"加":{"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.004807692307692308}}}}}}}}}}}}}}}}}}},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"使":{"docs":{},"父":{"docs":{},"级":{"docs":{},"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"?":{"docs":{},")":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}},":":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.005369127516778523},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0072992700729927005}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}}}},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}}}}}}},"s":{"docs":{},".":{"docs":{},"e":{"docs":{},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}},"\"":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}}}}}}}}}}}}}}},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"(":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},",":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"(":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},",":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}},"\"":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}}}}}}}}}}}}}}},"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":{},"行":{"docs":{},"。":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"6":{"4":{"docs":{},".":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"(":{"docs":{},"u":{"docs":{},"t":{"docs":{},"f":{"8":{"docs":{},".":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"(":{"docs":{},"'":{"docs":{},"$":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},":":{"docs":{},"$":{"docs":{},"p":{"docs":{},"w":{"docs":{},"d":{"docs":{},"'":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}},"docs":{}},"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.0013477088948787063}}}}}}}}},"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},":":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}},"i":{"docs":{},"c":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0045871559633027525},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.005813953488372093}},";":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.005813953488372093}}}}}},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}}},"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":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.00881057268722467},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.004081632653061225}}},":":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.03524229074889868},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.004081632653061225}}},":":{"docs":{},"指":{"docs":{},"示":{"docs":{},"器":{"docs":{},"的":{"docs":{},"背":{"docs":{},"景":{"docs":{},"色":{"docs":{},"。":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}}}}}}}}}}}}},"、":{"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.0020964360587002098}}}}}}}}}}}}}}},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"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.011627906976744186}}}}}}}}}}}},":":{"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.011627906976744186}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.002167630057803468}}},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001445086705202312}}},";":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602}}}}}}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001445086705202312}},"i":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.002890173410404624}}},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.002167630057803468}}},";":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"e":{"docs":{},"l":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.002167630057803468}}},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001445086705202312}}},";":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602}}}}}}}}}}}}},"d":{"docs":{},"g":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.03571428571428571},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.02857142857142857},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.025078369905956112},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}},";":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.014285714285714285},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}},":":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.012539184952978056}},"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}},";":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.008264462809917356}},".":{"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.008264462809917356}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},")":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616}}},"(":{"docs":{},"位":{"docs":{},")":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}},"(":{"docs":{},"位":{"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"]":{"docs":{},";":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0018587360594795538}}}}},"的":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}},"o":{"docs":{},"b":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}},"l":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}},"o":{"docs":{},"l":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.00749063670411985},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.0069767441860465115},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.012170385395537525},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.02702702702702703},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.008086253369272238},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.013440860215053764},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.020242914979757085},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.008670520231213872},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.011661807580174927},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.018633540372670808},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.005442176870748299},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.02654867256637168},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0056022408963585435},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.011299435028248588},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.004694835680751174},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.007575757575757576},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.014534883720930232},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.007692307692307693}},")":{"docs":{},"{":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}},".":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"v":{"docs":{},"i":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},".":{"docs":{},"v":{"docs":{},"m":{"docs":{},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.00510204081632653}}}},"d":{"docs":{},"y":{"docs":{},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004651162790697674},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.012658227848101266}}},"的":{"docs":{},"组":{"docs":{},"件":{"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.0024330900243309003}}}}}}}}}}}}}}}},"(":{"docs":{},")":{"docs":{},",":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}}}},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}},"x":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.006085192697768763},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.013245033112582781},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}}}}}}}},"{":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186}}},"/":{"docs":{},"/":{"docs":{},"背":{"docs":{},"景":{"docs":{},"装":{"docs":{},"饰":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}}}}}}}}}}}}}}}}}}},"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.00425531914893617},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}},"s":{"docs":{},"(":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}},"w":{"docs":{},"=":{"4":{"1":{"1":{"docs":{},".":{"4":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.00303951367781155}}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.02553191489361702}}}}}}}},"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.00851063829787234}}}}}}}}}}},"a":{"docs":{},"x":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}},"{":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}}}},".":{"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.0078125},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}},"可":{"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.00425531914893617}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}},"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.00425531914893617},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}}}}}}}},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}}}}}}}}}},"(":{"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.005649717514124294}}}},"docs":{}}},"docs":{}},"docs":{}},"3":{"0":{"0":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.011299435028248588}}}},"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.00425531914893617}}}}}}}}}}}}}}}}}},"还":{"docs":{},"定":{"docs":{},"义":{"docs":{},"了":{"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.00425531914893617}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}},")":{"docs":{},",":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.00510204081632653}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}}}},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}}}}}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186}}}}}},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"(":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}},",":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186}}},":":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}},"p":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186}},"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.011627906976744186}}}}}}}}}}}}}}}}}},"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.0018832391713747645}},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}},")":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}},"定":{"docs":{},"义":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}}}}}}}}}}}},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"(":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}}}}}},":":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.004043126684636119},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"u":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}},"s":{"docs":{},".":{"docs":{},"c":{"docs":{},"i":{"docs":{},"r":{"docs":{},"c":{"docs":{},"u":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{},"(":{"1":{"2":{"docs":{},")":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}},"docs":{}},"2":{"0":{"docs":{},".":{"0":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}}}},"docs":{}}},"docs":{},")":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}},"3":{"docs":{},".":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186}}}}},"docs":{}}},"5":{"docs":{},".":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}}}},"docs":{}}},"docs":{}}}}}}}}}}},",":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.009852216748768473},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},":":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.009852216748768473},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}}},"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.011627906976744186}}}}}}}}}},";":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}}}}}},"(":{"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.0013477088948787063}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"(":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}}}},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}},",":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186}}},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"(":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}},"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":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"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.0078125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"来":{"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":{},"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.0078125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{},":":{"docs":{},"分":{"docs":{},"别":{"docs":{},"指":{"docs":{},"定":{"docs":{},"四":{"docs":{},"个":{"docs":{},"方":{"docs":{},"向":{"docs":{},"的":{"docs":{},"填":{"docs":{},"充":{"docs":{},"。":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684}}}}}}}}}}}}}}}},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00404040404040404},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.004705882352941176}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}},"的":{"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.00202020202020202}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}},"(":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00404040404040404}}},"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0017452006980802793}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0034904013961605585}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"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.02631578947368421}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}},"g":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},"~":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}},"s":{"docs":{},"s":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}},"字":{"docs":{},"段":{"docs":{},":":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186}},"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.00510204081632653}}}}}}}}}}}}}}}}}}}}},"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.011627906976744186},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}},"e":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}},"o":{"docs":{},"c":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}},":":{"docs":{},"显":{"docs":{},"示":{"docs":{},"用":{"docs":{},"户":{"docs":{},"头":{"docs":{},"像":{"docs":{},"原":{"docs":{},"图":{"docs":{},",":{"docs":{},"矩":{"docs":{},"形":{"docs":{},";":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403}}}}}}}}}}}}}}},")":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0055762081784386614}},",":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}},"y":{"docs":{},"t":{"docs":{},"e":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},"s":{"docs":{},"=":{"0":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.008547008547008548}}},"docs":{}}},"[":{"docs":{},"]":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}}},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0037174721189591076}},")":{"docs":{},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}}}}},"c":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713},"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0170316301703163},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.009302325581395349},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.012578616352201259},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.018255578093306288},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.00510204081632653},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.02702702702702703},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.005390835579514825},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.00881057268722467},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.011834319526627219},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00808080808080808},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.013605442176870748},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.008064516129032258},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.008097165991902834},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.012269938650306749},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.024390243902439025},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.01935483870967742},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.016363636363636365},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.00847457627118644},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.004335260115606936},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.019197207678883072},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.01749271137026239},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.009900990099009901},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.015463917525773196},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.017543859649122806},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.012605042016806723},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00823045267489712},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.014778325123152709},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.019933554817275746},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.00909090909090909},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.005442176870748299},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.011299435028248588},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0045871559633027525},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.009302325581395349},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.009174311926605505},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.017699115044247787},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0056022408963585435},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.030303030303030304},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.005649717514124294},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0037174721189591076},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.005868544600938967},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.01893939393939394},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.011627906976744186},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.007058823529411765},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.007692307692307693},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.012658227848101266}},")":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}},"=":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}},"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.02631578947368421}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616}},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}}}},"p":{"docs":{},"o":{"docs":{},"v":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}},"a":{"docs":{},"l":{"docs":{},"(":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},":":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}}}}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}},"(":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}},"/":{"docs":{},"/":{"docs":{},"将":{"docs":{},"溢":{"docs":{},"出":{"docs":{},"部":{"docs":{},"分":{"docs":{},"剪":{"docs":{},"裁":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}},"(":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}}}}}}}}}},"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}},"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":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}},"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.0035714285714285713}}}}}}},"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.0035714285714285713}}}}}}}}}}}}}}}},"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.002577319587628866},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}},"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.006060606060606061}},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"{":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}}}}}}}}}}}}}},"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.0037174721189591076}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}},"n":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}},"o":{"docs":{},"n":{"docs":{"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.030303030303030304}}}}}},"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.0035714285714285713}}}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"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":{},"b":{"docs":{},"y":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.008385744234800839},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.03125},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.012048192771084338},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.012755102040816327},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.006738544474393531},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00823045267489712},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.029585798816568046},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015625},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.010309278350515464},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.031578947368421054},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.012903225806451613},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.014141414141414142},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.01881720430107527},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005649717514124294},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.008670520231213872},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.019801980198019802},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010309278350515464},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00823045267489712},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.00816326530612245},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.005698005698005698},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.009302325581395349},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.005504587155963303},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.014285714285714285},"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.027777777777777776},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0056022408963585435},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0035211267605633804},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.015294117647058824},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.007692307692307693},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}},",":{"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.0018726591760299626}}}}}}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.003766478342749529}},"s":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.03404255319148936},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.01694915254237288},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}},",":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}},".":{"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.0018832391713747645}}}}}}}}}}}},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}},"(":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.03404255319148936},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.01694915254237288},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter15/login_page.html":{"ref":"chapter15/login_page.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":{},"是":{"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.00425531914893617}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001445086705202312}}}}}}}}}}}}}},"u":{"docs":{},"m":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}},"e":{"docs":{},"r":{"2":{"docs":{},"(":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}},"docs":{},"(":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}},"{":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}},"实":{"docs":{},"现":{"docs":{},"非":{"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":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"获":{"docs":{},"取":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"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":{},")":{"docs":{},"。":{"docs":{},"现":{"docs":{},"在":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"块":{"docs":{},"可":{"docs":{},"以":{"docs":{},"优":{"docs":{},"化":{"docs":{},"为":{"docs":{},"如":{"docs":{},"下":{"docs":{},"这":{"docs":{},"样":{"docs":{},":":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.009732360097323601},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.009302325581395349},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.009615384615384616},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.012578616352201259},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.010141987829614604},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0026954177897574125},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.011834319526627219},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.006060606060606061},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.010752688172043012},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.006134969325153374},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.016129032258064516},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.007272727272727273},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005649717514124294},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.010582010582010581},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0072254335260115606},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.012216404886561954},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0058309037900874635},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.015463917525773196},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.017543859649122806},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.008403361344537815},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.006172839506172839},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.009852216748768473},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.009966777408637873},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.004705882352941176},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.012658227848101266}},",":{"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"来":{"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.002824858757062147}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.013953488372093023},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006557377049180328},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.01881720430107527},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.007272727272727273},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.015873015873015872},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.015173410404624277},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.031055900621118012},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter10/intro.html":{"ref":"chapter10/intro.html","tf":0.04},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.005649717514124294},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.0058823529411764705}}},":":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.00939306358381503},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}}},",":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"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":{},"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":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},";":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},")":{"docs":{},"?":{"docs":{},".":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.002824858757062147}},"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.0064516129032258064}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364}}}}}}},"_":{"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.002824858757062147}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.006060606060606061}}}}}}}}}}}}}}}}}}}},"s":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}}},"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.0018832391713747645}}}}}}}}}}}}}}}}}}}},"上":{"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":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}}}}}}}}},"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}},"}":{"docs":{},")":{"docs":{},";":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}},"n":{"docs":{},"t":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0045871559633027525},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.006502890173410405},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0041928721174004195},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.010141987829614604},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.012345679012345678},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.023668639053254437},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.010309278350515464},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.012903225806451613},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.019867549668874173},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.011299435028248588},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005154639175257732},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.012605042016806723},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0297029702970297}}}}}}}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},":":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015625}}}}}}}},"{":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}}},".":{"docs":{},".":{"docs":{},".":{"docs":{},")":{"docs":{},",":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}},"可":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}},"容":{"docs":{},"器":{"docs":{"chapter5/":{"ref":"chapter5/","tf":0.07692307692307693}}}},"的":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"属":{"docs":{},"性":{"docs":{},"在":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"其":{"docs":{},"它":{"docs":{},"容":{"docs":{},"器":{"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.006622516556291391}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.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":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.019801980198019802},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010309278350515464},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.008264462809917356}},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.009900990099009901},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.01680672268907563}}},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.005390835579514825},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.006060606060606061},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.007692307692307693}}},":":{"docs":{},"编":{"docs":{},"辑":{"docs":{},"框":{"docs":{},"的":{"docs":{},"控":{"docs":{},"制":{"docs":{},"器":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"设":{"docs":{},"置":{"docs":{},"/":{"docs":{},"获":{"docs":{},"取":{"docs":{},"编":{"docs":{},"辑":{"docs":{},"框":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"、":{"docs":{},"选":{"docs":{},"择":{"docs":{},"编":{"docs":{},"辑":{"docs":{},"内":{"docs":{},"容":{"docs":{},"、":{"docs":{},"监":{"docs":{},"听":{"docs":{},"编":{"docs":{},"辑":{"docs":{},"文":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"此":{"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":{},"组":{"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":{},"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":{},"组":{"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":{},"是":{"docs":{},"父":{"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":{},"是":{"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":{},"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.02631578947368421}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"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.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.003067484662576687}}}}}}}}}},"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.003067484662576687}}}}}}}}}},"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.005154639175257732}}}}}}}}}}}},"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.01288659793814433}}}}}}}}}}}},"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.002577319587628866}}}}}}}}}}}}},";":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005154639175257732},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}},")":{"docs":{},";":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}},":":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}},"s":{"docs":{},"面":{"docs":{},"板":{"docs":{},"中":{"docs":{},"的":{"docs":{},"电":{"docs":{},"池":{"docs":{},"电":{"docs":{},"量":{"docs":{},"。":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028}}}}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"u":{"docs":{},"r":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}},"s":{"docs":{},".":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}},")":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0035211267605633804}},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},".":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}},"d":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}},":":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}}}}}}},":":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}},"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.0035714285714285713}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"a":{"docs":{},"p":{"docs":{},"o":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},"s":{"docs":{},"目":{"docs":{},"前":{"docs":{},"不":{"docs":{},"提":{"docs":{},"供":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"覆":{"docs":{},"盖":{"docs":{},"功":{"docs":{},"能":{"docs":{},"。":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616}}},"之":{"docs":{},"一":{"docs":{},"以":{"docs":{},"获":{"docs":{},"得":{"docs":{},"更":{"docs":{},"好":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"体":{"docs":{},"验":{"docs":{},"。":{"docs":{},"f":{"docs":{},"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"轻":{"docs":{},"量":{"docs":{},"级":{"docs":{},"编":{"docs":{},"辑":{"docs":{},"器":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"配":{"docs":{},"置":{"docs":{},"与":{"docs":{},"使":{"docs":{},"用":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}},"及":{"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.0013422818791946308}}}}}}}}}}}}}}}},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"其":{"docs":{},"官":{"docs":{},"网":{"docs":{},"获":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"f":{"docs":{},"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":{},"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":{},"介":{"docs":{},"绍":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},".":{"docs":{},"_":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}},":":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}},"参":{"docs":{},"数":{"docs":{},"值":{"docs":{},"为":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"继":{"docs":{},"续":{"docs":{},"看":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},":":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.00881057268722467},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.022598870056497175},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001445086705202312},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.005442176870748299},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.012658227848101266}},"s":{"docs":{},".":{"docs":{},"b":{"docs":{},"l":{"docs":{},"u":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}},"e":{"docs":{},",":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.0069767441860465115},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.00510204081632653},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.019801980198019802},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}},")":{"docs":{},",":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}}},";":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}},"[":{"2":{"0":{"0":{"docs":{},"]":{"docs":{},"]":{"docs":{},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}}}}}},"docs":{}},"docs":{}},"3":{"0":{"0":{"docs":{},"]":{"docs":{},"]":{"docs":{},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}},"docs":{}},"docs":{}},"5":{"0":{"docs":{},"]":{"docs":{},",":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.010309278350515464}}},"到":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},".":{"docs":{},"b":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"[":{"1":{"0":{"0":{"docs":{},"]":{"docs":{},"的":{"docs":{},"色":{"docs":{},"值":{"docs":{},"从":{"docs":{},"浅":{"docs":{},"蓝":{"docs":{},"到":{"docs":{},"深":{"docs":{},"蓝":{"docs":{},"渐":{"docs":{},"变":{"docs":{},",":{"docs":{},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"图":{"7":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}},"docs":{}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}},"docs":{}},"7":{"0":{"0":{"docs":{},"]":{"docs":{},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}}},"docs":{}},"docs":{}},"docs":{}},")":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}},")":{"docs":{},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}}}},";":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"]":{"docs":{},",":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}}}}}}},"]":{"docs":{},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"y":{"docs":{},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}},"[":{"7":{"0":{"0":{"docs":{},"]":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}},"a":{"docs":{},"c":{"docs":{},"k":{"2":{"6":{"docs":{},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}},"docs":{}},"5":{"4":{"docs":{},",":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}},")":{"docs":{},";":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}},"docs":{}},"8":{"7":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}},"docs":{}},"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}},",":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064}}},".":{"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.004201680672268907}}}}},"5":{"docs":{},")":{"docs":{},",":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}}}},"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.0049504950495049506}}}}}}}}}},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}},"[":{"2":{"0":{"0":{"docs":{},"]":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0026954177897574125},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.03524229074889868}}}}},"docs":{}},"docs":{}},"6":{"0":{"0":{"docs":{},"]":{"docs":{},",":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.006085192697768763}}}}},"docs":{}},"docs":{}},"7":{"0":{"0":{"docs":{},"]":{"docs":{},")":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}},"docs":{}},"docs":{}},"docs":{}},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0026954177897574125},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}}},")":{"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.0013477088948787063}}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}},",":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.011834319526627219},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.012903225806451613},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}},")":{"docs":{},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.01020408163265306},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}}}}},")":{"docs":{},")":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}},",":{"docs":{},")":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}}},";":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}},"[":{"2":{"0":{"0":{"docs":{},"]":{"docs":{},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}},"docs":{}},"docs":{}},"7":{"0":{"0":{"docs":{},"]":{"docs":{},"]":{"docs":{},",":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}}},"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/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.006085192697768763}}}},"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":{}}}}}}}}}}},"t":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005649717514124294}},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"[":{"7":{"0":{"0":{"docs":{},"]":{"docs":{},",":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}},"docs":{}},"docs":{}},"docs":{}},";":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}},",":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}},"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.0049504950495049506},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}},")":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}}}},"w":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015625},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}}}},",":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.004056795131845842},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}},")":{"docs":{},",":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186}}}}}},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}},"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.002551020408163265},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}}}}}}}}}}},"r":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00823045267489712},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.011834319526627219},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015625},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}},")":{"docs":{},",":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}}}}},")":{"docs":{},",":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.03225806451612903}}}},"]":{"docs":{},",":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}}}},"[":{"5":{"0":{"docs":{},"]":{"docs":{},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}},"docs":{}},"docs":{}}}}},"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.0049504950495049506}}}}}}}}}}},"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.0064516129032258064}}}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.013245033112582781}}}},",":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.013245033112582781},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}}},"]":{"docs":{},",":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}},"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":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}}}}}},"docs":{}},"docs":{}},"docs":{}},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}},"]":{"docs":{},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}},"a":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}},":":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.014778325123152709},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.017687074829931974}}},";":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.004081632653061225}}},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}},"w":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}},"(":{"0":{"docs":{},"x":{"0":{"0":{"0":{"0":{"0":{"0":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"7":{"7":{"docs":{},"c":{"docs":{},"d":{"docs":{},"b":{"1":{"7":{"5":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}},"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.001519756838905775}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}},"docs":{}},"f":{"docs":{},"f":{"0":{"docs":{},"d":{"4":{"7":{"docs":{},"a":{"1":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}},"docs":{}}},"docs":{}},"docs":{}}},"1":{"5":{"6":{"5":{"docs":{},"c":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}},"docs":{}}},"docs":{}},"docs":{}},"9":{"7":{"6":{"docs":{},"d":{"2":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{},"e":{"8":{"8":{"docs":{},"e":{"5":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}},"docs":{}}},"docs":{}},"docs":{}}},"2":{"1":{"9":{"6":{"docs":{},"f":{"3":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.00303951367781155}},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"4":{"2":{"docs":{},"a":{"5":{"docs":{},"f":{"5":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}},"docs":{}}},"docs":{}}},"docs":{}},"6":{"4":{"docs":{},"b":{"5":{"docs":{},"f":{"6":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}},"docs":{}}},"docs":{}}},"docs":{}},"9":{"0":{"docs":{},"c":{"docs":{},"a":{"docs":{},"f":{"9":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}},"docs":{}}}}},"docs":{}},"docs":{},"f":{"docs":{},"f":{"docs":{},"f":{"docs":{},"f":{"0":{"0":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}},"docs":{}},"docs":{}}}}},"b":{"docs":{},"b":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"b":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}},"d":{"docs":{},"c":{"3":{"8":{"0":{"docs":{},"d":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}},"docs":{}},"docs":{}},"docs":{}}},"e":{"3":{"docs":{},"f":{"2":{"docs":{},"f":{"docs":{},"d":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}},"docs":{}}},"docs":{},"e":{"docs":{},"e":{"docs":{},"e":{"docs":{},"e":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}}}}}}}}}}}}}},"docs":{},"_":{"docs":{},"b":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},"c":{"docs":{},",":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"x":{"docs":{},":":{"1":{"6":{"docs":{},")":{"docs":{},")":{"docs":{},".":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"a":{"docs":{},"l":{"docs":{},"p":{"docs":{},"h":{"docs":{},"a":{"docs":{},"(":{"2":{"5":{"5":{"docs":{},")":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}},"|":{"0":{"docs":{},"x":{"docs":{},"f":{"docs":{},"f":{"0":{"0":{"0":{"0":{"0":{"0":{"docs":{},")":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}},"docs":{}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0041928721174004195},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.014198782961460446},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.01171875},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.018072289156626505},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.007653061224489796},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0026954177897574125},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.012345679012345678},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.023668639053254437},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0297029702970297},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015625},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.010309278350515464},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.012903225806451613},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.019867549668874173},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00404040404040404},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.011299435028248588},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.011299435028248588},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0034904013961605585},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.012605042016806723},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.00823529411764706},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.012658227848101266}},"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.00390625}}}}}},"b":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"5":{"4":{"docs":{},",":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186}}}},"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.006024096385542169}}}}}}}}}}}},"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.00510204081632653}}},":":{"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.002551020408163265}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"和":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}},"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":{},"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.006622516556291391}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"w":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}},"(":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}},"b":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}}}}}}}}}},",":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}}}}}}}},";":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}},"]":{"docs":{},";":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}},")":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}},"[":{"5":{"0":{"0":{"docs":{},"]":{"docs":{},".":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856}},"(":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004651162790697674},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.006738544474393531},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.024691358024691357},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005649717514124294},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0050578034682080926},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.0035294117647058825},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}},"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.005376344086021506}}}}}}}}}}}},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}},"可":{"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":{},"纵":{"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":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.003278688524590164}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}},"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.0020964360587002098}},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0041928721174004195}}}},"{":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}},"接":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},")":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}},",":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}},",":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}},";":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}},"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.002551020408163265}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"k":{"docs":{},"i":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308},"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.010416666666666666},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.014285714285714285},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}},"o":{"docs":{},"r":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.004559270516717325}}}}},"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.004866180048661801},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0041928721174004195},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.008113590263691683},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0026954177897574125},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.006134969325153374},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0064516129032258064},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001445086705202312},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.006980802792321117},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005154639175257732},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.009966777408637873},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}}}}}}},"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.003067484662576687}}}}}}}}}}}}}}}}},"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.0041928721174004195},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}},":":{"docs":{},"正":{"docs":{},"如":{"docs":{},"前":{"docs":{},"文":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.00425531914893617}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.011627906976744186}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},"n":{"docs":{},"o":{"docs":{},")":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}},",":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.005698005698005698}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"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":{},"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/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},")":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}},";":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}},"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.012345679012345678}},"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.00390625},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.012345679012345678},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.002167630057803468},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.0035294117647058825}}}}}}}},"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.012345679012345678},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0205761316872428},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.002167630057803468},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.0035294117647058825}}},":":{"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":{},",":{"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.00411522633744856}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}}},":":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.012145748987854251},"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":{},"以":{"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.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.008097165991902834}},"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.004048582995951417}}}}}}}}}}}}}},":":{"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.0035714285714285713}}}}}}}}}}}}}}}},"+":{"docs":{},"+":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01}}}}}}},"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":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.009302325581395349},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028}},"s":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}},"查":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}},".":{"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":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}},"_":{"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":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.009302325581395349}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},",":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}},";":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}},")":{"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":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"f":{"docs":{},"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":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"插":{"docs":{},"件":{"docs":{},"的":{"docs":{},"底":{"docs":{},"层":{"docs":{},"基":{"docs":{},"础":{"docs":{},"设":{"docs":{},"施":{"docs":{},"。":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"主":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}},")":{"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}},"e":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0064516129032258064}}}}},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}},"{":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"(":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"(":{"2":{"0":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364}}}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}}},",":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"(":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.0035294117647058825}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"u":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}},"s":{"docs":{},".":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005154639175257732},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.005649717514124294}},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.009732360097323601},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.01627906976744186},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.004559270516717325},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.014675052410901468},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.02231237322515213},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.024096385542168676},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.007653061224489796},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.013477088948787063},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.022026431718061675},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.024691358024691357},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.04142011834319527},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.019801980198019802},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0390625},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.03608247422680412},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.042105263157894736},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.059574468085106386},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.023255813953488372},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.08387096774193549},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.046357615894039736},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.01818181818181818},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.047619047619047616},"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.02631578947368421},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.043478260869565216},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.008064516129032258},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.020134228187919462},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.015337423312883436},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.024390243902439025},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.012903225806451613},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.01090909090909091},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.011299435028248588},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.02384393063583815},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.062146892655367235},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.029668411867364748},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.023323615160349854},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.023195876288659795},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.018633540372670808},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.06140350877192982},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.01680672268907563},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.018518518518518517},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.054187192118226604},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.019933554817275746},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.00909090909090909},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.021768707482993196},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.011299435028248588},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.009174311926605505},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.018604651162790697},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.02142857142857143},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.01818181818181818},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.003766478342749529},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.023529411764705882},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.019230769230769232},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.012658227848101266}},"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.0013477088948787063}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00823045267489712},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004651162790697674},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.0078125},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.01020408163265306},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.008086253369272238},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0411522633744856},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.01775147928994083},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.01485148514851485},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015625},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.012903225806451613},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.010101010101010102},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.02040816326530612},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.012145748987854251},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.011299435028248588},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.01083815028901734},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.008726003490401396},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.005442176870748299},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.0058823529411764705},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.012658227848101266}},"[":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}}}},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}},"是":{"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":{},"图":{"3":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{},";":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"(":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"d":{"docs":{},"\"":{"docs":{},".":{"docs":{},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"(":{"docs":{},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"(":{"docs":{},"[":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001445086705202312},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.026748971193415638},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.003766478342749529}}},")":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001445086705202312},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005154639175257732},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.012422360248447204},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.0035294117647058825}},";":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001445086705202312}}}},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},")":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},",":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}},"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.008097165991902834}},":":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.020242914979757085},"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":{},"。":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308}}}}}}}},";":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}},"}":{"docs":{},")":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}},".":{"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.0018832391713747645}}}}}}}}}}}}}},"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}},"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.0018832391713747645}}}}}}}}}}}}}}}}},"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.0018832391713747645}}}}}}}}}},"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.0018832391713747645}},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}}}}}}}},"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.0018832391713747645}},".":{"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.0018832391713747645}}}}}}}}}}}}}},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}},"p":{"docs":{},"(":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.019801980198019802}}}}},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}},"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.001519756838905775}}}}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"(":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0036127167630057803}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"k":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.011396011396011397}},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.011396011396011397}}}}},"e":{"docs":{},"v":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},")":{"docs":{},",":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}},",":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"(":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"u":{"docs":{},"n":{"docs":{},"k":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},",":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}},":":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}},":":{"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/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},"t":{"docs":{},"r":{"docs":{},"l":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.004026845637583893}}}},"x":{"docs":{},",":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866}}},")":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}},"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.003745318352059925}}}}},")":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}},",":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}},",":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.012539184952978056},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.008264462809917356}}},".":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},")":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}},"(":{"docs":{},"e":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}},"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.0018726591760299626}}}}}}}}}}}}}}}}},"才":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"语":{"docs":{},"句":{"docs":{},"中":{"docs":{},"。":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}}}}}},"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.001519756838905775}}},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}}}}}}}},"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0020964360587002098}}}}}}}}}}}}}}},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}}}}}}},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},",":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.00909090909090909},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}},".":{"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":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{},"(":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}}}}}}}}}}},":":{"docs":{},"一":{"docs":{},"个":{"docs":{},"画":{"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/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00404040404040404},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.021164021164021163},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.011661807580174927},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.01646090534979424}}}},"c":{"docs":{},"h":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0045871559633027525},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}},"e":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}}}}}}}}},",":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}},"g":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}},"(":{"docs":{},")":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"w":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"(":{"docs":{},"(":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},",":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}},"[":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"]":{"docs":{},";":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.005813953488372093}},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.005813953488372093}}}}}}}}}}}}}}}}}}}}}}},"d":{"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":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}},"r":{"docs":{},"t":{"docs":{},")":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}},"=":{"docs":{},">":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}},"=":{"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":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}},"(":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}},"即":{"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":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}}},"b":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}},"中":{"docs":{},"的":{"docs":{},"i":{"docs":{},"d":{"docs":{},"作":{"docs":{},"用":{"docs":{},"很":{"docs":{},"像":{"docs":{},".":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}}}}},"和":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}},"(":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.0069767441860465115},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.006289308176100629},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.006085192697768763},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.005235602094240838},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010309278350515464},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},"{":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},":":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.011299435028248588}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856}}}}}}}}}}}},"三":{"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.00411522633744856}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"组":{"docs":{},"件":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}},":":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}}}}}}},"r":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"o":{"docs":{},"_":{"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.0125}}}}}}}}},"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.0020964360587002098}}}}}}}}},"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.0020964360587002098}}}}}}}}}}}}}}}}}}}},"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.0020964360587002098}}}}}}}}}}}}}}}},"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.0020964360587002098}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602}}},"是":{"docs":{},"c":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"o":{"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":{},"画":{"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":{},"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":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0020964360587002098}}}}}}}}}},"组":{"docs":{},"件":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}},"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.02631578947368421}},"是":{"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.02631578947368421}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"p":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.001519756838905775},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.013636363636363636},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}},"与":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{"chapter10/":{"ref":"chapter10/","tf":0.16666666666666666}}}}}}}},"(":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.00909090909090909},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}},"{":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}},"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":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"p":{"docs":{},"p":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.013605442176870748}}}}}}},"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":0.006711409395973154}},"(":{"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":{},"组":{"docs":{},"件":{"docs":{},"。":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"包":{"docs":{},"含":{"docs":{},"多":{"docs":{},"种":{"docs":{},"滚":{"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":{},"组":{"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}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"等":{"docs":{},")":{"docs":{},",":{"docs":{},"如":{"docs":{},"下":{"docs":{},"面":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"运":{"docs":{},"行":{"docs":{},"后":{"docs":{},"会":{"docs":{},"报":{"docs":{},"错":{"docs":{},"。":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}}}}}}}}},"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}}},"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.00202020202020202}}}}}}}},")":{"docs":{},"{":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}},"=":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0297029702970297}},"e":{"docs":{},":":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.009900990099009901},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.025210084033613446},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}}},"s":{"docs":{},".":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}},")":{"docs":{},";":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}}},"i":{"docs":{},"n":{"docs":{},")":{"docs":{},";":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}},",":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.012605042016806723}}},")":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}},"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.002577319587628866}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}},"/":{"docs":{},"/":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}}}},"曲":{"docs":{},"线":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}},"d":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.012605042016806723},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.009900990099009901}}}}}}}}}},"和":{"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.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}},"/":{"7":{"docs":{},".":{"5":{"4":{"docs":{},".":{"0":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}}}},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}}},"b":{"docs":{},"y":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"以":{"docs":{},"下":{"docs":{},"简":{"docs":{},"称":{"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":{},"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":{},"程":{"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.003278688524590164}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.01762114537444934},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00851063829787234}},"{":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}},")":{"docs":{},";":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"圆":{"docs":{},"形":{"docs":{},"进":{"docs":{},"度":{"docs":{},"条":{"docs":{},",":{"docs":{},"定":{"docs":{},"义":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.00202020202020202}}}}}}}}}}}}}}}}}}}}}}}}},"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.003067484662576687}},"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.019801980198019802}}}}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.008726003490401396}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"u":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}},"和":{"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":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"代":{"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"相":{"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0035714285714285713}},"(":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}},"获":{"docs":{},"取":{"docs":{},"项":{"docs":{},"目":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"包":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}},"。":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"(":{"docs":{},"v":{"docs":{},",":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}},"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.0018726591760299626}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.003745318352059925}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}}}}}}}},"\"":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}}},"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":{},"图":{"docs":{},"片":{"docs":{},"大":{"docs":{},"小":{"docs":{},"是":{"6":{"0":{"docs":{},"×":{"6":{"0":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"返":{"docs":{},"回":{"docs":{},"剪":{"docs":{},"裁":{"docs":{},"区":{"docs":{},"域":{"docs":{},"为":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},".":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"l":{"docs":{},"t":{"docs":{},"w":{"docs":{},"h":{"docs":{},"(":{"1":{"0":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}}}}}}},"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":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"”":{"docs":{},")":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}},"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028}},":":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}},";":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}},"]":{"docs":{},";":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}},"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}},"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"(":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616}},"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.002688172043010753}}}}}}}}}}}},"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}},"(":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}},"(":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.006085192697768763},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.012216404886561954},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}},"监":{"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/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0017452006980802793}}}}}}}}}},"内":{"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.0017452006980802793}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"监":{"docs":{},"听":{"docs":{},"缩":{"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.0017452006980802793}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"用":{"docs":{},"于":{"docs":{},"手":{"docs":{},"势":{"docs":{},"识":{"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":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"g":{"docs":{},"n":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}}},"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.0017452006980802793}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}}}}}}}}}},"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.0018587360594795538}}},":":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"k":{"docs":{},"o":{"docs":{},")":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}},"i":{"docs":{},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}},":":{"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"项":{"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.0026845637583892616}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"示":{"docs":{},"例":{"docs":{"chapter15/intro.html":{"ref":"chapter15/intro.html","tf":0.05}}}}}}},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.030303030303030304}}}}}}}}}}}}},"账":{"docs":{},"号":{"docs":{},"信":{"docs":{},"息":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}},";":{"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":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.0125}},"/":{"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.00625}}}}}}}}}}}}}}}}}}}}}},"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.00625}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}},"(":{"docs":{},"[":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"]":{"docs":{},")":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"(":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},"_":{"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":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.004807692307692308}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}},"r":{"docs":{},"l":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}},"o":{"docs":{},"o":{"docs":{},"g":{"docs":{},"l":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}},"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},")":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}},"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"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":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}}}}}}}}}}}},"是":{"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":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}}}}}}}}}}}}},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},"就":{"docs":{},"有":{"docs":{},"一":{"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.00202020202020202}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"跑":{"docs":{},"起":{"docs":{},"来":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"很":{"docs":{},"全":{"docs":{},"面":{"docs":{},"的":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"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":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"第":{"docs":{},"一":{"docs":{},"手":{"docs":{},"资":{"docs":{},"料":{"docs":{},"。":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}},"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},"定":{"docs":{},"义":{"docs":{},"组":{"docs":{},"件":{"docs":{},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{},"文":{"docs":{},"本":{"docs":{},"方":{"docs":{},"向":{"docs":{},",":{"docs":{},"从":{"docs":{},"左":{"docs":{},"到":{"docs":{},"右":{"docs":{},"或":{"docs":{},"从":{"docs":{},"右":{"docs":{},"到":{"docs":{},"左":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"有":{"docs":{},"些":{"docs":{},"语":{"docs":{},"言":{"docs":{},"的":{"docs":{},"阅":{"docs":{},"读":{"docs":{},"习":{"docs":{},"惯":{"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/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},".":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"(":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}},".":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}},";":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},";":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}},"e":{"docs":{},"s":{"docs":{},".":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"(":{"docs":{},"(":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}},"的":{"docs":{},"各":{"docs":{},"个":{"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":{},"(":{"docs":{},")":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"启":{"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":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"l":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},"e":{"docs":{},"/":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}},",":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186}}},":":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}},"(":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.014778325123152709}},"{":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}}}}}}}}},"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":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.014965986394557823}},"{":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter6/":{"ref":"chapter6/","tf":0.14285714285714285},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}},"(":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.008097165991902834}},"{":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}}}},".":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.008097165991902834}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}},"(":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}}},"构":{"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.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}}},"构":{"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.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"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.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.008097165991902834}}},":":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.012145748987854251},"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.002577319587628866}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866}},"{":{"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.002577319587628866}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}},"t":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},".":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"_":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}},";":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"p":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.007692307692307693}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},";":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},",":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},";":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}},"z":{"docs":{},"i":{"docs":{},"p":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}},"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.0035714285714285713}},"混":{"docs":{},"合":{"docs":{},"开":{"docs":{},"发":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}},"(":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}},"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.0035714285714285713}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616}}}}}}},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}},"e":{"docs":{},"r":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}},"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.0037174721189591076}},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"d":{"docs":{},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}},")":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}},"s":{"docs":{},"h":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.005813953488372093}}}}}}}},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.004026845637583893}},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.005698005698005698},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}},"?":{"docs":{},".":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"(":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"l":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.003745318352059925}},")":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}},"o":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.003745318352059925},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.01646090534979424},"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}},"/":{"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}},")":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},":":{"8":{"0":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0297029702970297}}}},"docs":{}}},"docs":{}},"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.006085192697768763},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.02295918367346939},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.013215859030837005},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.029585798816568046},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.010309278350515464},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.01702127659574468},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.005376344086021506},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.011299435028248588},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010309278350515464},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.008403361344537815},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.014778325123152709},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.0035294117647058825},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}},":":{"docs":{},"该":{"docs":{},"属":{"docs":{},"性":{"docs":{},"用":{"docs":{},"于":{"docs":{},"指":{"docs":{},"定":{"docs":{},"行":{"docs":{},"高":{"docs":{},",":{"docs":{},"但":{"docs":{},"它":{"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.00390625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.010309278350515464}}},":":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.015463917525773196},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}},",":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}}},".":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}}}}}}}},";":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}}}},"r":{"docs":{},"o":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403}},"动":{"docs":{},"画":{"docs":{"chapter9/":{"ref":"chapter9/","tf":0.09090909090909091},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403}},"的":{"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.008771929824561403}}}}}}}}}}}}}}}}},"(":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.017543859649122806}}},"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.008771929824561403}},"e":{"docs":{},"b":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403}},"(":{"docs":{},")":{"docs":{},",":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403}}}}}}}}}}}}}}}}}}}},"指":{"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":{},"指":{"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.008771929824561403}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.003669724770642202}}}}},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0072992700729927005},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004651162790697674}},"b":{"docs":{},"r":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}},"是":{"docs":{},"应":{"docs":{},"用":{"docs":{},"的":{"docs":{},"主":{"docs":{},"页":{"docs":{},"。":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},"w":{"docs":{},"d":{"docs":{},"i":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.003745318352059925}}}},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},")":{"docs":{"chapter13/intl.html":{"ref":"chapter13/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.010526315789473684}},"a":{"docs":{},"l":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}},",":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.006880733944954129},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}},":":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}},"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0013422818791946308}}}}}}}}}}}}}}}}}},"中":{"docs":{},"为":{"docs":{},"了":{"docs":{},"防":{"docs":{},"止":{"docs":{},"通":{"docs":{},"过":{"docs":{},"伪":{"docs":{},"造":{"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},".":{"docs":{},"o":{"docs":{},"k":{"docs":{},")":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter11/":{"ref":"chapter11/","tf":0.08333333333333333},"chapter11/http.html":{"ref":"chapter11/http.html","tf":5.013761467889908}},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0045871559633027525}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}},".":{"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},",":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}},"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}},"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0045871559633027525}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"(":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}},"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}},"w":{"docs":{},"d":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0045871559633027525}}}}}}}}}},"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0045871559633027525},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0045871559633027525},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}},"关":{"docs":{},"于":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"认":{"docs":{},"证":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"和":{"docs":{},"属":{"docs":{},"性":{"docs":{},":":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}},"有":{"docs":{},"很":{"docs":{},"多":{"docs":{},"属":{"docs":{},"性":{"docs":{},"可":{"docs":{},"以":{"docs":{},"配":{"docs":{},"置":{"docs":{},",":{"docs":{},"常":{"docs":{},"用":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},"列":{"docs":{},"表":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}},"配":{"docs":{},"置":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}},"请":{"docs":{},"求":{"docs":{"chapter11/":{"ref":"chapter11/","tf":0.16666666666666666},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}},"认":{"docs":{},"证":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}},"库":{"docs":{},",":{"docs":{},"支":{"docs":{},"持":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}},"协":{"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"定":{"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":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"指":{"docs":{},"定":{"docs":{},"请":{"docs":{},"求":{"docs":{},"头":{"docs":{},"的":{"docs":{},"\"":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"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":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"命":{"docs":{},"令":{"docs":{},"来":{"docs":{},"验":{"docs":{},"证":{"docs":{},":":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"无":{"docs":{},"状":{"docs":{},"态":{"docs":{},"的":{"docs":{},",":{"docs":{},"只":{"docs":{},"能":{"docs":{},"由":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"主":{"docs":{},"动":{"docs":{},"发":{"docs":{},"起":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"再":{"docs":{},"被":{"docs":{},"动":{"docs":{},"响":{"docs":{},"应":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"无":{"docs":{},"法":{"docs":{},"向":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"主":{"docs":{},"动":{"docs":{},"推":{"docs":{},"送":{"docs":{},"内":{"docs":{},"容":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"一":{"docs":{},"旦":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"响":{"docs":{},"应":{"docs":{},"结":{"docs":{},"束":{"docs":{},",":{"docs":{},"链":{"docs":{},"接":{"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":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"库":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}},"/":{"1":{"docs":{},".":{"1":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/socket.html":{"ref":"chapter11/socket.html","tf":0.02857142857142857}}}}}},"docs":{}}},"docs":{}},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},".":{"docs":{},"d":{"docs":{},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"u":{"docs":{},"d":{"docs":{},".":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"n":{"docs":{},"/":{"docs":{},"h":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"9":{"docs":{},".":{"0":{"docs":{},".":{"2":{"docs":{},".":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"o":{"docs":{},"s":{"docs":{},"x":{"docs":{},"_":{"6":{"4":{"docs":{},".":{"docs":{},"d":{"docs":{},"m":{"docs":{},"g":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}},"docs":{}},"docs":{}}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"网":{"docs":{},"络":{"docs":{},"库":{"docs":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},"。":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},".":{"docs":{},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}},"}":{"docs":{},")":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}},"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.006024096385542169},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}}}}}}}}}}}},"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.0013477088948787063}}}}}}}},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0026954177897574125}}}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.009433962264150943},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.007692307692307693}}}}}}}}},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}},"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.005649717514124294}}}}}}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"a":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}}}}}}}},"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.005649717514124294}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},")":{"docs":{},"中":{"docs":{},"需":{"docs":{},"要":{"docs":{},"将":{"docs":{},"通":{"docs":{},"过":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.003766478342749529}}}}}}}}}}}}}}}},"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.0018832391713747645}}},"则":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}},"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.003766478342749529}}},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}},"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}},"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":{},"图":{"2":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"=":{"6":{"8":{"3":{"docs":{},".":{"4":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}},"。":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"i":{"1":{"0":{"docs":{},"n":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0056022408963585435},"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.045454545454545456}}}},"docs":{}},"docs":{},"/":{"docs":{},"o":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.007142857142857143}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0056179775280898875},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004651162790697674},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.08054711246200608},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.018867924528301886},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.011299435028248588},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.006980802792321117},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.022935779816513763}}}}}}}},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.009615384615384616},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.006289308176100629},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0034904013961605585},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.014778325123152709},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.009966777408637873},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.00909090909090909},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.006802721088435374},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.022598870056497175},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.006880733944954129},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.009302325581395349},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.014678899082568808},"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.02142857142857143},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.07210031347962383},"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.008403361344537815},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.02616279069767442},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}}}}}}}}},"a":{"docs":{},"g":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.00510204081632653},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.005868544600938967}},"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.00202020202020202},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}},"'":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.004807692307692308}}}}}}}}}}}}}}}}}}}},"\"":{"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.002551020408163265},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403}}},")":{"docs":{},",":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005154639175257732},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403}}}}}}}}}}}}}}}}}}}},"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/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}}},".":{"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.0017452006980802793}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.002551020408163265}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"b":{"docs":{},"y":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}},":":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.009615384615384616},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.03316326530612245},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},"e":{"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":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"而":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"框":{"docs":{},"架":{"docs":{},"中":{"docs":{},"的":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"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":{},"一":{"docs":{},"个":{"docs":{},"单":{"docs":{},"例":{"docs":{},",":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"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":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"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":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"u":{"docs":{},"r":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0035211267605633804}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}},".":{"docs":{},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0035211267605633804}},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.005868544600938967}},"或":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}}},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.007042253521126761}},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"子":{"docs":{},"类":{"docs":{},",":{"docs":{},"是":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"_":{"docs":{},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}},"/":{"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.002551020408163265}}}}}}}}}}}}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}},"(":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.03316326530612245}},"{":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}}}}}}}}}},"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.00510204081632653},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0035211267605633804}},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}},"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.002551020408163265}}}}}}}}}}},"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.00510204081632653}}}}}}}}}}}}}}}},"也":{"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.002551020408163265}}}}}}}}}}}}}}}}}}}}}}}},"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.002551020408163265}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"显":{"docs":{},"示":{"docs":{},"图":{"docs":{},"片":{"docs":{},"时":{"docs":{},"定":{"docs":{},"义":{"docs":{},"了":{"docs":{},"一":{"docs":{},"系":{"docs":{},"列":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"这":{"docs":{},"些":{"docs":{},"参":{"docs":{},"数":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"控":{"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.002551020408163265}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"缓":{"docs":{},"存":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}},",":{"docs":{},"/":{"docs":{},"/":{"docs":{},"图":{"docs":{},"片":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186}}}}}}},"_":{"docs":{},"p":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},",":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}}},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}},"组":{"docs":{},"件":{"docs":{},"原":{"docs":{},"理":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},":":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}},"g":{"docs":{"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.015151515151515152}},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.02295918367346939}}},"=":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"i":{"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":{},";":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0035714285714285713}}}}}}}}},"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":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"b":{"docs":{},"l":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}},"e":{"docs":{},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.003745318352059925}}}}}}}}}}},"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":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.004081632653061225}}}}}}}}},"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"z":{"docs":{},"h":{"docs":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.017699115044247787}}}},"!":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.003766478342749529}}},"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.0018832391713747645}}}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}},"o":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01},"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.009615384615384616},"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333},"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.017699115044247787},"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.030303030303030304}},".":{"docs":{},"c":{"docs":{},"n":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616}}}},"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}},".":{"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},";":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}},";":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},";":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0013422818791946308}}}}}}}}}}}}}}}}}}}},"风":{"docs":{},"格":{"docs":{},"的":{"docs":{},"日":{"docs":{},"历":{"docs":{},"选":{"docs":{},"择":{"docs":{},"器":{"docs":{},"需":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"c":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"o":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"a":{"docs":{},"l":{"docs":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"u":{"docs":{},"p":{"docs":{},"方":{"docs":{},"法":{"docs":{},"和":{"docs":{},"c":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"p":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"组":{"docs":{},"件":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.005698005698005698}},"=":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.005698005698005698}}}}}},",":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}},"文":{"docs":{},"件":{"docs":{},"夹":{"docs":{},",":{"docs":{},"点":{"docs":{},"击":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.008264462809917356}}}}}}}}},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{},"等":{"docs":{},"到":{"docs":{},"这":{"docs":{},"个":{"docs":{},"操":{"docs":{},"作":{"docs":{},"完":{"docs":{},"成":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}}}}}}}}}}},"库":{"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":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"来":{"docs":{},"操":{"docs":{},"作":{"docs":{},"文":{"docs":{},"件":{"docs":{},"的":{"docs":{},",":{"docs":{},"不":{"docs":{},"过":{"docs":{},"和":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}}}}}},",":{"docs":{},"无":{"docs":{},"论":{"docs":{},"是":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}},"中":{"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":{},"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}},".":{"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":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.009302325581395349}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}},"e":{"docs":{},"a":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},"开":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}},"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.0013422818791946308}}}}}}}}}}}},"配":{"docs":{},"置":{"docs":{},"与":{"docs":{},"使":{"docs":{},"用":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}},"中":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"登":{"docs":{},"录":{"docs":{},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},",":{"docs":{},"如":{"docs":{},"图":{"1":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},"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":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{},"{":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.005369127516778523}},"l":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616}}}}},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"…":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}}}}}},"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.0013422818791946308}}}}}}}}}}}}},"t":{"3":{"2":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}}}}}},"docs":{}},"6":{"4":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}}}}}},"docs":{}},"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0041928721174004195},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0026954177897574125},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.011834319526627219},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.021505376344086023},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0064516129032258064},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.004335260115606936},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.006880733944954129},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.014245014245014245},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.003669724770642202},"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.01567398119122257},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.011737089201877934},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.014534883720930232},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}},"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.009900990099009901}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"(":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.012605042016806723}}}}}},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}},"e":{"docs":{},".":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}},"n":{"docs":{},"t":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.009404388714733543}},"!":{"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}},";":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"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":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"(":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.017699115044247787}}},"[":{"docs":{},"]":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}}},"l":{"docs":{},"包":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"这":{"docs":{},"些":{"docs":{},"。":{"docs":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894}}}}}}}},"还":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"其":{"docs":{},"他":{"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/intl.html":{"ref":"chapter13/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":{"chapter13/intl.html":{"ref":"chapter13/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":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"(":{"docs":{"chapter13/intl.html":{"ref":"chapter13/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":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}},"s":{"docs":{},"h":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}},":":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}},"_":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"l":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter13/intl.html":{"ref":"chapter13/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":{"chapter13/intl.html":{"ref":"chapter13/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":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0056022408963585435}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},":":{"docs":{},"\"":{"docs":{},"/":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}}},"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.003067484662576687}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},":":{"docs":{},"初":{"docs":{},"始":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"用":{"docs":{},"户":{"docs":{},"设":{"docs":{},"置":{"docs":{},"默":{"docs":{},"认":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}}}}}}}}},"e":{"docs":{},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}},"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":{"chapter13/intl.html":{"ref":"chapter13/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.0018587360594795538}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010309278350515464},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.006644518272425249},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}},":":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}}}}}},"(":{"docs":{},")":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}},"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.001519756838905775}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}},"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.006557377049180328}},",":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}},":":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}},".":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},".":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}},"?":{"docs":{},".":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}},"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.002688172043010753}},"(":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}},"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.004048582995951417}}}}}}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}},"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":0.00967741935483871},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}},"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.0032258064516129032}}}}}}}}}},"和":{"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":{},"通":{"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":{},"的":{"docs":{},"传":{"docs":{},"递":{"docs":{},"方":{"docs":{},"向":{"docs":{},"正":{"docs":{},"好":{"docs":{},"相":{"docs":{},"反":{"docs":{},"。":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"f":{"docs":{},"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":{},"w":{"docs":{},"i":{"docs":{},"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":{},"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":{},"w":{"docs":{},"i":{"docs":{},"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":{},"方":{"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.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"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":{},"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":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},"主":{"docs":{},"题":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.00967741935483871}},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}},"{":{"docs":{},"@":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}},";":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}},";":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}}}}}}}}}}}}},"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":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0013477088948787063}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.013477088948787063},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.007692307692307693}},")":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"e":{"docs":{},"l":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}}},":":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0013477088948787063}}},":":{"docs":{},"用":{"docs":{},"于":{"docs":{},"指":{"docs":{},"定":{"docs":{},"输":{"docs":{},"入":{"docs":{},"格":{"docs":{},"式":{"docs":{},";":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}},")":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.021505376344086023},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.006134969325153374},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.002167630057803468},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0058309037900874635}}},";":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}},"%":{"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.002688172043010753}}}},"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.002688172043010753},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}}}}}}}}}}}}}}},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}},"k":{"docs":{},"w":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"(":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.012755102040816327}},"(":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}},"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.004866180048661801},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00404040404040404},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}},"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.002551020408163265}}}}}}}}}}}}}}}}},"_":{"docs":{},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.016194331983805668}}}}}}}}}},"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.016194331983805668},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}},"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.016194331983805668}}}}}}}}}}}}}}}},"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.003067484662576687}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}},"_":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}},"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.00202020202020202}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},")":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}},"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.006024096385542169}}}}}}}}}}}},"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.002551020408163265}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}}}},"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.002551020408163265}}}}}}}}}}}}}}}}}}},"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.004048582995951417}},",":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.012145748987854251}}}}}}}}}}}}}}}}},"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.005649717514124294}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0026954177897574125}},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"u":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}},"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.005390835579514825}},",":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}},"o":{"docs":{},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"s":{"docs":{},"_":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},")":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}},"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.00202020202020202}}}},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}}}},"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.016194331983805668}}}}}}}}}}}}}}}},"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.00202020202020202}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}}}}},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}},"c":{"docs":{},"a":{"docs":{},"k":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.016194331983805668}}}}}}},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"_":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{},")":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{},",":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.006644518272425249}}}}}}}}}}}}}}}},"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.002551020408163265}}}}}}}}}}}}},"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.002551020408163265}}}}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},")":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}},":":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.024096385542168676},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0026954177897574125},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}},"(":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.006060606060606061}}}}}}}},"是":{"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":{},"如":{"docs":{},"图":{"3":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.00510204081632653}},"(":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.00510204081632653}}}}}}},"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.002551020408163265}}}}}}}}}}}}}}},".":{"docs":{},"v":{"docs":{},"i":{"docs":{},"s":{"docs":{},"i":{"docs":{},"b":{"docs":{},"i":{"docs":{},"l":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},")":{"docs":{},",":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}},"_":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}},":":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005649717514124294}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}},"(":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}}}}},"(":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}},"的":{"docs":{},"默":{"docs":{},"认":{"docs":{},"样":{"docs":{},"式":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}},"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}},"'":{"docs":{},"m":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}}},"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}},"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}},"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.006211180124223602}}}}}}}}}}},"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},".":{"docs":{},"i":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},")":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.009174311926605505}},".":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},")":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"=":{"docs":{},"=":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},".":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},"s":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}},"=":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"(":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},")":{"docs":{},";":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}}},":":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.008064516129032258},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.006134969325153374},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.002167630057803468},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0058309037900874635},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},":":{"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.002688172043010753}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"为":{"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":{},"中":{"docs":{},"构":{"docs":{},"建":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"列":{"docs":{},"表":{"docs":{},"项":{"docs":{},"w":{"docs":{},"i":{"docs":{},"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":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}},":":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.008064516129032258},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.006134969325153374},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.002167630057803468},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0058309037900874635}}},":":{"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.002688172043010753}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}},":":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.006134969325153374}}},":":{"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":{},"组":{"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":{},"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":{},"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":{},"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":{},"组":{"docs":{},"件":{"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":{},"计":{"docs":{},"算":{"docs":{},"列":{"docs":{},"表":{"docs":{},"高":{"docs":{},"度":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}},")":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364}}},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}},"r":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.013888888888888888},"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}},";":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}},")":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}}},"p":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}},"和":{"docs":{},"/":{"docs":{},"或":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}}},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}},"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.0035714285714285713},"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}},"+":{"docs":{},"原":{"docs":{},"生":{"docs":{},"渲":{"docs":{},"染":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}}},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.010714285714285714}}}}},"为":{"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/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}}}}}}}}}}}}}}}}},"开":{"docs":{},"发":{"docs":{},"+":{"docs":{},"原":{"docs":{},"生":{"docs":{},"渲":{"docs":{},"染":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"主":{"docs":{},"要":{"docs":{},"优":{"docs":{},"点":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}}}}}}},"跨":{"docs":{},"平":{"docs":{},"台":{"docs":{},"框":{"docs":{},"架":{"docs":{},"原":{"docs":{},"理":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}}}}}}}}}}}}}},"之":{"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.01}}}}}}}}}}}}}}}}}}}}}}},"基":{"docs":{},"本":{"docs":{},"持":{"docs":{},"平":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01}}}}}}}}},"的":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}},"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":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}}}}}}}},"d":{"docs":{},"o":{"docs":{},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}}}}}},"l":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}}}}}}}}},"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":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}}}}}}}}}}}}}},"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":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}}}}}}}}}}}}}}}},"c":{"docs":{},"k":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.024691358024691357}},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015625},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684}}},"只":{"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":{},"照":{"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":{},"文":{"docs":{},"本":{"docs":{},"组":{"docs":{},"件":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}}},".":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}}}}},"s":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}},"(":{"docs":{},")":{"docs":{},",":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}}}},"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}},"x":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.010714285714285714}}},"o":{"docs":{},"n":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101},"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.015151515151515152}},"转":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter11/":{"ref":"chapter11/","tf":0.08333333333333333}}}}}}},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101},"chapter15/intro.html":{"ref":"chapter15/intro.html","tf":0.05}}}}}}},")":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.009174311926605505}}},".":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.003669724770642202}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"(":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}},"[":{"docs":{},"'":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"'":{"docs":{},"]":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"'":{"docs":{},"]":{"docs":{},",":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}},"_":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.003669724770642202},"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.008097165991902834}},"可":{"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":{},"i":{"docs":{},"d":{"docs":{},"e":{"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":{},"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":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"类":{"docs":{},"中":{"docs":{},"已":{"docs":{},"经":{"docs":{},"生":{"docs":{},"成":{"docs":{},"过":{"docs":{},"。":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"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":{},"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":{},"i":{"docs":{},"d":{"docs":{},"e":{"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":{},"动":{"docs":{},"。":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"创":{"docs":{},"建":{"docs":{},"类":{"docs":{},"时":{"docs":{},",":{"docs":{},"您":{"docs":{},"会":{"docs":{},"看":{"docs":{},"到":{"docs":{},"与":{"docs":{},"图":{"1":{"1":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}}}}}}}}}}}}}}}}}}}}}}}}}},"文":{"docs":{},"件":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.015151515151515152}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"(":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"t":{"docs":{},"o":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.01}}}}}}}}}}}}}}}}},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}},"u":{"docs":{},"m":{"docs":{},"p":{"docs":{},"t":{"docs":{},"o":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}},"内":{"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.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"才":{"docs":{},"可":{"docs":{},"以":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}}}}}}},",":{"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/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"它":{"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.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"o":{"docs":{},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"u":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}},",":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.012658227848101266}}}},"b":{"docs":{},"e":{"docs":{},"l":{"docs":{},":":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.018072289156626505},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.019801980198019802}}},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.012129380053908356},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.007692307692307693}}}}}}}}}},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"的":{"docs":{},"委":{"docs":{},"托":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}}}}},"相":{"docs":{},"关":{"docs":{},"接":{"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":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"分":{"docs":{},"别":{"docs":{},"来":{"docs":{},"它":{"docs":{},"们":{"docs":{},"。":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"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.0018832391713747645}}}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"了":{"docs":{},"。":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}},":":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028}},"变":{"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.007407407407407408}}}}}}}}}}}}}}}}}}}}},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}},".":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.014285714285714285}},"'":{"docs":{},";":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}},":":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}}},"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.04}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":0.04}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.006060606060606061},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.004705882352941176}}}}}}}},"f":{"docs":{},"t":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.008403361344537815}},":":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015625},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.006980802792321117}}},"、":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125}}}}}},",":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684}}},"'":{"docs":{},",":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.008403361344537815}}}},"}":{"docs":{},"=":{"1":{"docs":{},"{":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter13/intl.html":{"ref":"chapter13/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":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}}}}}},"}":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}},"n":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}},";":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}}}}},"i":{"docs":{},"b":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333},"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.045454545454545456}},"/":{"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.0024330900243309003}},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}}},"是":{"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.004807692307692308}}}}}}}},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"路":{"docs":{},"径":{"docs":{},"中":{"docs":{},"。":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}}}}}}}}}}}}}}}}}}}}}}}},"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.00390625}}}}}}}}}}}}}}},"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter13/intl.html":{"ref":"chapter13/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.0013422818791946308}}}}}}}}}}}}}},"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.003278688524590164}}}},":":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}}}},"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.0013422818791946308}}}}}}},"\"":{"docs":{},",":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}},"n":{"docs":{},"e":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308},"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.010416666666666666}},")":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006557377049180328}},"{":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}}},"a":{"docs":{},"r":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.01762114537444934}},"{":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"线":{"docs":{},"性":{"docs":{},"、":{"docs":{},"条":{"docs":{},"状":{"docs":{},"的":{"docs":{},"进":{"docs":{},"度":{"docs":{},"条":{"docs":{},",":{"docs":{},"定":{"docs":{},"义":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}},"[":{"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.011627906976744186}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.003669724770642202}},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}},"e":{"docs":{},"d":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.008097165991902834},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.022222222222222223},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.009852216748768473},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.005442176870748299},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.007339449541284404},"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0037174721189591076},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00404040404040404},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.002167630057803468},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.004705882352941176},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.016129032258064516},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.006134969325153374},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0058309037900874635},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}},"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.005376344086021506}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"3":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}},"docs":{"chapter6/":{"ref":"chapter6/","tf":0.14285714285714285},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}},"(":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001445086705202312},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.012658227848101266}},"{":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},":":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.006134969325153374}}}}}}},".":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.006134969325153374},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.002167630057803468},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0058309037900874635}},"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.010752688172043012}}}}}}}}}}}}}},"{":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}},"适":{"docs":{},"合":{"docs":{},"列":{"docs":{},"表":{"docs":{},"项":{"docs":{},"比":{"docs":{},"较":{"docs":{},"多":{"docs":{},"(":{"docs":{},"或":{"docs":{},"者":{"docs":{},"无":{"docs":{},"限":{"docs":{},")":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"只":{"docs":{},"有":{"docs":{},"当":{"docs":{},"子":{"docs":{},"组":{"docs":{},"件":{"docs":{},"真":{"docs":{},"正":{"docs":{},"显":{"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":{},"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":{},"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.002688172043010753}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.005376344086021506}}},"可":{"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":{},"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":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"公":{"docs":{},"共":{"docs":{},"参":{"docs":{},"数":{"docs":{},"已":{"docs":{},"省":{"docs":{},"略":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}}}}},"是":{"docs":{},"最":{"docs":{},"常":{"docs":{},"用":{"docs":{},"的":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"组":{"docs":{},"件":{"docs":{},"之":{"docs":{},"一":{"docs":{},",":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"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":{},"模":{"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":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.007272727272727273},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}},":":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364}}},"(":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.03389830508474576},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}},"{":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856}}},";":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856}}}}}}}}},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}}}}},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}}}}}}}},"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.007407407407407408}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"(":{"docs":{},"(":{"docs":{},"f":{"docs":{},")":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}},"[":{"docs":{},"i":{"docs":{},"]":{"docs":{},"(":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}}}}}}}}}}},")":{"docs":{},"{":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}},",":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}},"f":{"docs":{},"e":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}},"o":{"docs":{},"g":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}},"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.003745318352059925}}}}}}}}}}}}},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}},",":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}},"c":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.00303951367781155}}}},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}}}},"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.001519756838905775}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"d":{"docs":{"chapter13/intl.html":{"ref":"chapter13/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.004807692307692308}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}},")":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}},"框":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}},"(":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0056022408963585435}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},")":{"docs":{},",":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}},"t":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}}}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}},"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.0049504950495049506},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}}},"n":{"docs":{},"g":{"docs":{},"[":{"docs":{},"]":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}}}}},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.034722222222222224},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.007575757575757576},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},"e":{"docs":{},"(":{"docs":{},"'":{"docs":{},"e":{"docs":{},"n":{"docs":{},"'":{"docs":{},",":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.013888888888888888},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}}}}}},"z":{"docs":{},"h":{"docs":{},"'":{"docs":{},",":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.013888888888888888},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}},"t":{"docs":{},"[":{"0":{"docs":{},"]":{"docs":{},",":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}},"docs":{}}}},",":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}},":":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},",":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444},"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02}}}},"类":{"docs":{},"是":{"docs":{},"用":{"docs":{},"来":{"docs":{},"标":{"docs":{},"识":{"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/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.017699115044247787},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.008403361344537815},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}},".":{"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":{"chapter13/intl.html":{"ref":"chapter13/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":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}},"e":{"docs":{},";":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}}},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},"回":{"docs":{},"调":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}},"(":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},";":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.0189873417721519}}}}}}}}}}}}},"=":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}}},"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":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}},",":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.013888888888888888},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.04},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},"列":{"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.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":{},"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"b":{"docs":{},"i":{"docs":{},"l":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}},"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.0035714285714285713}}}}}}}}}}},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"都":{"docs":{},"没":{"docs":{},"有":{"docs":{},"使":{"docs":{},"用":{"docs":{},"原":{"docs":{},"生":{"docs":{},"控":{"docs":{},"件":{"docs":{},",":{"docs":{},"相":{"docs":{},"反":{"docs":{},"都":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"自":{"docs":{},"绘":{"docs":{},"引":{"docs":{},"擎":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"做":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"比":{"docs":{},":":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}}}},"后":{"docs":{},"尘":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"面":{"docs":{},"对":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"/":{"1":{"4":{"docs":{},"e":{"3":{"0":{"4":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}}}},"x":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}},"d":{"docs":{},"e":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.00303951367781155}},"l":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.030303030303030304},"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}},",":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}},"变":{"docs":{},"化":{"docs":{},"后":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"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":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"订":{"docs":{},"阅":{"docs":{},"者":{"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":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"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":{},"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":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"就":{"docs":{},"会":{"docs":{},"更":{"docs":{},"新":{"docs":{},"。":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}},"化":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":5.001834862385321},"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}},";":{"docs":{"chapter15/intro.html":{"ref":"chapter15/intro.html","tf":0.05}}},"会":{"docs":{},"在":{"docs":{},"此":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.015151515151515152}}}}}}}},",":{"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":{},"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":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"文":{"docs":{},"件":{"docs":{},"的":{"docs":{},"”":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"“":{"docs":{},"文":{"docs":{},"件":{"docs":{},"夹":{"docs":{},"。":{"docs":{"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.015151515151515152}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"文":{"docs":{},"件":{"docs":{},"转":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}},"定":{"docs":{},"义":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}},"的":{"docs":{},"方":{"docs":{},"案":{"docs":{},"采":{"docs":{},"用":{"docs":{},"前":{"docs":{},"面":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"过":{"docs":{},"的":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}},")":{"docs":{},"和":{"docs":{},"可":{"docs":{},"选":{"docs":{},"类":{"docs":{},"型":{"docs":{},"(":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}}}}},",":{"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.0018726591760299626}}}}}}}}}}}}}}}},"下":{"docs":{},"测":{"docs":{},"试":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"在":{"docs":{},"调":{"docs":{},"试":{"docs":{},"模":{"docs":{},"式":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"”":{"docs":{},",":{"docs":{},"用":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}},"a":{"docs":{},"l":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"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":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"s":{"docs":{},".":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.00303951367781155}}}},"c":{"docs":{},"k":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}},",":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}}}}}}}}},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}},"和":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"g":{"docs":{},")":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}},",":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}},";":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0058309037900874635}}}}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.00510204081632653},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}},"(":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.009302325581395349},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.013888888888888888},"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.04},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"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":{},"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":{},"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":{},"在":{"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":{},"件":{"docs":{},";":{"docs":{},"如":{"docs":{},"果":{"docs":{},"路":{"docs":{},"由":{"docs":{},"表":{"docs":{},"中":{"docs":{},"没":{"docs":{},"有":{"docs":{},"注":{"docs":{},"册":{"docs":{},",":{"docs":{},"才":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"来":{"docs":{},"生":{"docs":{},"成":{"docs":{},"路":{"docs":{},"由":{"docs":{},"。":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"回":{"docs":{},"调":{"docs":{},"签":{"docs":{},"名":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"指":{"docs":{},"定":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"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":{},"p":{"docs":{},"p":{"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":{},"很":{"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":{},"建":{"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":{},"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":{"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"组":{"docs":{},"件":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}},"库":{"docs":{},"中":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"一":{"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":{},"b":{"docs":{},"o":{"docs":{},"d":{"docs":{},"y":{"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"了":{"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":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"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.00202020202020202}}}}}}}}}}}}}},"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.00202020202020202}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"按":{"docs":{},"钮":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}},"默":{"docs":{},"认":{"docs":{},"不":{"docs":{},"支":{"docs":{},"持":{"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":{},"件":{"docs":{},",":{"docs":{},"它":{"docs":{},"需":{"docs":{},"要":{"docs":{},"支":{"docs":{},"持":{"docs":{},"一":{"docs":{},"下":{"docs":{},"功":{"docs":{},"能":{"docs":{},":":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.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":{},"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":{},"用":{"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.00202020202020202}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"丰":{"docs":{},"富":{"docs":{},"多":{"docs":{},"样":{"docs":{},"的":{"docs":{},"组":{"docs":{},"件":{"docs":{},",":{"docs":{},"本":{"docs":{},"节":{"docs":{},"介":{"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.00202020202020202}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.002325581395348837}},"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.001519756838905775}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}},"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.0069767441860465115}}}}}}}}}},"{":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}},"继":{"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.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.00847457627118644}},"(":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}},"是":{"docs":{},"实":{"docs":{},"现":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}},"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":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"a":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"r":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"e":{"docs":{},"l":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{},";":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.013888888888888888}}}}}}}}}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}},"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":{"chapter10/combine.html":{"ref":"chapter10/combine.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":{},"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":{},"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":{},"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":{},"i":{"docs":{},"o":{"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":{},"提":{"docs":{},"供":{"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":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"全":{"docs":{},"局":{"docs":{},"变":{"docs":{},"量":{"docs":{},"的":{"docs":{},"值":{"docs":{},"来":{"docs":{},"指":{"docs":{},"定":{"docs":{},"应":{"docs":{},"用":{"docs":{},"平":{"docs":{},"台":{"docs":{},"。":{"docs":{},"比":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.00510204081632653}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}},"h":{"docs":{},";":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064}}},".":{"docs":{},"p":{"docs":{},"i":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},"t":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"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.0064516129032258064}}}}},"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.006622516556291391}}}}},"docs":{}}}}}}}}}}}}}},"docs":{}}}}},"c":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}},"o":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.004026845637583893}},"e":{"docs":{},"r":{"docs":{},"”":{"docs":{},"中":{"docs":{},",":{"docs":{},"点":{"docs":{},"击":{"docs":{},"工":{"docs":{},"具":{"docs":{},"栏":{"docs":{},"的":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}}}}}},"i":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.005369127516778523},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0072992700729927005},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.008403361344537815}}}},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},",":{"docs":{},"f":{"docs":{},"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.005369127516778523}},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"y":{"docs":{},"u":{"docs":{},"n":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.013114754098360656},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},"的":{"docs":{},"顶":{"docs":{},"部":{"docs":{},"设":{"docs":{},"置":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}}}}}}},"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.00823045267489712}},"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.004866180048661801},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.00510204081632653},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.012345679012345678},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.012903225806451613},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.013605442176870748},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.00847457627118644},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856}}}}}}},"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.00202020202020202}}}}}}}}},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"l":{"docs":{},"y":{"docs":{},",":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}}}}}}}}}}}},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.00510204081632653},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.01646090534979424},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.012903225806451613},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.013605442176870748},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.00847457627118644},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}},":":{"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":{},"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":{},"组":{"docs":{},"件":{"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.00411522633744856}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00823045267489712}},"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.00823045267489712}},"/":{"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.00411522633744856}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},",":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0036127167630057803},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}},":":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.012345679012345678},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0036127167630057803},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}},":":{"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":{},"组":{"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":{},"平":{"docs":{},"空":{"docs":{},"间":{"docs":{},";":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.008097165991902834}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{},"主":{"docs":{},"轴":{"docs":{},"方":{"docs":{},"向":{"docs":{},"的":{"docs":{},"间":{"docs":{},"距":{"docs":{},"。":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}}}}}}}}}}},":":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}}}}}}}}}},"c":{"docs":{},"t":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}},"函":{"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"为":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"入":{"docs":{},"口":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"实":{"docs":{},"现":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}},"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.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602}}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}},"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.003278688524590164}}},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}}}}}}}}}}}}}}}}},"p":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.01651376146788991},"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},">":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}}}}}},")":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}},"{":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}},"x":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}},"e":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},"、":{"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.00390625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}},"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.0013477088948787063}}},"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.0013477088948787063}}}}}}}},"和":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}},"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.004048582995951417}}},":":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.008097165991902834}}},"为":{"docs":{},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{},"在":{"docs":{},"横":{"docs":{},"轴":{"docs":{},"上":{"docs":{},"的":{"docs":{},"最":{"docs":{},"大":{"docs":{},"长":{"docs":{},"度":{"docs":{},",":{"docs":{},"之":{"docs":{},"所":{"docs":{},"以":{"docs":{},"是":{"docs":{},"“":{"docs":{},"最":{"docs":{},"大":{"docs":{},"”":{"docs":{},"长":{"docs":{},"度":{"docs":{},",":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"横":{"docs":{},"轴":{"docs":{},"方":{"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":{"1":{"2":{"docs":{},".":{"5":{"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.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"u":{"docs":{},"n":{"docs":{},"k":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.014245014245014245}},")":{"docs":{},".":{"docs":{},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"l":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.005698005698005698}}}}}}}}}}}}}}}},"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.003067484662576687}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"u":{"docs":{},"m":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}},"y":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}},"b":{"docs":{},"y":{"docs":{},"t":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}},")":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}},"r":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{},";":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}}}}}}},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},";":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}}}}}}},":":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.013245033112582781}}}}}},"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.0018832391713747645}},";":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}}}}}}}}}},"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.0018832391713747645}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.003766478342749529}}}}}}}}}}}}}},"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616}},")":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}},"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.003278688524590164}}}}}}}}},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}}}}},"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.029787234042553193},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}},"i":{"docs":{},"m":{"docs":{},"u":{"docs":{},"m":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}},"y":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},")":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"点":{"docs":{},"击":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}},"(":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}}}},"类":{"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}},"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.0024330900243309003}}}}}}}}}}}}}}}}},"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.0072992700729927005}},"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.004866180048661801},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004651162790697674}}}}}}}},"{":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801}}}}}}},"类":{"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}},"s":{"docs":{},"{":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}}}},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},"e":{"docs":{},"(":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},"{":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}},",":{"docs":{},"代":{"docs":{},"码":{"docs":{},"大":{"docs":{},"致":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00404040404040404},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00404040404040404},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}},"{":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"p":{"docs":{},"p":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0058309037900874635}},"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.0058309037900874635}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0058309037900874635}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}},"{":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"h":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}},"(":{"docs":{},"{":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.00909090909090909},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}},"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.0024330900243309003}}}},",":{"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},",":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028}}}}}}}}}}}}}},"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}},"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"u":{"docs":{},"m":{"docs":{},".":{"docs":{},"t":{"docs":{},"t":{"docs":{},"f":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.01171875}}}}}}}},"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":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}},"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.002688172043010753}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}},",":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},"c":{"docs":{},"h":{"docs":{},"u":{"docs":{},"n":{"docs":{},"k":{"docs":{},")":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.005698005698005698}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}},",":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}},":":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}},"@":{"docs":{},"\"":{"docs":{},"电":{"docs":{},"池":{"docs":{},"信":{"docs":{},"息":{"docs":{},"不":{"docs":{},"可":{"docs":{},"用":{"docs":{},"\"":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}},"s":{"docs":{},".":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}},"n":{"docs":{},"u":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}},"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.0013477088948787063}}}}},"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.04}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":0.04}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}},")":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}},"n":{"docs":{"chapter13/intl.html":{"ref":"chapter13/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.014285714285714285},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0037174721189591076},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.004694835680751174}},"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.0035714285714285713}}}}}}},"及":{"docs":{},"快":{"docs":{},"应":{"docs":{},"用":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}}}}}}},"中":{"docs":{},"主":{"docs":{},"要":{"docs":{},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},"作":{"docs":{},"用":{"docs":{},":":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}}}}}}},"只":{"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.0035714285714285713}}}}}}}}}}},"和":{"docs":{},"w":{"docs":{},"e":{"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":{},"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"相":{"docs":{},"比":{"docs":{},"主":{"docs":{},"要":{"docs":{},"有":{"docs":{},"两":{"docs":{},"点":{"docs":{},"不":{"docs":{},"同":{"docs":{},":":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}}}}}}}}}}}}},"是":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"原":{"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.0035714285714285713}}}}}}}}}}}}}},"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"引":{"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.01}}}}}}}}}}}}}}}}}}}}}}}},"扩":{"docs":{},"展":{"docs":{},"。":{"docs":{},"同":{"docs":{},"时":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01}}}}}}},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"2":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}},"docs":{}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"i":{"docs":{},"g":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.0069767441860465115},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},".":{"docs":{},"p":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"_":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},";":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.004335260115606936}}},";":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.007692307692307693}}}},"_":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001445086705202312}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001445086705202312}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.002167630057803468}}}}}}}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"p":{"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.002325581395348837},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001445086705202312}}},")":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},";":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"(":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004651162790697674},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602}},"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.012422360248447204},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}}}}}}}}}}},"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.002325581395348837},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"一":{"docs":{},"个":{"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":{},"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":{},"由":{"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.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"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":{},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"的":{"docs":{},"实":{"docs":{},"例":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0020964360587002098}}}}}}}}}}}}},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005649717514124294}}}}}}}},"{":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}},"m":{"docs":{},"e":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}},":":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter13/intl.html":{"ref":"chapter13/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.00625}}}}}}}}}},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00404040404040404}}}}},",":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.007339449541284404}}},"=":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"s":{"docs":{},".":{"docs":{},"f":{"docs":{},"i":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0026954177897574125},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.012903225806451613},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.014814814814814815},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849},"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.017699115044247787},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.007692307692307693}},")":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0036127167630057803},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.02962962962962963},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.009416195856873822},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0055762081784386614},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.005868544600938967},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.007575757575757576},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.007692307692307693}},";":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.005649717514124294},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0055762081784386614},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}}},")":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}},",":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001445086705202312},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.012658227848101266}}}},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.003745318352059925},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.007575757575757576},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},",":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}},"o":{"docs":{},"k":{"docs":{},":":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}}}}}}},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},":":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}}}}}},"d":{"docs":{},"o":{"docs":{},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}}}}},"l":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}}}}}}}}}}}}},")":{"docs":{},"{":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}},"e":{"docs":{},"w":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.06326034063260341},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.013953488372093023},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.0125},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.028846153846153848},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.00911854103343465},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006557377049180328},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.006289308176100629},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.05476673427991886},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.01078167115902965},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0891089108910891},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.01935483870967742},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.006060606060606061},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.06040268456375839},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.009202453987730062},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.024390243902439025},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0064516129032258064},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.008726003490401396},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.02962962962962963},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.04950495049504951},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.041237113402061855},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.009966777408637873},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.05084745762711865},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.013761467889908258},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.03773584905660377},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.08372093023255814},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.011009174311926606},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.04285714285714286},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.012539184952978056},"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.011538461538461539}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004651162790697674}}}}}}}}}},"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.0020964360587002098}}},".":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}}}},"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.0020964360587002098}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.004056795131845842}}},";":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.004056795131845842}}}}}}}}},"x":{"docs":{},"t":{"docs":{},".":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.004026845637583893}}}}},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}},"e":{"docs":{},"(":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.007575757575757576},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},")":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}}}}}}},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}}},"l":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}},"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":{},"中":{"docs":{},"间":{"docs":{},"部":{"docs":{},"分":{"docs":{},"。":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.011661807580174927}},"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.003067484662576687}},";":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}},".":{"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.003067484662576687}}}}}}}}}}}}}}}}}},"p":{"docs":{},"i":{"docs":{},"x":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.008746355685131196}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.014577259475218658}},"{":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}},")":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}}}}}},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0058309037900874635}}}}},",":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.008746355685131196}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}}},"有":{"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.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}},";":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.011363636363636364}}}}}}}}}}}}}}}}}},")":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.005698005698005698}}},"d":{"docs":{},"e":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0055762081784386614}},".":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0055762081784386614}}}}}}}},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}},"s":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}}}}}},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}}}}}}}}}}},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.035398230088495575}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}}}}}}}},"(":{"docs":{},"n":{"docs":{},">":{"1":{"docs":{},")":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}},"docs":{}}}}},"o":{"docs":{},"b":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.007142857142857143},"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0056179775280898875},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0064516129032258064},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}},"'":{"docs":{},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}},",":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.009836065573770493}}}},"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.00303951367781155}}},"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0013477088948787063}},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.004043126684636119},"chapter15/login_page.html":{"ref":"chapter15/login_page.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":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"(":{"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":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"u":{"docs":{},"r":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"u":{"docs":{},"r":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},")":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616}},"…":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.008264462809917356}},"\"":{"docs":{},"。":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}},"r":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.005813953488372093}}}},"a":{"docs":{},"q":{"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":{},",":{"docs":{},"最":{"docs":{},"终":{"docs":{},"的":{"docs":{},"效":{"docs":{},"果":{"docs":{},"相":{"docs":{},"当":{"docs":{},"于":{"docs":{},"当":{"docs":{},"前":{"docs":{},"w":{"docs":{},"i":{"docs":{},"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.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602}}}}}},"c":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},":":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.018633540372670808},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}},"s":{"docs":{},"(":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.005698005698005698}},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},":":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}},":":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.005698005698005698},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.005813953488372093}}},")":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}},".":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"[":{"docs":{},"\"":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"\"":{"docs":{},"]":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{},"\"":{"docs":{},"]":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"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":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{},".":{"docs":{},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.005813953488372093}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.003745318352059925},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.013114754098360656},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}},"(":{"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.003278688524590164}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}},",":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}},":":{"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.003278688524590164}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0013477088948787063}}},"和":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter13/intl.html":{"ref":"chapter13/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.004866180048661801},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.009302325581395349},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.04819277108433735},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.005390835579514825},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00404040404040404},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.005454545454545455},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.01300578034682081},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0058309037900874635},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.014778325123152709},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.006644518272425249},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.0035294117647058825},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.007692307692307693}},"(":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}},",":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}},";":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}}}}}},"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.03389830508474576},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}},"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.0018587360594795538}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}}}}}}},"u":{"docs":{},"p":{"docs":{},":":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},":":{"docs":{},"(":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}},"c":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.00303951367781155},"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}},"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/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}},":":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.004056795131845842},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.004335260115606936}},"(":{"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.02702702702702703}}}}}}}}}}},";":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.004056795131845842},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0026954177897574125}}},":":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"输":{"docs":{},"入":{"docs":{},"框":{"docs":{},"内":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}},"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},":":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.006085192697768763},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.002167630057803468},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.004705882352941176},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.012658227848101266}}},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},":":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}},"u":{"docs":{},"p":{"docs":{},":":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}},"发":{"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.0017452006980802793}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},")":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}},",":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.014778325123152709}}}}},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{},";":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}},"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.0013477088948787063}}}}}}}}}}},"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.0017452006980802793}}}}}}}}}}}}}},"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.0013477088948787063},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513}}},":":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"回":{"docs":{},"调":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"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.012195121951219513}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"y":{"docs":{},"(":{"docs":{},"{":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684}}}}}}}}}},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},"e":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}},"n":{"docs":{},"g":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}},"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.003067484662576687},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.014577259475218658}}},"(":{"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.0029154518950437317}}}}}}}}}}}}}}}}},"回":{"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.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}}},"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.0017452006980802793}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}},"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.0017452006980802793}},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0034904013961605585}}}}}},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.005235602094240838}}}}}}}}}}}}}}}}}}}}}}},"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.0034904013961605585}}}}}}}}}}}}}}}}}}}}},"(":{"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.007407407407407408}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"(":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{},"e":{"docs":{},"(":{"docs":{},"(":{"docs":{},"a":{"docs":{},",":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}},":":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.008547008547008548}}}}}}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},":":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}},"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028}}}}}}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}},"y":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.01646090534979424},"chapter10/intro.html":{"ref":"chapter10/intro.html","tf":0.04},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.018832391713747645}},"(":{"0":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.00303951367781155}}}},"docs":{}},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.018518518518518517}}}},"1":{"docs":{},",":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00823045267489712}}}},"2":{"docs":{},".":{"0":{"docs":{},",":{"2":{"docs":{},".":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186}}}}},"docs":{}}},"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}}}},"docs":{}}},"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00823045267489712}},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},".":{"docs":{},"d":{"docs":{},"x":{"docs":{},",":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856}}}}}}}}}}}},"_":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter10/intro.html":{"ref":"chapter10/intro.html","tf":0.04},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.009416195856873822}},"、":{"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.003067484662576687}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.005649717514124294}}},"来":{"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.0018832391713747645}}}}}}}}}}}}}}}}},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.00303951367781155},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}},",":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856}},".":{"docs":{},".":{"docs":{},".":{"docs":{},")":{"docs":{},":":{"docs":{},"这":{"docs":{},"两":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"用":{"docs":{},"于":{"docs":{},"跳":{"docs":{},"转":{"docs":{},"到":{"docs":{},"指":{"docs":{},"定":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"不":{"docs":{},"同":{"docs":{},"之":{"docs":{},"处":{"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.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"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.003067484662576687}}}}}}}}}}}}}}}},".":{"docs":{},"d":{"docs":{},"x":{"docs":{},",":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.006172839506172839}}}},"y":{"docs":{},")":{"docs":{},";":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.0102880658436214}}}}}},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}},"=":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}},"表":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}},"(":{"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.007407407407407408}}}}}}}}}}}}}},"(":{"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.0064516129032258064},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/intl.html":{"ref":"chapter13/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.00303951367781155}}}}},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"p":{"docs":{},",":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125}}}}}}}},":":{"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":{},"组":{"docs":{},"件":{"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.0078125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0029154518950437317}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}},"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.0020964360587002098},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.006644518272425249},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}},",":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}},".":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}}},"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.0020964360587002098}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},")":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}},"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":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}}}}}}}}},"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.003067484662576687}}}}}}}}}}}},")":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/intl.html":{"ref":"chapter13/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.0032258064516129032}}}}}}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},"?":{"docs":{},".":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},")":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"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":{},")":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.006024096385542169}},"(":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}},".":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}}}}}},"默":{"docs":{},"认":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"边":{"docs":{},"框":{"docs":{},",":{"docs":{},"不":{"docs":{},"带":{"docs":{},"阴":{"docs":{},"影":{"docs":{},"且":{"docs":{},"背":{"docs":{},"景":{"docs":{},"透":{"docs":{},"明":{"docs":{},"。":{"docs":{},"按":{"docs":{},"下":{"docs":{},"后":{"docs":{},",":{"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":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101},"chapter13/intl.html":{"ref":"chapter13/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.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}},"c":{"docs":{},"t":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}},"s":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0045871559633027525}},".":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}},":":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}},")":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}},".":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.005813953488372093}}}}}}}}}}}}}}}},"k":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.008264462809917356}},"。":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}},"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.0018832391713747645}}}}}}}}}}}}}}}}}}},"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}},",":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.005504587155963303},"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.010416666666666666},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.022408963585434174},"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.012539184952978056}}},"s":{"docs":{},"h":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.010416666666666666}}}}}},"_":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"仓":{"docs":{},"库":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}}}},"(":{"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.00625}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"y":{"docs":{},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}},"中":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"上":{"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.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"h":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0072992700729927005}},"(":{"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.002325581395348837}}}}}}}}}}}}}}},"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.002325581395348837}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"a":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.025},"chapter11/":{"ref":"chapter11/","tf":0.08333333333333333},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":3.333333333333333},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.007339449541284404},"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.010416666666666666},"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}},"e":{"1":{"docs":{},":":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}}}},"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.00625}}},"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.004807692307692308}}}}}}},"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.00390625}}}}}}}}}}}}}}}}}}}}}}}}}}},"仓":{"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":{},"p":{"docs":{},"u":{"docs":{},"b":{"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.00625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"分":{"docs":{},"为":{"docs":{},"两":{"docs":{},"类":{"docs":{},":":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}},")":{"docs":{},"。":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}}}},":":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.009615384615384616},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}},"中":{"docs":{},"的":{"docs":{},"字":{"docs":{},"体":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}}},"核":{"docs":{},"心":{"docs":{},"功":{"docs":{},"能":{"docs":{},";":{"docs":{},"但":{"docs":{},"是":{"docs":{},"我":{"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":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"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":{},"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":{},",":{"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":{},"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":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"。":{"docs":{},"i":{"docs":{},"n":{"docs":{},"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":{},"同":{"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":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"底":{"docs":{},"层":{"docs":{},"的":{"docs":{},"原":{"docs":{},"理":{"docs":{},"。":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}},",":{"docs":{},"而":{"docs":{},"本":{"docs":{},"节":{"docs":{},"实":{"docs":{},"现":{"docs":{},"这":{"docs":{},"个":{"docs":{},"迷":{"docs":{},"你":{"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":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"通":{"docs":{},"过":{"docs":{},"拦":{"docs":{},"截":{"docs":{},"器":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"策":{"docs":{},"略":{"docs":{},":":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}},"包":{"docs":{},"。":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}},"。":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}},"为":{"docs":{},"例":{"docs":{},",":{"docs":{},"它":{"docs":{},"的":{"docs":{},"目":{"docs":{},"录":{"docs":{},"结":{"docs":{},"构":{"docs":{},"如":{"docs":{},"图":{"1":{"2":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}},"docs":{}},"docs":{}}}}}}}}}}}},"也":{"docs":{},"导":{"docs":{},"出":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"迷":{"docs":{},"你":{"docs":{},"库":{"docs":{},":":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"命":{"docs":{},"令":{"docs":{},"来":{"docs":{},"通":{"docs":{},"过":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"文":{"docs":{},"件":{"docs":{},"生":{"docs":{},"成":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"类":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"…":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616}},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}},"t":{"docs":{},"h":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},"=":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"`":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}},"~":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.0125}}},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"m":{"2":{"docs":{},",":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}},"docs":{},"s":{"docs":{},")":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.015065913370998116}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.005649717514124294}},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}}},",":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006557377049180328}}},".":{"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.003278688524590164}}}}}}}}}}}}},"_":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}},"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.0018832391713747645}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.008113590263691683}},"c":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}},"s":{"docs":{},"t":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.012605042016806723},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},",":{"docs":{},"该":{"docs":{},"值":{"docs":{},"用":{"docs":{},"于":{"docs":{},"确":{"docs":{},"定":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}}}}}}}}}}},",":{"docs":{},"因":{"docs":{},"此":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}},"如":{"docs":{},"此":{"docs":{},"便":{"docs":{},"可":{"docs":{},"提":{"docs":{},"高":{"docs":{},"性":{"docs":{},"能":{"docs":{},"。":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},".":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}},";":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.007339449541284404}}}},"g":{"docs":{},"e":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004651162790697674}}}}},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"(":{"1":{"docs":{},")":{"docs":{},",":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}}},"2":{"docs":{},")":{"docs":{},",":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}}},"docs":{}}}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"用":{"docs":{},"于":{"docs":{},"保":{"docs":{},"存":{"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":{},"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":{},"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.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.002167630057803468}}},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001445086705202312},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403}}}}}}}}},"(":{"docs":{},")":{"docs":{},",":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602}}},";":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602}}}}}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}},")":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}},";":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602}},"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.006211180124223602},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403}}}}}}}}}}}}}}},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}}}}},"d":{"docs":{"chapter5/":{"ref":"chapter5/","tf":0.07692307692307693},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.004043126684636119},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.042105263157894736},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.013245033112582781},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00404040404040404},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.002890173410404624},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.005442176870748299},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.009302325581395349},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.007058823529411765},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.007692307692307693},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}},"{":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684}}},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602}}}}}}}}}}},":":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.005390835579514825},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.042105263157894736},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.019867549668874173},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00404040404040404},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.002890173410404624},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.005442176870748299},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.009302325581395349},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.00823529411764706},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.007692307692307693},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}},"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.004201680672268907}}}}}}}}}}}}}}},",":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}}},"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.010526315789473684}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"给":{"docs":{},"其":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"添":{"docs":{},"加":{"docs":{},"填":{"docs":{},"充":{"docs":{},"(":{"docs":{},"留":{"docs":{},"白":{"docs":{},")":{"docs":{},",":{"docs":{},"和":{"docs":{},"边":{"docs":{},"距":{"docs":{},"效":{"docs":{},"果":{"docs":{},"类":{"docs":{},"似":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"前":{"docs":{},"面":{"docs":{},"很":{"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.010526315789473684}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"和":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}}}}}}}}},";":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.013636363636363636},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.004081632653061225}},"(":{"docs":{},")":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.00909090909090909},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.003766478342749529}},".":{"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.00390625}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter10/intro.html":{"ref":"chapter10/intro.html","tf":0.04},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.003766478342749529}}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.00909090909090909},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}},"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.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},")":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}},"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.0018832391713747645}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"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":{},"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":{},"过":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{"chapter10/intro.html":{"ref":"chapter10/intro.html","tf":0.04}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.00909090909090909}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"k":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}}},"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.0018587360594795538}}},":":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},".":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},".":{"docs":{},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"m":{"docs":{},"u":{"docs":{},"m":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"=":{"2":{"0":{"0":{"0":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"b":{"docs":{},"y":{"docs":{},"t":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"(":{"docs":{},"b":{"docs":{},"y":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{},";":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.013636363636363636},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},"参":{"docs":{},"数":{"docs":{},":":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}}},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"d":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}},"y":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"=":{"docs":{},"\"":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.004559270516717325},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.004559270516717325}},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"”":{"docs":{},"下":{"docs":{},",":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}},"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.003278688524590164}}}}}}}}},"s":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}},"。":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}},"/":{"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.0018832391713747645}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}},"(":{"docs":{},")":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.007532956685499058}},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}},"两":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"来":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{},"一":{"docs":{},"下":{"docs":{},"控":{"docs":{},"制":{"docs":{},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"比":{"docs":{},"如":{"docs":{},"c":{"docs":{},"l":{"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":{},"行":{"docs":{},"查":{"docs":{},"看":{"docs":{},"源":{"docs":{},"码":{"docs":{},"。":{"docs":{},"唯":{"docs":{},"一":{"docs":{},"需":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"b":{"docs":{},"o":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"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":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"b":{"docs":{},"o":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"e":{"docs":{},"t":{"docs":{},"是":{"docs":{},"调":{"docs":{},"用":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"顶":{"docs":{},"部":{"docs":{},"的":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"f":{"docs":{},"f":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"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":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"b":{"docs":{},"o":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"e":{"docs":{},"t":{"docs":{},"同":{"docs":{},"名":{"docs":{},"方":{"docs":{},"法":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},"要":{"docs":{},"调":{"docs":{},"用":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"b":{"docs":{},"o":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"e":{"docs":{},"t":{"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":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0018587360594795538}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.005504587155963303}},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}},".":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}},"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},"e":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0013422818791946308},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}},".":{"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":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}}}}},"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.0018587360594795538}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}},"c":{"docs":{},"e":{"docs":{},"h":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}},"o":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},":":{"docs":{},":":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}},"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.0013422818791946308}}}}}}}}},"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.002325581395348837}}}}}}}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0041928721174004195},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.007532956685499058}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.03125},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.008726003490401396},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}},"{":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125}}}}}},":":{"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":{},":":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"它":{"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.005649717514124294}}}}}}}}}}}}}}}}}}}}},")":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.006134969325153374},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.003766478342749529}},")":{"docs":{},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}},".":{"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.003067484662576687}}}}}}}}}},",":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856}}},":":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.006172839506172839},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.003766478342749529}}}}}}}},"t":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}},"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.0018587360594795538}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}},"'":{"docs":{},")":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}}}}}}},"r":{"docs":{},"t":{"docs":{},")":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}},"{":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}},",":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0045871559633027525}}}}}},"r":{"docs":{},"o":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.004026845637583893},"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}},"’":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}}}}}},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.015151515151515152}},"e":{"docs":{},"替":{"docs":{},"代":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}},"标":{"docs":{},"志":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}},"选":{"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.001519756838905775}}}}}}}}}}}},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}},"g":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.007575757575757576}}}}}},"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":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"(":{"docs":{},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.015151515151515152}}}}}}}}}}}}}}}}}},"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.0020964360587002098}}},".":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}}},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"(":{"0":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.005698005698005698}}}}},"docs":{}}}}}},"[":{"docs":{},"n":{"docs":{},"o":{"docs":{},"]":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}}}}}}},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.007272727272727273},"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},";":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364}}}}}}},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}},".":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}}}}}},",":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}},"s":{"docs":{},":":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}},"b":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}}}}}},"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.003745318352059925}}}}}}}}}}}},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"\"":{"docs":{},")":{"docs":{},")":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}},"x":{"docs":{},"$":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894}}}}}}}}}}}}}}}},"路":{"docs":{},"由":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},":":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}},"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.003278688524590164}}}}}}},"n":{"docs":{},"e":{"docs":{},"v":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}}}},"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.003278688524590164}}}}},"p":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0034904013961605585}}}}}}},"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.0020964360587002098}}}}}}}},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}}}},"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.003067484662576687}}}}}}}}}}}}},"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.0020964360587002098}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0064516129032258064}}}}}}},"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}},"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.0020964360587002098}}}}}}}}}}}}}}}}}},"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.0020964360587002098}}}}}}}}}}},"o":{"docs":{},"w":{"docs":{},"n":{"0":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}}}}}},"1":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}}}}}},"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0034904013961605585}}}}}}}}},"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.0020964360587002098}}}}}}}}}}}}}},"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.0020964360587002098}}}}}}}}}}}}}},"a":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.005454545454545455}}}}}}}}}}}}}},"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.0013477088948787063}}}}}}}}},"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.0034904013961605585}}}}}}}}}}}}}}}}}}}}}}}},"$":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}},"{":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"v":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}}},"取":{"docs":{},"消":{"docs":{},"删":{"docs":{},"除":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.002167630057803468}}}}}}}}},"同":{"docs":{},"时":{"docs":{},"删":{"docs":{},"除":{"docs":{},"子":{"docs":{},"目":{"docs":{},"录":{"docs":{},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001445086705202312}}}}}}}}}},"已":{"docs":{},"确":{"docs":{},"认":{"docs":{},"删":{"docs":{},"除":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}},"点":{"docs":{},"击":{"docs":{},"了":{"docs":{},":":{"docs":{},"$":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}},"选":{"docs":{},"择":{"docs":{},"了":{"docs":{},":":{"docs":{},"$":{"docs":{},"{":{"docs":{},"i":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}},"用":{"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.0017452006980802793}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"开":{"docs":{},"始":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}},"正":{"docs":{},"在":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}},"滚":{"docs":{},"动":{"docs":{},"停":{"docs":{},"止":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}},"到":{"docs":{},"边":{"docs":{},"界":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}},"a":{"docs":{},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{},")":{"docs":{},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}}}}}},"b":{"docs":{},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{},")":{"docs":{},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}}}}}},"c":{"docs":{},"b":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},")":{"docs":{},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0056179775280898875}}}}}}},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},")":{"docs":{},";":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},")":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.011235955056179775},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}},".":{"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.0018726591760299626}}}}}}}}}}},"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.0017452006980802793}}}}}}}}}}}}}},"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.0018726591760299626}}}}}},"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}},"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":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}}}}}}}}}},")":{"docs":{},";":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},")":{"docs":{},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}},")":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}},"_":{"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.0013477088948787063}},";":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}},"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.003067484662576687}}}}}}}}}}}}}}}}}}}}}},"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}},"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.0029154518950437317}}}},".":{"docs":{},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}}}}}}}},"'":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"d":{"docs":{},"y":{"docs":{},",":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.003669724770642202}}}}}}}},"w":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.003669724770642202}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}},"docs":{}}}}}}}},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}}}}}},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.00303951367781155},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006557377049180328}}},"、":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}},"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.004866180048661801},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004651162790697674},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}},",":{"docs":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}}},":":{"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":{},"没":{"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":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},".":{"docs":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}},")":{"docs":{},",":{"docs":{},")":{"docs":{},",":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}}}}}},"=":{"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.012539184952978056},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}},"e":{"docs":{},"\"":{"docs":{},".":{"docs":{},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"(":{"docs":{},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},")":{"docs":{},")":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.008086253369272238},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.007692307692307693}}}}}}}}}},"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.005649717514124294}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"+":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}},",":{"docs":{},"\"":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}},"w":{"docs":{},"d":{"docs":{},")":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}},"{":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.011538461538461539}}}}}}}},"k":{"docs":{},"g":{"1":{"docs":{},":":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.0125}}}},"docs":{}}},"h":{"docs":{},"y":{"docs":{},"s":{"docs":{},"i":{"docs":{},"c":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}},"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":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"组":{"docs":{},"件":{"docs":{},"如":{"docs":{},"何":{"docs":{},"响":{"docs":{},"应":{"docs":{},"用":{"docs":{},"户":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"用":{"docs":{},"户":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"完":{"docs":{},"抬":{"docs":{},"起":{"docs":{},"手":{"docs":{},"指":{"docs":{},"后":{"docs":{},",":{"docs":{},"继":{"docs":{},"续":{"docs":{},"执":{"docs":{},"行":{"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":{},"个":{"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":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.02631578947368421}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}},"i":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}},"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.00303951367781155}}}}}}}}}},"x":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.00303951367781155}},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}},"s":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.00303951367781155}}},":":{"docs":{},"当":{"docs":{},"前":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{},"。":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}}}}}}}}}}}},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}}}},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.006802721088435374}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"q":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}},"、":{"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.0035714285714285713}}}}}}}}}},"低":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}},"是":{"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.0035714285714285713}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}},"简":{"docs":{},"介":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}},"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.003278688524590164}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"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.003278688524590164}}}}}}}}}}}}}}}},"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},",":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.005813953488372093}}}}}}}}}}}}}}}},"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.0064516129032258064},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}},"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":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.005813953488372093}},"a":{"docs":{},"x":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.007142857142857143}}},"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.012048192771084338}},"(":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004651162790697674},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.005390835579514825},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.005454545454545455},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.002890173410404624},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0058309037900874635},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.006644518272425249},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}},"{":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}},".":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}}}}}},"、":{"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":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.00625}},"(":{"docs":{},")":{"docs":{},",":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"\"":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},":":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}},":":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.005698005698005698}}},"“":{"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":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}}},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"y":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.0078125}}}}}}},"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.006622516556291391}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0163265306122449}}},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}},";":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}}}}}}},"w":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"(":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}},"e":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.025}},"中":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"框":{"docs":{},"架":{"docs":{},"在":{"docs":{},"接":{"docs":{},"收":{"docs":{},"到":{"docs":{},"用":{"docs":{},"户":{"docs":{},"状":{"docs":{},"态":{"docs":{},"改":{"docs":{},"变":{"docs":{},"通":{"docs":{},"知":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.003278688524590164}}}}}}}}}},"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.0041928721174004195}},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}},":":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"m":{"docs":{},")":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}},")":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}},";":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}},",":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0045871559633027525}}},"=":{"docs":{},"\"":{"docs":{},"a":{"docs":{},"d":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"\"":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}},"=":{"docs":{},"\"":{"docs":{},"a":{"docs":{},"d":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"\"":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}},"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.0035714285714285713}}}}}}}}}}}}}}}}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0045871559633027525},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},".":{"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0045871559633027525},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}},"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0045871559633027525}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713},"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.018726591760299626},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.009732360097323601},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.018604651162790697},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.014423076923076924},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.016771488469601678},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.010141987829614604},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.00510204081632653},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.008086253369272238},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.011834319526627219},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.010101010101010102},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.02956989247311828},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.020134228187919462},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.015337423312883436},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.04878048780487805},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.035483870967741936},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.02181818181818182},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.00847457627118644},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.07407407407407407},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.02384393063583815},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.012216404886561954},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.037900874635568516},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.020618556701030927},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.031055900621118012},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.02631578947368421},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.012605042016806723},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.01646090534979424},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.009852216748768473},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.009966777408637873},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.005442176870748299},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.022598870056497175},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.013761467889908258},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0330188679245283},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.008547008547008548},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.013953488372093023},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.02018348623853211},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.01652892561983471},"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.035398230088495575},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.014005602240896359},"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.012121212121212121},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.005649717514124294},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0037174721189591076},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.015258215962441314},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.007575757575757576},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.020348837209302327},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.023529411764705882},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.011538461538461539},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.02531645569620253}},";":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.022222222222222223},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}},"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"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.001519756838905775}},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}}}}}}}}}},"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.00425531914893617}},"(":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}}}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.013182674199623353},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0055762081784386614}},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}},"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.0018587360594795538}},"[":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":0.04}},"类":{"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":{},"组":{"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":{},"件":{"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":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"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":{},"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":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"中":{"docs":{},"。":{"docs":{"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":0.04}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"和":{"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.0018832391713747645}}}}}}}}}}}},")":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.003766478342749529}}},"为":{"docs":{},"止":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"再":{"docs":{},"将":{"docs":{},"其":{"docs":{},"标":{"docs":{},"记":{"docs":{},"为":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}}}}}}},"可":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"。":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"再":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}},"(":{"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.001519756838905775}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}},",":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}},".":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.005649717514124294}},"子":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"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.0018832391713747645}}}}}}}}}},"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.0018832391713747645}}},"y":{"docs":{},"(":{"docs":{},"{":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"s":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}},"e":{"docs":{},"r":{"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.0018587360594795538}}},":":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}}}}}}}}},"t":{"docs":{},"!":{"docs":{},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064}}}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},"“":{"docs":{},"只":{"docs":{},"会":{"docs":{},"重":{"docs":{},"新":{"docs":{},"构":{"docs":{},"建":{"docs":{},"整":{"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":{},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"docs":{},"不":{"docs":{},"会":{"docs":{},"起":{"docs":{},"作":{"docs":{},"用":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}},"重":{"docs":{},"载":{"docs":{},"失":{"docs":{},"效":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"调":{"docs":{},"用":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}}},")":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},")":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"即":{"docs":{},"可":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}},"运":{"docs":{},"行":{"docs":{},"您":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}}}}}}}}}}}},"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":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"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":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.009416195856873822}}},"y":{"docs":{},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"一":{"docs":{},"个":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}},"就":{"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.0018832391713747645}}}}}}}}}}}}}}}}},"该":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"?":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.005369127516778523}},"e":{"docs":{},"s":{"docs":{},"…":{"docs":{},",":{"docs":{},"选":{"docs":{},"择":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}}}}},"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.006557377049180328}}}}}}}}}}},"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.003278688524590164}}}}}}}}}}}}}}}}}}}}},"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.006557377049180328}}}}}}}}}}},"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.003278688524590164}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"!":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}},"g":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"e":{"docs":{},")":{"docs":{},")":{"docs":{},".":{"docs":{},"t":{"docs":{},"o":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},"(":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"[":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"]":{"docs":{},")":{"docs":{},";":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},")":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}},"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.00303951367781155},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}},"y":{"docs":{},"(":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},":":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}},"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.00510204081632653}}},":":{"docs":{},"当":{"docs":{},"图":{"docs":{},"片":{"docs":{},"本":{"docs":{},"身":{"docs":{},"大":{"docs":{},"小":{"docs":{},"小":{"docs":{},"于":{"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.002551020408163265}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"(":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.003745318352059925},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004651162790697674},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0058309037900874635},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.012539184952978056},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}}},")":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.008264462809917356}},";":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}},".":{"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}},";":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}},"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}},";":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}}}}},"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}},"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}},"[":{"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}},"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}},"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.008264462809917356}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.008264462809917356}}},",":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.005649717514124294}}}}}},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0045871559633027525},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.02358490566037736},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.005698005698005698},"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.005813953488372093}},"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0045871559633027525}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},".":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"(":{"docs":{},"(":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},".":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"(":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},".":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"/":{"docs":{},"\"":{"docs":{},")":{"docs":{},".":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.005813953488372093}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{},".":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.005813953488372093}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}},";":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.005813953488372093}}},"=":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}},"a":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.018867924528301886}}}}}}}},",":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}},"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.0018587360594795538}}}}}}}}}}}},"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}},"v":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},"e":{"docs":{},"(":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"u":{"docs":{},"r":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}},"方":{"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":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"的":{"docs":{},"主":{"docs":{},"入":{"docs":{},"口":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"它":{"docs":{},"接":{"docs":{},"受":{"docs":{},"一":{"docs":{},"个":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"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":{},",":{"docs":{},"返":{"docs":{},"回":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"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":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"执":{"docs":{},"行":{"docs":{},"流":{"docs":{},"程":{"docs":{},":":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"t":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}},".":{"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.007598784194528876}}}},"docs":{}}},"docs":{}}}},"w":{"docs":{},"h":{"docs":{},"(":{"1":{"0":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}}}},"o":{"docs":{},"g":{"docs":{},"n":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}}}}},"e":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}},";":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}},"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.008264462809917356}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"u":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}},".":{"docs":{},"t":{"docs":{},"t":{"docs":{},"f":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.01171875}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"(":{"docs":{},"r":{"docs":{},"\"":{"docs":{},"\\":{"docs":{},"s":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}},"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00851063829787234}},",":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.01702127659574468}}},"=":{"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.00425531914893617}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"x":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"v":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter13/intl.html":{"ref":"chapter13/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":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866}},"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":{},"组":{"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":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"己":{"docs":{},"试":{"docs":{},"验":{"docs":{},"。":{"docs":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"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.0049504950495049506}}}}}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},"(":{"docs":{},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}}},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.00872093023255814},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},"标":{"docs":{},"记":{"docs":{},"是":{"docs":{},"否":{"docs":{},"是":{"docs":{},"\"":{"docs":{},"下":{"docs":{},"拉":{"docs":{},"刷":{"docs":{},"新":{"docs":{},"\"":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}},")":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},":":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}},"n":{"docs":{},"、":{"docs":{},"w":{"docs":{},"e":{"docs":{},"e":{"docs":{},"x":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}}}},"u":{"docs":{},"n":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.00303951367781155},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.005504587155963303},"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.010416666666666666},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.011204481792717087},"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},"模":{"docs":{},"拟":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}},"启":{"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.0026845637583892616}}}}}}}}}}}}}},"应":{"docs":{},"用":{"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":{},"y":{"docs":{},"工":{"docs":{},"具":{"docs":{},"的":{"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":{},"监":{"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":{},"以":{"docs":{},"在":{"docs":{},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"中":{"docs":{},"直":{"docs":{},"接":{"docs":{},"打":{"docs":{},"开":{"docs":{},"该":{"docs":{},"链":{"docs":{},"接":{"docs":{},"。":{"docs":{},"直":{"docs":{},"接":{"docs":{},"使":{"docs":{},"用":{"docs":{},"语":{"docs":{},"句":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"图":{"docs":{},"标":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"(":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}},"m":{"docs":{},"y":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}},",":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006557377049180328}}},")":{"docs":{},";":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}},"根":{"docs":{},"本":{"docs":{},"执":{"docs":{},"行":{"docs":{},"不":{"docs":{},"到":{"docs":{},"。":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}}},"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.0018587360594795538}}}}}}}}}}},"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.0049504950495049506}}}}}}}}}}}}}}}}}}}}},"命":{"docs":{},"令":{"docs":{},"来":{"docs":{},"运":{"docs":{},"行":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}}}}}}}}},"时":{"docs":{},"使":{"docs":{},"用":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}}}}},"带":{"docs":{},"有":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}},"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.003278688524590164}},"(":{"docs":{},")":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.013114754098360656}}}},"r":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}}}}}}}},"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.0049504950495049506},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}},":":{"docs":{},"纵":{"docs":{},"轴":{"docs":{},"方":{"docs":{},"向":{"docs":{},"的":{"docs":{},"间":{"docs":{},"距":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}}}}}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.01652892561983471}}}}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.0069767441860465115},"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.030303030303030304}},"e":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.0069767441860465115}}}},"。":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}},")":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004651162790697674},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}},"等":{"docs":{},"价":{"docs":{},"于":{"docs":{},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},".":{"docs":{},"p":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"(":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}},"e":{"docs":{},",":{"docs":{},"{":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}}}},"r":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}},"s":{"docs":{},":":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},"{":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.0069767441860465115}}}},";":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}},"e":{"docs":{},"t":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}},"”":{"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.002325581395348837}}}}}}}}}}}}}}}}}},")":{"docs":{},"即":{"docs":{},"有":{"docs":{},"名":{"docs":{},"字":{"docs":{},"的":{"docs":{},"路":{"docs":{},"由":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"先":{"docs":{},"给":{"docs":{},"路":{"docs":{},"由":{"docs":{},"起":{"docs":{},"一":{"docs":{},"个":{"docs":{},"名":{"docs":{},"字":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"路":{"docs":{},"由":{"docs":{},"名":{"docs":{},"字":{"docs":{},"直":{"docs":{},"接":{"docs":{},"打":{"docs":{},"开":{"docs":{},"新":{"docs":{},"的":{"docs":{},"路":{"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.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001445086705202312}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001445086705202312}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"t":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}},"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0018587360594795538}},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}}}}},"w":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856}},"、":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}},"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":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.007653061224489796},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.01646090534979424},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.012903225806451613},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00404040404040404},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.013605442176870748},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005649717514124294},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0036127167630057803},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},"{":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856}}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"水":{"docs":{},"平":{"docs":{},"方":{"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.00411522633744856}}}}}}}}}}}}}}}}}}}}}}}}},"默":{"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.005917159763313609}}}}}}}}}}}}}}}}}}}}}}}},"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.0064516129032258064}},"(":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}},"和":{"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":{},"组":{"docs":{},"件":{"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":{},"组":{"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":{},":":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684}},",":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684}}}}}},"c":{"docs":{},"h":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"(":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},".":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"(":{"docs":{},"(":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.00749063670411985},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.00909090909090909},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},")":{"docs":{},"代":{"docs":{},"码":{"docs":{},"仍":{"docs":{},"有":{"docs":{},"差":{"docs":{},"距":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}}}}},",":{"docs":{},"执":{"docs":{},"行":{"docs":{},"效":{"docs":{},"率":{"docs":{},"和":{"docs":{},"a":{"docs":{},"o":{"docs":{},"t":{"docs":{},"(":{"docs":{},"a":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}}}}}}}}}}}}}},")":{"docs":{},"即":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01}},"“":{"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},":":{"docs":{},"'":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.004026845637583893}},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},",":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801}}}},"”":{"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.0024330900243309003}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.005813953488372093}},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}},";":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.005813953488372093}}}}}}}},"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.001519756838905775},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0037174721189591076}}}}}}}}}}}}}}},"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}},"页":{"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.001519756838905775}}}}}}}}}}}}}}}}},"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.0037174721189591076}}}}}}}}}}}},"t":{"docs":{},"l":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.017699115044247787},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}},"e":{"docs":{},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.009732360097323601},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.009302325581395349},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00851063829787234},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.014141414141414142},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005649717514124294},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0072254335260115606},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.0058823529411764705},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.0189873417721519}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}}}}}}}},";":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}},"e":{"docs":{},"(":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}},"{":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}},"实":{"docs":{},"现":{"docs":{},"代":{"docs":{},"码":{"docs":{},":":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}}},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.009900990099009901}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}},"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.004201680672268907},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},"设":{"docs":{},"置":{"docs":{},"页":{"docs":{},"面":{"docs":{},"中":{"docs":{},",":{"docs":{},"确":{"docs":{},"保":{"docs":{},"在":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}},",":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}},"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.002824858757062147},"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}}}}}}}}},")":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}},"?":{"docs":{},".":{"docs":{},"v":{"docs":{},"i":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"(":{"docs":{},"v":{"docs":{},"i":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},")":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},",":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}},"s":{"docs":{},"k":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}},"b":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}},"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":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00404040404040404}}}}}}},"{":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}},"(":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00404040404040404}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}},"(":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}}},"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.00202020202020202}},"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.00202020202020202}}}}}}}}}}}}}}}}}}}},"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.00202020202020202}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"(":{"docs":{},"(":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.006060606060606061}}}}}}}}}},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00404040404040404}}}},"组":{"docs":{},"件":{"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":{},"接":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"组":{"docs":{},"件":{"docs":{},"样":{"docs":{},"式":{"docs":{},"。":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"组":{"docs":{},"件":{"docs":{},"定":{"docs":{},"义":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"a":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.006085192697768763}},"(":{"docs":{},"{":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}},"b":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.008113590263691683}},"(":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}},"{":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}},"c":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.004056795131845842}},"(":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}},"{":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}},"将":{"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":{},"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/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0017452006980802793}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},":":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.017543859649122806}}},"=":{"docs":{},"\"":{"docs":{},"\\":{"docs":{},"$":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}},"r":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}},"s":{"docs":{},"t":{"docs":{"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.030303030303030304}},"(":{"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.0018726591760299626}}}}}}}}}},"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.0018726591760299626}}}}}}}}}}}},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}},"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.0049504950495049506}},"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.0049504950495049506}}}}}}}}},"{":{"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.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"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":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"/":{"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"x":{"docs":{},"t":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.012121212121212121}},"(":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.009732360097323601},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.004056795131845842},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.0058823529411764705},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}},"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.004866180048661801}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},".":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"s":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},")":{"docs":{},".":{"docs":{},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"(":{"docs":{},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"u":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}},"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.00625}}}}}}}}}}}}}}}}}}}}}}},"\"":{"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.012195121951219513}}}}}}}}}}}}}}}}}},"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.03292181069958848},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005649717514124294},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.0035294117647058825}},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.018072289156626505}}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}},"打":{"docs":{},"开":{"docs":{},"提":{"docs":{},"示":{"docs":{},"页":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}},"提":{"docs":{},"示":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.004335260115606936}}}}}}},"返":{"docs":{},"回":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}},"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.0020964360587002098}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}},"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.0020964360587002098}}}}}}}}}},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}},"*":{"1":{"0":{"0":{"docs":{},")":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}}}},"docs":{}},"docs":{}},"docs":{}}}}}},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.0234375},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00823045267489712},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015625},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.03225806451612903},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.026490066225165563}}}}}},"i":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00823045267489712}}}}}}},"i":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.0078125},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00823045267489712},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015625},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684}},"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.0032258064516129032}}}}}}}}}}}}}},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.014778325123152709}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0058309037900874635}}}}}},"发":{"docs":{},"送":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}}}}},"添":{"docs":{},"加":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}}},"商":{"docs":{},"品":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.005454545454545455}}}}}}}}},"详":{"docs":{},"情":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}}}}},"登":{"docs":{},"录":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}},"移":{"docs":{},"动":{"docs":{},"焦":{"docs":{},"点":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}}}},"隐":{"docs":{},"藏":{"docs":{},"键":{"docs":{},"盘":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}}}},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"l":{"docs":{},"d":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00823045267489712}}}}}}}}},"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":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015625},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186}}}}}}}}},"你":{"docs":{},"好":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.012903225806451613}}}},"世":{"docs":{},"界":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}}}}}}}}}}}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00404040404040404}}}},"\"":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.006980802792321117}}}}}}},"$":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"\"":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.016129032258064516},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.002167630057803468}},")":{"docs":{},";":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0058309037900874635}}}}}}}}}}}}},"滚":{"docs":{},"动":{"docs":{},"控":{"docs":{},"制":{"docs":{},"\"":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}}}}}}}},"总":{"docs":{},"价":{"docs":{},":":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.005454545454545455}}}}},"主":{"docs":{},"题":{"docs":{},"测":{"docs":{},"试":{"docs":{},"\"":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}},"删":{"docs":{},"除":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.004335260115606936}}}}}}},"取":{"docs":{},"消":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.004335260115606936}}}}}}},"同":{"docs":{},"时":{"docs":{},"删":{"docs":{},"除":{"docs":{},"子":{"docs":{},"目":{"docs":{},"录":{"docs":{},"?":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0036127167630057803}}}}}}}}}}}}},"对":{"docs":{},"话":{"docs":{},"框":{"1":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}},"2":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}},"docs":{}}}},"您":{"docs":{},"确":{"docs":{},"定":{"docs":{},"要":{"docs":{},"删":{"docs":{},"除":{"docs":{},"当":{"docs":{},"前":{"docs":{},"文":{"docs":{},"件":{"docs":{},"吗":{"docs":{},"?":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.004335260115606936}}}}}}}}}}}}}}}}},"显":{"docs":{},"示":{"docs":{},"底":{"docs":{},"部":{"docs":{},"菜":{"docs":{},"单":{"docs":{},"列":{"docs":{},"表":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}},"正":{"docs":{},"在":{"docs":{},"加":{"docs":{},"载":{"docs":{},",":{"docs":{},"请":{"docs":{},"稍":{"docs":{},"后":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001445086705202312}}}}}}}}}}}}}}}},"话":{"docs":{},"框":{"3":{"docs":{},"(":{"docs":{},"复":{"docs":{},"选":{"docs":{},"框":{"docs":{},"可":{"docs":{},"点":{"docs":{},"击":{"docs":{},")":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}},"docs":{}}},"请":{"docs":{},"选":{"docs":{},"择":{"docs":{},"\"":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.011299435028248588}}}},"\"":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}},"左":{"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.005649717514124294}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}},"原":{"docs":{},"图":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403}}}}}}},"逆":{"docs":{},"时":{"docs":{},"针":{"docs":{},"旋":{"docs":{},"转":{"1":{"docs":{},"/":{"5":{"docs":{},"圈":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}},"docs":{}}},"docs":{}}}}}},"顺":{"docs":{},"时":{"docs":{},"针":{"docs":{},"旋":{"docs":{},"转":{"1":{"docs":{},"/":{"5":{"docs":{},"圈":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}},"docs":{}}},"docs":{}}}}}},"获":{"docs":{},"取":{"docs":{},"百":{"docs":{},"度":{"docs":{},"首":{"docs":{},"页":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}},",":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}}}}}},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00851063829787234}}}}}}}}},"'":{"docs":{},"d":{"docs":{},"u":{"docs":{},"m":{"docs":{},"p":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}}},"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.0020964360587002098}}}}}}}}}}}}}},"a":{"docs":{},"'":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064}}}}}},"d":{"docs":{},"d":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}},"n":{"docs":{},"d":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}},"h":{"docs":{},"'":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}}}}}},"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.0049504950495049506}}}}}}}}}}}},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"'":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}}},"j":{"docs":{},"'":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}}}}}}},"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.0049504950495049506}}}}}}}}}}}},"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.0049504950495049506}}}}}}}}}}},"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.0049504950495049506}}}}}},"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.0049504950495049506}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}},"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.00202020202020202}}}}}}}}}}}}}},"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.00202020202020202}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},"已":{"docs":{},"关":{"docs":{},"闭":{"docs":{},"'":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}}}}},"i":{"docs":{},"\\":{"docs":{},"'":{"docs":{},"m":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}},"w":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}},"e":{"docs":{},"t":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}},"没":{"docs":{},"有":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},"'":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}}}},"等":{"docs":{},"待":{"docs":{},"数":{"docs":{},"据":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"'":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}}},"中":{"docs":{},"文":{"docs":{},"简":{"docs":{},"体":{"docs":{},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}},"美":{"docs":{},"国":{"docs":{},"英":{"docs":{},"语":{"docs":{},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}},"请":{"docs":{},"选":{"docs":{},"择":{"docs":{},"语":{"docs":{},"言":{"docs":{},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}},"+":{"1":{"docs":{},"'":{"docs":{},",":{"docs":{},")":{"docs":{},",":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}},"docs":{}},"文":{"docs":{},"件":{"docs":{},"操":{"docs":{},"作":{"docs":{},"'":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}},"点":{"docs":{},"击":{"docs":{},"了":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}},"e":{"docs":{},".":{"docs":{},"f":{"docs":{},"i":{"docs":{},"t":{"docs":{},".":{"docs":{},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}},"[":{"docs":{},"\"":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"_":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"\"":{"docs":{},"]":{"docs":{},")":{"docs":{},")":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}}}}}}}},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}}}}},"c":{"docs":{},",":{"docs":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406}}}},"_":{"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.003067484662576687}}}}}}}}}}}},"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.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0017452006980802793}}}}}}}}}}}},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},")":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}},"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}},")":{"docs":{},",":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}},"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":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}}}}}}}}}}}}}},"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.0064516129032258064}}}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{},".":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},".":{"docs":{},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}}}}}}},"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":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"m":{"docs":{},".":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},")":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"u":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}}}}}}}}},"o":{"docs":{},"g":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},")":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}},",":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}},"y":{"docs":{},"e":{"docs":{},"s":{"docs":{},")":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}},"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":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},")":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"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.0024330900243309003}}}}}}}}}},":":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.0078125},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}},";":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}},"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.001519756838905775}}}}}}}}}}}}},"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.00390625}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856}}},".":{"docs":{},"r":{"docs":{},"t":{"docs":{},"l":{"docs":{},",":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856}}}}}}},":":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}},":":{"docs":{},"表":{"docs":{},"示":{"docs":{},"水":{"docs":{},"平":{"docs":{},"方":{"docs":{},"向":{"docs":{},"子":{"docs":{},"组":{"docs":{},"件":{"docs":{},"的":{"docs":{},"布":{"docs":{},"局":{"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.00411522633744856}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"和":{"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":{},":":{"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":{},"即":{"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":{},"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":{},"即":{"docs":{},"从":{"docs":{},"右":{"docs":{},"往":{"docs":{},"左":{"docs":{},"的":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"。":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0018587360594795538}},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},"主":{"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":{},"字":{"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.00390625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"代":{"docs":{},"表":{"docs":{},"文":{"docs":{},"本":{"docs":{},"相":{"docs":{},"对":{"docs":{},"于":{"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.00390625}}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.01953125},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}},"e":{"docs":{},"(":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.02734375},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.004705882352941176}},"f":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.006085192697768763},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856}}}}}}},"w":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.004043126684636119},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015625},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.012903225806451613},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.013605442176870748},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}}}}}}},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}},"用":{"docs":{},"于":{"docs":{},"指":{"docs":{},"定":{"docs":{},"文":{"docs":{},"本":{"docs":{},"显":{"docs":{},"示":{"docs":{},"的":{"docs":{},"样":{"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.00390625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.006644518272425249}},"(":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.0078125},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0034904013961605585}},"{":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0034904013961605585}}}}}}}}}}}},":":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}},"\"":{"docs":{},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}}},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}},".":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"h":{"docs":{},"(":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}},"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.00390625}}}}}}}}}}}}}}}},"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0026954177897574125}},".":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.0078125}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}}}},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.01171875},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}},":":{"docs":{},"文":{"docs":{},"本":{"docs":{},"的":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"方":{"docs":{},"式":{"docs":{},";":{"docs":{},"可":{"docs":{},"以":{"docs":{},"选":{"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.00390625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.00390625}}}}}}}}}}}}}}}}}}}},"属":{"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.00390625}}}}}}}}}}}}}}}}}},"用":{"docs":{},"于":{"docs":{},"显":{"docs":{},"示":{"docs":{},"简":{"docs":{},"单":{"docs":{},"样":{"docs":{},"式":{"docs":{},"文":{"docs":{},"本":{"docs":{},",":{"docs":{},"它":{"docs":{},"包":{"docs":{},"含":{"docs":{},"一":{"docs":{},"些":{"docs":{},"控":{"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.00390625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.006738544474393531},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.007692307692307693}},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.005390835579514825},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.007692307692307693}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}},"(":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.014824797843665768}},"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.0013477088948787063}}}}}}}}}}}},"{":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}},"用":{"docs":{},"于":{"docs":{},"文":{"docs":{},"本":{"docs":{},"输":{"docs":{},"入":{"docs":{},",":{"docs":{},"它":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"很":{"docs":{},"多":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"先":{"docs":{},"简":{"docs":{},"单":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"主":{"docs":{},"要":{"docs":{},"属":{"docs":{},"性":{"docs":{},"的":{"docs":{},"作":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0026954177897574125},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.007692307692307693}}}}}}}}}}}},"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.0013477088948787063}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}},":":{"docs":{},"键":{"docs":{},"盘":{"docs":{},"动":{"docs":{},"作":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"图":{"docs":{},"标":{"docs":{},"(":{"docs":{},"即":{"docs":{},"回":{"docs":{},"车":{"docs":{},"键":{"docs":{},"位":{"docs":{},"图":{"docs":{},"标":{"docs":{},")":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"枚":{"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":{},"图":{"3":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}},"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.0013477088948787063}}}}}}}}}}}}}}}},"枚":{"docs":{},"举":{"docs":{},"值":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}},"e":{"docs":{},",":{"docs":{},"/":{"docs":{},"/":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}},")":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}},"/":{"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"=":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.010416666666666666}}}}}}}}}}}}}}}},"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.0013422818791946308}}}}}}},"s":{"docs":{},";":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},">":{"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.0013422818791946308}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}},"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.0018726591760299626}}}}}}}}}}}}}}}}}}},"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.005649717514124294}}}},"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":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}}}}}}},"(":{"docs":{},")":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}}}},"p":{"docs":{},":":{"8":{"0":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}},"docs":{}}},"docs":{}},"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015625},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.005235602094240838},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}},",":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.021052631578947368}}}},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.014245014245014245}},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}},":":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}},";":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}}},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}},":":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.004081632653061225}}},";":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}},")":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},";":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.009174311926605505}}}}}}}},"d":{"docs":{},"o":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}},"r":{"docs":{},"i":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0055762081784386614},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0035211267605633804},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}},"e":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.007653061224489796},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.00909090909090909},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.003766478342749529},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}},",":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.013477088948787063},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00404040404040404},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.008064516129032258},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.008097165991902834},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001445086705202312},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.012422360248447204},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.009523809523809525},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.005813953488372093},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}},"/":{"docs":{},"/":{"docs":{},"是":{"docs":{},"否":{"docs":{},"保":{"docs":{},"存":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}}}}}}}}}}},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.006134969325153374},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.008746355685131196},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.004081632653061225},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.006880733944954129},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.007532956685499058},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.005813953488372093},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}},"}":{"docs":{},")":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}},";":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}},")":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},".":{"docs":{},"p":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"(":{"docs":{},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}},",":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}},"?":{"docs":{},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"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":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}},"则":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"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.0018832391713747645}}}}}}}}}}}}}}},",":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"{":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}}},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}}}}}},"c":{"docs":{},"e":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}},"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.001519756838905775},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}},"(":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064}},"d":{"docs":{},"o":{"docs":{},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}}}},".":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}},"可":{"docs":{},"以":{"docs":{},"对":{"docs":{},"子":{"docs":{},"组":{"docs":{},"件":{"docs":{},"进":{"docs":{},"行":{"docs":{},"旋":{"docs":{},"转":{"docs":{},"变":{"docs":{},"换":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064}},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064}}}}}}}}},"可":{"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.0064516129032258064}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064}}},"接":{"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":{},"组":{"docs":{},"件":{"docs":{},"平":{"docs":{},"移":{"docs":{},"指":{"docs":{},"定":{"docs":{},"的":{"docs":{},"距":{"docs":{},"离":{"docs":{},"。":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"其":{"docs":{},"子":{"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":{},"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.0064516129032258064}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"组":{"docs":{},"件":{"docs":{},"应":{"docs":{},"用":{"docs":{},"何":{"docs":{},"种":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"其":{"docs":{},"占":{"docs":{},"用":{"docs":{},"空":{"docs":{},"间":{"docs":{},"的":{"docs":{},"大":{"docs":{},"小":{"docs":{},"和":{"docs":{},"在":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"都":{"docs":{},"是":{"docs":{},"固":{"docs":{},"定":{"docs":{},"不":{"docs":{},"变":{"docs":{},"的":{"docs":{},",":{"docs":{},"因":{"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.0064516129032258064}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},",":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856}}},":":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856}}},";":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.002167630057803468}}},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001445086705202312},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00823045267489712}}}}}}}}}},"d":{"docs":{},"u":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.002167630057803468}}},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001445086705202312},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602}}},";":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602}}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"u":{"docs":{},"c":{"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":{},"都":{"docs":{},"可":{"docs":{},"以":{"docs":{},"接":{"docs":{},"收":{"docs":{},"到":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}},"e":{"docs":{},"e":{"docs":{},"。":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}},"本":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.003745318352059925},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.00749063670411985},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}},"n":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter7/":{"ref":"chapter7/","tf":0.1111111111111111},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001445086705202312},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.007575757575757576}},".":{"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.006060606060606061}},".":{"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.004866180048661801},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}},"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.0013477088948787063}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}},"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":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}},";":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}}}}}}}}}}}}}},";":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}},"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":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004651162790697674},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.011299435028248588},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}},"(":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004651162790697674},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},"{":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}},"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"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.002824858757062147}}}}}}}}}}},"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.002824858757062147}}}}}}}}}}}}}}}}}}}}}},"用":{"docs":{},"于":{"docs":{},"保":{"docs":{},"存":{"docs":{},"是":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}}}}}}}}},"(":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005649717514124294}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},"w":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}}}}},"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.002824858757062147}}}}}}}}}},"组":{"docs":{},"件":{"docs":{},"可":{"docs":{},"以":{"docs":{},"为":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}}}}},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}},")":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}},"(":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},".":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}},"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.004866180048661801}}}},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}},"/":{"docs":{},"/":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}}}}}},"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.0049504950495049506},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125}}}}}}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},",":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125}}}},"t":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}},"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.006622516556291391}}},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856}}}}}}}}}}}}},"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.006211180124223602}}}}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}},"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":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}},":":{"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.0020964360587002098}}}}}}}}}}}}}}},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}},"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.006211180124223602}}}}}}}},"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.006211180124223602}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"e":{"docs":{},"l":{"docs":{},",":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602}}}}}}}}}}}}}},"o":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},",":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"u":{"docs":{},"s":{"docs":{},",":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}}}}}}}}}}},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.010582010582010581},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001445086705202312},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602}}}}}}}}},"e":{"docs":{},"h":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}}}}}}}}}},"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.0020964360587002098}}}}}}}},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},",":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.010582010582010581}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}}}}},"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":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}},"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.003067484662576687}}}}}}}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.004056795131845842}}}}},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}}}}}}}}}}},"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.00202020202020202}}}}}}}}}}}}}}}}}}}}}}},"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.02631578947368421}}}}}}}}}}},"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.002577319587628866}}}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"}":{"docs":{},")":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.004056795131845842}}}},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}}}}}},"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.005649717514124294}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}}}}}}},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}}}}}}},"u":{"docs":{},"p":{"docs":{},",":{"docs":{},"/":{"docs":{},"/":{"docs":{},"手":{"docs":{},"指":{"docs":{},"抬":{"docs":{},"起":{"docs":{},"回":{"docs":{},"调":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}},"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.0029154518950437317}}}}}}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"q":{"docs":{},"u":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602}}}}}}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.006172839506172839},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}}}},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}},"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.006024096385542169}}}}}}}}}}}}}}}}}}}}}}}}}},"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.002551020408163265}}}}}}}}}}}},"s":{"docs":{},",":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}}}}}}},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.02631578947368421},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{},"/":{"docs":{},"/":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}},"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.0013477088948787063}}}}}}}},"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.0013477088948787063}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}}}}}}},"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.0049504950495049506}}}}}}}}}}}}}}},"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.00202020202020202}}}}}}}}}}}}}},"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.006024096385542169}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}}}},"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.006024096385542169}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609}}}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},",":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364}}}}}},"u":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"/":{"docs":{},"/":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.003669724770642202}}}}}}}}},"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.006024096385542169}}}}}}}},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}}}}}}}}}}}},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}}},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.003766478342749529}}}}}}}},"h":{"docs":{},"y":{"docs":{},"s":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},",":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.02631578947368421},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406}}}}}}}}}},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"p":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}},"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.006024096385542169}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}}}},"e":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}},":":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}},"c":{"docs":{},"a":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}},":":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"s":{"docs":{},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}}}}}}},"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.014492753623188406}}}}}}}}}}}}},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"e":{"docs":{},"l":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"v":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"v":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}},"i":{"docs":{},"z":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}},"f":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125}},",":{"docs":{},"/":{"docs":{},"/":{"docs":{},"缩":{"docs":{},"放":{"docs":{},"模":{"docs":{},"式":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609}}}}},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}},"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":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}},"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.002551020408163265}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406}},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"/":{"docs":{},"/":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}}},"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.0049504950495049506}}}}}}},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}}}}}}}},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125}}}}}}},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"u":{"docs":{},"s":{"docs":{},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}}}}}},"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.0049504950495049506}}}}}}}}}}}}}}},"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.02631578947368421}}}}}}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}},"e":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125}}}}},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}}}},"y":{"docs":{},")":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}},"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.00425531914893617}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}}}}}}}},"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.006622516556291391}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.006211180124223602}}}}}}}}}}},"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.00425531914893617}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}}}}}}}}}}},",":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}},")":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0055762081784386614}},";":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.01485148514851485},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010309278350515464}}}},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}},"o":{"docs":{},"u":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}}}},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.005454545454545455},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}},"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":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}}}}}}},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"t":{"6":{"4":{"docs":{},":":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}}},"docs":{}},"docs":{}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"3":{"2":{"docs":{},":":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}}},"docs":{}},"6":{"4":{"docs":{},":":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}}},"docs":{}},"docs":{}}}}}}}}}}}},"o":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}},")":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}},")":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}}}}}},")":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}},"w":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.01485148514851485},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}},"(":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.008403361344537815}},"b":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010309278350515464},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00823045267489712}}}}}}}}},".":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}},"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":{},",":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856}}}}}}}}}}}}}}}}}}}}}},"对":{"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.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"构":{"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":{},"为":{"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":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"主":{"docs":{},"要":{"docs":{},"定":{"docs":{},"义":{"docs":{},"动":{"docs":{},"画":{"docs":{},"值":{"docs":{},"的":{"docs":{},"映":{"docs":{},"射":{"docs":{},"规":{"docs":{},"则":{"docs":{},"。":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"=":{"docs":{},"t":{"docs":{},"w":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"b":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}},"(":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.006644518272425249},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.004081632653061225}},"{":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}},"的":{"docs":{},"完":{"docs":{},"整":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}}}}},"s":{"docs":{},":":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.009966777408637873},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.004081632653061225}}},";":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}},"e":{"docs":{},",":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}},".":{"docs":{},"j":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}}}}}}}}}},"[":{"1":{"docs":{},"]":{"docs":{},")":{"docs":{},";":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}},"docs":{}}},"u":{"docs":{},"i":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"方":{"docs":{},"式":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}},"层":{"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"对":{"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"框":{"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"内":{"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":{},"将":{"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":{},"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"至":{"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"docs":{},"个":{"docs":{},"清":{"docs":{},"晰":{"docs":{},"的":{"docs":{},"认":{"docs":{},"识":{"docs":{},",":{"docs":{},"而":{"docs":{},"且":{"docs":{},"也":{"docs":{},"会":{"docs":{},"提":{"docs":{},"高":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"抽":{"docs":{},"象":{"docs":{},"能":{"docs":{},"力":{"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"能":{"docs":{},"不":{"docs":{},"做":{"docs":{},"成":{"docs":{},"响":{"docs":{},"应":{"docs":{},"式":{"docs":{},"吗":{"docs":{},"?":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}}}}}}}}}}}}},"组":{"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}},"s":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}},"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.0018587360594795538}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}},"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.0018587360594795538}},".":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"t":{"8":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}},"docs":{}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"*":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}},".":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},";":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}},"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"k":{"docs":{},"n":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},")":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}},"系":{"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":{},"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}},"的":{"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}}}},"底":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"绘":{"docs":{},"制":{"docs":{},"区":{"docs":{},"域":{"docs":{},"的":{"docs":{},"大":{"docs":{},"小":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}}}},"n":{"docs":{},"z":{"docs":{},"i":{"docs":{},"p":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}},"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}},"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.00425531914893617}},"(":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00851063829787234},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001445086705202312}}},"不":{"docs":{},"会":{"docs":{},"对":{"docs":{},"子":{"docs":{},"组":{"docs":{},"件":{"docs":{},"产":{"docs":{},"生":{"docs":{},"任":{"docs":{},"何":{"docs":{},"限":{"docs":{},"制":{"docs":{},",":{"docs":{},"它":{"docs":{},"允":{"docs":{},"许":{"docs":{},"其":{"docs":{},"子":{"docs":{},"组":{"docs":{},"件":{"docs":{},"按":{"docs":{},"照":{"docs":{},"其":{"docs":{},"本":{"docs":{},"身":{"docs":{},"大":{"docs":{},"小":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"。":{"docs":{},"一":{"docs":{},"般":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"会":{"docs":{},"很":{"docs":{},"少":{"docs":{},"直":{"docs":{},"接":{"docs":{},"使":{"docs":{},"用":{"docs":{},"此":{"docs":{},"组":{"docs":{},"件":{"docs":{},",":{"docs":{},"但":{"docs":{},"在":{"docs":{},"\"":{"docs":{},"去":{"docs":{},"除":{"docs":{},"\"":{"docs":{},"多":{"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.00425531914893617}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}},"(":{"docs":{},"_":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}},"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.004026845637583893},"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}},"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.0032258064516129032}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},")":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}},"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.0017452006980802793}}}}}}}}}}}}}},"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.0017452006980802793}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{},"/":{"docs":{},"/":{"docs":{},"点":{"docs":{},"击":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}}}}},"b":{"docs":{},"a":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616}}}}}},"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.0049504950495049506},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}},"=":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},"]":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}},"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":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.018867924528301886}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"l":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},":":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.0125}}},"链":{"docs":{},"接":{"docs":{},"样":{"docs":{},"式":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}},",":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.006880733944954129},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.008547008547008548},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.0035294117647058825}}},"_":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.015625}}}}}}}}}}}},"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}},")":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}},"i":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},".":{"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"(":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},".":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}},"=":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{},"(":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}},"s":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0056022408963585435}},"b":{"docs":{},"调":{"docs":{},"试":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}},"e":{"docs":{},"r":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.009174311926605505},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.011363636363636364},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.007692307692307693}},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}},")":{"docs":{},"{":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}},";":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}},"a":{"docs":{},"g":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},".":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.003669724770642202}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.003669724770642202},"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.005504587155963303}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}},"r":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},")":{"docs":{},";":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}},"g":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101},"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.004705882352941176}},"(":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},".":{"docs":{},"u":{"docs":{},"s":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}},"{":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}},"实":{"docs":{},"例":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}},")":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}},";":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.007692307692307693}}}}}}},"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0026954177897574125},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}},"a":{"docs":{},"r":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.007142857142857143},"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.00749063670411985},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004651162790697674},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.01639344262295082},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.009900990099009901},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.002167630057803468},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.02962962962962963},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.006172839506172839},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.00909090909090909},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.017094017094017096},"chapter11/socket.html":{"ref":"chapter11/socket.html","tf":0.02857142857142857},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.02018348623853211},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.007575757575757576},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.011627906976744186},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.0058823529411764705},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.0189873417721519}},"y":{"docs":{},":":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}},"l":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.01567398119122257}},"u":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001445086705202312},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.012658227848101266}},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.004056795131845842},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0026954177897574125},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.00881057268722467}}},":":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.039647577092511016},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00851063829787234}}}}}}}},":":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.02702702702702703},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.02643171806167401},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.004335260115606936},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0163265306122449}}},",":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.00881057268722467},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},":":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"表":{"docs":{},"示":{"docs":{},"当":{"docs":{},"前":{"docs":{},"的":{"docs":{},"进":{"docs":{},"度":{"docs":{},",":{"docs":{},"取":{"docs":{},"值":{"docs":{},"范":{"docs":{},"围":{"docs":{},"为":{"docs":{},"[":{"0":{"docs":{},",":{"1":{"docs":{},"]":{"docs":{},";":{"docs":{},"如":{"docs":{},"果":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"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":{},"糊":{"docs":{},"进":{"docs":{},"度":{"docs":{},")":{"docs":{},";":{"docs":{},"当":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"不":{"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":{},"。":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}},")":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.004335260115606936},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0035211267605633804},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}},";":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001445086705202312},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"(":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},".":{"docs":{},"i":{"docs":{},"d":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}},".":{"docs":{},"i":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}},"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.0013477088948787063}}},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0026954177897574125},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.007692307692307693}}}}}}}}}}},"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"内":{"docs":{},"存":{"docs":{},"回":{"docs":{},"收":{"docs":{},"和":{"docs":{},"吞":{"docs":{},"吐":{"docs":{},"量":{"docs":{},"都":{"docs":{},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"反":{"docs":{},"复":{"docs":{},"的":{"docs":{},"优":{"docs":{},"化":{"docs":{},",":{"docs":{},"但":{"docs":{},"具":{"docs":{},"体":{"docs":{},"的":{"docs":{},"性":{"docs":{},"能":{"docs":{},"对":{"docs":{},"比":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"b":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},"的":{"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":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}},"是":{"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":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"相":{"docs":{},"比":{"docs":{},",":{"docs":{},"f":{"docs":{},"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":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"运":{"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"如":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}},"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.004026845637583893}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}},"视":{"docs":{},"口":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.02631578947368421}}}}}}}}}},"r":{"docs":{},"t":{"docs":{},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616}}}}}}},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}},"会":{"docs":{},"判":{"docs":{},"断":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"到":{"docs":{},"的":{"docs":{},"父":{"docs":{},"级":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"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":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"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":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"看":{"docs":{},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"源":{"docs":{},"码":{"docs":{},":":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.006711409395973154},"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.003745318352059925}},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.019801980198019802},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010309278350515464},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0056179775280898875},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.009732360097323601},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.00303951367781155},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.019672131147540985},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.014675052410901468},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.016227180527383367},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.00881057268722467},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.006060606060606061},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.005376344086021506},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.012269938650306749},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0064516129032258064},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.02},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001445086705202312},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0034904013961605585},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.02962962962962963},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter10/intro.html":{"ref":"chapter10/intro.html","tf":0.04},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.016611295681063124},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.00909090909090909},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.004081632653061225},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.013953488372093023},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101},"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.009404388714733543},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.008264462809917356},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.01694915254237288},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.027881040892193308},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.009389671361502348},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.007575757575757576},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.007692307692307693}},"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.0026954177897574125},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.007434944237918215}}}}}}}}}}}}},"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.00625}}},":":{"docs":{},"应":{"docs":{},"用":{"docs":{},"或":{"docs":{},"包":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{},"号":{"docs":{},"。":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}}}}}}}}}}}},"/":{"1":{"0":{"docs":{},".":{"0":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}},"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}},"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.00823045267489712}},"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.00411522633744856},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}}}}}}},"u":{"docs":{},"p":{"docs":{},",":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856}}}}}},":":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856}}},":":{"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.00411522633744856}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684}}},":":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186}}}}}}}},"i":{"docs":{},"f":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.003669724770642202}}}}},"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.0017452006980802793}}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}},";":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}},")":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}},".":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"m":{"docs":{},"(":{"docs":{},")":{"docs":{},".":{"docs":{},"i":{"docs":{},"s":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.007692307692307693}}}}}}}}}}}}}}}}}}}}},"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.0035714285714285713}}}}}}}},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter11/":{"ref":"chapter11/","tf":0.08333333333333333}},"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":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}}}}}}}}}}}},"来":{"docs":{},"自":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"的":{"docs":{},"消":{"docs":{},"息":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}},"协":{"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":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"_":{"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":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}},"是":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.01171875}}}}}}},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"t":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}}}},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.014598540145985401},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.009302325581395349},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.009615384615384616},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.00303951367781155},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.020964360587002098},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.010141987829614604},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.004043126684636119},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.00881057268722467},"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":0.08},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.01775147928994083},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.010309278350515464},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.021052631578947368},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.006060606060606061},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.013605442176870748},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.016129032258064516},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.006134969325153374},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.024390243902439025},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.016129032258064516},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.012727272727272728},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005649717514124294},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.010582010582010581},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0050578034682080926},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.012216404886561954},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.008746355685131196},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.023195876288659795},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.031055900621118012},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.017543859649122806},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.01680672268907563},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.01440329218106996},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.014778325123152709},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.013289036544850499},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.00909090909090909},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.004081632653061225},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.024242424242424242},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587},"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.030303030303030304},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.01647058823529412},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.0189873417721519}},"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}},"构":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.001519756838905775},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0037174721189591076}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}},".":{"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.0018587360594795538}},"负":{"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.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":{},"f":{"docs":{},"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.0037174721189591076}},"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.0018587360594795538}}}}}}}}}}}},":":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"拥":{"docs":{},"有":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"状":{"docs":{},"态":{"docs":{},"在":{"docs":{},"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"在":{"docs":{},"第":{"docs":{},"三":{"docs":{},"章":{"docs":{},"”":{"docs":{},"w":{"docs":{},"i":{"docs":{},"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":{},"s":{"docs":{},"t":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"不":{"docs":{},"可":{"docs":{},"变":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}}}}}},"至":{"docs":{},"少":{"docs":{},"由":{"docs":{},"两":{"docs":{},"个":{"docs":{},"类":{"docs":{},"组":{"docs":{},"成":{"docs":{},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}}}}}}}}},")":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}},"。":{"docs":{},"关":{"docs":{},"于":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}}}}},"有":{"docs":{},"两":{"docs":{},"点":{"docs":{},"不":{"docs":{},"同":{"docs":{},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}}}}}},"用":{"docs":{},"于":{"docs":{},"显":{"docs":{},"示":{"docs":{},"列":{"docs":{},"表":{"docs":{},"和":{"docs":{},"长":{"docs":{},"布":{"docs":{},"局":{"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":{},"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":{},"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":{},"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":{},"的":{"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.02631578947368421}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"滑":{"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":{},"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":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.002167630057803468},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602}}}}}}},"上":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}},"将":{"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.004807692307692308}}}}}}}}}}}}}}}}}}},"创":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}},"在":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"实":{"docs":{},"现":{"docs":{},"细":{"docs":{},"节":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}}}}},"生":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}},"源":{"docs":{},"码":{"docs":{},"已":{"docs":{},"经":{"docs":{},"没":{"docs":{},"必":{"docs":{},"要":{"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/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"则":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"它":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"k":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}},"实":{"docs":{},"现":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}},"简":{"docs":{},"介":{"docs":{"chapter3/":{"ref":"chapter3/","tf":0.1},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}},"(":{"docs":{},"{":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}},"、":{"docs":{},"用":{"docs":{},"于":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"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":{},"w":{"docs":{},"i":{"docs":{},"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"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":{},"如":{"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":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"的":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"与":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}}},"中":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"正":{"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":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"主":{"docs":{},"要":{"docs":{},"接":{"docs":{},"口":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}}}},"同":{"docs":{},"时":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"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":{},"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"库":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}},"相":{"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.0020964360587002098}}}}}}}}}}}},"类":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}},"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/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}},"v":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},",":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},",":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"?":{"docs":{},"?":{"2":{"0":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{},"s":{"docs":{},")":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}},",":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}},";":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}},"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":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"(":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"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":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}}}}},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"_":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"_":{"docs":{},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}},"w":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"_":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"a":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}}}},"管":{"docs":{},"理":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}},"身":{"docs":{},"状":{"docs":{},"态":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}},"本":{"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.00390625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"docs":{},"一":{"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.002551020408163265}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"树":{"docs":{},"的":{"docs":{},"叶":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"没":{"docs":{},"有":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"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":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"。":{"docs":{"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":0.04}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"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":{},"级":{"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":{},"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":{},"关":{"docs":{},"于":{"docs":{},"通":{"docs":{},"知":{"docs":{},"冒":{"docs":{},"泡":{"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.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"对":{"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":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}},";":{"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.00411522633744856}}}}}}}}}}}}}}},"会":{"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":{},"(":{"0":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}},"来":{"docs":{},"构":{"docs":{},"建":{"docs":{},",":{"docs":{},"语":{"docs":{},"义":{"docs":{},"话":{"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":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"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":{},"看":{"docs":{},"到":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"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":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"指":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}},"重":{"docs":{},"新":{"docs":{},"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":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"资":{"docs":{},"源":{"docs":{},".":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}}},"层":{"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.0018587360594795538}}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},":":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.008113590263691683},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.04081632653061224},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0026954177897574125},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.00881057268722467},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.010309278350515464},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.01276595744680851},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.011299435028248588},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0034904013961605585},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010309278350515464},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.008403361344537815},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.007058823529411765}}},"、":{"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.002551020408163265}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.010309278350515464}}},":":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.015463917525773196},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.013605442176870748}}},"和":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"是":{"docs":{},"用":{"docs":{},"于":{"docs":{},"确":{"docs":{},"定":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}},"/":{"docs":{},"/":{"docs":{},"容":{"docs":{},"器":{"docs":{},"的":{"docs":{},"宽":{"docs":{},"度":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}}}}}}}}}},")":{"docs":{},",":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}},";":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}}},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}},">":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"?":{"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}},"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.0013477088948787063},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{"chapter7/":{"ref":"chapter7/","tf":0.1111111111111111}},"e":{"docs":{},"(":{"docs":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513}},"{":{"docs":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513}}}},"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.012195121951219513}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.024390243902439025}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.002167630057803468}},"e":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.00303951367781155}},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},".":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}},"l":{"docs":{},"d":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.024691358024691357}},"!":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}},"\"":{"docs":{},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.00749063670411985},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}},",":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{},",":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.026490066225165563}}}}}},"\"":{"docs":{},")":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.012903225806451613}},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.01935483870967742}}},"没":{"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":{},"本":{"docs":{},"组":{"docs":{},"件":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"i":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.013108614232209739}}},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.01171875},"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.008097165991902834}},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015625}}}}}}}}}},"”":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}},"d":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"r":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}},".":{"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.00625}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"n":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}},"l":{"docs":{},"k":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}},"(":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}},"{":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}}}},"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.0049504950495049506}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.009900990099009901}}}}}}}}}}}}}}}}}},"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.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"w":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"v":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}},"{":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.007142857142857143},"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.005369127516778523},"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0299625468164794},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0340632603406326},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.03488372093023256},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.0125},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.014423076923076924},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.00911854103343465},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.07540983606557378},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0440251572327044},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.056795131845841784},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.00510204081632653},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.06756756756756757},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.02021563342318059},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.022026431718061675},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00823045267489712},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.023668639053254437},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.009900990099009901},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.021052631578947368},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.026262626262626262},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.02040816326530612},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.028985507246376812},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.053763440860215055},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.020242914979757085},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.026845637583892617},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.05214723926380368},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.07317073170731707},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.06451612903225806},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.05818181818181818},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.022598870056497175},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.06878306878306878},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.05202312138728324},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.07155322862129145},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.05925925925925926},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0641399416909621},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.01485148514851485},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.06443298969072164},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.037267080745341616},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.05263157894736842},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.046218487394957986},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.03909465020576132},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.029556650246305417},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.06976744186046512},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.01818181818181818},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.031292517006802724},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.06779661016949153},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.02522935779816514},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0330188679245283},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.04843304843304843},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.05116279069767442},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.03486238532110092},"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.026041666666666668},"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.04285714285714286},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.07210031347962383},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.07024793388429752},"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.04424778761061947},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.05322128851540616},"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.04242424242424243},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.06591337099811675},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.06319702602230483},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.057511737089201875},"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.020242914979757085},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.06439393939393939},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.06686046511627906},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.04352941176470588},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.06538461538461539},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.04430379746835443}},"}":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.008403361344537815},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.030120481927710843}}},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}},";":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}}}},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}},"\"":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.005698005698005698}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}},"'":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"'":{"docs":{},":":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}}}}}},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"}":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0056022408963585435}}}}}}}}}},".":{"docs":{},".":{"docs":{},".":{"docs":{},"}":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}}}}}},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}},"}":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.007142857142857143},"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.005369127516778523},"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.02247191011235955},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0364963503649635},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.030232558139534883},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.0125},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.014423076923076924},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.007598784194528876},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.03934426229508197},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0440251572327044},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.04462474645030426},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.007653061224489796},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.05405405405405406},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.01752021563342318},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.022026431718061675},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00823045267489712},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.023668639053254437},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.021052631578947368},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.020202020202020204},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.02040816326530612},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.028985507246376812},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.026881720430107527},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.008097165991902834},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.03987730061349693},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.06097560975609756},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.05806451612903226},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.05272727272727273},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.011299435028248588},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.05291005291005291},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.023121387283236993},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.03664921465968586},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.05185185185185185},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.052478134110787174},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.01485148514851485},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.05154639175257732},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.024844720496894408},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.03508771929824561},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.046218487394957986},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.026748971193415638},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.029556650246305417},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.05647840531561462},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.013636363636363636},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.02857142857142857},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.05084745762711865},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.020642201834862386},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.02830188679245283},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.022792022792022793},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.04186046511627907},"chapter11/socket.html":{"ref":"chapter11/socket.html","tf":0.02857142857142857},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.03302752293577982},"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.026041666666666668},"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.017699115044247787},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.03571428571428571},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.06896551724137931},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.06198347107438017},"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.04424778761061947},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.04481792717086835},"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.04242424242424243},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.05649717514124294},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.055762081784386616},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.04929577464788732},"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.020242914979757085},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.06439393939393939},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.040697674418604654},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.02823529411764706},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.05},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.03164556962025317}},")":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0056179775280898875},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004651162790697674},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006557377049180328},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.005390835579514825},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.00881057268722467},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.011834319526627219},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015625},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.010309278350515464},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.023255813953488372},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.006060606060606061},"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.02631578947368421},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.005376344086021506},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.012145748987854251},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.00967741935483871},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.005454545454545455},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005649717514124294},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.010582010582010581},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0050578034682080926},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.006172839506172839},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.006644518272425249},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.009416195856873822},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.004694835680751174},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}},",":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0056179775280898875},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.010752688172043012},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.005454545454545455},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}},".":{"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.00749063670411985}}}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0018726591760299626}},"{":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0056179775280898875}}}}}}}},"e":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}},"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.0018726591760299626}}}}}}}}}}}}}}}}},"o":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}}}}}}}}},"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.0018726591760299626}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.016853932584269662},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.01639344262295082},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0041928721174004195},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.012170385395537525},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.02702702702702703},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0026954177897574125},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00404040404040404},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.005376344086021506},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.009202453987730062},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0036127167630057803},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.015706806282722512},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0058309037900874635},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010309278350515464},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.006644518272425249},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.004081632653061225},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.01694915254237288},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.006880733944954129},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.009433962264150943},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.003669724770642202},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.008264462809917356},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.00929368029739777},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0035211267605633804},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}},")":{"docs":{},";":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602}}}},":":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}},"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.0020964360587002098}}}}}}}}}}}}}}}}}},":":{"docs":{},"可":{"docs":{},"以":{"docs":{},"设":{"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.010526315789473684}}}}}}}}}}}}}}}}}}}}}}}}}}}},"用":{"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.010526315789473684}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.003745318352059925},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.013953488372093023},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.01639344262295082},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.006738544474393531},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.005376344086021506},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.005454545454545455},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.010582010582010581},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.02601156069364162},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.02617801047120419},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.01749271137026239},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005154639175257732},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.0102880658436214},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.006644518272425249},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.009302325581395349},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.003669724770642202},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0056022408963585435},"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.005813953488372093},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.015294117647058824},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.007692307692307693},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.012658227848101266}},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}}}},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.00749063670411985},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006557377049180328},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.006880733944954129},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.014150943396226415},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.005813953488372093}}},"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.003278688524590164}}}}}}},"e":{"docs":{},"l":{"docs":{},"s":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.009174311926605505}},"e":{"docs":{},"{":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}},"]":{"docs":{},";":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.008264462809917356}}}}},"✔":{"docs":{},"️":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.007142857142857143}}}},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.007142857142857143},"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.005369127516778523},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.0125},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.00303951367781155},"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":0.04},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333},"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}},"详":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}},"有":{"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.004807692307692308}}}}}}}}}}}}}}}}},"在":{"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":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"果":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"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.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"x":{"docs":{},"、":{"docs":{},"y":{"docs":{},"的":{"docs":{},"值":{"docs":{},"从":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}},"默":{"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.002688172043010753}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"也":{"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.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"该":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},"类":{"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":{},"该":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"要":{"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"般":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}},"格":{"docs":{},"式":{"docs":{},"为":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"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.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"个":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003},"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}},"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.0024330900243309003}}},"会":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"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":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"组":{"docs":{},"件":{"docs":{},"使":{"docs":{},"用":{"docs":{},",":{"docs":{},"那":{"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.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"简":{"docs":{},"单":{"docs":{},"示":{"docs":{},"例":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}},"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":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"提":{"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":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"中":{"docs":{},"通":{"docs":{},"过":{"docs":{},"n":{"docs":{},"p":{"docs":{},"m":{"docs":{},"等":{"docs":{},"。":{"docs":{},"而":{"docs":{},"在":{"docs":{},"f":{"docs":{},"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":{},"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.00625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"包":{"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.00390625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"完":{"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":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"主":{"docs":{},"题":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"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":{},"起":{"docs":{},"见":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"只":{"docs":{},"配":{"docs":{},"置":{"docs":{},"主":{"docs":{},"题":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"提":{"docs":{},"供":{"docs":{},"几":{"docs":{},"种":{"docs":{},"默":{"docs":{},"认":{"docs":{},"预":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},"主":{"docs":{},"题":{"docs":{},"色":{"docs":{},"供":{"docs":{},"用":{"docs":{},"户":{"docs":{},"选":{"docs":{},"择":{"docs":{},",":{"docs":{},"用":{"docs":{},"户":{"docs":{},"点":{"docs":{},"击":{"docs":{},"一":{"docs":{},"种":{"docs":{},"色":{"docs":{},"块":{"docs":{},"后":{"docs":{},"则":{"docs":{},"更":{"docs":{},"新":{"docs":{},"主":{"docs":{},"题":{"docs":{},"。":{"docs":{},"主":{"docs":{},"题":{"docs":{},"选":{"docs":{},"择":{"docs":{},"页":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"导":{"docs":{},"航":{"docs":{},"栏":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}},"骨":{"docs":{},"架":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}},"通":{"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":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"建":{"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}},"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"像":{"docs":{},"素":{"docs":{},"点":{"docs":{},"能":{"docs":{},"发":{"docs":{},"出":{"docs":{},"的":{"docs":{},"所":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"象":{"docs":{},"是":{"docs":{},"否":{"docs":{},"可":{"docs":{},"以":{"docs":{},"响":{"docs":{},"应":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"取":{"docs":{},"决":{"docs":{},"于":{"docs":{},"其":{"docs":{},"对":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"图":{"docs":{},"胜":{"docs":{},"万":{"docs":{},"言":{"docs":{},"!":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}}}},"章":{"docs":{},"。":{"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":{},"对":{"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":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"次":{"docs":{},"完":{"docs":{},"整":{"docs":{},"的":{"docs":{},"手":{"docs":{},"势":{"docs":{},"过":{"docs":{},"程":{"docs":{},"是":{"docs":{},"指":{"docs":{},"用":{"docs":{},"户":{"docs":{},"手":{"docs":{},"指":{"docs":{},"按":{"docs":{},"下":{"docs":{},"到":{"docs":{},"抬":{"docs":{},"起":{"docs":{},"的":{"docs":{},"整":{"docs":{},"个":{"docs":{},"过":{"docs":{},"程":{"docs":{},",":{"docs":{},"期":{"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":{},"组":{"docs":{},"件":{"docs":{},"的":{"docs":{},"原":{"docs":{},"点":{"docs":{},"(":{"docs":{},"左":{"docs":{},"上":{"docs":{},"角":{"docs":{},")":{"docs":{},"作":{"docs":{},"为":{"docs":{},"本":{"docs":{},"次":{"docs":{},"手":{"docs":{},"势":{"docs":{},"的":{"docs":{},"原":{"docs":{},"点":{"docs":{},",":{"docs":{},"当":{"docs":{},"用":{"docs":{},"户":{"docs":{},"在":{"docs":{},"监":{"docs":{},"听":{"docs":{},"的":{"docs":{},"组":{"docs":{},"件":{"docs":{},"上":{"docs":{},"按":{"docs":{},"下":{"docs":{},"手":{"docs":{},"指":{"docs":{},"时":{"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.0017452006980802793}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"性":{"docs":{},"生":{"docs":{},"成":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}},"绘":{"docs":{},"制":{"docs":{},"过":{"docs":{},"程":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}},"旦":{"docs":{},"你":{"docs":{},"的":{"docs":{},"f":{"docs":{},"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":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"包":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"上":{"docs":{},"发":{"docs":{},"布":{"docs":{},"它":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}},"定":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"些":{"docs":{},"工":{"docs":{},"具":{"docs":{},"类":{"docs":{},",":{"docs":{},"如":{"docs":{},"通":{"docs":{},"用":{"docs":{},"方":{"docs":{},"法":{"docs":{},"类":{"docs":{},"、":{"docs":{},"网":{"docs":{},"络":{"docs":{},"接":{"docs":{},"口":{"docs":{},"类":{"docs":{},"、":{"docs":{},"保":{"docs":{},"存":{"docs":{},"全":{"docs":{},"局":{"docs":{},"变":{"docs":{},"量":{"docs":{},"的":{"docs":{},"静":{"docs":{},"态":{"docs":{},"类":{"docs":{},"等":{"docs":{"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.015151515151515152}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"上":{"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.0035714285714285713}}}}}}}}}}},"所":{"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.00625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"表":{"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":{},"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"面":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{},"注":{"docs":{},"释":{"docs":{},"比":{"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":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"设":{"docs":{},"置":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"为":{"0":{"docs":{},".":{"5":{"docs":{},"后":{"docs":{},",":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"实":{"docs":{},"际":{"docs":{},"宽":{"docs":{},"度":{"docs":{},"等":{"docs":{},"于":{"6":{"0":{"docs":{},"×":{"0":{"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":{},"好":{"docs":{},"世":{"docs":{},"界":{"docs":{},"”":{"docs":{},"会":{"docs":{},"和":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"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":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"将":{"docs":{},"溢":{"docs":{},"出":{"docs":{},"部":{"docs":{},"分":{"docs":{},"剪":{"docs":{},"裁":{"docs":{},"掉":{"docs":{},"了":{"docs":{},"。":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"依":{"docs":{},"次":{"docs":{},"会":{"docs":{},"输":{"docs":{},"出":{"docs":{},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}},"在":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"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.0020964360587002098}}}}}}}}}}}}}}}}}},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"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":{},"然":{"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":{},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"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":{},"变":{"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":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"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":{},"t":{"docs":{},"e":{"docs":{},"s":{"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":{},"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":{},"为":{"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":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"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.002577319587628866}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"还":{"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/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}},"运":{"docs":{},"行":{"docs":{},"后":{"docs":{},"复":{"docs":{},"选":{"docs":{},"框":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"正":{"docs":{},"常":{"docs":{},"选":{"docs":{},"中":{"docs":{},"。":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"只":{"docs":{},"用":{"docs":{},"了":{"docs":{},"一":{"docs":{},"行":{"docs":{},"代":{"docs":{},"码":{"docs":{},"便":{"docs":{},"解":{"docs":{},"决":{"docs":{},"了":{"docs":{},"这":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},"!":{"docs":{},"当":{"docs":{},"然":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"并":{"docs":{},"不":{"docs":{},"是":{"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":{},"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":{},"u":{"docs":{},"i":{"docs":{},"组":{"docs":{},"件":{"docs":{},"全":{"docs":{},"部":{"docs":{},"r":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"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":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"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":{},"码":{"docs":{},"为":{"docs":{},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"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":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"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":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},")":{"docs":{},",":{"docs":{},"而":{"docs":{},"对":{"docs":{},"旧":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"执":{"docs":{},"行":{"docs":{},"反":{"docs":{},"向":{"docs":{},"动":{"docs":{},"画":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"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":{},"但":{"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":{},"没":{"docs":{},"有":{"docs":{},"特":{"docs":{},"殊":{"docs":{},"处":{"docs":{},"理":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"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/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"资":{"docs":{},"源":{"docs":{},"都":{"docs":{},"是":{"docs":{},"f":{"docs":{},"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"虽":{"docs":{},"然":{"docs":{},"能":{"docs":{},"解":{"docs":{},"决":{"docs":{},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{},"状":{"docs":{},"态":{"docs":{},"更":{"docs":{},"新":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"明":{"docs":{},"显":{"docs":{},"的":{"docs":{},"缺":{"docs":{},"点":{"docs":{},"—":{"docs":{},"—":{"docs":{},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{},"上":{"docs":{},"所":{"docs":{},"有":{"docs":{},"需":{"docs":{},"要":{"docs":{},"会":{"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":{},"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":{},"找":{"docs":{},"到":{"docs":{},"一":{"docs":{},"种":{"docs":{},"更":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"方":{"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":{},"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":{},"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":{},"下":{"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":{},"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":{},"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":{},"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":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.002577319587628866}}}}}}}}}}}}}}}}}},"例":{"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.002577319587628866}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"手":{"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":{},"如":{"docs":{},"果":{"docs":{},"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.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":{},"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":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"示":{"docs":{},"例":{"docs":{},"我":{"docs":{},"们":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"”":{"docs":{},"左":{"docs":{},"出":{"docs":{},"右":{"docs":{},"入":{"docs":{},"“":{"docs":{},"的":{"docs":{},"动":{"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/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"介":{"docs":{},"绍":{"docs":{},"的":{"docs":{},"是":{"docs":{},"非":{"docs":{},"命":{"docs":{},"名":{"docs":{},"路":{"docs":{},"由":{"docs":{},"的":{"docs":{},"传":{"docs":{},"值":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"命":{"docs":{},"名":{"docs":{},"路":{"docs":{},"由":{"docs":{},"的":{"docs":{},"传":{"docs":{},"值":{"docs":{},"方":{"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.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"些":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"方":{"docs":{},"式":{"docs":{},"是":{"docs":{},"f":{"docs":{},"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":{},"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.00625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"假":{"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.00625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"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.001519756838905775}}}}}}}}}}}}}}}}},"代":{"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.00390625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"首":{"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.00390625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"由":{"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":{},"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.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"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":{},"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":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"g":{"docs":{},"m":{"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":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"来":{"docs":{},"获":{"docs":{},"得":{"docs":{},",":{"docs":{},"g":{"docs":{},"m":{"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":{},"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":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"语":{"docs":{},"言":{"docs":{},"改":{"docs":{},"变":{"docs":{},"时":{"docs":{},",":{"docs":{},"凡":{"docs":{},"是":{"docs":{},"使":{"docs":{},"用":{"docs":{},"g":{"docs":{},"m":{"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":{},"化":{"docs":{},"“":{"docs":{},"一":{"docs":{},"章":{"docs":{},"中":{"docs":{},"已":{"docs":{},"经":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"过":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"前":{"docs":{},"翻":{"docs":{},"查":{"docs":{},"阅":{"docs":{},"。":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"用":{"docs":{},"到":{"docs":{},"了":{"docs":{},"如":{"docs":{},"下":{"docs":{},"组":{"docs":{},"件":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}}},"在":{"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":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"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":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"枚":{"docs":{},"举":{"docs":{},"类":{"docs":{},",":{"docs":{},"定":{"docs":{},"义":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.002577319587628866}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}},"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":{},"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"运":{"docs":{},"行":{"docs":{},"后":{"docs":{},",":{"docs":{},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"图":{"5":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}}},"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":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"样":{"docs":{},"的":{"docs":{},"效":{"docs":{},"果":{"docs":{},"。":{"docs":{},"现":{"docs":{},"在":{"docs":{},"我":{"docs":{},"们":{"docs":{},"总":{"docs":{},"结":{"docs":{},"一":{"docs":{},"下":{"docs":{},":":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"、":{"docs":{},"s":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"以":{"docs":{},"及":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"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":{},"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":{},"了":{"docs":{},"易":{"docs":{},"用":{"docs":{},"性":{"docs":{},",":{"docs":{},"又":{"docs":{},"有":{"docs":{},"很":{"docs":{},"强":{"docs":{},"的":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"性":{"docs":{},"。":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"便":{"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.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}}},"首":{"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.00202020202020202}}}}}}}}}}}}}}}}}}},"执":{"docs":{},"行":{"docs":{},"后":{"docs":{},"截":{"docs":{},"取":{"docs":{},"了":{"docs":{},"其":{"docs":{},"中":{"docs":{},"的":{"docs":{},"两":{"docs":{},"帧":{"docs":{},",":{"docs":{},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"图":{"9":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866}}},"docs":{}}}}}}}}}}}}}}}}},"比":{"docs":{},"较":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"不":{"docs":{},"再":{"docs":{},"赘":{"docs":{},"述":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"说":{"docs":{},"明":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"本":{"docs":{},"示":{"docs":{},"例":{"docs":{},"只":{"docs":{},"是":{"docs":{},"为":{"docs":{},"了":{"docs":{},"演":{"docs":{},"示":{"docs":{},"文":{"docs":{},"件":{"docs":{},"读":{"docs":{},"写":{"docs":{},",":{"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":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"即":{"docs":{},"在":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"中":{"docs":{},"运":{"docs":{},"行":{"docs":{},"后":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}}}}}}}}}}}}}}}}}}}},"a":{"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":{},"i":{"docs":{},"n":{"docs":{},"g":{"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":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"流":{"docs":{},"程":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}},"有":{"docs":{},"两":{"docs":{},"点":{"docs":{},"需":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},":":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}},"注":{"docs":{},"释":{"docs":{},"很":{"docs":{},"清":{"docs":{},"楚":{"docs":{},":":{"docs":{},"如":{"docs":{},"果":{"docs":{},"用":{"docs":{},"户":{"docs":{},"未":{"docs":{},"登":{"docs":{},"录":{"docs":{},",":{"docs":{},"显":{"docs":{},"示":{"docs":{},"登":{"docs":{},"录":{"docs":{},"按":{"docs":{},"钮":{"docs":{},";":{"docs":{},"如":{"docs":{},"果":{"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":{},"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":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"逻":{"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":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"u":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"(":{"docs":{},"…":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"它":{"docs":{},"和":{"docs":{},"在":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"u":{"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":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"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":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"。":{"docs":{},"当":{"docs":{},"然":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"_":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"u":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"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":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"u":{"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":{},"图":{"1":{"5":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}},"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":{},"图":{"5":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}}},"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":{},"w":{"docs":{},"i":{"docs":{},"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.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"参":{"docs":{},"数":{"docs":{},"分":{"docs":{},"为":{"docs":{},"两":{"docs":{},"组":{"docs":{},":":{"docs":{},"第":{"docs":{},"一":{"docs":{},"组":{"docs":{},"是":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"组":{"docs":{},"件":{"docs":{},"的":{"docs":{},"公":{"docs":{},"共":{"docs":{},"参":{"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":{},"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.002688172043010753}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"只":{"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":{},"以":{"docs":{},"查":{"docs":{},"看":{"docs":{},"s":{"docs":{},"d":{"docs":{},"k":{"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":{},"指":{"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.002824858757062147}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"表":{"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":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"而":{"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":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"查":{"docs":{},"看":{"docs":{},"类":{"docs":{},"定":{"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/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"说":{"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.002577319587628866}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"主":{"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":{},"主":{"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":{},"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":{},"f":{"docs":{},"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":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"手":{"docs":{},"安":{"docs":{},"卓":{"docs":{},"最":{"docs":{},"常":{"docs":{},"遇":{"docs":{},"见":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},"之":{"docs":{},"一":{"docs":{},",":{"docs":{},"错":{"docs":{},"误":{"docs":{},"如":{"docs":{},"图":{"1":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},"docs":{}}}}}}}}}}}}}}}}}},"述":{"docs":{},"命":{"docs":{},"令":{"docs":{},"创":{"docs":{},"建":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"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":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"方":{"docs":{},"法":{"docs":{},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"例":{"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.005649717514124294}}}}}}}}}}}}}}}}}}}}}}},"当":{"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":{},"组":{"docs":{},"件":{"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":{},"组":{"docs":{},"件":{"docs":{},"没":{"docs":{},"有":{"docs":{},"接":{"docs":{},"收":{"docs":{},"到":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"而":{"docs":{},"只":{"docs":{},"有":{"docs":{},"底":{"docs":{},"部":{"docs":{},"接":{"docs":{},"收":{"docs":{},"到":{"docs":{},"了":{"docs":{},"。":{"docs":{},"当":{"docs":{},"放":{"docs":{},"开":{"docs":{},"注":{"docs":{},"释":{"docs":{},"后":{"docs":{},",":{"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.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"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":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"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.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"列":{"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":{},"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":{},"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":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"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":{},"如":{"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":{},"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":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"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":{},"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":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"图":{"docs":{},"中":{"docs":{},"“":{"0":{"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":{},"式":{"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":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}},"1":{"docs":{},"”":{"docs":{},"从":{"docs":{},"底":{"docs":{},"部":{"docs":{},"滑":{"docs":{},"出":{"docs":{},",":{"docs":{},"而":{"docs":{},"\"":{"2":{"docs":{},"\"":{"docs":{},"从":{"docs":{},"顶":{"docs":{},"部":{"docs":{},"滑":{"docs":{},"入":{"docs":{},"。":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"尝":{"docs":{},"试":{"docs":{},"给":{"docs":{},"s":{"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":{},"x":{"docs":{},"的":{"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":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"“":{"0":{"docs":{},"”":{"docs":{},"正":{"docs":{},"在":{"docs":{},"逐":{"docs":{},"渐":{"docs":{},"缩":{"docs":{},"小":{"docs":{},",":{"docs":{},"而":{"docs":{},"“":{"1":{"docs":{},"”":{"docs":{},"正":{"docs":{},"在":{"docs":{},"“":{"0":{"docs":{},"”":{"docs":{},"的":{"docs":{},"中":{"docs":{},"间":{"docs":{},",":{"docs":{},"正":{"docs":{},"在":{"docs":{},"逐":{"docs":{},"渐":{"docs":{},"放":{"docs":{},"大":{"docs":{},"。":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}},"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":{},"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"介":{"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.002325581395348837}}}}}}}}}}}}}}}}}},"常":{"docs":{},"用":{"docs":{},"的":{"docs":{},"组":{"docs":{},"件":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}}}}}}}}}},"来":{"docs":{},"看":{"docs":{},"看":{"docs":{},"各":{"docs":{},"个":{"docs":{},"回":{"docs":{},"调":{"docs":{},"函":{"docs":{},"数":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}}}}}}}}},"分":{"docs":{},"别":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"它":{"docs":{},"们":{"docs":{},"。":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}}}},"测":{"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":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"看":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}},"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"类":{"docs":{},"定":{"docs":{},"义":{"docs":{},":":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},":":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}},"奇":{"docs":{},"数":{"docs":{},"行":{"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.002688172043010753}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"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.004201680672268907}}}}}}}}}}}}}}}}}},"弹":{"docs":{},"出":{"docs":{},"一":{"docs":{},"个":{"docs":{},"有":{"3":{"0":{"docs":{},"个":{"docs":{},"列":{"docs":{},"表":{"docs":{},"项":{"docs":{},"的":{"docs":{},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{},"示":{"docs":{},"例":{"docs":{},",":{"docs":{},"运":{"docs":{},"行":{"docs":{},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"图":{"7":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}},"docs":{}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}},"完":{"docs":{},"整":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},":":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}},"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":{},"颜":{"docs":{},"色":{"docs":{},"值":{"docs":{},"之":{"docs":{},"间":{"docs":{},"过":{"docs":{},"渡":{"docs":{},"输":{"docs":{},"出":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},":":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"列":{"docs":{},"子":{"docs":{},":":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"计":{"docs":{},"数":{"docs":{},"器":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"再":{"docs":{},"每":{"docs":{},"一":{"docs":{},"次":{"docs":{},"自":{"docs":{},"增":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},",":{"docs":{},"旧":{"docs":{},"数":{"docs":{},"字":{"docs":{},"执":{"docs":{},"行":{"docs":{},"缩":{"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/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"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":{},"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.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"完":{"docs":{},"整":{"docs":{},"实":{"docs":{},"现":{"docs":{},":":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}},"通":{"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":{},"图":{"5":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}},"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":{},"图":{"1":{"0":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}},"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":{},"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":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"主":{"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":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"组":{"docs":{},"件":{"docs":{},",":{"docs":{},"它":{"docs":{},"的":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},"定":{"docs":{},"义":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"演":{"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.002577319587628866}}}}}}}}}}}}}}}}},"测":{"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":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},"的":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}}}}}}}},"在":{"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":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}},"将":{"docs":{},"带":{"docs":{},"领":{"docs":{},"读":{"docs":{},"者":{"docs":{},"一":{"docs":{},"步":{"docs":{},"步":{"docs":{},"来":{"docs":{},"开":{"docs":{},"发":{"docs":{},"一":{"docs":{},"个":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}},"代":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"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.0018726591760299626}}}}}}}}}}}}}}}}}},"将":{"docs":{},"大":{"docs":{},"写":{"docs":{},"字":{"docs":{},"母":{"docs":{},"a":{"docs":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406}}}}}}}},"监":{"docs":{},"听":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"组":{"docs":{},"件":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"通":{"docs":{},"知":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},":":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}}}}}}},"用":{"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.0018726591760299626}}}}}}}}}}}}}}}}}},"打":{"docs":{},"开":{"docs":{},"新":{"docs":{},"路":{"docs":{},"由":{"docs":{},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},":":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}}}}}}}}},"拦":{"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.003278688524590164}}}}}}}}}}}}}}}}}}}}}}}},"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.0049504950495049506}}}}}}}}}},"弹":{"docs":{},"出":{"docs":{},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}},"整":{"docs":{},"体":{"docs":{},"的":{"docs":{},"流":{"docs":{},"程":{"docs":{},":":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}},"缓":{"docs":{},"存":{"docs":{},"处":{"docs":{},"理":{"docs":{},"的":{"docs":{},"逻":{"docs":{},"辑":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}},",":{"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.00625}}}}}}}}}}}}}}}},"监":{"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.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"图":{"3":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}},"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":{},"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/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"示":{"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":{},"用":{"docs":{},"法":{"docs":{},",":{"docs":{},"比":{"docs":{},"较":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"源":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"代":{"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"看":{"docs":{},"一":{"docs":{},"个":{"docs":{},"示":{"docs":{},"例":{"docs":{},"子":{"docs":{},":":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}}}}}},"例":{"docs":{},"子":{"docs":{},":":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}}}}}}}},"调":{"docs":{},"整":{"docs":{},"的":{"docs":{},"角":{"docs":{},"度":{"docs":{},"的":{"docs":{},"计":{"docs":{},"算":{"docs":{},"公":{"docs":{},"式":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"数":{"docs":{},"学":{"docs":{},"几":{"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/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"测":{"docs":{},"试":{"docs":{},"一":{"docs":{},"下":{"docs":{},"m":{"docs":{},"y":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}},"载":{"docs":{},"并":{"docs":{},"安":{"docs":{},"装":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}},"包":{"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.00625}}}}}}}}}}}},"文":{"docs":{},"件":{"docs":{},":":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}},"图":{"docs":{},"片":{"docs":{},"。":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}},"逻":{"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":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"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":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"命":{"docs":{},"名":{"docs":{},"参":{"docs":{},"数":{"docs":{},"来":{"docs":{},"传":{"docs":{},"递":{"docs":{},"。":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"选":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"过":{"docs":{},"一":{"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.00625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"滑":{"docs":{},"线":{"docs":{},"浅":{"docs":{},"灰":{"docs":{},"色":{"docs":{},",":{"docs":{},"宽":{"docs":{},"度":{"1":{"docs":{},"像":{"docs":{},"素":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}},"docs":{}}}}}}}}},"一":{"docs":{},"节":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"使":{"docs":{},"用":{"docs":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"分":{"docs":{},"块":{"docs":{},"下":{"docs":{},"载":{"docs":{},"器":{"docs":{},"。":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"同":{"docs":{},",":{"docs":{},"在":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}},"的":{"docs":{},"是":{"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.0018726591760299626}}}}}}}}}},",":{"docs":{},"它":{"docs":{},"常":{"docs":{},"用":{"docs":{},"于":{"docs":{},"会":{"docs":{},"多":{"docs":{},"次":{"docs":{},"读":{"docs":{},"取":{"docs":{},"数":{"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":{},"于":{"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":{},"u":{"docs":{},"i":{"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":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},":":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"动":{"docs":{},"组":{"docs":{},"件":{"docs":{},"保":{"docs":{},"存":{"docs":{},"其":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{},"。":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"足":{"docs":{},":":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.007142857142857143}}}},"要":{"docs":{},"按":{"docs":{},"“":{"docs":{},"停":{"docs":{},"止":{"docs":{},"”":{"docs":{},"按":{"docs":{},"钮":{"docs":{},";":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616}}}}}}}}}}},"过":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}},"能":{"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":{},"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.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"用":{"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.002577319587628866}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"很":{"docs":{},"好":{"docs":{},",":{"docs":{},"只":{"docs":{},"有":{"0":{"docs":{},".":{"1":{"docs":{},".":{"1":{"docs":{},"版":{"docs":{},"本":{"docs":{},".":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}},"业":{"docs":{},"务":{"docs":{},"需":{"docs":{},"求":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.007142857142857143}},",":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},",":{"docs":{},"勾":{"docs":{},"选":{"docs":{},"上":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}},"有":{"docs":{},"个":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"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":{},"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"它":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"包":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"没":{"docs":{},"有":{"docs":{},"提":{"docs":{},"供":{"docs":{},"去":{"docs":{},"除":{"docs":{},"背":{"docs":{},"景":{"docs":{},"的":{"docs":{},"设":{"docs":{},"置":{"docs":{},",":{"docs":{},"假":{"docs":{},"若":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"去":{"docs":{},"除":{"docs":{},"背":{"docs":{},"景":{"docs":{},",":{"docs":{},"则":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"将":{"docs":{},"背":{"docs":{},"景":{"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.006024096385542169}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"间":{"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":{},"组":{"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":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"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":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"定":{"docs":{},"义":{"docs":{},"在":{"docs":{},"\"":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"\"":{"docs":{},"中":{"docs":{},",":{"docs":{},"它":{"docs":{},"的":{"docs":{},"类":{"docs":{},"型":{"docs":{},"是":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"枚":{"docs":{},"举":{"docs":{},"类":{"docs":{},",":{"docs":{},"定":{"docs":{},"义":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"文":{"docs":{},"简":{"docs":{},"体":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.013888888888888888},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}},"就":{"docs":{},"确":{"docs":{},"定":{"docs":{},"了":{"docs":{},",":{"docs":{},"在":{"docs":{},"后":{"docs":{},"面":{"docs":{},"的":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}}}}},"关":{"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.0018587360594795538}}}}}}}}}}}},"主":{"docs":{},"要":{"docs":{},"缺":{"docs":{},"点":{"docs":{},":":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}},"资":{"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.004807692307692308}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}}}}}}},"轴":{"docs":{},"和":{"docs":{},"纵":{"docs":{},"轴":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856},"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.02631578947368421}}}}},"(":{"docs":{},"水":{"docs":{},"平":{"docs":{},")":{"docs":{},"方":{"docs":{},"向":{"docs":{},"间":{"docs":{},"距":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}}}}}}}}}}},"题":{"docs":{"chapter7/":{"ref":"chapter7/","tf":0.1111111111111111}},"改":{"docs":{},"变":{"docs":{},"后":{"docs":{},",":{"docs":{},"通":{"docs":{},"知":{"docs":{},"其":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"项":{"docs":{},",":{"docs":{},"新":{"docs":{},"主":{"docs":{},"题":{"docs":{},"会":{"docs":{},"立":{"docs":{},"即":{"docs":{},"生":{"docs":{},"效":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}},"状":{"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":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"选":{"docs":{},"择":{"docs":{},"页":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}}}},"页":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}},"也":{"docs":{},"许":{"docs":{},"你":{"docs":{},"已":{"docs":{},"经":{"docs":{},"猜":{"docs":{},"到":{"docs":{},"f":{"docs":{},"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"会":{"docs":{},"说":{"docs":{},"这":{"docs":{},"和":{"docs":{},"我":{"docs":{},"们":{"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.002577319587628866}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},",":{"docs":{},"在":{"docs":{},"执":{"docs":{},"行":{"docs":{},"异":{"docs":{},"步":{"docs":{},"任":{"docs":{},"务":{"docs":{},"时":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"多":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"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.004807692307692308}}}}}},"docs":{}},"docs":{}},"docs":{}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}}}}}}}}}},"docs":{}},"docs":{}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}},"该":{"docs":{},"文":{"docs":{},"件":{"docs":{},"大":{"docs":{},"概":{"2":{"3":{"3":{"docs":{},"m":{"docs":{},"多":{"docs":{},"一":{"docs":{},"点":{"docs":{},"。":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}},"不":{"docs":{},"用":{"docs":{},"重":{"docs":{},"新":{"docs":{},"布":{"docs":{},"局":{"docs":{},"了":{"docs":{},"。":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}}}}},"是":{"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.0018726591760299626},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}}}}}}}}}}},"可":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"做":{"docs":{},"更":{"docs":{},"改":{"docs":{},")":{"docs":{},",":{"docs":{},"换":{"docs":{},"了":{"docs":{},"之":{"docs":{},"后":{"docs":{},"的":{"docs":{},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"图":{"3":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}},"docs":{}}}}}}}}}}}}}}}},"需":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}},"但":{"docs":{},"近":{"docs":{},"几":{"docs":{},"年":{"docs":{},",":{"docs":{},"随":{"docs":{},"着":{"docs":{},"物":{"docs":{},"联":{"docs":{},"网":{"docs":{},"时":{"docs":{},"代":{"docs":{},"到":{"docs":{},"来":{"docs":{},"、":{"docs":{},"移":{"docs":{},"动":{"docs":{},"互":{"docs":{},"联":{"docs":{},"网":{"docs":{},"高":{"docs":{},"歌":{"docs":{},"猛":{"docs":{},"进":{"docs":{},",":{"docs":{},"日":{"docs":{},"新":{"docs":{},"月":{"docs":{},"异":{"docs":{},",":{"docs":{},"在":{"docs":{},"很":{"docs":{},"多":{"docs":{},"业":{"docs":{},"务":{"docs":{},"场":{"docs":{},"景":{"docs":{},"中":{"docs":{},",":{"docs":{},"传":{"docs":{},"统":{"docs":{},"的":{"docs":{},"纯":{"docs":{},"原":{"docs":{},"生":{"docs":{},"开":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"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.004807692307692308}}}}}}}}}}}}}}}},"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":{},"大":{"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":{},"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":{},"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":{},"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":{},"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.00425531914893617}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"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":{},"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":{},"e":{"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":{},"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":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"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":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"便":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"跨":{"docs":{},"平":{"docs":{},"台":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}}}}},"只":{"docs":{},"会":{"docs":{},"接":{"docs":{},"收":{"docs":{},"该":{"docs":{},"参":{"docs":{},"数":{"docs":{},"类":{"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.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"值":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}}}}}}},"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"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":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"否":{"docs":{},"唯":{"docs":{},"一":{"docs":{},",":{"docs":{},"如":{"docs":{},"图":{"1":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},"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":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"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":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},"了":{"docs":{},"的":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"。":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"内":{"docs":{},"容":{"docs":{},"固":{"docs":{},"定":{"docs":{},",":{"docs":{},"动":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"文":{"docs":{},"本":{"docs":{},"样":{"docs":{},"式":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}},"动":{"docs":{},"态":{"docs":{},"化":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}},"内":{"docs":{},"容":{"docs":{},"需":{"docs":{},"求":{"docs":{},"增":{"docs":{},"大":{"docs":{},";":{"docs":{},"当":{"docs":{},"需":{"docs":{},"求":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},"时":{"docs":{},",":{"docs":{},"纯":{"docs":{},"原":{"docs":{},"生":{"docs":{},"应":{"docs":{},"用":{"docs":{},"需":{"docs":{},"要":{"docs":{},"通":{"docs":{},"过":{"docs":{},"版":{"docs":{},"本":{"docs":{},"升":{"docs":{},"级":{"docs":{},"来":{"docs":{},"更":{"docs":{},"新":{"docs":{},"内":{"docs":{},"容":{"docs":{},",":{"docs":{},"但":{"docs":{},"应":{"docs":{},"用":{"docs":{},"上":{"docs":{},"架":{"docs":{},"、":{"docs":{},"审":{"docs":{},"核":{"docs":{},"是":{"docs":{},"需":{"docs":{},"要":{"docs":{},"周":{"docs":{},"期":{"docs":{},"的":{"docs":{},",":{"docs":{},"这":{"docs":{},"对":{"docs":{},"高":{"docs":{},"速":{"docs":{},"变":{"docs":{},"化":{"docs":{},"的":{"docs":{},"互":{"docs":{},"联":{"docs":{},"网":{"docs":{},"时":{"docs":{},"代":{"docs":{},"来":{"docs":{},"说":{"docs":{},"是":{"docs":{},"很":{"docs":{},"难":{"docs":{},"接":{"docs":{},"受":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},",":{"docs":{},"对":{"docs":{},"应":{"docs":{},"用":{"docs":{},"动":{"docs":{},"态":{"docs":{},"化":{"docs":{},"(":{"docs":{},"不":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"较":{"docs":{},"好":{"docs":{},",":{"docs":{},"支":{"docs":{},"持":{"docs":{},"热":{"docs":{},"更":{"docs":{},"新":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}}}}}}}},"性":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"画":{"docs":{},"结":{"docs":{},"构":{"docs":{"chapter9/":{"ref":"chapter9/","tf":0.09090909090909091}}}},"过":{"docs":{},"程":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}},"可":{"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":{},"我":{"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":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"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.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"知":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}},"在":{"docs":{},"终":{"docs":{},"点":{"docs":{},"停":{"docs":{},"止":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866}}}}}},"起":{"docs":{},"始":{"docs":{},"点":{"docs":{},"停":{"docs":{},"止":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866}}}}}}}},"基":{"docs":{},"本":{"docs":{},"结":{"docs":{},"构":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866}},"及":{"docs":{},"状":{"docs":{},"态":{"docs":{},"监":{"docs":{},"听":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866}}}}}}}}}}},"构":{"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":{},"组":{"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":{},"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":{},"身":{"docs":{},"的":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"重":{"docs":{},"新":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"避":{"docs":{},"免":{"docs":{},"不":{"docs":{},"必":{"docs":{},"要":{"docs":{},"的":{"docs":{},"r":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"。":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"器":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}},"正":{"docs":{},"在":{"docs":{},"反":{"docs":{},"向":{"docs":{},"执":{"docs":{},"行":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866}}}}}},"正":{"docs":{},"向":{"docs":{},"执":{"docs":{},"行":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866}}}}}}}},"状":{"docs":{},"态":{"docs":{},"监":{"docs":{},"听":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866}}}}}},"。":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.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":{},"中":{"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.008771929824561403}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"重":{"docs":{},"复":{"docs":{},"的":{"docs":{},"次":{"docs":{},"数":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}},"原":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"开":{"docs":{},"发":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}},"与":{"docs":{},"跨":{"docs":{},"平":{"docs":{},"台":{"docs":{},"技":{"docs":{},"术":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}}}}}},"控":{"docs":{},"件":{"docs":{},"渲":{"docs":{},"染":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}},"根":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}},"渲":{"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.0035714285714285713}}}}}}}},"docs":{}}}}}}}}}},"始":{"docs":{},"指":{"docs":{},"针":{"docs":{},"事":{"docs":{},"件":{"docs":{},"处":{"docs":{},"理":{"docs":{"chapter8/":{"ref":"chapter8/","tf":0.125},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}}}}}}}}},"理":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}},"时":{"docs":{},"详":{"docs":{},"细":{"docs":{},"介":{"docs":{},"绍":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}},"可":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"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":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.002551020408163265}}}}}}}}}}}}}}}},"局":{"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.002824858757062147}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"感":{"docs":{},"受":{"docs":{},"一":{"docs":{},"下":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"业":{"docs":{},"务":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"中":{"docs":{},"有":{"docs":{},"大":{"docs":{},"量":{"docs":{},"异":{"docs":{},"步":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"将":{"docs":{},"会":{"docs":{},"出":{"docs":{},"现":{"docs":{},"上":{"docs":{},"面":{"docs":{},"这":{"docs":{},"种":{"docs":{},"在":{"docs":{},"回":{"docs":{},"调":{"docs":{},"里":{"docs":{},"面":{"docs":{},"套":{"docs":{},"回":{"docs":{},"调":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"过":{"docs":{},"多":{"docs":{},"的":{"docs":{},"嵌":{"docs":{},"套":{"docs":{},"会":{"docs":{},"导":{"docs":{},"致":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"可":{"docs":{},"读":{"docs":{},"性":{"docs":{},"下":{"docs":{},"降":{"docs":{},"以":{"docs":{},"及":{"docs":{},"出":{"docs":{},"错":{"docs":{},"率":{"docs":{},"提":{"docs":{},"高":{"docs":{},",":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"看":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"只":{"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":{},"路":{"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":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"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":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"虽":{"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.00425531914893617}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}},"期":{"docs":{},"望":{"docs":{},"的":{"docs":{},"效":{"docs":{},"果":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"这":{"docs":{},"种":{"docs":{},"方":{"docs":{},"法":{"docs":{},"并":{"docs":{},"不":{"docs":{},"优":{"docs":{},"雅":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"页":{"docs":{},"面":{"docs":{},"布":{"docs":{},"局":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"表":{"docs":{},"头":{"docs":{},"布":{"docs":{},"局":{"docs":{},"调":{"docs":{},"整":{"docs":{},"导":{"docs":{},"致":{"docs":{},"表":{"docs":{},"头":{"docs":{},"高":{"docs":{},"度":{"docs":{},"改":{"docs":{},"变":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"剩":{"docs":{},"余":{"docs":{},"空":{"docs":{},"间":{"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":{},"弹":{"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":{},"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.002688172043010753}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"发":{"docs":{},"生":{"docs":{},"异":{"docs":{},"常":{"docs":{},"时":{"docs":{},",":{"docs":{},"f":{"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.003278688524590164}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"右":{"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":{},"们":{"docs":{},"分":{"docs":{},"别":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"和":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},".":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"由":{"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":{},"会":{"docs":{},"占":{"docs":{},"满":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"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":{},"子":{"docs":{},"文":{"docs":{},"本":{"docs":{},"组":{"docs":{},"件":{"docs":{},"被":{"docs":{},"第":{"docs":{},"二":{"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.0078125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"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":{},"元":{"docs":{},"素":{"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/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"上":{"docs":{},"面":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"没":{"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.00202020202020202}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"现":{"docs":{},"在":{"docs":{},"没":{"docs":{},"有":{"docs":{},"触":{"docs":{},"发":{"docs":{},"异":{"docs":{},"常":{"docs":{},"并":{"docs":{},"且":{"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":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"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":{},"前":{"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":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"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":{},"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":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"返":{"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":{},"象":{"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":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"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":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"绘":{"docs":{},"制":{"docs":{},"时":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"提":{"docs":{},"供":{"docs":{},"前":{"docs":{},"景":{"docs":{},"或":{"docs":{},"背":{"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":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"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":{},"一":{"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":{},"图":{"1":{"1":{"docs":{"chapter11/socket.html":{"ref":"chapter11/socket.html","tf":0.02857142857142857}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"此":{"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.0020964360587002098}}}}}}}}}},"我":{"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.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"剪":{"docs":{},"裁":{"docs":{},"成":{"docs":{},"功":{"docs":{},"了":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"图":{"docs":{},"片":{"docs":{},"所":{"docs":{},"占":{"docs":{},"用":{"docs":{},"的":{"docs":{},"空":{"docs":{},"间":{"docs":{},"大":{"docs":{},"小":{"docs":{},"仍":{"docs":{},"然":{"docs":{},"是":{"6":{"0":{"docs":{},"×":{"6":{"0":{"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":{},"大":{"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":{},"。":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"i":{"docs":{},"n":{"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":{},"的":{"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":{},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"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":{},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},",":{"docs":{},"它":{"docs":{},"比":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"只":{"docs":{},"少":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"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":{},"种":{"docs":{},"组":{"docs":{},"件":{"docs":{},"组":{"docs":{},"合":{"docs":{},"而":{"docs":{},"成":{"docs":{},"。":{"docs":{},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"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":{},"先":{"docs":{},"于":{"docs":{},"继":{"docs":{},"承":{"docs":{},"的":{"docs":{},"实":{"docs":{},"例":{"docs":{},"。":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"它":{"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":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"。":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"左":{"docs":{},"侧":{"docs":{},"菜":{"docs":{},"单":{"docs":{},"已":{"docs":{},"经":{"docs":{},"替":{"docs":{},"换":{"docs":{},"成":{"docs":{},"功":{"docs":{},"。":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"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":{},"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":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"_":{"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":{},"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":{},"类":{"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":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"。":{"docs":{},"注":{"docs":{},"意":{"docs":{},",":{"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":{},"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":{},"类":{"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":{},"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":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"时":{"docs":{},",":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"c":{"docs":{},"h":{"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":{},"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":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"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":{},"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":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"父":{"docs":{},"级":{"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":{},"传":{"docs":{},"入":{"docs":{},"的":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"便":{"docs":{},"有":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},"。":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"方":{"docs":{},"法":{"docs":{},"主":{"docs":{},"要":{"docs":{},"做":{"docs":{},"了":{"docs":{},"两":{"docs":{},"件":{"docs":{},"事":{"docs":{},":":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}},"和":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"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":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},",":{"docs":{},"而":{"docs":{},"后":{"docs":{},"者":{"docs":{},"需":{"docs":{},"要":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},"。":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"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":{},"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":{},"组":{"docs":{},"件":{"docs":{},"组":{"docs":{},"合":{"docs":{},"而":{"docs":{},"成":{"docs":{},"。":{"docs":{},"当":{"docs":{},"然":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"只":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"示":{"docs":{},"例":{"docs":{},",":{"docs":{},"作":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"它":{"docs":{},"还":{"docs":{},"并":{"docs":{},"不":{"docs":{},"完":{"docs":{},"整":{"docs":{},",":{"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/combine.html":{"ref":"chapter10/combine.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":{},"头":{"docs":{},"比":{"docs":{},"较":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"响":{"docs":{},"应":{"docs":{},"体":{"docs":{},"和":{"docs":{},"浏":{"docs":{},"览":{"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":{"chapter11/socket.html":{"ref":"chapter11/socket.html","tf":0.02857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"目":{"docs":{},"前":{"docs":{},"f":{"docs":{},"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":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"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":{"chapter13/intl.html":{"ref":"chapter13/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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"该":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"出":{"docs":{},",":{"docs":{},"当":{"docs":{},"调":{"docs":{},"用":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"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.0024330900243309003}}}}}}}}}}}}}}}}}}},"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"装":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"f":{"docs":{},"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.00390625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"应":{"docs":{},"用":{"docs":{},"文":{"docs":{},"本":{"docs":{},"样":{"docs":{},"式":{"docs":{},":":{"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.002551020408163265}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"按":{"docs":{},"比":{"docs":{},"例":{"docs":{},"“":{"docs":{},"扩":{"docs":{},"伸":{"docs":{},"”":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.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":{},"都":{"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.00425531914893617}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"发":{"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.006622516556291391}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"子":{"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":{},"组":{"docs":{},"件":{"docs":{},"的":{"docs":{},"最":{"docs":{},"大":{"docs":{},"显":{"docs":{},"示":{"docs":{},"空":{"docs":{},"间":{"docs":{},",":{"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.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"中":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"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":{},"前":{"docs":{},"面":{"docs":{},"说":{"docs":{},"过":{"docs":{},",":{"docs":{},"f":{"docs":{},"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":{},"通":{"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":{},"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":{},"实":{"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":{},"前":{"docs":{},"的":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"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":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"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":{},"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":{},"办":{"docs":{},"法":{"docs":{},"获":{"docs":{},"取":{"docs":{},"到":{"docs":{},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{},"内":{"docs":{},"部":{"docs":{},"u":{"docs":{},"i":{"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":{},"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":{},"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":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"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":{},"f":{"docs":{},"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":{},"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":{},"用":{"docs":{},"。":{"docs":{},"知":{"docs":{},"道":{"docs":{},"这":{"docs":{},"个":{"docs":{},"后":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"解":{"docs":{},"决":{"docs":{},"的":{"docs":{},"方":{"docs":{},"案":{"docs":{},"就":{"docs":{},"呼":{"docs":{},"之":{"docs":{},"欲":{"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/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"遮":{"docs":{},"罩":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"比":{"docs":{},"通":{"docs":{},"过":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"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":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter10/intro.html":{"ref":"chapter10/intro.html","tf":0.04}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"docs":{},"些":{"docs":{},"属":{"docs":{},"性":{"docs":{},"只":{"docs":{},"是":{"docs":{},"为":{"docs":{},"了":{"docs":{},"更":{"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"要":{"docs":{},"实":{"docs":{},"现":{"docs":{},"这":{"docs":{},"样":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"进":{"docs":{},"度":{"docs":{},"条":{"docs":{},"是":{"docs":{},"无":{"docs":{},"法":{"docs":{},"通":{"docs":{},"过":{"docs":{},"现":{"docs":{},"有":{"docs":{},"组":{"docs":{},"件":{"docs":{},"组":{"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/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"送":{"docs":{},"与":{"docs":{},"方":{"docs":{},"法":{"docs":{},"调":{"docs":{},"用":{"docs":{},"相":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"消":{"docs":{},"息":{"docs":{},"。":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}}}}}}}}}}}}}}},"触":{"docs":{},"发":{"docs":{},"所":{"docs":{},"有":{"docs":{},"监":{"docs":{},"听":{"docs":{},"器":{"docs":{},"回":{"docs":{},"调":{"docs":{},"。":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}},"指":{"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":{},";":{"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":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"同":{"docs":{},"时":{"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":{},"s":{"docs":{},"w":{"docs":{},"i":{"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":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"支":{"docs":{},"持":{"docs":{},"圆":{"docs":{},"角":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}}},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"粗":{"docs":{},"细":{"docs":{},"、":{"docs":{},"两":{"docs":{},"端":{"docs":{},"是":{"docs":{},"否":{"docs":{},"圆":{"docs":{},"角":{"docs":{},"等":{"docs":{},"样":{"docs":{},"式":{"docs":{},"。":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}}}}}}},"动":{"docs":{},"填":{"docs":{},"充":{"docs":{},"上":{"docs":{},"次":{"docs":{},"登":{"docs":{},"录":{"docs":{},"的":{"docs":{},"用":{"docs":{},"户":{"docs":{},"名":{"docs":{},"(":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294},"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}},"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":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"直":{"docs":{},"接":{"docs":{},"调":{"docs":{},"用":{"docs":{},"便":{"docs":{},"捷":{"docs":{},"方":{"docs":{},"法":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}},"选":{"docs":{},"命":{"docs":{},"名":{"docs":{},"参":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"参":{"docs":{},"数":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}},"命":{"docs":{},"名":{"docs":{},"参":{"docs":{},"数":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}},"主":{"docs":{},"题":{"docs":{},"列":{"docs":{},"表":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}},"视":{"docs":{},"化":{"docs":{},"调":{"docs":{},"试":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}}},"让":{"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":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}}}}}}}}}}}}}}}}}},"滚":{"docs":{},"动":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"简":{"docs":{},"介":{"docs":{"chapter6/":{"ref":"chapter6/","tf":0.14285714285714285}}}}}}}}}}},"组":{"docs":{},"件":{"docs":{},"简":{"docs":{},"介":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.02631578947368421}}}},"的":{"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":{},"函":{"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":{},"型":{"docs":{},"的":{"docs":{},",":{"docs":{},"反":{"docs":{},"之":{"docs":{},"则":{"docs":{},"不":{"docs":{},"支":{"docs":{},"持":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"个":{"docs":{},"一":{"docs":{},"般":{"docs":{},"规":{"docs":{},"律":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"后":{"docs":{},"面":{"docs":{},"在":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"可":{"docs":{},"滚":{"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":{},"型":{"docs":{},"了":{"docs":{},"。":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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}}}}}}}}}},"在":{"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":{},"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.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"见":{"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":{},"例":{"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":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"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":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"复":{"docs":{},"选":{"docs":{},"框":{"docs":{},"能":{"docs":{},"选":{"docs":{},"中":{"docs":{},"了":{"docs":{},",":{"docs":{},"点":{"docs":{},"击":{"docs":{},"“":{"docs":{},"取":{"docs":{},"消":{"docs":{},"”":{"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/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"名":{"docs":{},",":{"docs":{},"已":{"docs":{},"有":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}},"称":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}},"和":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01},"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.015337423312883436},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793},"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.007532956685499058},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.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":{},"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"无":{"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.0024330900243309003}}}}}}}}}}}}}}}}}},"包":{"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":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"其":{"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.0078125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"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":{},"要":{"docs":{},"制":{"docs":{},"定":{"docs":{},"一":{"docs":{},"些":{"docs":{},"精":{"docs":{},"确":{"docs":{},"的":{"docs":{},"偏":{"docs":{},"移":{"docs":{},"时":{"docs":{},"应":{"docs":{},"优":{"docs":{},"先":{"docs":{},"使":{"docs":{},"用":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"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":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"服":{"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"上":{"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":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"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":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"响":{"docs":{},"应":{"docs":{},"式":{"docs":{},"编":{"docs":{},"程":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}},"的":{"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":{},"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":{},"对":{"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":{},"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":{},"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/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"头":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}},"因":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"为":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"o":{"docs":{},"的":{"docs":{},"宽":{"docs":{},"高":{"docs":{},"为":{"6":{"0":{"docs":{},",":{"docs":{},"则":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"的":{"docs":{},"最":{"docs":{},"终":{"docs":{},"宽":{"docs":{},"高":{"docs":{},"都":{"docs":{},"为":{"2":{"docs":{},"*":{"6":{"0":{"docs":{},"=":{"1":{"2":{"0":{"docs":{},"。":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}},"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":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},",":{"docs":{},"更":{"docs":{},"新":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"后":{"docs":{},"不":{"docs":{},"触":{"docs":{},"发":{"docs":{},"更":{"docs":{},"新":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"基":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"此":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"设":{"docs":{},"计":{"docs":{},"一":{"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/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"o":{"docs":{},"t":{"docs":{},"的":{"docs":{},"发":{"docs":{},"布":{"docs":{},"包":{"docs":{},":":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01}}}}}}}}}},"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"延":{"docs":{},"迟":{"docs":{},"构":{"docs":{},"建":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.02631578947368421}}}}}}}}}}}}},"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"础":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter3/":{"ref":"chapter3/","tf":0.1}}}}}}}},"组":{"docs":{},"件":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}},"版":{"docs":{},"本":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866}}}}}},"大":{"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.0035714285714285713}}}}}}}}},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"g":{"docs":{},"l":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}}}}}},"多":{"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":{},"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"好":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.007142857142857143}}},"将":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}},"原":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}},"虚":{"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.0035714285714285713}}}}}}}}}}}}}}}}},"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"不":{"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.0013422818791946308}}}}}}}}}}}}}}},"能":{"docs":{},"再":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}}}}}}},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616}}}}},"安":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}},"栈":{"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.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"给":{"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.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"“":{"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":{},"(":{"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.00625}}}}}}}}}}}}}}}}}},"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"被":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}},"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.001519756838905775}}}}}}}}}}}}},"的":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.001519756838905775}}}}}}},"i":{"docs":{},"n":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},"设":{"docs":{},"为":{"docs":{},"d":{"docs":{},"o":{"docs":{},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"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.00411522633744856}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"以":{"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":{},"在":{"docs":{},"后":{"docs":{},"面":{"docs":{},"章":{"docs":{},"节":{"docs":{},"中":{"docs":{},"专":{"docs":{},"门":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"着":{"docs":{},"两":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"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.00411522633744856}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"子":{"docs":{},"组":{"docs":{},"件":{"docs":{},"剪":{"docs":{},"裁":{"docs":{},"为":{"docs":{},"圆":{"docs":{},"角":{"docs":{},"矩":{"docs":{},"形":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}}}}}}}}}}},"选":{"docs":{},"中":{"docs":{},"状":{"docs":{},"态":{"docs":{},"返":{"docs":{},"回":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}},"点":{"docs":{},"击":{"docs":{},"次":{"docs":{},"数":{"docs":{},"以":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"类":{"docs":{},"型":{"docs":{},"写":{"docs":{},"到":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}},"数":{"docs":{},"据":{"docs":{},"发":{"docs":{},"送":{"docs":{},"到":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}},"。":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"我":{"docs":{},"们":{"docs":{},"运":{"docs":{},"行":{"docs":{},"生":{"docs":{},"成":{"docs":{},"命":{"docs":{},"令":{"docs":{},"后":{"docs":{},"自":{"docs":{},"动":{"docs":{},"生":{"docs":{},"成":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}},"以":{"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"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.0018587360594795538}}}}}}}}}}}}}}}},"`":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},".":{"docs":{},"i":{"docs":{},"d":{"docs":{},"`":{"docs":{},"作":{"docs":{},"为":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"的":{"docs":{},"默":{"docs":{},"认":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}}}}}}}},"小":{"docs":{},"节":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}},"结":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609}}}},"布":{"docs":{},"局":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}},"消":{"docs":{},"息":{"docs":{},"传":{"docs":{},"递":{"docs":{},";":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}}},"类":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"简":{"docs":{},"介":{"docs":{"chapter4/":{"ref":"chapter4/","tf":0.16666666666666666}}}}},"一":{"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":{},"直":{"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.04}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"简":{"docs":{},"介":{"docs":{"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":0.04}}}},"都":{"docs":{},"会":{"docs":{},"包":{"docs":{},"含":{"docs":{},"一":{"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":{},"面":{"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":{},"嗯":{"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":{},"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.04}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"限":{"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}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"过":{"docs":{},"程":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}},"平":{"docs":{},"台":{"docs":{},"特":{"docs":{},"定":{"docs":{},",":{"docs":{},"开":{"docs":{},"发":{"docs":{},"成":{"docs":{},"本":{"docs":{},"高":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"依":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"道":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}},"使":{"docs":{},"用":{"docs":{},"标":{"docs":{},"准":{"docs":{},"消":{"docs":{},"息":{"docs":{},"编":{"docs":{},"/":{"docs":{},"解":{"docs":{},"码":{"docs":{},"器":{"docs":{},"对":{"docs":{},"消":{"docs":{},"息":{"docs":{},"进":{"docs":{},"行":{"docs":{},"编":{"docs":{},"解":{"docs":{},"码":{"docs":{},",":{"docs":{},"它":{"docs":{},"可":{"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":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"数":{"docs":{},"据":{"docs":{},"类":{"docs":{},"型":{"docs":{},"支":{"docs":{},"持":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}}}}}}},"消":{"docs":{},"息":{"docs":{},"处":{"docs":{},"理":{"docs":{},"回":{"docs":{},"调":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}}}}},"移":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064}}}},"年":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}},"开":{"docs":{},"发":{"docs":{},"效":{"docs":{},"率":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}},"低":{"docs":{},":":{"docs":{},"q":{"docs":{},"t":{"docs":{},"使":{"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":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"开":{"docs":{},"发":{"docs":{},"效":{"docs":{},"率":{"docs":{},"的":{"docs":{},",":{"docs":{},"c":{"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":{},"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":{},"c":{"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":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"中":{"docs":{},"垃":{"docs":{},"圾":{"docs":{},"回":{"docs":{},"收":{"docs":{},"(":{"docs":{},"g":{"docs":{},"c":{"docs":{},")":{"docs":{},"的":{"docs":{},"机":{"docs":{},"制":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{},"f":{"docs":{},"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"高":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01}}}}},"者":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"根":{"docs":{},"据":{"docs":{},"实":{"docs":{},"际":{"docs":{},"需":{"docs":{},"求":{"docs":{},"来":{"docs":{},"定":{"docs":{},"制":{"docs":{},"。":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}}}}}}}},"人":{"docs":{},"员":{"docs":{},"选":{"docs":{},"项":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}},"只":{"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/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter12/":{"ref":"chapter12/","tf":0.2},"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"插":{"docs":{},"件":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}}}}}}}},"平":{"docs":{},"台":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"定":{"docs":{},"义":{"docs":{},"一":{"docs":{},"个":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"类":{"docs":{},",":{"docs":{},"专":{"docs":{},"门":{"docs":{},"用":{"docs":{},"于":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"头":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}},"始":{"docs":{},"加":{"docs":{},"速":{"docs":{},",":{"docs":{},"后":{"docs":{},"面":{"docs":{},"减":{"docs":{},"速":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}}}}},"快":{"docs":{},",":{"docs":{},"后":{"docs":{},"面":{"docs":{},"慢":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}}},"慢":{"docs":{},",":{"docs":{},"后":{"docs":{},"面":{"docs":{},"快":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}},"然":{"docs":{},"后":{"docs":{},"加":{"docs":{},"速":{"docs":{},",":{"docs":{},"最":{"docs":{},"后":{"docs":{},"再":{"docs":{},"减":{"docs":{},"速":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}}}}}}}}}},"时":{"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.004201680672268907}}}}},"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.0018832391713747645}}}}}}}}}}}}}}}}},"快":{"docs":{},"应":{"docs":{},"用":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}},"是":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"速":{"docs":{},"内":{"docs":{},"存":{"docs":{},"分":{"docs":{},"配":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01}}}}}}}},"思":{"docs":{},"考":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}},"题":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"既":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"这":{"docs":{},"个":{"docs":{},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},",":{"docs":{},"下":{"docs":{},"划":{"docs":{},"线":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"是":{"docs":{},"固":{"docs":{},"定":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"获":{"docs":{},"得":{"docs":{},"焦":{"docs":{},"点":{"docs":{},"后":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"对":{"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.00425531914893617}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"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":{},"进":{"docs":{},"行":{"docs":{},"平":{"docs":{},"移":{"docs":{},"然":{"docs":{},"后":{"docs":{},"再":{"docs":{},"旋":{"docs":{},"转":{"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.0064516129032258064}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0032258064516129032}}}}}}}}},"为":{"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"性":{"docs":{},"能":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}},"高":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"好":{"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":{},"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":{},"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":{},"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.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"问":{"docs":{},"题":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}},"总":{"docs":{},"结":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.007142857142857143},"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.03},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428},"chapter10/intro.html":{"ref":"chapter10/intro.html","tf":0.04},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}},"一":{"docs":{},"下":{"docs":{},",":{"docs":{},"纯":{"docs":{},"原":{"docs":{},"生":{"docs":{},"开":{"docs":{},"发":{"docs":{},"主":{"docs":{},"要":{"docs":{},"面":{"docs":{},"临":{"docs":{},"动":{"docs":{},"态":{"docs":{},"化":{"docs":{},"和":{"docs":{},"开":{"docs":{},"发":{"docs":{},"成":{"docs":{},"本":{"docs":{},"两":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"而":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"技":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"型":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}},"排":{"docs":{},"行":{"docs":{},"榜":{"docs":{},"前":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}},"文":{"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.0035714285714285713}}}}}}}}}}}}}}},".":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}},"目":{"docs":{},"录":{"docs":{},":":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}},"件":{"docs":{},"中":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"是":{"docs":{},"它":{"docs":{},"的":{"docs":{},"源":{"docs":{},"码":{"docs":{},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}}}}}}}}}},"对":{"docs":{},"缩":{"docs":{},"进":{"docs":{},"严":{"docs":{},"格":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"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":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"操":{"docs":{},"作":{"docs":{"chapter11/":{"ref":"chapter11/","tf":0.08333333333333333},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}},"夹":{"docs":{"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.015151515151515152}},":":{"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"本":{"docs":{},"、":{"docs":{},"字":{"docs":{},"体":{"docs":{},"样":{"docs":{},"式":{"docs":{"chapter3/":{"ref":"chapter3/","tf":0.1}}}}}}},"及":{"docs":{},"样":{"docs":{},"式":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}}}},"输":{"docs":{},"入":{"docs":{},"键":{"docs":{},"盘":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}},"映":{"docs":{},"射":{"docs":{},"为":{"docs":{},"原":{"docs":{},"生":{"docs":{},"控":{"docs":{},"件":{"docs":{},"树":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}}}}}}},"是":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}},"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}}},"一":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}},"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.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"抽":{"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.002551020408163265}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"它":{"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":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}},"必":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}},"否":{"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.0013422818791946308}}}}}}}}}}}}}}}}}},"使":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"自":{"docs":{},"动":{"docs":{},"获":{"docs":{},"取":{"docs":{},"焦":{"docs":{},"点":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}}}},"在":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}},"启":{"docs":{},"用":{"docs":{},"缓":{"docs":{},"存":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}},"私":{"docs":{},"有":{"docs":{},"项":{"docs":{},"目":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}},"为":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"版":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}},"是":{"docs":{},"下":{"docs":{},"拉":{"docs":{},"刷":{"docs":{},"新":{"docs":{},"触":{"docs":{},"发":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}},"芯":{"docs":{},"片":{"docs":{},"系":{"docs":{},"列":{"docs":{},",":{"docs":{},"如":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}},"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":{},"f":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"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":{},"给":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"声":{"docs":{},"明":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},".":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}},"应":{"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":{},"组":{"docs":{},"件":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0024330900243309003}}}}}}},"页":{"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"组":{"docs":{},"件":{"docs":{},"库":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"组":{"docs":{},"件":{"docs":{},",":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"针":{"docs":{},"对":{"docs":{},"不":{"docs":{},"同":{"docs":{},"平":{"docs":{},"台":{"docs":{},",":{"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.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"不":{"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.006024096385542169}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"很":{"docs":{},"优":{"docs":{},"雅":{"docs":{},"!":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"模":{"docs":{},"式":{"docs":{},"的":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"实":{"docs":{},"现":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"生":{"docs":{},"态":{"docs":{},"链":{"docs":{},"中":{"docs":{},"m":{"docs":{},"o":{"docs":{},"b":{"docs":{},"x":{"docs":{},"包":{"docs":{},"的":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"实":{"docs":{},"现":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"x":{"docs":{},"包":{"docs":{},"的":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"实":{"docs":{},"现":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"安":{"docs":{},"卓":{"docs":{},"系":{"docs":{},"统":{"docs":{},",":{"docs":{},"d":{"docs":{},"o":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}}}}}}}},"会":{"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":{},"从":{"docs":{},"当":{"docs":{},"前":{"docs":{},"的":{"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":{},"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":{},"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":{},"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":{},"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":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"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":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},"会":{"docs":{},"返":{"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":{},"况":{"docs":{},"呢":{"docs":{},"?":{"docs":{},"其":{"docs":{},"实":{"docs":{},"很":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"设":{"docs":{},"置":{"docs":{},"一":{"docs":{},"个":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},"回":{"docs":{},"调":{"docs":{},"即":{"docs":{},"可":{"docs":{},":":{"docs":{"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"每":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}},"处":{"docs":{},"理":{"docs":{},"图":{"docs":{},"片":{"docs":{},"编":{"docs":{},"解":{"docs":{},"码":{"docs":{},"的":{"docs":{},"类":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"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":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"_":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"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":{},"载":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"指":{"docs":{},"定":{"docs":{},"一":{"docs":{},"个":{"docs":{},"占":{"docs":{},"位":{"docs":{},"图":{"docs":{},",":{"docs":{},"而":{"docs":{},"且":{"docs":{},"还":{"docs":{},"可":{"docs":{},"以":{"docs":{},"对":{"docs":{},"网":{"docs":{},"络":{"docs":{},"请":{"docs":{},"求":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},"进":{"docs":{},"行":{"docs":{},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"更":{"docs":{},"多":{"docs":{},"详":{"docs":{},"情":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"行":{"docs":{},"查":{"docs":{},"阅":{"docs":{},"其":{"docs":{},"文":{"docs":{},"档":{"docs":{},"。":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"应":{"docs":{},"用":{"docs":{},"的":{"docs":{},"入":{"docs":{},"口":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"实":{"docs":{},"现":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}},"更":{"docs":{},"新":{"docs":{},"到":{"docs":{},"了":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}},"环":{"docs":{},"境":{"docs":{},"变":{"docs":{},"量":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616}}}}}},"正":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"。":{"docs":{},"每":{"docs":{},"次":{"docs":{},"单":{"docs":{},"击":{"docs":{},"热":{"docs":{},"重":{"docs":{},"载":{"docs":{},"或":{"docs":{},"保":{"docs":{},"存":{"docs":{},"项":{"docs":{},"目":{"docs":{},"时":{"docs":{},",":{"docs":{},"都":{"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.00625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"启":{"docs":{},"动":{"docs":{},"页":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}}}}},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}},"应":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}},"后":{"docs":{},"会":{"docs":{},"r":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"会":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"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":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"改":{"docs":{},"为":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616}}}},"多":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}},"的":{"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":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}}},"框":{"docs":{},"架":{"docs":{},"代":{"docs":{},"表":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}},"为":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"很":{"docs":{},"多":{"docs":{},"关":{"docs":{},"键":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"异":{"docs":{},"常":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"。":{"docs":{},"这":{"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.003278688524590164}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"和":{"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.0018587360594795538}}}}}}}}}}}},"此":{"docs":{},"处":{"docs":{},"需":{"docs":{},"要":{"docs":{},"有":{"docs":{},"一":{"docs":{},"张":{"docs":{},"插":{"docs":{},"图":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}}}}}},"代":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"镜":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"例":{"docs":{},"中":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},"子":{"docs":{},"组":{"docs":{},"件":{"docs":{},"是":{"docs":{},"两":{"docs":{},"个":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}}}}}}}}}}}}}},"行":{"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.0024330900243309003}}}}}}}}}}}}}}}}},"示":{"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.00390625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"运":{"docs":{},"行":{"docs":{},"后":{"docs":{},",":{"docs":{},"每":{"docs":{},"次":{"docs":{},"拖":{"docs":{},"动":{"docs":{},"只":{"docs":{},"会":{"docs":{},"沿":{"docs":{},"一":{"docs":{},"个":{"docs":{},"方":{"docs":{},"向":{"docs":{},"移":{"docs":{},"动":{"docs":{},"(":{"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.0017452006980802793}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"时":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"为":{"docs":{},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{},"u":{"docs":{},"i":{"docs":{},"的":{"docs":{},"根":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}}}}}},"在":{"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":{"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02}}}}}}}}}}}}}}}}}}}}}}}}}}}},"外":{"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":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"方":{"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.0018587360594795538}}}}}}}}}}}}}}}},"类":{"docs":{},"由":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}},"混":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}},"开":{"docs":{},"发":{"docs":{},"技":{"docs":{},"术":{"docs":{},"点":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}}},"状":{"docs":{},"态":{"docs":{},"管":{"docs":{},"理":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}},"管":{"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":{},")":{"docs":{},"。":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"渲":{"docs":{},"染":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}},"时":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"层":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}},"和":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"在":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"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":{},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"灵":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"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":{},"组":{"docs":{},"件":{"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.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"然":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"按":{"docs":{},"回":{"docs":{},"车":{"docs":{},"键":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}},"点":{"docs":{},"击":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616}}}},"选":{"docs":{},"择":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.004026845637583893}},"里":{"docs":{},"面":{"docs":{},"的":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.008264462809917356}}}}}}},",":{"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.0013422818791946308}}}}}}}}}}}}}}}}}},"应":{"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.00390625}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"过":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"p":{"docs":{},"r":{"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":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"当":{"docs":{},"我":{"docs":{},"们":{"docs":{},"运":{"docs":{},"行":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"时":{"docs":{},"我":{"docs":{},"们":{"docs":{},"会":{"docs":{},"发":{"docs":{},"现":{"docs":{},"复":{"docs":{},"选":{"docs":{},"框":{"docs":{},"根":{"docs":{},"本":{"docs":{},"选":{"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":{},"对":{"docs":{},"当":{"docs":{},"前":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"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":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"的":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}},"加":{"docs":{},"载":{"docs":{},"图":{"docs":{},"像":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},":":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}}}}}}}}}},"打":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}},"我":{"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.0020964360587002098}}}}}}}}}}}}}},"点":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}},"实":{"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":{},"在":{"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.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"docs":{},"调":{"docs":{},"用":{"docs":{},"部":{"docs":{},"分":{"docs":{},"代":{"docs":{},"码":{"docs":{},"改":{"docs":{},"为":{"docs":{},":":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}},"热":{"docs":{},"重":{"docs":{},"载":{"docs":{},",":{"docs":{},"日":{"docs":{},"志":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}}}}}}}}},"设":{"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.0013477088948787063}}}}}}}}}}}}}}}}}},"运":{"docs":{},"行":{"docs":{},",":{"docs":{},"发":{"docs":{},"现":{"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.002688172043010753}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"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.002577319587628866}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"访":{"docs":{},"问":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}},"调":{"docs":{},"用":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}},"授":{"docs":{},"予":{"docs":{},"执":{"docs":{},"行":{"docs":{},"权":{"docs":{},"限":{"docs":{},":":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}}}}},"版":{"docs":{},"本":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}},"号":{"docs":{},"可":{"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/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"现":{"docs":{},"在":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"回":{"docs":{},"头":{"docs":{},"来":{"docs":{},"看":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"答":{"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":{},"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"来":{"docs":{},"和":{"docs":{},"q":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}},"将":{"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":{},"后":{"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":{},"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":{},"增":{"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":{},"调":{"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"要":{"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":{},"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":{},"当":{"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":{},"y":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"打":{"docs":{},"开":{"docs":{},"文":{"docs":{},"件":{"docs":{},"删":{"docs":{},"除":{"docs":{},"确":{"docs":{},"认":{"docs":{},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{},",":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"己":{"docs":{},"经":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"完":{"docs":{},"了":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"、":{"docs":{},"s":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"以":{"docs":{},"及":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"。":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"调":{"docs":{},"用":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"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":{},"对":{"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":{},"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":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"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":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"重":{"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":{},"组":{"docs":{},"件":{"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.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"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":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"无":{"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":{},"已":{"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":{},"有":{"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":{},"信":{"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":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"移":{"docs":{},"到":{"docs":{},"了":{"docs":{},"模":{"docs":{},"型":{"docs":{},"本":{"docs":{},"身":{"docs":{},"内":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"想":{"docs":{},"必":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}},"目":{"docs":{},"前":{"docs":{},"已":{"docs":{},"经":{"docs":{},"确":{"docs":{},"定":{"docs":{},",":{"docs":{},"在":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"章":{"docs":{},"节":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"分":{"docs":{},"模":{"docs":{},"块":{"docs":{},"一":{"docs":{},"步":{"docs":{},"一":{"docs":{},"步":{"docs":{},"实":{"docs":{},"现":{"docs":{},"上":{"docs":{},"述":{"docs":{},"功":{"docs":{},"能":{"docs":{},"。":{"docs":{"chapter15/intro.html":{"ref":"chapter15/intro.html","tf":0.05}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"下":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"的":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"中":{"docs":{},"相":{"docs":{},"同":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"的":{"docs":{},"值":{"docs":{},"会":{"docs":{},"被":{"docs":{},"覆":{"docs":{},"盖":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"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":{},"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":{},"。":{"docs":{},"那":{"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":{},"y":{"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":{},"o":{"docs":{},"b":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"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":{},"e":{"docs":{},"r":{"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":{},"e":{"docs":{},"r":{"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":{},"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":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"作":{"docs":{},"为":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"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":{},"应":{"docs":{},"该":{"docs":{},"将":{"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":{},"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":{},"o":{"docs":{},"b":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"(":{"docs":{},")":{"docs":{},"实":{"docs":{},"现":{"docs":{},":":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"docs":{},"完":{"docs":{},"成":{"docs":{},"了":{"docs":{},"路":{"docs":{},"由":{"docs":{},"表":{"docs":{},"的":{"docs":{},"注":{"docs":{},"册":{"docs":{},"。":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"h":{"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":{},"将":{"docs":{},"h":{"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":{},"单":{"docs":{},",":{"docs":{},"直":{"docs":{},"接":{"docs":{},"看":{"docs":{},"代":{"docs":{},"码":{"docs":{},":":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"来":{"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.003278688524590164}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"再":{"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":{},"(":{"1":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}},"所":{"docs":{},"需":{"docs":{},"要":{"docs":{},"的":{"docs":{},"各":{"docs":{},"个":{"docs":{},"工":{"docs":{},"具":{"docs":{},"类":{"docs":{},"都":{"docs":{},"已":{"docs":{},"完":{"docs":{},"成":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"通":{"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/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"按":{"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.0017452006980802793}}}}}}}}}}}}}}}}}}}}}}}}}},"建":{"docs":{},"立":{"docs":{},"了":{"docs":{},"连":{"docs":{},"接":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"监":{"docs":{},"听":{"docs":{},"来":{"docs":{},"自":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"的":{"docs":{},"消":{"docs":{},"息":{"docs":{},",":{"docs":{},"在":{"docs":{},"我":{"docs":{},"们":{"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/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"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":{"chapter13/intl.html":{"ref":"chapter13/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":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"来":{"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":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"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":{},"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":{},"t":{"docs":{},"e":{"docs":{},"s":{"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":{},"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":{},"需":{"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":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},")":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"改":{"docs":{},"一":{"docs":{},"下":{"docs":{},"即":{"docs":{},"可":{"docs":{},":":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"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":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},":":{"docs":{},"如":{"docs":{},"何":{"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":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"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":{},"图":{"1":{"4":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"图":{"docs":{},"片":{"docs":{},"上":{"docs":{},"双":{"docs":{},"指":{"docs":{},"张":{"docs":{},"开":{"docs":{},"、":{"docs":{},"收":{"docs":{},"缩":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"放":{"docs":{},"大":{"docs":{},"、":{"docs":{},"缩":{"docs":{},"小":{"docs":{},"图":{"docs":{},"片":{"docs":{},"。":{"docs":{},"本":{"docs":{},"示":{"docs":{},"例":{"docs":{},"比":{"docs":{},"较":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"实":{"docs":{},"际":{"docs":{},"中":{"docs":{},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"常":{"docs":{},"还":{"docs":{},"需":{"docs":{},"要":{"docs":{},"一":{"docs":{},"些":{"docs":{},"其":{"docs":{},"它":{"docs":{},"功":{"docs":{},"能":{"docs":{},",":{"docs":{},"如":{"docs":{},"双":{"docs":{},"击":{"docs":{},"放":{"docs":{},"大":{"docs":{},"或":{"docs":{},"缩":{"docs":{},"小":{"docs":{},"一":{"docs":{},"定":{"docs":{},"倍":{"docs":{},"数":{"docs":{},"、":{"docs":{},"双":{"docs":{},"指":{"docs":{},"张":{"docs":{},"开":{"docs":{},"离":{"docs":{},"开":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"时":{"docs":{},"执":{"docs":{},"行":{"docs":{},"一":{"docs":{},"个":{"docs":{},"减":{"docs":{},"速":{"docs":{},"放":{"docs":{},"大":{"docs":{},"动":{"docs":{},"画":{"docs":{},"等":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"学":{"docs":{},"习":{"docs":{},"完":{"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.0017452006980802793}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"果":{"docs":{},"我":{"docs":{},"们":{"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":{},"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":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"画":{"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":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"进":{"docs":{},"行":{"docs":{},"分":{"docs":{},"块":{"docs":{},"下":{"docs":{},"载":{"docs":{},"了":{"docs":{},":":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}},"在":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"中":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}},"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"该":{"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"请":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}},"工":{"docs":{},"程":{"docs":{},"目":{"docs":{},"录":{"docs":{},"变":{"docs":{},"为":{"docs":{},":":{"docs":{"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.015151515151515152}}}}}}}}}}},"生":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"成":{"docs":{},"随":{"docs":{},"机":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}}}}}}},"文":{"docs":{},"档":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}},"缓":{"docs":{},"存":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},",":{"docs":{},"后":{"docs":{},"面":{"docs":{},"会":{"docs":{},"根":{"docs":{},"据":{"docs":{},"此":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"来":{"docs":{},"检":{"docs":{},"测":{"docs":{},"是":{"docs":{},"否":{"docs":{},"有":{"docs":{},"缓":{"docs":{},"存":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}},"效":{"docs":{},"了":{"docs":{},"!":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}}}}}},"的":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},"必":{"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.0035714285714285713}}}}}}}}}}}}},"全":{"docs":{},"路":{"docs":{},"径":{"docs":{},"作":{"docs":{},"为":{"docs":{},"它":{"docs":{},"的":{"docs":{},"值":{"docs":{},".":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}},"报":{"docs":{},"错":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"请":{"docs":{},"检":{"docs":{},"查":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}},"所":{"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.0018726591760299626}}},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},":":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}}}},"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.00625}}}}}}}}}}}}}}}}}},"特":{"docs":{},"殊":{"docs":{},"存":{"docs":{},"档":{"docs":{},"中":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"私":{"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.003278688524590164}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"宽":{"docs":{},"度":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"居":{"docs":{},"中":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"后":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"h":{"docs":{},"i":{"docs":{},"\"":{"docs":{},")":{"docs":{},"会":{"docs":{},"显":{"docs":{},"示":{"docs":{},"在":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"l":{"docs":{},"d":{"docs":{},"\"":{"docs":{},")":{"docs":{},"的":{"docs":{},"中":{"docs":{},"间":{"docs":{},"部":{"docs":{},"分":{"docs":{},"。":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"坐":{"docs":{},"标":{"docs":{},"原":{"docs":{},"点":{"docs":{},"为":{"docs":{},"矩":{"docs":{},"形":{"docs":{},"的":{"docs":{},"左":{"docs":{},"侧":{"docs":{},"顶":{"docs":{},"点":{"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":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"坐":{"docs":{},"标":{"docs":{},"转":{"docs":{},"换":{"docs":{},"公":{"docs":{},"式":{"docs":{},"为":{"docs":{},":":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"上":{"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":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"定":{"docs":{},"义":{"docs":{},":":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}},"职":{"docs":{},"责":{"docs":{},"都":{"docs":{},"是":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"只":{"docs":{},"是":{"docs":{},"语":{"docs":{},"言":{"docs":{},"载":{"docs":{},"体":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"大":{"docs":{},"小":{"docs":{},"了":{"docs":{},",":{"docs":{},"于":{"docs":{},"是":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}},",":{"docs":{},"那":{"docs":{},"么":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}},"概":{"docs":{},"念":{"docs":{},":":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}},"包":{"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":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}},"桥":{"docs":{},"梁":{"docs":{},"。":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}},"目":{"docs":{},"前":{"docs":{},"混":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"程":{"docs":{},"序":{"docs":{},"主":{"docs":{},"要":{"docs":{},"有":{"docs":{},"两":{"docs":{},"种":{"docs":{},"运":{"docs":{},"行":{"docs":{},"方":{"docs":{},"式":{"docs":{},":":{"docs":{},"静":{"docs":{},"态":{"docs":{},"编":{"docs":{},"译":{"docs":{},"与":{"docs":{},"动":{"docs":{},"态":{"docs":{},"解":{"docs":{},"释":{"docs":{},"。":{"docs":{},"静":{"docs":{},"态":{"docs":{},"编":{"docs":{},"译":{"docs":{},"的":{"docs":{},"程":{"docs":{},"序":{"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}},"录":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}},"相":{"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.0035714285714285713}}}}}}}}}}}}}}}},"反":{"docs":{},",":{"docs":{},"f":{"docs":{},"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"同":{"docs":{},",":{"docs":{},"故":{"docs":{},"不":{"docs":{},"再":{"docs":{},"赘":{"docs":{},"述":{"docs":{},"。":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}},"似":{"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":{},"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":{},"个":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"示":{"docs":{},"例":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.006134969325153374},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.010582010582010581},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0034904013961605585},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0045871559633027525},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}},":":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}},"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}},"登":{"docs":{},"录":{"docs":{},"输":{"docs":{},"入":{"docs":{},"框":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"渐":{"docs":{},"变":{"docs":{},"按":{"docs":{},"钮":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}}}}}},"五":{"docs":{},"子":{"docs":{},"棋":{"docs":{},"/":{"docs":{},"盘":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}}},"中":{"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":{},",":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"源":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.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":{},"删":{"docs":{},"除":{"docs":{},"\"":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"点":{"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/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{},":":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}},"而":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"的":{"docs":{},"重":{"docs":{},"绘":{"docs":{},"和":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"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":{},"改":{"docs":{},"变":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"类":{"docs":{},"型":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"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":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.00425531914893617}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"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.00425531914893617}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"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":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"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":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"就":{"docs":{},"会":{"docs":{},"被":{"docs":{},"重":{"docs":{},"新":{"docs":{},"构":{"docs":{},"建":{"docs":{},"。":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"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":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"自":{"docs":{},"绘":{"docs":{"chapter10/intro.html":{"ref":"chapter10/intro.html","tf":0.04}},"u":{"docs":{},"i":{"docs":{},"+":{"docs":{},"原":{"docs":{},"生":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}},"(":{"docs":{},"q":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}}}}}},"控":{"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":{},"组":{"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":{},"来":{"docs":{},"的":{"docs":{},",":{"docs":{},"只":{"docs":{},"不":{"docs":{},"过":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"的":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"被":{"docs":{},"封":{"docs":{},"装":{"docs":{},"起":{"docs":{},"来":{"docs":{},"了":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"有":{"docs":{},"兴":{"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":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"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":{},"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":{},"助":{"docs":{},"读":{"docs":{},"者":{"docs":{},"加":{"docs":{},"深":{"docs":{},"印":{"docs":{},"象":{"docs":{},"。":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}},"组":{"docs":{},"件":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}},"实":{"docs":{},"例":{"docs":{},":":{"docs":{},"圆":{"docs":{},"形":{"docs":{},"背":{"docs":{},"景":{"docs":{},"渐":{"docs":{},"变":{"docs":{},"进":{"docs":{},"度":{"docs":{},"条":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}}}}},"定":{"docs":{},"义":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"外":{"docs":{},"观":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}}}},"样":{"docs":{},"式":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}},"尺":{"docs":{},"寸":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}},"进":{"docs":{},"度":{"docs":{},"指":{"docs":{},"示":{"docs":{},"器":{"docs":{},"样":{"docs":{},"式":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}}}}}},"组":{"docs":{},"件":{"docs":{},"样":{"docs":{},"式":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}},"方":{"docs":{},"法":{"docs":{},"简":{"docs":{},"介":{"docs":{"chapter10/intro.html":{"ref":"chapter10/intro.html","tf":0.04}}}}}}}},"遮":{"docs":{},"罩":{"docs":{},"颜":{"docs":{},"色":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}},"通":{"docs":{},"知":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}},"路":{"docs":{},"由":{"docs":{},"过":{"docs":{},"渡":{"docs":{},"动":{"docs":{},"画":{"docs":{"chapter9/":{"ref":"chapter9/","tf":0.09090909090909091}}}}}},"切":{"docs":{},"换":{"docs":{},"动":{"docs":{},"画":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"方":{"docs":{},"法":{"docs":{},"简":{"docs":{},"介":{"docs":{"chapter10/":{"ref":"chapter10/","tf":0.16666666666666666}}}}}}}}}}}},"编":{"docs":{},"解":{"docs":{},"码":{"docs":{},"器":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}}}}}}},"动":{"docs":{},"化":{"docs":{},"生":{"docs":{},"成":{"docs":{},"模":{"docs":{},"板":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}},"生":{"docs":{},"成":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}},"填":{"docs":{},"充":{"docs":{},"上":{"docs":{},"次":{"docs":{},"登":{"docs":{},"录":{"docs":{},"的":{"docs":{},"用":{"docs":{},"户":{"docs":{},"名":{"docs":{},",":{"docs":{},"填":{"docs":{},"充":{"docs":{},"后":{"docs":{},"将":{"docs":{},"焦":{"docs":{},"点":{"docs":{},"定":{"docs":{},"位":{"docs":{},"到":{"docs":{},"密":{"docs":{},"码":{"docs":{},"输":{"docs":{},"入":{"docs":{},"框":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"至":{"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.0035714285714285713}}}}}}},"我":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"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":{"chapter13/intl.html":{"ref":"chapter13/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":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"迷":{"docs":{},"你":{"docs":{},"的":{"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":{},"上":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"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":{},"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":{},"a":{"docs":{},"p":{"docs":{},"i":{"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":{},"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":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"真":{"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"观":{"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.0035714285714285713}}}}}}}}}}}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}},"语":{"docs":{},"法":{"docs":{},"是":{"docs":{},"基":{"docs":{},"于":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}},"而":{"docs":{},"创":{"docs":{},"造":{"docs":{},"。":{"docs":{},"与":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}}},"中":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"义":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}},"化":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}},"更":{"docs":{},"明":{"docs":{},"确":{"docs":{},"。":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}},"不":{"docs":{},"明":{"docs":{},"确":{"docs":{},";":{"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":{},"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":{},"c":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"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":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"标":{"docs":{},"签":{"docs":{},"(":{"docs":{},"用":{"docs":{},"于":{"docs":{},"读":{"docs":{},"屏":{"docs":{},"软":{"docs":{},"件":{"docs":{},")":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}},"即":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"言":{"docs":{},"选":{"docs":{},"择":{"docs":{},"页":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}}}}},"调":{"docs":{},"用":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.004026845637583893},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}},"系":{"docs":{},"统":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"渲":{"docs":{},"染":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}}}}},"函":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}},"时":{"docs":{},",":{"docs":{},"将":{"docs":{},"s":{"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":{},"换":{"docs":{},"成":{"docs":{},"m":{"docs":{},"y":{"docs":{},"s":{"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":{},"可":{"docs":{},":":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}}}}}},"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.006060606060606061}}}}}}}}}}}}}}}}},"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":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"获":{"docs":{},"得":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},"。":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"试":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter2/":{"ref":"chapter2/","tf":0.1}},"应":{"docs":{},"用":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}}}}}}}},"动":{"docs":{},"画":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}},"最":{"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.001519756838905775}}}},"docs":{}}},"docs":{}},"docs":{}}}}}}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"层":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}}}},"性":{"docs":{},"能":{"docs":{},"问":{"docs":{},"题":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}}},"模":{"docs":{},"式":{"docs":{},"断":{"docs":{},"言":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}}}},"度":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"跨":{"docs":{},"平":{"docs":{},"台":{"docs":{},"技":{"docs":{},"术":{"docs":{},"简":{"docs":{},"介":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}},"自":{"docs":{},"绘":{"docs":{},"引":{"docs":{},"擎":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01}}}}}}}},"组":{"docs":{},"件":{"docs":{},"状":{"docs":{},"态":{"docs":{},"共":{"docs":{},"享":{"docs":{},"(":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":5.001818181818182}}}}}}}}}}}}}}}}}}},"这":{"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":{},"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}},"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"纯":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.02}}},"“":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"封":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"便":{"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":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"种":{"docs":{},"写":{"docs":{},"法":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}},"常":{"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":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}}}}}}}}},"由":{"docs":{},"于":{"docs":{},"要":{"docs":{},"去":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}},"因":{"docs":{},"为":{"docs":{},"单":{"docs":{},"词":{"docs":{},"对":{"docs":{},"是":{"docs":{},"在":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}}}}}}}}},"来":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"根":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}},"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"第":{"docs":{},"二":{"docs":{},"种":{"docs":{},"写":{"docs":{},"法":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}}},"一":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"任":{"docs":{},"意":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}},"完":{"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"问":{"docs":{},"题":{"docs":{},"是":{"docs":{},"由":{"docs":{},"于":{"docs":{},"无":{"docs":{},"法":{"docs":{},"连":{"docs":{},"接":{"docs":{},"到":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}}}}},"也":{"docs":{},"是":{"docs":{},"最":{"docs":{},"常":{"docs":{},"见":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},"之":{"docs":{},"一":{"docs":{},",":{"docs":{},"当":{"docs":{},"你":{"docs":{},"发":{"docs":{},"现":{"docs":{},"自":{"docs":{},"己":{"docs":{},"无":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"关":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"些":{"docs":{},"函":{"docs":{},"数":{"docs":{},"被":{"docs":{},"称":{"docs":{},"为":{"docs":{},"异":{"docs":{},"步":{"docs":{},"函":{"docs":{},"数":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"具":{"docs":{},"有":{"docs":{},"弹":{"docs":{},"性":{"docs":{},"空":{"docs":{},"间":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"例":{"docs":{},"子":{"docs":{},"功":{"docs":{},"能":{"docs":{},"是":{"docs":{},"相":{"docs":{},"似":{"docs":{},"的":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}},"文":{"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.00390625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"错":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"样":{"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.0024330900243309003}}}}}}}}}}}}},"的":{"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":{},"。":{"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":{},"开":{"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"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.003278688524590164}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"结":{"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.003278688524590164}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"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":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"默":{"docs":{},"认":{"docs":{},"值":{"docs":{},"是":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"处":{"docs":{},"理":{"docs":{},"那":{"docs":{},"些":{"docs":{},"f":{"docs":{},"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.003278688524590164}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"docs":{},"只":{"docs":{},"能":{"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.0017452006980802793}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"最":{"docs":{},"初":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"改":{"docs":{},"为":{"docs":{},":":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866}}}}}}}}}}}}},"调":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"现":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"当":{"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":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"会":{"docs":{},"较":{"docs":{},"好":{"docs":{},",":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}},"会":{"docs":{},"将":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"包":{"docs":{},"安":{"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.00625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"意":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"种":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}},"式":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"拼":{"docs":{},"装":{"docs":{},"其":{"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":{},"它":{"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":{},"成":{"docs":{},"。":{"docs":{"chapter10/intro.html":{"ref":"chapter10/intro.html","tf":0.04}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"个":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}}}},"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"平":{"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.008264462809917356}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"特":{"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"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":{"chapter13/intl.html":{"ref":"chapter13/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.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":{},"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"docs":{},"是":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"要":{"docs":{},"用":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}},"应":{"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.001519756838905775}}}}}}}}}}}}}}}}}},"两":{"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":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"段":{"docs":{},"代":{"docs":{},"码":{"docs":{},"有":{"docs":{},"两":{"docs":{},"点":{"docs":{},"可":{"docs":{},"以":{"docs":{},"优":{"docs":{},"化":{"docs":{},":":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}},"里":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"使":{"docs":{},"用":{"docs":{},"文":{"docs":{},"件":{"docs":{},"来":{"docs":{},"保":{"docs":{},"存":{"docs":{},"数":{"docs":{},"据":{"docs":{},":":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}}}}}},"时":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"触":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"与":{"docs":{},"在":{"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"句":{"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":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}},"进":{"docs":{},"入":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},"了":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}},"正":{"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.0035714285714285713}}}}}}}}}}}}},"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.0013422818791946308}}}}}}}}}}}}}}}}},"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.001519756838905775}}}}}}}}}}}}}},"度":{"docs":{},"指":{"docs":{},"示":{"docs":{},"器":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}},"色":{"docs":{},"动":{"docs":{},"画":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}},"条":{"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":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}},"docs":{}}}}}}}}}}},"docs":{}}}}}},"背":{"docs":{},"景":{"docs":{},"色":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}},"行":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}},"重":{"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":{},"并":{"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.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"关":{"docs":{},"联":{"docs":{},",":{"docs":{},"即":{"docs":{},"创":{"docs":{},"建":{"docs":{},"出":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}}}},"阶":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}}}},"速":{"docs":{},"度":{"docs":{},"快":{"docs":{},"、":{"docs":{},"性":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"采":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"语":{"docs":{},"言":{"docs":{},"开":{"docs":{},"发":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01}}}}}}}}}}}},"针":{"docs":{},"对":{"docs":{},"原":{"docs":{},"生":{"docs":{},"开":{"docs":{},"发":{"docs":{},"面":{"docs":{},"临":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"人":{"docs":{},"们":{"docs":{},"一":{"docs":{},"直":{"docs":{},"都":{"docs":{},"在":{"docs":{},"努":{"docs":{},"力":{"docs":{},"寻":{"docs":{},"找":{"docs":{},"好":{"docs":{},"的":{"docs":{},"解":{"docs":{},"决":{"docs":{},"方":{"docs":{},"案":{"docs":{},",":{"docs":{},"而":{"docs":{},"时":{"docs":{},"至":{"docs":{},"今":{"docs":{},"日":{"docs":{},",":{"docs":{},"已":{"docs":{},"经":{"docs":{},"有":{"docs":{},"很":{"docs":{},"多":{"docs":{},"跨":{"docs":{},"平":{"docs":{},"台":{"docs":{},"框":{"docs":{},"架":{"docs":{},"(":{"docs":{},"注":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"首":{"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.0035714285714285713}}}}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}},",":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"一":{"docs":{},"个":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}}}}}}}}}}}}}}}}}}}},"我":{"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.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"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":{},"性":{"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":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"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":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"构":{"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":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"添":{"docs":{},"加":{"docs":{},"需":{"docs":{},"要":{"docs":{},"导":{"docs":{},"入":{"docs":{},"的":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"。":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028}}}}}}}}}}}},"在":{"docs":{},"项":{"docs":{},"目":{"docs":{},"根":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"i":{"1":{"0":{"docs":{},"n":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}},"docs":{}},"docs":{}}}}}}}}}}}}}},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},":":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}}}}}}}}}},"打":{"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"次":{"docs":{},"推":{"docs":{},"出":{"docs":{},"了":{"docs":{},"一":{"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.0035714285714285713}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"页":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}},"高":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}},"性":{"docs":{},"能":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.02}}}},"度":{"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.004201680672268907}}}}},"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.0035714285714285713}}}}},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}},"使":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}},"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":{},"[":{"0":{"docs":{},".":{"0":{"docs":{},",":{"1":{"docs":{},".":{"0":{"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":{},"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.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}},"有":{"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":{},"组":{"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":{},"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":{},"数":{"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":{},"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":{},"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.002688172043010753}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"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":{},"选":{"docs":{},"框":{"docs":{},"不":{"docs":{},"选":{"docs":{},"中":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}},"语":{"docs":{},"言":{"docs":{},"区":{"docs":{},"域":{"docs":{},"不":{"docs":{},"对":{"docs":{"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02}}}}}}}}}},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0035714285714285713}}}}}}},"a":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01}}}}}}},"如":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}},"主":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}},"或":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},"面":{"docs":{},"讨":{"docs":{},"论":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}}}}},"我":{"docs":{},"们":{"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/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}},"非":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"0":{"0":{"0":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}},"docs":{}},"docs":{}},"9":{"0":{"docs":{},"d":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}},"1":{"4":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}},"docs":{}},"docs":{}},"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},"e":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}}}}}},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}}}},"与":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}},"受":{"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.0018587360594795538}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"些":{"docs":{},"回":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"桥":{"docs":{},"梁":{"docs":{},"。":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}},",":{"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.0018587360594795538}}}}}}}}}}}}}}},"定":{"docs":{},"义":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}}}},"渲":{"docs":{},"染":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"i":{"docs":{},"m":{"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":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}},"中":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},"。":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"类":{"docs":{},"部":{"docs":{},"分":{"docs":{},"定":{"docs":{},"义":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}},"创":{"docs":{},"建":{"docs":{},",":{"docs":{},"不":{"docs":{},"应":{"docs":{},"该":{"docs":{},"手":{"docs":{},"动":{"docs":{},"实":{"docs":{},"例":{"docs":{},"化":{"docs":{},"此":{"docs":{},"类":{"docs":{},"或":{"docs":{},"直":{"docs":{},"接":{"docs":{},"继":{"docs":{},"承":{"docs":{},"此":{"docs":{},"类":{"docs":{},"。":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}},"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.00625}}}}}}}}}}}}}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}},"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.0018726591760299626}}}}}}},"{":{"docs":{},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}}}}}}},"d":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}},":":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},":":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.019801980198019802},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010309278350515464},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.01440329218106996}},"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.004201680672268907}}}}}}}}}}}}},"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.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}},",":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.005698005698005698}}},";":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.005698005698005698}}},"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.0018587360594795538}}}}}}}}}}},"u":{"docs":{},"m":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291},"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}}},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0045871559633027525}}},"的":{"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}},"(":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}}}}},"{":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}}}}},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101},"chapter13/intl.html":{"ref":"chapter13/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.0013477088948787063}}}}}}}}},",":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.007339449541284404}}}}}},"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.007407407407407408}}}}}}}}}}}}}}},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}},"e":{"docs":{},"(":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.006711409395973154},"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.052083333333333336}}}}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609}},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0026954177897574125},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.029585798816568046},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}},"{":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609}}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},":":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}},"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}}}}}}}}}}}}}},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},"b":{"docs":{},"y":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}},"d":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0170316301703163},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.009302325581395349},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.012578616352201259},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.018255578093306288},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.02702702702702703},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.005390835579514825},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.00881057268722467},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.011834319526627219},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00808080808080808},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.013605442176870748},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.008064516129032258},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.008097165991902834},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.012269938650306749},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.024390243902439025},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.01935483870967742},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.012727272727272728},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.00847457627118644},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.004335260115606936},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.019197207678883072},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.01749271137026239},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.015463917525773196},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.017543859649122806},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.012605042016806723},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00823045267489712},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.014778325123152709},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.019933554817275746},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.00909090909090909},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.005442176870748299},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.011299435028248588},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0045871559633027525},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.009302325581395349},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.024242424242424242},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.005649717514124294},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.004694835680751174},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.015151515151515152},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.007058823529411765},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.007692307692307693},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.012658227848101266}}},"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.0013477088948787063}}}}}}}}},"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.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},":":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}},"i":{"docs":{},"t":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}}}},"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.006557377049180328},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}},":":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}},"(":{"docs":{},"'":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}},".":{"docs":{},".":{"docs":{},".":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}}}},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.013114754098360656},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}},"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.003278688524590164}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}},"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}},")":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}},"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.0049504950495049506},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684}},"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.0049504950495049506}}}}}},"docs":{}}},"5":{"docs":{},".":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}},"docs":{}}},"6":{"docs":{},".":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}},"docs":{}},")":{"docs":{},",":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}},"8":{"docs":{},")":{"docs":{},",":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}},"docs":{}},"2":{"0":{"docs":{},".":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.026490066225165563},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}},"docs":{}}},"docs":{}},"8":{"docs":{},".":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}},"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.0013477088948787063},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001445086705202312},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.004705882352941176},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684}}}}}}},"b":{"docs":{},"o":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},":":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}}}},"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.0013477088948787063},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001445086705202312},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}}}}}}}}},"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.011627906976744186},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.0035294117647058825}}}}}}}}}}}}}}}}}}}}}}},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},";":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}}},",":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}}},")":{"docs":{},";":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602}}}}}}}},"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.010526315789473684}}}}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}}}},"docs":{}}},"4":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}},"(":{"0":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}},"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.010526315789473684},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}}},"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":{},"是":{"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.010526315789473684}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"c":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}}}}}},",":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}},"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.003278688524590164},"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}},"{":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}},")":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.01694915254237288}}},",":{"docs":{},"在":{"docs":{},"移":{"docs":{},"动":{"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.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.014814814814814815}},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}}},"=":{"docs":{},">":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}}}},"始":{"docs":{},"终":{"docs":{},"返":{"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.007407407407407408}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"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.014814814814814815}}}}}}}}}}}}}}}}}},"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.007407407407407408}},"(":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}},"{":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.01818181818181818},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0037174721189591076}},")":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0058309037900874635}},".":{"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":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001445086705202312}}}}}}}}}}}}}}}}}}}},")":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}},".":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},";":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}},"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},",":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}},"_":{"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.0018587360594795538}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}},"和":{"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}}}}}}}}}}}}}}},"与":{"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.006060606060606061}}}}}}}}}}}}}}},"就":{"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"生":{"docs":{},"命":{"docs":{},"周":{"docs":{},"期":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}}}}}}}}}},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}},"]":{"docs":{},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}}}},")":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0034904013961605585}},")":{"docs":{},".":{"docs":{},"t":{"docs":{},"o":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}},")":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}}}}}}},"{":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}},".":{"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.002688172043010753}}}}}}}}}}}}}}}}}}}}}}}},"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.0017452006980802793}}}},"y":{"docs":{},";":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}},"a":{"docs":{},"s":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}}}},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}},";":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}},"初":{"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.01}}}}}}}}}},"始":{"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.001519756838905775}}}}}}}}}}}}},"数":{"docs":{},"据":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}}}},"完":{"docs":{},"成":{"docs":{},"后":{"docs":{},"才":{"docs":{},"会":{"docs":{},"加":{"docs":{},"载":{"docs":{},"u":{"docs":{},"i":{"docs":{},"(":{"docs":{},"m":{"docs":{},"y":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},")":{"docs":{},",":{"docs":{},"m":{"docs":{},"y":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}}}}}}},"博":{"docs":{},"客":{"docs":{},":":{"docs":{},"随":{"docs":{},"着":{"docs":{},"f":{"docs":{},"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":{},"、":{"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"官":{"docs":{},"网":{"docs":{},":":{"docs":{},"阅":{"docs":{},"读":{"docs":{},"f":{"docs":{},"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"底":{"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"部":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"导":{"docs":{},"航":{"docs":{},"栏":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}},"导":{"docs":{},"航":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}},"栏":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}},"打":{"docs":{},"一":{"docs":{},"个":{"docs":{},"圆":{"docs":{},"形":{"docs":{},"的":{"docs":{},"洞":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}}}}},"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":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}},"有":{"docs":{},"了":{"docs":{},"资":{"docs":{},"料":{"docs":{},"和":{"docs":{},"社":{"docs":{},"区":{"docs":{},"后":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"我":{"docs":{},"们":{"docs":{},"学":{"docs":{},"习":{"docs":{},"者":{"docs":{},"自":{"docs":{},"身":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"最":{"docs":{},"重":{"docs":{},"要":{"docs":{},"的":{"docs":{},"还":{"docs":{},"是":{"docs":{},"要":{"docs":{},"多":{"docs":{},"动":{"docs":{},"手":{"docs":{},"、":{"docs":{},"多":{"docs":{},"实":{"docs":{},"践":{"docs":{},",":{"docs":{},"在":{"docs":{},"本":{"docs":{},"书":{"docs":{},"后":{"docs":{},"面":{"docs":{},"的":{"docs":{},"章":{"docs":{},"节":{"docs":{},"中":{"docs":{},",":{"docs":{},"希":{"docs":{},"望":{"docs":{},"读":{"docs":{},"者":{"docs":{},"能":{"docs":{},"够":{"docs":{},"亲":{"docs":{},"自":{"docs":{},"动":{"docs":{},"手":{"docs":{},"写":{"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"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":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"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":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"上":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"全":{"docs":{},"局":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"还":{"docs":{},"需":{"docs":{},"要":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"如":{"docs":{},"何":{"docs":{},"跨":{"docs":{},"组":{"docs":{},"件":{"docs":{},"共":{"docs":{},"享":{"docs":{},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{},"当":{"docs":{},"然":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"要":{"docs":{},"共":{"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":{},"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":{},"更":{"docs":{},"新":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"使":{"docs":{},"用":{"docs":{},"全":{"docs":{},"局":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"我":{"docs":{},"们":{"docs":{},"必":{"docs":{},"须":{"docs":{},"得":{"docs":{},"去":{"docs":{},"手":{"docs":{},"动":{"docs":{},"处":{"docs":{},"理":{"docs":{},"状":{"docs":{},"态":{"docs":{},"变":{"docs":{},"动":{"docs":{},"通":{"docs":{},"知":{"docs":{},"、":{"docs":{},"接":{"docs":{},"收":{"docs":{},"机":{"docs":{},"制":{"docs":{},"以":{"docs":{},"及":{"docs":{},"变":{"docs":{},"量":{"docs":{},"和":{"docs":{},"组":{"docs":{},"件":{"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":{},"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":{},"关":{"docs":{},"的":{"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":{},"、":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"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":{},"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":{},"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":{},"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":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"f":{"docs":{},"i":{"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":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"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":{},"然":{"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":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"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":{},"下":{"docs":{},":":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"关":{"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.0013422818791946308}}}}}}}}}}}}}}},"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":{},"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"些":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"会":{"docs":{},"遇":{"docs":{},"到":{"docs":{},"无":{"docs":{},"论":{"docs":{},"异":{"docs":{},"步":{"docs":{},"任":{"docs":{},"务":{"docs":{},"执":{"docs":{},"行":{"docs":{},"成":{"docs":{},"功":{"docs":{},"或":{"docs":{},"失":{"docs":{},"败":{"docs":{},"都":{"docs":{},"需":{"docs":{},"要":{"docs":{},"做":{"docs":{},"一":{"docs":{},"些":{"docs":{},"事":{"docs":{},"的":{"docs":{},"场":{"docs":{},"景":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"在":{"docs":{},"网":{"docs":{},"络":{"docs":{},"请":{"docs":{},"求":{"docs":{},"前":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"加":{"docs":{},"载":{"docs":{},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{},",":{"docs":{},"在":{"docs":{},"请":{"docs":{},"求":{"docs":{},"结":{"docs":{},"束":{"docs":{},"后":{"docs":{},"关":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"等":{"docs":{},"待":{"docs":{},"多":{"docs":{},"个":{"docs":{},"异":{"docs":{},"步":{"docs":{},"任":{"docs":{},"务":{"docs":{},"都":{"docs":{},"执":{"docs":{},"行":{"docs":{},"结":{"docs":{},"束":{"docs":{},"后":{"docs":{},"才":{"docs":{},"进":{"docs":{},"行":{"docs":{},"一":{"docs":{},"些":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"我":{"docs":{},"们":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"界":{"docs":{},"面":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"先":{"docs":{},"分":{"docs":{},"别":{"docs":{},"从":{"docs":{},"两":{"docs":{},"个":{"docs":{},"网":{"docs":{},"络":{"docs":{},"接":{"docs":{},"口":{"docs":{},"获":{"docs":{},"取":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"获":{"docs":{},"取":{"docs":{},"成":{"docs":{},"功":{"docs":{},"后":{"docs":{},",":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"需":{"docs":{},"要":{"docs":{},"一":{"docs":{},"些":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"的":{"docs":{},"动":{"docs":{},"画":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"动":{"docs":{},"画":{"docs":{},"可":{"docs":{},"能":{"docs":{},"由":{"docs":{},"一":{"docs":{},"个":{"docs":{},"动":{"docs":{},"画":{"docs":{},"序":{"docs":{},"列":{"docs":{},"或":{"docs":{},"重":{"docs":{},"叠":{"docs":{},"的":{"docs":{},"动":{"docs":{},"画":{"docs":{},"组":{"docs":{},"成":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},":":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"柱":{"docs":{},"状":{"docs":{},"图":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{},"高":{"docs":{},"度":{"docs":{},"增":{"docs":{},"长":{"docs":{},"的":{"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":{},"含":{"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.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":{},"易":{"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":{},"w":{"docs":{},"i":{"docs":{},"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":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}},"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.006024096385542169}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"底":{"docs":{},"部":{"docs":{},"导":{"docs":{},"航":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}},"抽":{"docs":{},"屉":{"docs":{},"菜":{"docs":{},"单":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}},"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.006211180124223602}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"各":{"docs":{},"种":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"异":{"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.003278688524590164}}}}}}}}}}}},"时":{"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"两":{"docs":{},"点":{"docs":{},"需":{"docs":{},"要":{"docs":{},"说":{"docs":{},"明":{"docs":{},":":{"docs":{"chapter13/intl.html":{"ref":"chapter13/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.0018832391713747645}}}}}}}}}}}}}},"缓":{"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":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"继":{"docs":{},"续":{"docs":{},"往":{"docs":{},"下":{"docs":{},"走":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}},"源":{"docs":{},"码":{"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"出":{"docs":{},"只":{"docs":{},"有":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}},"很":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"看":{"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.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"完":{"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"社":{"docs":{},"区":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01}}}},"类":{"docs":{},"型":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},"安":{"docs":{},"全":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01}}}},",":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},"一":{"docs":{},"旦":{"docs":{},"确":{"docs":{},"定":{"docs":{},"后":{"docs":{},"则":{"docs":{},"不":{"docs":{},"能":{"docs":{},"再":{"docs":{},"更":{"docs":{},"改":{"docs":{},"其":{"docs":{},"类":{"docs":{},"型":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}}}}}}}}}}}},"似":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"原":{"docs":{},"生":{"docs":{},"开":{"docs":{},"发":{"docs":{},",":{"docs":{},"f":{"docs":{},"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"同":{"docs":{},",":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}}},"中":{"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"还":{"docs":{},"定":{"docs":{},"义":{"docs":{},"了":{"docs":{},"许":{"docs":{},"多":{"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":{},"s":{"docs":{},"类":{"docs":{},"定":{"docs":{},"义":{"docs":{},"。":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.006085192697768763}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"预":{"docs":{},"置":{"docs":{},"的":{"docs":{},"枚":{"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.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}},"资":{"docs":{},"源":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.01}},"管":{"docs":{},"理":{"docs":{"chapter2/":{"ref":"chapter2/","tf":0.1},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}}}}}},"项":{"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.01}}}}}}}}}},"信":{"docs":{},"息":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}},"列":{"docs":{},"表":{"docs":{},"项":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}},"占":{"docs":{},"用":{"docs":{},"的":{"docs":{},"存":{"docs":{},"储":{"docs":{},"大":{"docs":{},"小":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}},"拥":{"docs":{},"有":{"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":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}}},"$":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}},"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.0013422818791946308}},"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0056022408963585435}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},"'":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}},"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.003278688524590164}}}}}}}}},"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.003278688524590164}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}}}}},"v":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}},"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.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},".":{"docs":{},"t":{"docs":{},"o":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"}":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}},";":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.005454545454545455}}}}}}}}}}}}}}}}}}}}},"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":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}},"'":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"}":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}},"'":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"}":{"docs":{},".":{"docs":{},"'":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"}":{"docs":{},"!":{"docs":{},"'":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}},"[":{"docs":{},"'":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"'":{"docs":{},"]":{"docs":{},"}":{"docs":{},".":{"docs":{},"'":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"'":{"docs":{},"]":{"docs":{},"}":{"docs":{},"!":{"docs":{},"'":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"\"":{"docs":{},"}":{"docs":{},",":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.005698005698005698}}}}}}}}},"&":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}},"&":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0055762081784386614},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0035211267605633804},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}},"#":{"docs":{},"x":{"docs":{},"e":{"0":{"0":{"0":{"docs":{},";":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}},"docs":{}},"docs":{}},"9":{"0":{"docs":{},"d":{"docs":{},";":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}},"1":{"4":{"docs":{},";":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}},"docs":{}},"docs":{}},"docs":{}}}}},"'":{"0":{"docs":{},".":{"1":{"docs":{},".":{"1":{"docs":{},"'":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}},"docs":{}}},"4":{"docs":{},".":{"3":{"docs":{},"'":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}},"docs":{}}},"docs":{}}},"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}},"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/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},".":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"'":{"docs":{},",":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}},"o":{"docs":{},"w":{"docs":{},"d":{"docs":{},"y":{"docs":{},"'":{"docs":{},")":{"docs":{},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}},",":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}}},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.005369127516778523},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801}}}}},"$":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}},"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.0020964360587002098}},"e":{"docs":{},"'":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}}}}}}}}}}}},"_":{"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.004866180048661801}}}}}},"'":{"docs":{},",":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}},"{":{"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":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}}}}}},"e":{"docs":{},".":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"}":{"docs":{},"'":{"docs":{},".":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}}}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{},"'":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"'":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}},"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.0018832391713747645}}}}}}}}}}}}}}}}}},"s":{"docs":{},"m":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.009302325581395349}}}}},"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}},"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}},"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}},"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}},"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}},"_":{"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.009732360097323601},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.009302325581395349},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"'":{"docs":{},"}":{"docs":{},")":{"docs":{},";":{"docs":{"chapter13/intl.html":{"ref":"chapter13/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.004866180048661801},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"'":{"docs":{},",":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.006085192697768763}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}},"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.004866180048661801},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.009852216748768473},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}},"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.004807692307692308}},";":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}}}}}}}}}}}}}},"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.0020964360587002098}}}}}}}}}}}}}}}}}},"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.0020964360587002098},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}}}}}}}},"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.0017452006980802793}}}}}}}}}}}}}}}}}},"_":{"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.00625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"/":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},"/":{"docs":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.005813953488372093}}}}}}}}}}}}}}}},"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":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.007339449541284404}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"'":{"docs":{},":":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}},"_":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"'":{"docs":{},":":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"g":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}},"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.004807692307692308}},";":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}},"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.001519756838905775}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"'":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064}},";":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}}}}}}}},"i":{"docs":{},"o":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}},"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.009615384615384616}}}}}}}}},"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.00390625}}}}}}}}}}}},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"'":{"docs":{},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.00510204081632653}}}}}}}}},"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":{"chapter13/intl.html":{"ref":"chapter13/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.003278688524590164}}}}}},"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.0018587360594795538}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"'":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.006085192697768763}}}}}}}}},"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.01171875}}}}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"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":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.005813953488372093},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}},"'":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}},"%":{"docs":{},"s":{"docs":{},".":{"docs":{},"g":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"'":{"docs":{},":":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"'":{"docs":{},":":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"g":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.003669724770642202}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"'":{"docs":{},":":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}}}},"'":{"docs":{},")":{"docs":{"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02}},",":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.013888888888888888},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},";":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}},"r":{"docs":{},"l":{"docs":{},"_":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"'":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}},"n":{"docs":{},"k":{"docs":{},"n":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}}}}}},"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"_":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"'":{"docs":{},")":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}},",":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}}}},"s":{"docs":{},"i":{"docs":{},"c":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}},"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":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.008403361344537815}}}}}},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}},"e":{"docs":{},"'":{"docs":{},",":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}}},"[":{"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.0018587360594795538}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"'":{"docs":{},")":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}},"*":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.010309278350515464},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.009900990099009901},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.00816326530612245},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.008264462809917356},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.004694835680751174}},"*":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616}}},"/":{"docs":{},"*":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}},";":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308},"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.006134969325153374},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.003669724770642202},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}},">":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.013422818791946308},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0026954177897574125},"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":0.08},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.022792022792022793},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.012539184952978056},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.028925619834710745},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.009416195856873822},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.007042253521126761}},"=":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028}}}},"[":{"0":{"docs":{},"]":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}},".":{"0":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}},"docs":{}}},"1":{"docs":{},"]":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}},"2":{"docs":{},"]":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}},"3":{"docs":{},"]":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}},"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308},"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.0069767441860465115},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.0078125},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.01020408163265306},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.008086253369272238},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0411522633744856},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.01775147928994083},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.01485148514851485},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015625},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00851063829787234},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.012903225806451613},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.012121212121212121},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.02040816326530612},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.008064516129032258},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.012145748987854251},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.014124293785310734},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.013728323699421965},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.008726003490401396},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.006802721088435374},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.013888888888888888},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.04},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.011764705882352941},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}},"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.004559270516717325}}}}},"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.004559270516717325}}}}}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"]":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.00303951367781155}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}},"]":{"docs":{},",":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}}},";":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.008547008547008548},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0037174721189591076}}}},"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.006622516556291391},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.004081632653061225}}}}}},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"b":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"[":{"3":{"0":{"0":{"docs":{},"]":{"docs":{},",":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}},"docs":{}},"docs":{}},"docs":{}}}}}},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{},",":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}}}}}},"b":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}},"[":{"7":{"0":{"0":{"docs":{},"]":{"docs":{},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.004081632653061225}}}}},"docs":{}},"docs":{}},"docs":{}}}}}},"t":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.004081632653061225}}}}}}}}},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"]":{"docs":{},".":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}}},"\"":{"docs":{},"新":{"docs":{},"闻":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}},"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.002688172043010753}}}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"]":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"]":{"docs":{},")":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}}}}}}},"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.007407407407407408}}}}}}}}}}}}}}},"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":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}},"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.008264462809917356}}}}}}}}}}}}}}}},"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"'":{"docs":{},"e":{"docs":{},"n":{"docs":{},"'":{"docs":{},",":{"docs":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"]":{"docs":{},",":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}}}}},"_":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"]":{"docs":{},".":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"]":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308},"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.00847457627118644},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}},")":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}},".":{"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.0018726591760299626}}}}}}}}}}}}}}}},"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.0018726591760299626}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.005376344086021506},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}},",":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004651162790697674},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.007653061224489796},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.008086253369272238},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0411522633744856},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.01775147928994083},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.01485148514851485},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015625},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00851063829787234},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.012903225806451613},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.012121212121212121},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.02040816326530612},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.012145748987854251},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005649717514124294},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.013728323699421965},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.006980802792321117},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.006802721088435374},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.013888888888888888},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.04},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.010588235294117647},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}},".":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"(":{"docs":{},"(":{"docs":{},"e":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}}}}}}}},";":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}},"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"8":{"6":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},"_":{"6":{"4":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},"docs":{}},"docs":{}},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}},"docs":{}},"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.003745318352059925},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.008264462809917356}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}},")":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}},"~":{"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.0013422818791946308}}}}}}}}}}}}}},"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.0013422818791946308}}}}}}}},"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.0013422818791946308}}},"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.0013422818791946308}}}}}}}}}},"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.0026845637583892616}}},"’":{"docs":{},",":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616}}}}}}}}}}},"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.0013422818791946308}}}}}}}}}}},"o":{"docs":{},"k":{"docs":{},"’":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}},"•":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616}}},"✗":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},"之":{"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":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}},"所":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"仔":{"docs":{},"细":{"docs":{},"检":{"docs":{},"查":{"docs":{},"命":{"docs":{},"令":{"docs":{},"行":{"docs":{},"输":{"docs":{},"出":{"docs":{},"以":{"docs":{},"获":{"docs":{},"取":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"以":{"docs":{},"启":{"docs":{},"用":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}},"获":{"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.0013422818791946308}}}}}}}}}}}}}}}}},"下":{"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.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}},"步":{"docs":{},"骤":{"docs":{},"与":{"docs":{},"上":{"docs":{},"面":{"docs":{},"使":{"docs":{},"用":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"项":{"docs":{},"目":{"docs":{},"中":{"docs":{},"使":{"docs":{},"用":{"docs":{},"这":{"docs":{},"些":{"docs":{},"新":{"docs":{},"的":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"项":{"docs":{},".":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}},"任":{"docs":{},"何":{"0":{"docs":{},".":{"4":{"docs":{},".":{"docs":{},"x":{"docs":{},"(":{"docs":{},"x":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}},"docs":{}}},"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}},"意":{"docs":{},"弧":{"docs":{},"度":{"docs":{},";":{"docs":{},"进":{"docs":{},"度":{"docs":{},"条":{"docs":{},"可":{"docs":{},"以":{"docs":{},"不":{"docs":{},"是":{"docs":{},"整":{"docs":{},"圆":{"docs":{},"。":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}}}}}}},"体":{"docs":{},"验":{"docs":{},"热":{"docs":{},"重":{"docs":{},"载":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616}}}}}},"积":{"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.002551020408163265}}}}}}}}}}}}}}}},"你":{"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.0026845637583892616}}}}}}}}}}}}}}}}}}}}}},"看":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}},"通":{"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"能":{"docs":{},"多":{"docs":{},"次":{"docs":{},"看":{"docs":{},"到":{"docs":{},"过":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403}}}}}}}}}},"使":{"docs":{},"用":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}},"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"镜":{"docs":{},"像":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}},"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}},"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.002577319587628866}}}}}}}}}}}}}}}}}},"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.0018726591760299626}}}}}}}}}}}}}}}}},"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.006024096385542169}}}}}}}}}}}}}}}}}}}}},"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.006211180124223602}}}}}}}}}},"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.00625}}}}}}}}}}}}}}}}}}}}}}}}},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}}}}},"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"些":{"docs":{},"专":{"docs":{},"门":{"docs":{},"用":{"docs":{},"于":{"docs":{},"状":{"docs":{},"态":{"docs":{},"管":{"docs":{},"理":{"docs":{},"的":{"docs":{},"包":{"docs":{},",":{"docs":{},"如":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"、":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"x":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"上":{"docs":{},"查":{"docs":{},"看":{"docs":{},"其":{"docs":{},"详":{"docs":{},"细":{"docs":{},"信":{"docs":{},"息":{"docs":{},"。":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"字":{"docs":{},"体":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}}},"文":{"docs":{},"本":{"docs":{},"样":{"docs":{},"式":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}}}}},"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.006024096385542169}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}}}}}}}}}}}}}}}}}}},"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.002551020408163265}}}}}}}},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"字":{"docs":{},"体":{"docs":{},"图":{"docs":{},"标":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}}}}}},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856}}}}}}}},"复":{"docs":{},"杂":{"docs":{},"。":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}}}}},"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.0032258064516129032}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"l":{"docs":{},"包":{"docs":{"chapter13/":{"ref":"chapter13/","tf":0.25},"chapter13/intl.html":{"ref":"chapter13/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":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"包":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"添":{"docs":{},"加":{"docs":{},"两":{"docs":{},"个":{"docs":{},"依":{"docs":{},"赖":{"docs":{},":":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"插":{"docs":{},"件":{"docs":{},"生":{"docs":{},"成":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"方":{"docs":{},"法":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}}}},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter11/":{"ref":"chapter11/","tf":0.08333333333333333},"chapter11/socket.html":{"ref":"chapter11/socket.html","tf":0.02857142857142857}}}}}}},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{},"实":{"docs":{},"现":{"docs":{},"i":{"docs":{},"o":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}},"缩":{"docs":{},"放":{"docs":{},"动":{"docs":{},"画":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}},"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":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"平":{"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":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}}}}}},"添":{"docs":{},"加":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"平":{"docs":{},"台":{"docs":{},"特":{"docs":{},"定":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}}}}},"打":{"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}},"例":{"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.0013422818791946308}}}}}}}}}}},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},",":{"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"假":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"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.004807692307692308}}}}}}}}}}}}}}}}},"在":{"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.001519756838905775}}}},"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/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"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.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}},"子":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}},"依":{"docs":{},"赖":{"docs":{},"下":{"docs":{},"面":{"docs":{},"这":{"docs":{},"些":{"docs":{},"命":{"docs":{},"令":{"docs":{},"行":{"docs":{},"工":{"docs":{},"具":{"docs":{},".":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616}}}}}}}}}}}},"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.00625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"本":{"docs":{},"地":{"docs":{},"包":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}}}}},"包":{"docs":{},"中":{"docs":{},"的":{"docs":{},"资":{"docs":{},"源":{"docs":{},"图":{"docs":{},"片":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}}}}}}}}},"登":{"docs":{},"录":{"docs":{},"状":{"docs":{},"态":{"docs":{},"的":{"docs":{},"页":{"docs":{},"面":{"docs":{},":":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}},"改":{"docs":{},"变":{"docs":{},"时":{"docs":{},",":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"配":{"docs":{},"置":{"docs":{},"信":{"docs":{},"息":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"发":{"docs":{},"生":{"docs":{},"改":{"docs":{},"变":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}},"然":{"docs":{},"使":{"docs":{},"用":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"组":{"docs":{},"件":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}},"列":{"docs":{},"表":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},"此":{"docs":{},"时":{"docs":{},"的":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}},"项":{"docs":{},"组":{"docs":{},"件":{"docs":{},"我":{"docs":{},"们":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{},"s":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"o":{"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":{},"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":{},"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":{},"会":{"docs":{},"打":{"docs":{},"印":{"docs":{},"出":{"docs":{},"它":{"docs":{},"。":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"加":{"docs":{},"载":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}},"中":{"docs":{},",":{"docs":{},"参":{"docs":{},"数":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}},"下":{"docs":{},"拉":{"docs":{},"刷":{"docs":{},"新":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"删":{"docs":{},"除":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"(":{"docs":{},"拦":{"docs":{},"截":{"docs":{},"器":{"docs":{},"中":{"docs":{},"会":{"docs":{},"读":{"docs":{},"取":{"docs":{},"这":{"docs":{},"些":{"docs":{},"信":{"docs":{},"息":{"docs":{},")":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}}}}},"创":{"docs":{},"建":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}},"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.0026845637583892616}},"模":{"docs":{},"板":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}}}},"平":{"docs":{},"台":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}}}}}}}}}}},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"延":{"docs":{},"时":{"docs":{},"任":{"docs":{},"务":{"docs":{},"(":{"docs":{},"实":{"docs":{},"际":{"docs":{},"场":{"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.0018726591760299626}}}}}}}}}}}}}}},"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.002325581395348837}}}}}}}}}}}}}}}}},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"项":{"docs":{},"目":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}}}}}},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"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":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0013477088948787063}}}}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}},"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.006060606060606061}}}}}}}}}}}}}}}}}},"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.00202020202020202}}}}}}}}},"进":{"docs":{},"度":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"后":{"docs":{},"面":{"docs":{},"实":{"docs":{},"现":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}}}}},"刷":{"docs":{},"新":{"docs":{},"当":{"docs":{},"前":{"docs":{},"终":{"docs":{},"端":{"docs":{},"窗":{"docs":{},"口":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}},"页":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"升":{"docs":{},"级":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},"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.0013422818791946308}}}}}}}}}}},"即":{"docs":{},"可":{"docs":{},"解":{"docs":{},"决":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}},"\"":{"docs":{},"漂":{"docs":{},"浮":{"docs":{},"\"":{"docs":{},"按":{"docs":{},"钮":{"docs":{},",":{"docs":{},"它":{"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":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}},"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":{},"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"去":{"docs":{},"f":{"docs":{},"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"官":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"另":{"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":{},"函":{"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":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"还":{"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":{},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"和":{"docs":{},"o":{"docs":{},"n":{"docs":{},"u":{"docs":{},"n":{"docs":{},"k":{"docs":{},"n":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"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":{},"单":{"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":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"过":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"将":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"o":{"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":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},"r":{"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":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"类":{"docs":{},"中":{"docs":{},"有":{"docs":{},"设":{"docs":{},"置":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"上":{"docs":{},"限":{"docs":{},"的":{"docs":{},"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":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"图":{"docs":{},"片":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"是":{"docs":{},"在":{"docs":{},"内":{"docs":{},"存":{"docs":{},"中":{"docs":{},",":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"进":{"docs":{},"行":{"docs":{},"本":{"docs":{},"地":{"docs":{},"文":{"docs":{},"件":{"docs":{},"持":{"docs":{},"久":{"docs":{},"化":{"docs":{},"存":{"docs":{},"储":{"docs":{},",":{"docs":{},"这":{"docs":{},"也":{"docs":{},"是":{"docs":{},"为":{"docs":{},"什":{"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/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.00202020202020202}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"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":{},"数":{"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":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"是":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"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":{},"一":{"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":{},"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":{},"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"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":{},"变":{"docs":{},"监":{"docs":{},"听":{"docs":{},"器":{"docs":{},"。":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"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":{},"变":{"docs":{},"量":{"docs":{},")":{"docs":{},"发":{"docs":{},"出":{"docs":{},"的":{"docs":{},",":{"docs":{},"在":{"docs":{},"创":{"docs":{},"建":{"docs":{},"该":{"docs":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},"实":{"docs":{},"例":{"docs":{},"时":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"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":{},"部":{"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/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"启":{"docs":{},"动":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.004026845637583893},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.008264462809917356},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}},"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.0026845637583892616}}}}}}}}},"您":{"docs":{},"的":{"docs":{},"设":{"docs":{},"备":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}},"屏":{"docs":{},"幕":{"docs":{},"将":{"docs":{},"永":{"docs":{},"远":{"docs":{},"持":{"docs":{},"续":{"docs":{},"显":{"docs":{},"示":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}}}}}}}}}}}}}},"命":{"docs":{},"令":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},"以":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}},"查":{"docs":{},"看":{"docs":{},"是":{"docs":{},"否":{"docs":{},"都":{"docs":{},"准":{"docs":{},"备":{"docs":{},"o":{"docs":{},"k":{"docs":{},"了":{"docs":{},":":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}},"来":{"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":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"和":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"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":{},"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":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"自":{"docs":{},"动":{"docs":{},"化":{"docs":{},"测":{"docs":{},"试":{"docs":{},"包":{"docs":{},"等":{"docs":{},"。":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"创":{"docs":{},"建":{"docs":{},":":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}},"执":{"docs":{},"行":{"docs":{},"成":{"docs":{},"功":{"docs":{},"后":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"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":{},"下":{"docs":{},"会":{"docs":{},"生":{"docs":{},"成":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"名":{"docs":{},"路":{"docs":{},"由":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}},"参":{"docs":{},"数":{"docs":{},"传":{"docs":{},"递":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}},"中":{"docs":{},"测":{"docs":{},"试":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}},"安":{"docs":{},"卓":{"docs":{},"包":{"docs":{},"配":{"docs":{},"置":{"docs":{},"问":{"docs":{},"题":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}},"装":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616}},"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.0026845637583892616}}}}}}}}},"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.0013422818791946308}},"和":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"插":{"docs":{},"件":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}},"插":{"docs":{},"件":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}},"之":{"docs":{},"后":{"docs":{},"重":{"docs":{},"新":{"docs":{},"运":{"docs":{},"行":{"docs":{},"即":{"docs":{},"可":{"docs":{},",":{"docs":{},"如":{"docs":{},"图":{"1":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},"docs":{}}}}}}}}}}}},"步":{"docs":{},"骤":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}},"目":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"遇":{"docs":{},"到":{"docs":{},"问":{"docs":{},"题":{"docs":{},"?":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}},"定":{"docs":{},"位":{"docs":{},"到":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}},"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.0013422818791946308}}}}}}}}},"您":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.008264462809917356}}}},"参":{"docs":{},"考":{"docs":{},"系":{"docs":{},"统":{"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":{},"以":{"docs":{},"是":{"docs":{},"父":{"docs":{},"容":{"docs":{},"器":{"docs":{},"矩":{"docs":{},"形":{"docs":{},"的":{"docs":{},"四":{"docs":{},"个":{"docs":{},"顶":{"docs":{},"点":{"docs":{},";":{"docs":{},"而":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"则":{"docs":{},"需":{"docs":{},"要":{"docs":{},"先":{"docs":{},"通":{"docs":{},"过":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"义":{"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.0018726591760299626}}}},"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/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}}}}}}},"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/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"背":{"docs":{},"景":{"docs":{},"蓝":{"docs":{},"色":{"docs":{},",":{"docs":{},"两":{"docs":{},"边":{"docs":{},"圆":{"docs":{},"角":{"docs":{},"的":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"。":{"docs":{},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"图":{"3":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}},"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.0013477088948787063}}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"类":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"表":{"docs":{},"示":{"docs":{},"商":{"docs":{},"品":{"docs":{},"信":{"docs":{},"息":{"docs":{},":":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}},"保":{"docs":{},"存":{"docs":{},"购":{"docs":{},"物":{"docs":{},"车":{"docs":{},"内":{"docs":{},"商":{"docs":{},"品":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"c":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"类":{"docs":{},":":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}},"通":{"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.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}},"路":{"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.006211180124223602}}}}}}}}}}}}},"\"":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"两":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"事":{"docs":{},"件":{"docs":{},":":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}},"制":{"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":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"现":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}},"快":{"docs":{},"速":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"周":{"docs":{},"期":{"docs":{},",":{"docs":{},"热":{"docs":{},"重":{"docs":{},"载":{"docs":{},"就":{"docs":{},"是":{"docs":{},"无":{"docs":{},"需":{"docs":{},"重":{"docs":{},"启":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"就":{"docs":{},"能":{"docs":{},"实":{"docs":{},"时":{"docs":{},"加":{"docs":{},"载":{"docs":{},"修":{"docs":{},"改":{"docs":{},"后":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"并":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"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":{},"中":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"应":{"docs":{},"用":{"docs":{},"语":{"docs":{},"言":{"docs":{},"的":{"docs":{},"组":{"docs":{},"件":{"docs":{},"的":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"_":{"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/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"交":{"docs":{},"互":{"docs":{},"式":{"docs":{},"行":{"docs":{},"为":{"docs":{},"。":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}},"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.0049504950495049506}}}}}}}}}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001445086705202312},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294},"chapter15/login_page.html":{"ref":"chapter15/login_page.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":{},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"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":{},"可":{"docs":{},"以":{"docs":{},"返":{"docs":{},"回":{"docs":{},"一":{"docs":{},"个":{"docs":{},"结":{"docs":{},"果":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{},"现":{"docs":{},"在":{"docs":{},",":{"docs":{},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{},"我":{"docs":{},"们":{"docs":{},"已":{"docs":{},"经":{"docs":{},"构":{"docs":{},"建":{"docs":{},"好":{"docs":{},"了":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"如":{"docs":{},"何":{"docs":{},"将":{"docs":{},"它":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"来":{"docs":{},"呢":{"docs":{},"?":{"docs":{},"还":{"docs":{},"有":{"docs":{},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{},"返":{"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":{},"o":{"docs":{},"w":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"。":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}},"省":{"docs":{},"略":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}}}}}},"很":{"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":{},"p":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"方":{"docs":{},"法":{"docs":{},"打":{"docs":{},"开":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"的":{"docs":{},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{},"路":{"docs":{},"由":{"docs":{},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"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":{},"由":{"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":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter10/intro.html":{"ref":"chapter10/intro.html","tf":0.04}}}}}}}}}}}}}},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"大":{"docs":{},"致":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}},":":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"u":{"docs":{},"n":{"docs":{},"k":{"docs":{},":":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"类":{"docs":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter13/":{"ref":"chapter13/","tf":0.25},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894}},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"类":{"docs":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894}}}}}}}}}}}}}}}},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},"账":{"docs":{},"号":{"docs":{},"登":{"docs":{},"录":{"docs":{},"、":{"docs":{},"退":{"docs":{},"出":{"docs":{},"登":{"docs":{},"录":{"docs":{},"功":{"docs":{},"能":{"docs":{"chapter15/intro.html":{"ref":"chapter15/intro.html","tf":0.05}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}},"例":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}},"方":{"docs":{},"法":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}},":":{"docs":{},"无":{"docs":{},"限":{"docs":{},"加":{"docs":{},"载":{"docs":{},"列":{"docs":{},"表":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}}}},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter10/":{"ref":"chapter10/","tf":0.16666666666666666}}}}}}}}},"圆":{"docs":{},"形":{"docs":{},"渐":{"docs":{},"变":{"docs":{},"进":{"docs":{},"度":{"docs":{},"条":{"docs":{"chapter10/":{"ref":"chapter10/","tf":0.16666666666666666}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"分":{"docs":{},"块":{"docs":{},"下":{"docs":{},"载":{"docs":{"chapter11/":{"ref":"chapter11/","tf":0.08333333333333333},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}}},"转":{"docs":{},"化":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},".":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}},"的":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}},"际":{"docs":{},"上":{"docs":{},",":{"docs":{},"f":{"docs":{},"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":{},":":{"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":{},"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":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"空":{"docs":{},"间":{"docs":{},",":{"docs":{},"而":{"docs":{},"纵":{"docs":{},"轴":{"docs":{},"的":{"docs":{},"长":{"docs":{},"度":{"docs":{},"则":{"docs":{},"取":{"docs":{},"决":{"docs":{},"于":{"docs":{},"他":{"docs":{},"们":{"docs":{},"最":{"docs":{},"大":{"docs":{},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{},"的":{"docs":{},"长":{"docs":{},"度":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"我":{"docs":{},"们":{"docs":{},"想":{"docs":{},"让":{"docs":{},"本":{"docs":{},"例":{"docs":{},"中":{"docs":{},"的":{"docs":{},"两":{"docs":{},"个":{"docs":{},"文":{"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.00411522633744856}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"方":{"docs":{},"法":{"docs":{},"正":{"docs":{},"是":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"l":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"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":{},"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":{},"f":{"docs":{},"a":{"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":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"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":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"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":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},".":{"docs":{},"b":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"8":{"7":{"docs":{},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}},"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":{},"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":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"正":{"docs":{},"是":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"和":{"docs":{},"s":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"都":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"类":{"docs":{},"。":{"docs":{},"由":{"docs":{},"于":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"和":{"docs":{},"s":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"中":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"c":{"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":{},"致":{"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":{},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"本":{"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":{},"它":{"docs":{},"是":{"docs":{},"一":{"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":{},"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":{},"封":{"docs":{},"装":{"docs":{},"一":{"docs":{},"个":{"docs":{},"富":{"docs":{},"文":{"docs":{},"本":{"docs":{},"展":{"docs":{},"示":{"docs":{},"组":{"docs":{},"件":{"docs":{},"m":{"docs":{},"y":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"h":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"业":{"docs":{},"务":{"docs":{},"中":{"docs":{},",":{"docs":{},"在":{"docs":{},"正":{"docs":{},"式":{"docs":{},"向":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"提":{"docs":{},"交":{"docs":{},"数":{"docs":{},"据":{"docs":{},"前":{"docs":{},",":{"docs":{},"都":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"运":{"docs":{},"行":{"docs":{},"结":{"docs":{},"果":{"docs":{},"如":{"docs":{},"图":{"4":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856}}},"docs":{}}}}},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"图":{"4":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}},"docs":{}}}}}}},"偏":{"docs":{},"移":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}},"开":{"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":{},"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":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"对":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"所":{"docs":{},"有":{"docs":{},"终":{"docs":{},"端":{"docs":{},"会":{"docs":{},"话":{"docs":{},"永":{"docs":{},"久":{"docs":{},"修":{"docs":{},"改":{"docs":{},"此":{"docs":{},"变":{"docs":{},"量":{"docs":{},"的":{"docs":{},"步":{"docs":{},"骤":{"docs":{},"是":{"docs":{},"和":{"docs":{},"特":{"docs":{},"定":{"docs":{},"计":{"docs":{},"算":{"docs":{},"机":{"docs":{},"系":{"docs":{},"统":{"docs":{},"相":{"docs":{},"关":{"docs":{},"的":{"docs":{},"。":{"docs":{},"通":{"docs":{},"常":{"docs":{},",":{"docs":{},"您":{"docs":{},"会":{"docs":{},"在":{"docs":{},"打":{"docs":{},"开":{"docs":{},"新":{"docs":{},"窗":{"docs":{},"口":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"只":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},",":{"docs":{},"希":{"docs":{},"望":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"跟":{"docs":{},"着":{"docs":{},"笔":{"docs":{},"者":{"docs":{},"一":{"docs":{},"起":{"docs":{},"亲":{"docs":{},"自":{"docs":{},"动":{"docs":{},"手":{"docs":{},"来":{"docs":{},"写":{"docs":{},"一":{"docs":{},"下":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"不":{"docs":{},"仅":{"docs":{},"可":{"docs":{},"以":{"docs":{},"加":{"docs":{},"深":{"docs":{},"印":{"docs":{},"象":{"docs":{},",":{"docs":{},"而":{"docs":{},"且":{"docs":{},"也":{"docs":{},"会":{"docs":{},"对":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"的":{"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":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},",":{"docs":{},"它":{"docs":{},"会":{"docs":{},"输":{"docs":{},"出":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}}}}}}}}}},"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"些":{"docs":{},"组":{"docs":{},"件":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"混":{"docs":{},"合":{"docs":{},"管":{"docs":{},"理":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"会":{"docs":{},"非":{"docs":{},"常":{"docs":{},"有":{"docs":{},"用":{"docs":{},"。":{"docs":{},"在":{"docs":{},"这":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"组":{"docs":{},"件":{"docs":{},"自":{"docs":{},"身":{"docs":{},"管":{"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/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"复":{"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":{},"u":{"docs":{},"i":{"docs":{},"外":{"docs":{},"观":{"docs":{},"。":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"父":{"docs":{},"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/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"线":{"docs":{},"性":{"docs":{},"布":{"docs":{},"局":{"docs":{},",":{"docs":{},"有":{"docs":{},"主":{"docs":{},"轴":{"docs":{},"和":{"docs":{},"纵":{"docs":{},"轴":{"docs":{},"之":{"docs":{},"分":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"布":{"docs":{},"局":{"docs":{},"是":{"docs":{},"沿":{"docs":{},"水":{"docs":{},"平":{"docs":{},"方":{"docs":{},"向":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"主":{"docs":{},"轴":{"docs":{},"就":{"docs":{},"是":{"docs":{},"指":{"docs":{},"水":{"docs":{},"平":{"docs":{},"方":{"docs":{},"向":{"docs":{},",":{"docs":{},"而":{"docs":{},"纵":{"docs":{},"轴":{"docs":{},"即":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},";":{"docs":{},"如":{"docs":{},"果":{"docs":{},"布":{"docs":{},"局":{"docs":{},"沿":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"主":{"docs":{},"轴":{"docs":{},"就":{"docs":{},"是":{"docs":{},"指":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},",":{"docs":{},"而":{"docs":{},"纵":{"docs":{},"轴":{"docs":{},"就":{"docs":{},"是":{"docs":{},"水":{"docs":{},"平":{"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.00411522633744856}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"自":{"docs":{},"签":{"docs":{},"名":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"将":{"docs":{},"其":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"本":{"docs":{},"地":{"docs":{},"证":{"docs":{},"书":{"docs":{},"信":{"docs":{},"任":{"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"纯":{"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"问":{"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.006060606060606061}}}}}}}}}}}}}}}}}}}}},"docs":{}}}},"此":{"docs":{},"方":{"docs":{},"法":{"docs":{},"做":{"docs":{},"了":{"docs":{},"优":{"docs":{},"化":{"docs":{},",":{"docs":{},"使":{"docs":{},"重":{"docs":{},"新":{"docs":{},"执":{"docs":{},"行":{"docs":{},"变":{"docs":{},"的":{"docs":{},"很":{"docs":{},"快":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"你":{"docs":{},"可":{"docs":{},"以":{"docs":{},"重":{"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"象":{"docs":{},"加":{"docs":{},"载":{"docs":{},":":{"docs":{},"每":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"并":{"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":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}},":":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}},"齐":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"与":{"docs":{},"相":{"docs":{},"对":{"docs":{},"定":{"docs":{},"位":{"docs":{},"(":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},")":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}}},"应":{"docs":{},"的":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":0.04}}}}}}}}}},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"订":{"docs":{},"阅":{"docs":{},"者":{"docs":{},"队":{"docs":{},"列":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}}}}}}}}}},"请":{"docs":{},"求":{"docs":{},"头":{"docs":{},"中":{"docs":{},"的":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}},"话":{"docs":{},"框":{"docs":{},"u":{"docs":{},"i":{"docs":{},"的":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}},"内":{"docs":{},"容":{"docs":{},"组":{"docs":{},"件":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}},"外":{"docs":{},"形":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}},"实":{"docs":{},"现":{"docs":{},"原":{"docs":{},"理":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}},"打":{"docs":{},"开":{"docs":{},"/":{"docs":{},"关":{"docs":{},"闭":{"docs":{},"的":{"docs":{},"动":{"docs":{},"画":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}},"时":{"docs":{},"长":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}},"动":{"docs":{},"画":{"docs":{},"及":{"docs":{},"遮":{"docs":{},"罩":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}},"操":{"docs":{},"作":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"组":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}},"本":{"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":{},"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":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"状":{"docs":{},"态":{"docs":{},"管":{"docs":{},"理":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}},"的":{"docs":{},"阴":{"docs":{},"影":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}},"背":{"docs":{},"景":{"docs":{},"色":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}},"详":{"docs":{},"解":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}},"新":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"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":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}}}}}}}}}}}},"旧":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"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":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"图":{"docs":{},"片":{"docs":{},"数":{"docs":{},"据":{"docs":{},"进":{"docs":{},"行":{"docs":{},"解":{"docs":{},"码":{"docs":{},"。":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}},"图":{"docs":{},"片":{"docs":{},"数":{"docs":{},"据":{"docs":{},"进":{"docs":{},"行":{"docs":{},"解":{"docs":{},"码":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}},"前":{"docs":{},"面":{"docs":{},"章":{"docs":{},"节":{"docs":{},"所":{"docs":{},"学":{"docs":{},"内":{"docs":{},"容":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"应":{"docs":{},"用":{"docs":{},"及":{"docs":{},"总":{"docs":{},"结":{"docs":{},"。":{"docs":{"chapter15/intro.html":{"ref":"chapter15/intro.html","tf":0.05}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"当":{"docs":{},"前":{"docs":{},"语":{"docs":{},"言":{"docs":{},"进":{"docs":{},"行":{"docs":{},"高":{"docs":{},"亮":{"docs":{},"显":{"docs":{},"示":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}}}}}}}}}}}}}},"工":{"docs":{},"具":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616}}},"版":{"docs":{},"本":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}},"来":{"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"欲":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"作":{"docs":{},"原":{"docs":{},"理":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.009302325581395349}}}}}},"带":{"docs":{},"\"":{"docs":{},"*":{"docs":{},"\"":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}},"图":{"docs":{},"标":{"docs":{},"的":{"docs":{},"按":{"docs":{},"钮":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}}}}},"领":{"docs":{},"读":{"docs":{},"者":{"docs":{},"了":{"docs":{},"解":{"docs":{},"如":{"docs":{},"何":{"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":{},"f":{"docs":{},"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":{"chapter15/intro.html":{"ref":"chapter15/intro.html","tf":0.05}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"常":{"docs":{},"见":{"docs":{},"配":{"docs":{},"置":{"docs":{},"问":{"docs":{},"题":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}},"规":{"docs":{},">":{"docs":{},"设":{"docs":{},"备":{"docs":{},"管":{"docs":{},"理":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}},"用":{"docs":{},"于":{"docs":{},"会":{"docs":{},"多":{"docs":{},"次":{"docs":{},"读":{"docs":{},"取":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"异":{"docs":{},"步":{"docs":{},"任":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"并":{"docs":{},"信":{"docs":{},"任":{"docs":{},"您":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}},"在":{"docs":{},"那":{"docs":{},"里":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}},"每":{"docs":{},"次":{"docs":{},"收":{"docs":{},"到":{"docs":{},"消":{"docs":{},"息":{"docs":{},"时":{"docs":{},"通":{"docs":{},"知":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"重":{"docs":{},"新":{"docs":{},"构":{"docs":{},"建":{"docs":{},"界":{"docs":{},"面":{"docs":{},"。":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}}}}}}}}}}}}}}},"选":{"docs":{},"择":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}},"非":{"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.004807692307692308}}}}}}}}}}}}},"将":{"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.001519756838905775}}}}}}}}}}}}}}}}}},"没":{"docs":{},"有":{"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":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"用":{"docs":{},"一":{"docs":{},"个":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"来":{"docs":{},"显":{"docs":{},"示":{"docs":{},"它":{"docs":{},"们":{"docs":{},"。":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}}}},"混":{"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":{},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"库":{"docs":{},"造":{"docs":{},"成":{"docs":{},"的":{"docs":{},",":{"docs":{},"解":{"docs":{},"决":{"docs":{},"方":{"docs":{},"法":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}}}},"中":{"docs":{},"的":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"都":{"docs":{},"有":{"docs":{},"如":{"docs":{},"下":{"docs":{},"相":{"docs":{},"同":{"docs":{},"点":{"docs":{},":":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}}}}}}}}}}}}},"建":{"docs":{},"议":{"docs":{},"使":{"docs":{},"用":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}},"当":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"按":{"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"从":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"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/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"不":{"docs":{},"可":{"docs":{},"变":{"docs":{},"的":{"docs":{},"规":{"docs":{},"则":{"docs":{},"被":{"docs":{},"违":{"docs":{},"反":{"docs":{},"时":{"docs":{},",":{"docs":{},"它":{"docs":{},"被":{"docs":{},"报":{"docs":{},"告":{"docs":{},"给":{"docs":{},"控":{"docs":{},"制":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"路":{"docs":{},"由":{"docs":{},"中":{"docs":{},"包":{"docs":{},"含":{"docs":{},"多":{"docs":{},"个":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"组":{"docs":{},"件":{"docs":{},"时":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"发":{"docs":{},"现":{"docs":{},"在":{"docs":{},"进":{"docs":{},"行":{"docs":{},"一":{"docs":{},"些":{"docs":{},"跳":{"docs":{},"转":{"docs":{},"或":{"docs":{},"切":{"docs":{},"换":{"docs":{},"操":{"docs":{},"作":{"docs":{},"后":{"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":{},"的":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"组":{"docs":{},"件":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}}}}},"在":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"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":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"发":{"docs":{},"送":{"docs":{},"和":{"docs":{},"接":{"docs":{},"收":{"docs":{},"值":{"docs":{},"时":{"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/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"它":{"docs":{},"被":{"docs":{},"启":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"调":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"应":{"docs":{},"用":{"docs":{},"中":{"docs":{},"需":{"docs":{},"要":{"docs":{},"一":{"docs":{},"些":{"docs":{},"跨":{"docs":{},"组":{"docs":{},"件":{"docs":{},"(":{"docs":{},"包":{"docs":{},"括":{"docs":{},"跨":{"docs":{},"路":{"docs":{},"由":{"docs":{},")":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"需":{"docs":{},"要":{"docs":{},"同":{"docs":{},"步":{"docs":{},"时":{"docs":{},",":{"docs":{},"上":{"docs":{},"面":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"便":{"docs":{},"很":{"docs":{},"难":{"docs":{},"胜":{"docs":{},"任":{"docs":{},"了":{"docs":{},"。":{"docs":{},"比":{"docs":{},"如":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"设":{"docs":{},"置":{"docs":{},"页":{"docs":{},",":{"docs":{},"里":{"docs":{},"面":{"docs":{},"可":{"docs":{},"以":{"docs":{},"设":{"docs":{},"置":{"docs":{},"应":{"docs":{},"用":{"docs":{},"的":{"docs":{},"语":{"docs":{},"言":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"为":{"docs":{},"了":{"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":{},"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":{},"组":{"docs":{},"件":{"docs":{},"之":{"docs":{},"间":{"docs":{},"的":{"docs":{},"通":{"docs":{},"信":{"docs":{},"。":{"docs":{},"目":{"docs":{},"前":{"docs":{},"主":{"docs":{},"要":{"docs":{},"有":{"docs":{},"两":{"docs":{},"种":{"docs":{},"办":{"docs":{},"法":{"docs":{},":":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"检":{"docs":{},"测":{"docs":{},"到":{"docs":{},"点":{"docs":{},"击":{"docs":{},"时":{"docs":{},",":{"docs":{},"它":{"docs":{},"会":{"docs":{},"通":{"docs":{},"知":{"docs":{},"父":{"docs":{},"组":{"docs":{},"件":{"docs":{},"。":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}},"点":{"docs":{},"击":{"docs":{},"时":{"docs":{},",":{"docs":{},"将":{"docs":{},"状":{"docs":{},"态":{"docs":{},"的":{"docs":{},"改":{"docs":{},"变":{"docs":{},"传":{"docs":{},"递":{"docs":{},"给":{"docs":{},"父":{"docs":{},"组":{"docs":{},"件":{"docs":{},"。":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}},"盒":{"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/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"状":{"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/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}}}}}}}}},"所":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}},"组":{"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":{},"特":{"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":{},"组":{"docs":{},"件":{"docs":{},"(":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.02631578947368421}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"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":{},"可":{"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":{},"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.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"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":{},"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.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"前":{"docs":{},"没":{"docs":{},"有":{"docs":{},"异":{"docs":{},"步":{"docs":{},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"[":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"]":{"docs":{},"的":{"docs":{},"[":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"]":{"docs":{},"为":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"时":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"进":{"docs":{},"度":{"docs":{},",":{"docs":{},"取":{"docs":{},"值":{"docs":{},"范":{"docs":{},"围":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}},"系":{"docs":{},"统":{"docs":{},"字":{"docs":{},"体":{"docs":{},"缩":{"docs":{},"放":{"docs":{},"比":{"docs":{},"例":{"docs":{},"。":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}}},"默":{"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.0018587360594795538}}}}}}}}}}}}}},"设":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"页":{"docs":{},"号":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}},"指":{"docs":{},"针":{"docs":{},"按":{"docs":{},"下":{"docs":{},"时":{"docs":{},",":{"docs":{},"f":{"docs":{},"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.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"同":{"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.0017452006980802793}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"然":{"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":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},"时":{"docs":{},"(":{"docs":{},"类":{"docs":{},"型":{"docs":{},"或":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"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":{},"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":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"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":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"定":{"docs":{},"义":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"p":{"docs":{},"语":{"docs":{},"言":{"docs":{},"选":{"docs":{},"为":{"docs":{},"跟":{"docs":{},"随":{"docs":{},"系":{"docs":{},"统":{"docs":{},"(":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"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":{},"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":{},"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":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"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":{},"f":{"docs":{},"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":{},"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":{"chapter10/intro.html":{"ref":"chapter10/intro.html","tf":0.04}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"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":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"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":{},"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"绘":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter13/intl.html":{"ref":"chapter13/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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"docs":{},"父":{"docs":{},"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"祖":{"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.006060606060606061}}}}}}}}}}}}}}}}}}},"绘":{"docs":{},"制":{"docs":{},"区":{"docs":{},"域":{"docs":{},"大":{"docs":{},"小":{"docs":{},"改":{"docs":{},"变":{"docs":{},"回":{"docs":{},"调":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.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":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"您":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}},"也":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"设":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}},"直":{"docs":{},"接":{"docs":{},"使":{"docs":{},"用":{"docs":{},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"p":{"docs":{},"a":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"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":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"还":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}},"现":{"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"/":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"源":{"docs":{},"码":{"docs":{},"中":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"打":{"docs":{},"开":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},"(":{"docs":{},"或":{"docs":{},"创":{"docs":{},"建":{"docs":{},")":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}},"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":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}}}}}}}}},"插":{"docs":{},"件":{"docs":{},"首":{"docs":{},"选":{"docs":{},"项":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}},"终":{"docs":{},"端":{"docs":{},"并":{"docs":{},"运":{"docs":{},"行":{"docs":{},"如":{"docs":{},"下":{"docs":{},"这":{"docs":{},"些":{"docs":{},"命":{"docs":{},"令":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}}}}},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}},"`":{"docs":{},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"`":{"docs":{},",":{"docs":{},"并":{"docs":{},"等":{"docs":{},"待":{"docs":{},"返":{"docs":{},"回":{"docs":{},"结":{"docs":{},"果":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}}}}}}}}}},"抽":{"docs":{},"屉":{"docs":{},"菜":{"docs":{},"单":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"连":{"docs":{},"接":{"docs":{},",":{"docs":{},"设":{"docs":{},"置":{"docs":{},"请":{"docs":{},"求":{"docs":{},"头":{"docs":{},":":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}},"一":{"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":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}}}},"包":{"docs":{},"包":{"docs":{},"中":{"docs":{},"的":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}}}}}}},"找":{"docs":{},"到":{"docs":{},"下":{"docs":{},"面":{"docs":{},"这":{"docs":{},"一":{"docs":{},"部":{"docs":{},"分":{"docs":{},",":{"docs":{},"并":{"docs":{},"加":{"docs":{},"上":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}}}}},"指":{"docs":{},"定":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}},"放":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}},"示":{"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":{},"颜":{"docs":{},"色":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"指":{"docs":{},"定":{"docs":{},"动":{"docs":{},"画":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"我":{"docs":{},"们":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"对":{"docs":{},"进":{"docs":{},"度":{"docs":{},"条":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"执":{"docs":{},"行":{"docs":{},"动":{"docs":{},"画":{"docs":{},",":{"docs":{},"换":{"docs":{},"言":{"docs":{},"之":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"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":{},"w":{"docs":{},"a":{"docs":{},"y":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},"p":{"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":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"针":{"docs":{},"按":{"docs":{},"下":{"docs":{},"事":{"docs":{},"件":{"docs":{},"(":{"docs":{},"以":{"docs":{},"及":{"docs":{},"该":{"docs":{},"指":{"docs":{},"针":{"docs":{},"的":{"docs":{},"后":{"docs":{},"续":{"docs":{},"事":{"docs":{},"件":{"docs":{},")":{"docs":{},"然":{"docs":{},"后":{"docs":{},"被":{"docs":{},"分":{"docs":{},"发":{"docs":{},"到":{"docs":{},"由":{"docs":{},"命":{"docs":{},"中":{"docs":{},"测":{"docs":{},"试":{"docs":{},"发":{"docs":{},"现":{"docs":{},"的":{"docs":{},"最":{"docs":{},"内":{"docs":{},"部":{"docs":{},"的":{"docs":{},"组":{"docs":{},"件":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"从":{"docs":{},"那":{"docs":{},"里":{"docs":{},"开":{"docs":{},"始":{"docs":{},",":{"docs":{},"事":{"docs":{},"件":{"docs":{},"会":{"docs":{},"在":{"docs":{},"组":{"docs":{},"件":{"docs":{},"树":{"docs":{},"中":{"docs":{},"向":{"docs":{},"上":{"docs":{},"冒":{"docs":{},"泡":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"事":{"docs":{},"件":{"docs":{},"会":{"docs":{},"从":{"docs":{},"最":{"docs":{},"内":{"docs":{},"部":{"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":{},"相":{"docs":{},"似":{"docs":{},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"接":{"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.0013422818791946308}}}}}}}}}}}}},"我":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"看":{"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"显":{"docs":{},"示":{"docs":{},"随":{"docs":{},"机":{"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":{},"图":{"2":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}}},"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":{},"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter13/intl.html":{"ref":"chapter13/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/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"调":{"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":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"添":{"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}},"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"执":{"docs":{},"行":{"docs":{},"整":{"docs":{},"个":{"docs":{},"任":{"docs":{},"务":{"docs":{},"流":{"docs":{},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}}}},"在":{"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}}}}},"和":{"docs":{},"f":{"docs":{},"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}},"覆":{"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"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":{},"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.006622516556291391}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"_":{"docs":{},"m":{"docs":{},"y":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"h":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"中":{"docs":{},"要":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},":":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"以":{"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"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":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894}}}}}}}}}}}}}}}}}}}}}},"需":{"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":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}},"实":{"docs":{},"现":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}}}}}}}}}}}}},"收":{"docs":{},"一":{"docs":{},"个":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"参":{"docs":{},"数":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}},"图":{"docs":{},"片":{"docs":{},"数":{"docs":{},"据":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}},"口":{"docs":{},"决":{"docs":{},"定":{"docs":{},"是":{"docs":{},"否":{"docs":{},"重":{"docs":{},"新":{"docs":{},"剪":{"docs":{},"裁":{"docs":{},"。":{"docs":{},"如":{"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":{},"能":{"docs":{},"开":{"docs":{},"销":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"剪":{"docs":{},"裁":{"docs":{},"区":{"docs":{},"域":{"docs":{},"会":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},"(":{"docs":{},"比":{"docs":{},"如":{"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":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"提":{"docs":{},"供":{"docs":{},"代":{"docs":{},"码":{"docs":{},"分":{"docs":{},"析":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"l":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"签":{"docs":{},"名":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"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":{},"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":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"命":{"docs":{},"令":{"docs":{},"行":{"docs":{},"转":{"docs":{},"化":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"方":{"docs":{},"便":{"docs":{},"集":{"docs":{},"成":{"docs":{},"到":{"docs":{},"c":{"docs":{},"i":{"docs":{},"等":{"docs":{},"非":{"docs":{},"u":{"docs":{},"i":{"docs":{},"环":{"docs":{},"境":{"docs":{},"的":{"docs":{},"场":{"docs":{},"景":{"docs":{},"。":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}},"图":{"docs":{},"片":{"docs":{},"数":{"docs":{},"据":{"docs":{},"源":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}},"四":{"docs":{},"套":{"docs":{},"可":{"docs":{},"选":{"docs":{},"主":{"docs":{},"题":{"docs":{},"色":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}},"示":{"docs":{},"文":{"docs":{},"案":{"docs":{},"”":{"docs":{},"我":{"docs":{},"是":{"docs":{},"提":{"docs":{},"示":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"“":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"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":{},"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":{},"…":{"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":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"语":{"docs":{"chapter13/intl.html":{"ref":"chapter13/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":{},"证":{"docs":{},"各":{"docs":{},"个":{"docs":{},"表":{"docs":{},"单":{"docs":{},"字":{"docs":{},"段":{"docs":{},"是":{"docs":{},"否":{"docs":{},"合":{"docs":{},"法":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}},"插":{"docs":{},"件":{"docs":{},"并":{"docs":{},"点":{"docs":{},"击":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"一":{"docs":{},"种":{"docs":{},"平":{"docs":{},"台":{"docs":{},"透":{"docs":{},"明":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"来":{"docs":{},"访":{"docs":{},"问":{"docs":{},"设":{"docs":{},"备":{"docs":{},"文":{"docs":{},"件":{"docs":{},"系":{"docs":{},"统":{"docs":{},"上":{"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/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"开":{"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":{"chapter12/":{"ref":"chapter12/","tf":0.2}}}}}}}}}}}}},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"端":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{"chapter12/":{"ref":"chapter12/","tf":0.2}}}}}}}}}}},"平":{"docs":{},"台":{"docs":{},"通":{"docs":{},"道":{"docs":{},"简":{"docs":{},"介":{"docs":{"chapter12/":{"ref":"chapter12/","tf":0.2},"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}}}}}}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"端":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"实":{"docs":{},"现":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"端":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"实":{"docs":{},"现":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}},"包":{"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"槽":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616}}},"绘":{"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.0013422818791946308}}}}}}}}}}}}}},"多":{"docs":{},"种":{"docs":{},"背":{"docs":{},"景":{"docs":{},"渐":{"docs":{},"变":{"docs":{},"色":{"docs":{},"。":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}},"语":{"docs":{},"言":{"docs":{"chapter15/intro.html":{"ref":"chapter15/intro.html","tf":0.05}}}}},"文":{"docs":{},"件":{"docs":{},"数":{"docs":{},"组":{"docs":{},"上":{"docs":{},"传":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}},"国":{"docs":{},"际":{"docs":{},"化":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}},"、":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"包":{"docs":{},"的":{"docs":{},"使":{"docs":{},"用":{"docs":{"chapter15/intro.html":{"ref":"chapter15/intro.html","tf":0.05}}}}}}}}}}}}}},"换":{"docs":{},"肤":{"docs":{"chapter15/intro.html":{"ref":"chapter15/intro.html","tf":0.05}}}}}},"查":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}},"找":{"docs":{},",":{"docs":{},"一":{"docs":{},"直":{"docs":{},"向":{"docs":{},"上":{"docs":{},"查":{"docs":{},"找":{"docs":{},"到":{"docs":{},"是":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}}}}}}},"根":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"以":{"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":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"部":{"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.001519756838905775}}}}}}}}}}}}}}}}}}},"注":{"docs":{},"意":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.009615384615384616},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}},",":{"docs":{},"f":{"docs":{},"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.0026845637583892616}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"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.04}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"官":{"docs":{},"方":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"对":{"docs":{},"w":{"docs":{},"i":{"docs":{},"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":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"只":{"docs":{},"会":{"docs":{},"对":{"docs":{},"命":{"docs":{},"名":{"docs":{},"路":{"docs":{},"由":{"docs":{},"生":{"docs":{},"效":{"docs":{},"。":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.004807692307692308}}}}}}}}}}},"登":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"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":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"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":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"实":{"docs":{},"现":{"docs":{},"改":{"docs":{},"成":{"docs":{},"调":{"docs":{},"用":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"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":{},"后":{"docs":{},",":{"docs":{},"点":{"docs":{},"击":{"docs":{},"\"":{"docs":{},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"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":{},"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":{},"实":{"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":{},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"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":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"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":{},"构":{"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":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},".":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"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":{},"出":{"docs":{},"现":{"docs":{},"。":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}},"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}},"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":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"和":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}},"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":{},"值":{"docs":{},"和":{"docs":{},"资":{"docs":{},"源":{"docs":{},"“":{"docs":{},"是":{"docs":{},"指":{"docs":{},"我":{"docs":{},"们":{"docs":{},"针":{"docs":{},"对":{"docs":{},"不":{"docs":{},"同":{"docs":{},"语":{"docs":{},"言":{"docs":{},"准":{"docs":{},"备":{"docs":{},"的":{"docs":{},"不":{"docs":{},"同":{"docs":{},"资":{"docs":{},"源":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"资":{"docs":{},"源":{"docs":{},"一":{"docs":{},"般":{"docs":{},"是":{"docs":{},"指":{"docs":{},"文":{"docs":{},"案":{"docs":{},"(":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},")":{"docs":{},",":{"docs":{},"当":{"docs":{},"然":{"docs":{},"也":{"docs":{},"会":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"其":{"docs":{},"他":{"docs":{},"的":{"docs":{},"资":{"docs":{},"源":{"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":{},"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"代":{"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":{},"根":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"到":{"docs":{},"根":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.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":{},"源":{"docs":{},"码":{"docs":{},"结":{"docs":{},"构":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},"无":{"docs":{},"论":{"docs":{},"采":{"docs":{},"取":{"docs":{},"何":{"docs":{},"种":{"docs":{},"源":{"docs":{},"码":{"docs":{},"组":{"docs":{},"织":{"docs":{},"结":{"docs":{},"构":{"docs":{},",":{"docs":{},"但":{"docs":{},"清":{"docs":{},"晰":{"docs":{},"和":{"docs":{},"解":{"docs":{},"耦":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"通":{"docs":{},"用":{"docs":{},"原":{"docs":{},"则":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"应":{"docs":{},"该":{"docs":{},"让":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"结":{"docs":{},"构":{"docs":{},"清":{"docs":{},"晰":{"docs":{},",":{"docs":{},"以":{"docs":{},"便":{"docs":{},"交":{"docs":{},"流":{"docs":{},"和":{"docs":{},"维":{"docs":{},"护":{"docs":{},"。":{"docs":{"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.015151515151515152}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506},"chapter13/intl.html":{"ref":"chapter13/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/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"本":{"docs":{},"节":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"的":{"docs":{},"安":{"docs":{},"装":{"docs":{},"方":{"docs":{},"式":{"docs":{},"随":{"docs":{},"着":{"docs":{},"f":{"docs":{},"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":{},"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":{},"安":{"docs":{},"装":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"由":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"包":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"里":{"docs":{},"需":{"docs":{},"要":{"docs":{},"提":{"docs":{},"醒":{"docs":{},"读":{"docs":{},"者":{"docs":{},",":{"docs":{},"在":{"docs":{},"登":{"docs":{},"录":{"docs":{},"场":{"docs":{},"景":{"docs":{},"中":{"docs":{},",":{"docs":{},"保":{"docs":{},"护":{"docs":{},"用":{"docs":{},"户":{"docs":{},"账":{"docs":{},"号":{"docs":{},"安":{"docs":{},"全":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"非":{"docs":{},"常":{"docs":{},"重":{"docs":{},"要":{"docs":{},"且":{"docs":{},"永":{"docs":{},"恒":{"docs":{},"的":{"docs":{},"话":{"docs":{},"题":{"docs":{},",":{"docs":{},"在":{"docs":{},"实":{"docs":{},"际":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},"应":{"docs":{},"严":{"docs":{},"格":{"docs":{},"杜":{"docs":{},"绝":{"docs":{},"直":{"docs":{},"接":{"docs":{},"明":{"docs":{},"文":{"docs":{},"存":{"docs":{},"储":{"docs":{},"用":{"docs":{},"户":{"docs":{},"账":{"docs":{},"密":{"docs":{},"的":{"docs":{},"行":{"docs":{},"为":{"docs":{},"。":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"要":{"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.0064516129032258064}}}}}}}}}}}}}}}}}}}}},"上":{"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":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"路":{"docs":{},"由":{"docs":{},"中":{"docs":{},"包":{"docs":{},"含":{"docs":{},"多":{"docs":{},"个":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"组":{"docs":{},"件":{"docs":{},"时":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"要":{"docs":{},"分":{"docs":{},"别":{"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":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"组":{"docs":{},"件":{"docs":{},"本":{"docs":{},"身":{"docs":{},"没":{"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":{},"可":{"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":{},"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":{},"可":{"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":{},"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.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}},"如":{"docs":{},"果":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"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":{},"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":{},"容":{"docs":{},"包":{"docs":{},"裹":{"docs":{},"起":{"docs":{},"来":{"docs":{},"。":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"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.0017452006980802793}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.007407407407407408}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"代":{"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.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"新":{"docs":{},"旧":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"类":{"docs":{},"型":{"docs":{},"相":{"docs":{},"同":{"docs":{},",":{"docs":{},"则":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"必":{"docs":{},"须":{"docs":{},"不":{"docs":{},"相":{"docs":{},"等":{"docs":{},"。":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}}}}}}}}},"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.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"册":{"docs":{},"路":{"docs":{},"由":{"docs":{},"表":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894}}}}}}}}}},",":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"命":{"docs":{},"名":{"docs":{},"路":{"docs":{},"由":{"docs":{},"表":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}},"释":{"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":{"chapter13/intl.html":{"ref":"chapter13/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":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"添":{"docs":{},"加":{"docs":{},"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.0013422818791946308}}}}}}}}}}}}}}}}}}}},"以":{"docs":{},"下":{"docs":{},"路":{"docs":{},"径":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}},"到":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}},"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.00390625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"购":{"docs":{},"物":{"docs":{},"车":{"docs":{},"。":{"docs":{},"这":{"docs":{},"是":{"docs":{},"唯":{"docs":{},"一":{"docs":{},"一":{"docs":{},"种":{"docs":{},"能":{"docs":{},"从":{"docs":{},"外":{"docs":{},"部":{"docs":{},"改":{"docs":{},"变":{"docs":{},"购":{"docs":{},"物":{"docs":{},"车":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}},"固":{"docs":{},"定":{"docs":{},"列":{"docs":{},"表":{"docs":{},"头":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}}},"后":{"docs":{},",":{"docs":{},"执":{"docs":{},"行":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}}},"回":{"docs":{},"调":{"docs":{},"。":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}},"缓":{"docs":{},"存":{"docs":{},"插":{"docs":{},"件":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}},"点":{"docs":{},"击":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}},"第":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"二":{"docs":{},"个":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"可":{"docs":{},"以":{"docs":{},"关":{"docs":{},"闭":{"docs":{},"键":{"docs":{},"盘":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}}}}}}}}},"按":{"docs":{},"钮":{"docs":{},",":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"该":{"docs":{},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}},"则":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"文":{"docs":{},"本":{"docs":{},"会":{"docs":{},"随":{"docs":{},"机":{"docs":{},"排":{"docs":{},"序":{"docs":{},"。":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}}}}}}}}}}}}}}},"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.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"、":{"docs":{},"双":{"docs":{},"击":{"docs":{},"、":{"docs":{},"长":{"docs":{},"按":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}}},"“":{"docs":{},"获":{"docs":{},"取":{"docs":{},"百":{"docs":{},"度":{"docs":{},"首":{"docs":{},"页":{"docs":{},"”":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"后":{"docs":{},",":{"docs":{},"会":{"docs":{},"请":{"docs":{},"求":{"docs":{},"百":{"docs":{},"度":{"docs":{},"首":{"docs":{},"页":{"docs":{},",":{"docs":{},"请":{"docs":{},"求":{"docs":{},"成":{"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"或":{"docs":{},"指":{"docs":{},"针":{"docs":{},"事":{"docs":{},"件":{"docs":{},"回":{"docs":{},"调":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}}},"其":{"docs":{},"它":{"docs":{},"主":{"docs":{},"题":{"docs":{},"色":{"docs":{},"块":{"docs":{},"后":{"docs":{},",":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"主":{"docs":{},"题":{"docs":{},"色":{"docs":{},"立":{"docs":{},"马":{"docs":{},"切":{"docs":{},"换":{"docs":{},"生":{"docs":{},"效":{"docs":{},"。":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}}}}}}}},"热":{"docs":{},"重":{"docs":{},"载":{"docs":{},"失":{"docs":{},"效":{"docs":{},"问":{"docs":{},"题":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}},"按":{"docs":{},"钮":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616}}}},"(":{"docs":{},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}},"应":{"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.002325581395348837}}}}}}}}}}}}}}}}},"环":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}},"理":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"解":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"硬":{"docs":{},"件":{"docs":{},"加":{"docs":{},"速":{"docs":{},".":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}},"绘":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}},"项":{"docs":{},"目":{"docs":{},"的":{"docs":{},"构":{"docs":{},"建":{"docs":{},"没":{"docs":{},"有":{"docs":{},"错":{"docs":{},"误":{"docs":{},"。":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.008264462809917356}}}}}}}}}}}}}}}}},"与":{"docs":{},"在":{"docs":{},"f":{"docs":{},"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":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}},"定":{"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.0013422818791946308}}}}}}}}}}}},"磁":{"docs":{},"盘":{"docs":{},"空":{"docs":{},"间":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616}}}}}}},"等":{"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.0013422818791946308}}}}}}}}},"项":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}},"连":{"docs":{},"接":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},":":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}},"回":{"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.0018587360594795538}}}}}}}}},"渲":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}},"系":{"docs":{},"统":{"docs":{},"要":{"docs":{},"求":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0026845637583892616}}}},"可":{"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":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"字":{"docs":{},"体":{"docs":{},"缩":{"docs":{},"放":{"docs":{},"变":{"docs":{},"化":{"docs":{},"回":{"docs":{},"调":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}}}}}},"组":{"docs":{},"件":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}},"的":{"docs":{},"简":{"docs":{},"单":{"docs":{},"演":{"docs":{},"示":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}},"宽":{"docs":{},"高":{"docs":{},"。":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}},"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.00202020202020202}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}},",":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}}}}},"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":{},"次":{"docs":{},"排":{"docs":{},"列":{"docs":{},";":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"先":{"docs":{},"引":{"docs":{},"入":{"docs":{},"它":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}}}}}}},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"对":{"docs":{},"输":{"docs":{},"入":{"docs":{},"框":{"docs":{},"进":{"docs":{},"行":{"docs":{},"分":{"docs":{},"组":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"进":{"docs":{},"行":{"docs":{},"一":{"docs":{},"些":{"docs":{},"统":{"docs":{},"一":{"docs":{},"操":{"docs":{},"作":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"和":{"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.00202020202020202}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"结":{"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":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"和":{"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.00202020202020202}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"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.00202020202020202}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"并":{"docs":{},"提":{"docs":{},"到":{"docs":{},"f":{"docs":{},"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":{},"是":{"1":{"0":{"0":{"0":{"docs":{},",":{"docs":{},"最":{"docs":{},"大":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"空":{"docs":{},"间":{"docs":{},"为":{"1":{"0":{"0":{"docs":{},"m":{"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":{},"存":{"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":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"库":{"docs":{},"中":{"docs":{},"有":{"docs":{},"一":{"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":{},"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":{},"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":{},"组":{"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":{},"组":{"docs":{},"件":{"docs":{},"风":{"docs":{},"格":{"docs":{},"的":{"docs":{},"页":{"docs":{},"面":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"提":{"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":{},"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":{},"都":{"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.006024096385542169}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"态":{"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":{},"发":{"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.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"两":{"docs":{},"种":{"docs":{},"进":{"docs":{},"度":{"docs":{},"指":{"docs":{},"示":{"docs":{},"器":{"docs":{},":":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"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":{},"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":{},"户":{"docs":{},"任":{"docs":{},"务":{"docs":{},"进":{"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/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"会":{"docs":{},"在":{"docs":{},"很":{"docs":{},"多":{"docs":{},"组":{"docs":{},"件":{"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":{},"组":{"docs":{},"件":{"docs":{},"时":{"docs":{},",":{"docs":{},"便":{"docs":{},"不":{"docs":{},"再":{"docs":{},"赘":{"docs":{},"述":{"docs":{},"。":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"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":{},"分":{"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":{},"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":{},"以":{"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.002824858757062147}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"本":{"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":{},"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"提":{"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}},"开":{"docs":{},"始":{"docs":{},",":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}}},"那":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856}}},"可":{"docs":{},"以":{"docs":{},"调":{"docs":{},"整":{"docs":{},"子":{"docs":{},"组":{"docs":{},"件":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"可":{"docs":{},"以":{"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/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"本":{"docs":{},"身":{"docs":{},"宽":{"docs":{},"高":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},";":{"docs":{},"它":{"docs":{},"们":{"docs":{},"是":{"docs":{},"两":{"docs":{},"个":{"docs":{},"缩":{"docs":{},"放":{"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":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"来":{"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.006622516556291391}}}}}}}}}}}}}}}}}}}}},"名":{"docs":{},"称":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}},"中":{"docs":{},";":{"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":{},"g":{"docs":{},"c":{"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":{},"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.002688172043010753}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"docs":{},"连":{"docs":{},"接":{"docs":{},"到":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},",":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}}}},"一":{"docs":{},"般":{"docs":{},"位":{"docs":{},"于":{"docs":{},"w":{"docs":{},"i":{"docs":{},"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"会":{"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":{},"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":{},"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"并":{"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"支":{"docs":{},"持":{"docs":{},"多":{"docs":{},"语":{"docs":{},"言":{"docs":{},"。":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}},"自":{"docs":{},"己":{"docs":{},"指":{"docs":{},"定":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}}}},"合":{"docs":{},"其":{"docs":{},"它":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter10/intro.html":{"ref":"chapter10/intro.html","tf":0.04}}}}}}}}}},"现":{"docs":{},"有":{"docs":{},"组":{"docs":{},"件":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}}},"实":{"docs":{},"例":{"docs":{},":":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}}}}}},"缺":{"docs":{},"少":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"库":{"docs":{},"问":{"docs":{},"题":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}},"点":{"docs":{},":":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}}}}},"获":{"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.0026845637583892616}}}}}}}},"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.0013477088948787063}}}}}}}}}}}}},"项":{"docs":{},"目":{"docs":{},"所":{"docs":{},"有":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"包":{"docs":{},"的":{"docs":{},"最":{"docs":{},"新":{"docs":{},"版":{"docs":{},"本":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}}}},"信":{"docs":{},"息":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"文":{"docs":{},"档":{"docs":{},",":{"docs":{},"定":{"docs":{},"义":{"docs":{},"出":{"docs":{},"最":{"docs":{},"终":{"docs":{},"的":{"docs":{},"“":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},".":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"”":{"docs":{},"文":{"docs":{},"件":{"docs":{},"结":{"docs":{},"构":{"docs":{},",":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"输":{"docs":{},"入":{"docs":{},"内":{"docs":{},"容":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}},"有":{"docs":{},"两":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}}}}}}},"一":{"docs":{},"下":{"docs":{},",":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}},"应":{"docs":{},"用":{"docs":{},"目":{"docs":{},"录":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}},"当":{"docs":{},"前":{"docs":{},"区":{"docs":{},"域":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"的":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"表":{"docs":{},"示":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}}}}},"主":{"docs":{},"题":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"为":{"docs":{},"设":{"docs":{},"置":{"docs":{},"主":{"docs":{},"题":{"docs":{},",":{"docs":{},"则":{"docs":{},"默":{"docs":{},"认":{"docs":{},"使":{"docs":{},"用":{"docs":{},"蓝":{"docs":{},"色":{"docs":{},"主":{"docs":{},"题":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}},"用":{"docs":{},"户":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"语":{"docs":{},"言":{"docs":{},"配":{"docs":{},"置":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"类":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"为":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},",":{"docs":{},"则":{"docs":{},"语":{"docs":{},"言":{"docs":{},"跟":{"docs":{},"随":{"docs":{},"系":{"docs":{},"统":{"docs":{},"语":{"docs":{},"言":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"就":{"docs":{},"会":{"docs":{},"更":{"docs":{},"新":{"docs":{},"。":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}},",":{"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":{},"一":{"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":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"改":{"docs":{},"变":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},"一":{"docs":{},"个":{"docs":{},"动":{"docs":{},"画":{"docs":{},"帧":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}},"得":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"菜":{"docs":{},"单":{"docs":{},"下":{"docs":{},"设":{"docs":{},"置":{"docs":{},"设":{"docs":{},"备":{"docs":{},"比":{"docs":{},"例":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}},"中":{"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.0013422818791946308}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}},"图":{"docs":{},"标":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}},"文":{"docs":{},"本":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}},"要":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}},"准":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"设":{"docs":{},"备":{"docs":{},"上":{"docs":{},"运":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"升":{"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.0013422818791946308}}}}}}}}}}},"安":{"docs":{},"装":{"docs":{},"并":{"docs":{},"运":{"docs":{},"行":{"docs":{},"f":{"docs":{},"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.0026845637583892616}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"启":{"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.004807692307692308}}}}}}}}}}}}},"图":{"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.004807692307692308}}}}}}}}}}}}}}}}}},"字":{"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.00390625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"开":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"查":{"docs":{},"更":{"docs":{},"改":{"docs":{},",":{"docs":{},"请":{"docs":{},"调":{"docs":{},"用":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}},"看":{"docs":{},"您":{"docs":{},"的":{"docs":{},"更":{"docs":{},"改":{"docs":{},",":{"docs":{},"请":{"docs":{},"调":{"docs":{},"用":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}}},"想":{"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.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"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":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}},"加":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"图":{"docs":{},"片":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}}}}}}}}}}},"包":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"了":{"docs":{},"解":{"docs":{},"您":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"此":{"docs":{},"功":{"docs":{},"能":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.00390625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0049504950495049506}}}}}}}},"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"由":{"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":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"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":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"关":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}},"执":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"找":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"收":{"docs":{},"集":{"docs":{},"有":{"docs":{},"关":{"docs":{},"f":{"docs":{},"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"获":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"调":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"转":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"确":{"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":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"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":{},"就":{"docs":{},"会":{"docs":{},"重":{"docs":{},"新":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"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":{},"们":{"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":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"创":{"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":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"序":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"现":{"docs":{},"上":{"docs":{},"面":{"docs":{},"这":{"docs":{},"些":{"docs":{},"功":{"docs":{},"能":{"docs":{},"会":{"docs":{},"涉":{"docs":{},"及":{"docs":{},"到":{"docs":{},"如":{"docs":{},"下":{"docs":{},"技":{"docs":{},"术":{"docs":{},"点":{"docs":{},":":{"docs":{"chapter15/intro.html":{"ref":"chapter15/intro.html","tf":0.05}}}}}}}}}}}}}}}}}}}}},"解":{"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.0013422818791946308}}}}}}}}}}}}}}}}},"释":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},":":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856}},"第":{"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":{},"组":{"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":{},"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.00411522633744856}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"析":{"docs":{},"文":{"docs":{},"本":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"“":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"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":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"决":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"冲":{"docs":{},"突":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}},"让":{"docs":{},"您":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"继":{"docs":{},"续":{"docs":{},"运":{"docs":{},"行":{"docs":{},".":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}},"我":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"支":{"docs":{},"持":{"docs":{},"多":{"docs":{},"语":{"docs":{},"言":{"docs":{"chapter13/":{"ref":"chapter13/","tf":0.25},"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}},"该":{"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.0013422818791946308}}}}}}}}}}}}}},"检":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}},"组":{"docs":{},"件":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{},"由":{"docs":{},"于":{"docs":{},"我":{"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":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"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":{},"组":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"计":{"docs":{},"数":{"docs":{},"器":{"docs":{},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},",":{"docs":{},"每":{"docs":{},"点":{"docs":{},"击":{"docs":{},"一":{"docs":{},"次":{"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.0024330900243309003}}}},"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"图":{"docs":{},"仅":{"docs":{},"在":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"时":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"标":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"子":{"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.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}},"子":{"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.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"用":{"docs":{},"于":{"docs":{},"在":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"中":{"docs":{},"获":{"docs":{},"取":{"docs":{},"模":{"docs":{},"板":{"docs":{},"类":{"docs":{},"型":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}},"添":{"docs":{},"加":{"docs":{},"用":{"docs":{},"户":{"docs":{},"凭":{"docs":{},"据":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}},"只":{"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":{},"击":{"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":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"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":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},".":{"docs":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"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":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"直":{"docs":{},"接":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"负":{"docs":{},"责":{"docs":{},"创":{"docs":{},"建":{"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":{},"t":{"docs":{},"o":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"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":{},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"进":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"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":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},")":{"docs":{},"静":{"docs":{},"态":{"docs":{},"方":{"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":{},"e":{"docs":{},"d":{"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":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},")":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"实":{"docs":{},"现":{"docs":{},"该":{"docs":{},"类":{"docs":{},"对":{"docs":{},"应":{"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":{},"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":{},"类":{"docs":{},":":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{},"样":{"docs":{},"式":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}},"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":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"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":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"应":{"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":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"调":{"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":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"接":{"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":{},"e":{"docs":{},"r":{"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":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"中":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"图":{"docs":{},"片":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"而":{"docs":{},"图":{"docs":{},"片":{"docs":{},"数":{"docs":{},"据":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},",":{"docs":{},"而":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"的":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"便":{"docs":{},"是":{"docs":{},"调":{"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":{},"片":{"docs":{},"数":{"docs":{},"据":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"。":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"用":{"docs":{},"户":{"docs":{},"关":{"docs":{},"注":{"docs":{},"的":{"docs":{},"人":{"docs":{},"数":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}},"项":{"docs":{},"目":{"docs":{},"是":{"docs":{},"否":{"docs":{},"为":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"的":{"docs":{},"项":{"docs":{},"目":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}},"的":{"docs":{},"开":{"docs":{},"源":{"docs":{},"许":{"docs":{},"可":{"docs":{},"证":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}},"跟":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}},"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.001519756838905775}}}}}}}}}},"输":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"转":{"docs":{},"到":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}},"输":{"docs":{},"入":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.005369127516778523}},"项":{"docs":{},"目":{"docs":{},"名":{"docs":{},"称":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}},"框":{"docs":{},"和":{"docs":{},"表":{"docs":{},"单":{"docs":{"chapter3/":{"ref":"chapter3/","tf":0.1}}}}},"内":{"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.0013477088948787063}}}}}}}}}}}}}}}}}},"及":{"docs":{},"表":{"docs":{},"单":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}}},"运":{"docs":{},"行":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.008053691275167786}},"启":{"docs":{},"动":{"docs":{},"你":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}},"上":{"docs":{},"面":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"点":{"docs":{},"击":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"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":{},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"页":{"docs":{},",":{"docs":{},"运":{"docs":{},"行":{"docs":{},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"图":{"2":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"两":{"docs":{},"个":{"docs":{},"示":{"docs":{},"例":{"docs":{},",":{"docs":{},"图":{"docs":{},"片":{"docs":{},"加":{"docs":{},"载":{"docs":{},"成":{"docs":{},"功":{"docs":{},"后":{"docs":{},"如":{"docs":{},"图":{"3":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}},"docs":{}}}}}}}}}}}}}}}}},"后":{"docs":{},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"图":{"3":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.00510204081632653},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}},"5":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}},"6":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}},"7":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001445086705202312}}},"8":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}}},"docs":{}}}}},",":{"docs":{},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"图":{"3":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}},"docs":{}}}}},"和":{"docs":{},"上":{"docs":{},"图":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"完":{"docs":{},"美":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"!":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}}}}}}}}}},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"任":{"docs":{},"意":{"docs":{},"方":{"docs":{},"向":{"docs":{},"拖":{"docs":{},"动":{"docs":{},"了":{"docs":{},",":{"docs":{},"运":{"docs":{},"行":{"docs":{},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"图":{"8":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}},"docs":{}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"截":{"docs":{},"取":{"docs":{},"动":{"docs":{},"画":{"docs":{},"执":{"docs":{},"行":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"的":{"docs":{},"一":{"docs":{},"帧":{"docs":{},",":{"docs":{},"如":{"docs":{},"图":{"9":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856}}},"docs":{}}}}}}}}}}}}}}}}},"一":{"docs":{},"切":{"docs":{},"都":{"docs":{},"将":{"docs":{},"自":{"docs":{},"动":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"现":{"docs":{},"在":{"docs":{},"好":{"docs":{},"多":{"docs":{},"了":{"docs":{},",":{"docs":{},"不":{"docs":{},"是":{"docs":{},"吗":{"docs":{},"?":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}},"界":{"docs":{},"面":{"docs":{},"如":{"docs":{},"图":{"7":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}},"docs":{}}}}},"点":{"docs":{},"击":{"docs":{},"右":{"docs":{},"下":{"docs":{},"角":{"docs":{},"悬":{"docs":{},"浮":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"则":{"docs":{},"可":{"docs":{},"以":{"docs":{},"切":{"docs":{},"换":{"docs":{},"主":{"docs":{},"题":{"docs":{},",":{"docs":{},"如":{"docs":{},"图":{"7":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}},"docs":{}}}}}}}}}}}}}}}}}}}}},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"图":{"1":{"4":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}},"5":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}},"docs":{}},"3":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.0078125},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.00510204081632653},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0026954177897574125},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.01762114537444934}}},"4":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.012345679012345678},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.009900990099009901},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}},"5":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.01276595744680851},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.012903225806451613},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.013605442176870748}}},"6":{"docs":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.005376344086021506}}},"7":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.002167630057803468}}},"8":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0034904013961605585},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}},"docs":{},":":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}},"下":{"docs":{},"图":{"6":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}},"docs":{}}}},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}},"见":{"docs":{},"图":{"4":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125}}},"docs":{}}}}},"结":{"docs":{},"果":{"docs":{},"如":{"docs":{},"图":{"6":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}},"7":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}},"docs":{}}}}},"示":{"docs":{},"例":{"docs":{},"后":{"docs":{},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"图":{"7":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}},"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":{},"数":{"docs":{},"字":{"docs":{},"会":{"docs":{},"逐":{"docs":{},"渐":{"docs":{},"放":{"docs":{},"大":{"docs":{},",":{"docs":{},"我":{"docs":{},"截":{"docs":{},"取":{"docs":{},"了":{"docs":{},"动":{"docs":{},"画":{"docs":{},"执":{"docs":{},"行":{"docs":{},"过":{"docs":{},"程":{"docs":{},"的":{"docs":{},"一":{"docs":{},"帧":{"docs":{},",":{"docs":{},"如":{"docs":{},"图":{"9":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{},"生":{"docs":{},"成":{"docs":{},"程":{"docs":{},"序":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}},"此":{"docs":{},"命":{"docs":{},"令":{"docs":{},"后":{"docs":{},",":{"docs":{},"会":{"docs":{},"将":{"docs":{},"我":{"docs":{},"们":{"docs":{},"之":{"docs":{},"前":{"docs":{},"通":{"docs":{},"过":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{"chapter13/intl.html":{"ref":"chapter13/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.0013422818791946308}}}}},"真":{"docs":{},"机":{"docs":{},"设":{"docs":{},"备":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}}}}},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"模":{"docs":{},"拟":{"docs":{},"器":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}},"真":{"docs":{},"机":{"docs":{},"设":{"docs":{},"备":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}},"不":{"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.0013422818791946308}}}}}}}}}}},"的":{"docs":{},"设":{"docs":{},"备":{"docs":{},"名":{"docs":{},"是":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}},"设":{"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.0013422818791946308}}}}}}}}}}}}}}},"到":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}},"。":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}}}}}}},"追":{"docs":{},"加":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}},"选":{"docs":{},"择":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.006711409395973154},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.01652892561983471}},"一":{"docs":{},"个":{"docs":{},"设":{"docs":{},"备":{"docs":{},"并":{"docs":{},"选":{"docs":{},"择":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}},"运":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"过":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}},"检":{"docs":{},"查":{"docs":{},"模":{"docs":{},"拟":{"docs":{},"器":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}},"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"上":{"docs":{},"传":{"docs":{},"多":{"docs":{},"个":{"docs":{},"文":{"docs":{},"件":{"docs":{},":":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}}}}}}},"上":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"示":{"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.00425531914893617}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"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":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0024330900243309003}}}}}}},"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.002577319587628866}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"路":{"docs":{},"由":{"docs":{},"名":{"docs":{},"打":{"docs":{},"开":{"docs":{},"新":{"docs":{},"路":{"docs":{},"由":{"docs":{},"页":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}},"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.004807692307692308}}}}}}}}}}},"它":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"个":{"docs":{},"示":{"docs":{},"例":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"图":{"docs":{},"标":{"docs":{},"就":{"docs":{},"像":{"docs":{},"使":{"docs":{},"用":{"docs":{},"文":{"docs":{},"本":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"这":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"需":{"docs":{},"要":{"docs":{},"我":{"docs":{},"们":{"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":{},"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.002551020408163265}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"种":{"docs":{},"组":{"docs":{},"件":{"docs":{},"组":{"docs":{},"合":{"docs":{},"的":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"失":{"docs":{},"去":{"docs":{},"了":{"docs":{},"大":{"docs":{},"部":{"docs":{},"分":{"docs":{},"静":{"docs":{},"态":{"docs":{},"类":{"docs":{},"型":{"docs":{},"语":{"docs":{},"言":{"docs":{},"特":{"docs":{},"性":{"docs":{},":":{"docs":{},"类":{"docs":{},"型":{"docs":{},"安":{"docs":{},"全":{"docs":{},"、":{"docs":{},"自":{"docs":{},"动":{"docs":{},"补":{"docs":{},"全":{"docs":{},"和":{"docs":{},"最":{"docs":{},"重":{"docs":{},"要":{"docs":{},"的":{"docs":{},"编":{"docs":{},"译":{"docs":{},"时":{"docs":{},"异":{"docs":{},"常":{"docs":{},"。":{"docs":{},"这":{"docs":{},"样":{"docs":{},"一":{"docs":{},"来":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"组":{"docs":{},"件":{"docs":{},"来":{"docs":{},"管":{"docs":{},"理":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"当":{"docs":{},"用":{"docs":{},"户":{"docs":{},"点":{"docs":{},"击":{"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":{},"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":{},"思":{"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.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"_":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}},"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"得":{"docs":{},"构":{"docs":{},"建":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"的":{"docs":{},"`":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"`":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0013477088948787063}}}}}}},"直":{"docs":{},"接":{"docs":{},"获":{"docs":{},"取":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}},"获":{"docs":{},"取":{"docs":{},"输":{"docs":{},"入":{"docs":{},"框":{"docs":{},"内":{"docs":{},"容":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}}}}}}}}}},"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"后":{"docs":{},"再":{"docs":{},"提":{"docs":{},"交":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}}}},"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.00202020202020202}}}}}}}}}}}}}}}}}}}}},"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":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"页":{"docs":{},"还":{"docs":{},"没":{"docs":{},"有":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{},"由":{"docs":{},"于":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"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":{},"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.00202020202020202}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"w":{"docs":{},"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":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"组":{"docs":{},"件":{"docs":{},"关":{"docs":{},"联":{"docs":{},"后":{"docs":{},"才":{"docs":{},"可":{"docs":{},"以":{"docs":{},"。":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"组":{"docs":{},"合":{"docs":{},"现":{"docs":{},"有":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"实":{"docs":{},"现":{"docs":{"chapter10/":{"ref":"chapter10/","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":{},"要":{"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":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}},"发":{"docs":{},"起":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"请":{"docs":{},"求":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"分":{"docs":{},"块":{"docs":{},"请":{"docs":{},"求":{"docs":{},"检":{"docs":{},"测":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"是":{"docs":{},"否":{"docs":{},"支":{"docs":{},"持":{"docs":{},"分":{"docs":{},"块":{"docs":{},"传":{"docs":{},"输":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}}}}}}}}}}}}}},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}},"在":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"项":{"docs":{},"目":{"docs":{},"根":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"运":{"docs":{},"行":{"docs":{},":":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}},"了":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"方":{"docs":{},"法":{"docs":{},"可":{"docs":{},"以":{"docs":{},"得":{"docs":{},"到":{"docs":{},"一":{"docs":{},"个":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"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":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"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":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"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":{},"的":{"docs":{},"监":{"docs":{},"听":{"docs":{},"器":{"docs":{},"_":{"docs":{},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},",":{"docs":{},"而":{"docs":{},"_":{"docs":{},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"中":{"docs":{},"只":{"docs":{},"更":{"docs":{},"新":{"docs":{},"了":{"docs":{},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"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":{},"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":{},"件":{"docs":{},",":{"docs":{},"每":{"docs":{},"一":{"docs":{},"次":{"docs":{},"都":{"docs":{},"会":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"解":{"docs":{},"码":{"docs":{},"后":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},"帧":{"docs":{},"。":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"常":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"组":{"docs":{},"件":{"docs":{},"的":{"docs":{},"子":{"docs":{},"组":{"docs":{},"件":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"非":{"docs":{},"常":{"docs":{},"多":{"docs":{},"、":{"docs":{},"占":{"docs":{},"用":{"docs":{},"的":{"docs":{},"总":{"docs":{},"高":{"docs":{},"度":{"docs":{},"也":{"docs":{},"会":{"docs":{},"非":{"docs":{},"常":{"docs":{},"大":{"docs":{},";":{"docs":{},"如":{"docs":{},"果":{"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":{},"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":{},"滚":{"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":{},"以":{"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":{},"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":{},"为":{"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":{},"件":{"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":{},"模":{"docs":{},"型":{"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":{},"模":{"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":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.02631578947368421}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"会":{"docs":{},"将":{"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.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"知":{"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":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{"chapter8/":{"ref":"chapter8/","tf":0.125}}}}}}},"冒":{"docs":{},"泡":{"docs":{},"原":{"docs":{},"理":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}},"和":{"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":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"上":{"docs":{},"层":{"docs":{},"节":{"docs":{},"点":{"docs":{},"任":{"docs":{},"意":{"docs":{},"位":{"docs":{},"置":{"docs":{},"来":{"docs":{},"监":{"docs":{},"听":{"docs":{},"通":{"docs":{},"知":{"docs":{},"/":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"终":{"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.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"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":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"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":{},"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":{},"上":{"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":{},"泡":{"docs":{},"(":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"用":{"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":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"道":{"docs":{},"的":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"和":{"docs":{},"宿":{"docs":{},"主":{"docs":{},"通":{"docs":{},"过":{"docs":{},"通":{"docs":{},"道":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},"中":{"docs":{},"传":{"docs":{},"递":{"docs":{},"的":{"docs":{},"通":{"docs":{},"道":{"docs":{},"名":{"docs":{},"称":{"docs":{},"进":{"docs":{},"行":{"docs":{},"连":{"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/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"遵":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}},"部":{"docs":{},"分":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}},"配":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}}},"与":{"docs":{},"使":{"docs":{},"用":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}},"重":{"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.0013422818791946308}}}}}}}}},"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.0013422818791946308}}}}}}}}}}}}}}}}},"新":{"docs":{},"启":{"docs":{},"动":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}},"运":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}},"绘":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}},"需":{"docs":{},"要":{"docs":{},"安":{"docs":{},"装":{"docs":{},"两":{"docs":{},"个":{"docs":{},"插":{"docs":{},"件":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}},"说":{"docs":{},"明":{"docs":{},":":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}},"一":{"docs":{},"个":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"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":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"g":{"docs":{},"e":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"该":{"docs":{},"参":{"docs":{},"数":{"docs":{},"类":{"docs":{},"型":{"docs":{},"为":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"。":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"注":{"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":{},"在":{"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":{},"持":{"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":{},"含":{"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":{},"非":{"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":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"组":{"docs":{},"件":{"docs":{},",":{"docs":{},"如":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"。":{"docs":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"由":{"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":{},"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":{},"个":{"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":{"chapter15/intro.html":{"ref":"chapter15/intro.html","tf":0.05}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"目":{"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":{},"o":{"docs":{},"a":{"docs":{},"u":{"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":{},"因":{"docs":{},"此":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"保":{"docs":{},"存":{"docs":{},"用":{"docs":{},"户":{"docs":{},"的":{"docs":{},"密":{"docs":{},"码":{"docs":{},"。":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"由":{"docs":{},"于":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"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":{},"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":{},"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":{},"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":{},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"docs":{},"三":{"docs":{},"点":{"docs":{},":":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}},"显":{"docs":{},"式":{"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":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},",":{"docs":{},"当":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"内":{"docs":{},"部":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"c":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"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":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"子":{"docs":{},"类":{"docs":{},"实":{"docs":{},"现":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}},"验":{"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.0013422818791946308}}}}}}}}}}}}}}}},"“":{"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.0013422818791946308}}}}}}}}}}}}}}}}}}}}}}}}},"配":{"docs":{},"置":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}},"无":{"docs":{},"误":{"docs":{},"后":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"运":{"docs":{},"行":{"docs":{},"发":{"docs":{},"布":{"docs":{},"命":{"docs":{},"令":{"docs":{},"了":{"docs":{},":":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}},"~":{"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.0013422818791946308}}}}}}}}}}}}},"z":{"docs":{},"s":{"docs":{},"h":{"docs":{},"r":{"docs":{},"c":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.0013422818791946308}}}}}}}}}},"!":{"docs":{},"=":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0056179775280898875},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0064516129032258064},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.0036127167630057803},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.006644518272425249},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.008547008547008548},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.015065913370998116},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0055762081784386614},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.012910798122065728},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.01893939393939394},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.005813953488372093},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.007692307692307693}}},"_":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.002890173410404624}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"g":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"f":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},",":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}},"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.003067484662576687}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}},"p":{"docs":{},"w":{"docs":{},"d":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},",":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}},";":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}}}},"\"":{"0":{"docs":{},"%":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}}}},"1":{"2":{"3":{"4":{"5":{"6":{"7":{"8":{"9":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"2":{"0":{"0":{"8":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.008097165991902834}}},"docs":{}},"1":{"1":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.012145748987854251}}},"8":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.008403361344537815}}},"docs":{}},"docs":{}},"docs":{}},"5":{"docs":{},".":{"2":{"0":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}}}}},"docs":{}},"docs":{}}},"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.00510204081632653},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}},"\"":{"docs":{},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.003745318352059925},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}},")":{"docs":{},")":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.003745318352059925},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}},"\"":{"docs":{},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}},"i":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.018726591760299626}},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}}}},"w":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.008403361344537815}},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter13/intl.html":{"ref":"chapter13/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.00390625}}}}}}}}}}}}}}}}}}}}},"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.002551020408163265}}}},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}},"docs":{}}}}},"docs":{}},"docs":{}},"docs":{}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}},"p":{"docs":{},"i":{"docs":{},".":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"/":{"docs":{},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"/":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"/":{"docs":{},"o":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"_":{"docs":{},"h":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"y":{"docs":{},".":{"docs":{},"g":{"docs":{},"i":{"docs":{},"f":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"\"":{"docs":{},",":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},".":{"docs":{},"d":{"docs":{},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"u":{"docs":{},"d":{"docs":{},".":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"n":{"docs":{},"/":{"docs":{},"h":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"9":{"docs":{},".":{"0":{"docs":{},".":{"2":{"docs":{},".":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"o":{"docs":{},"s":{"docs":{},"x":{"docs":{},"_":{"6":{"4":{"docs":{},".":{"docs":{},"d":{"docs":{},"m":{"docs":{},"g":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}},"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":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"/":{"docs":{},"$":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}},"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.002325581395348837}}}},":":{"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":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}}}},"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.004651162790697674}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}},"d":{"docs":{},"e":{"docs":{},"_":{"docs":{},"i":{"docs":{},"d":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.009433962264150943},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.012844036697247707},"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.012145748987854251}}}}}},"n":{"docs":{},"c":{"docs":{},"y":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}},"u":{"docs":{},"m":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}},"t":{"docs":{},"i":{"docs":{},"p":{"2":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}},"docs":{}},"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.001519756838905775}}}}}}}}}}}}}}}}}}},"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"l":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.008403361344537815}},"e":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.008403361344537815}}}}}}}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}},"m":{"docs":{},"p":{"0":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.005698005698005698}}}}}},"docs":{},"$":{"docs":{},"n":{"docs":{},"o":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.005698005698005698}}}}}}}}},"x":{"docs":{},"t":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.014005602240896359}}}}}}},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.014005602240896359},"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"\"":{"docs":{},":":{"5":{"6":{"7":{"8":{"docs":{},",":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"s":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}},":":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}},"r":{"docs":{},"e":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}},"i":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"\"":{"docs":{},":":{"docs":{},"\"":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"是":{"docs":{},"提":{"docs":{},"示":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}},"从":{"docs":{},"互":{"docs":{},"联":{"docs":{},"网":{"docs":{},"上":{"docs":{},"获":{"docs":{},"取":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}}}}}}}},"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.00625},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/intl.html":{"ref":"chapter13/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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}},"应":{"docs":{},"用":{"docs":{},"\"":{"docs":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894}},",":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0056022408963585435}}}}}}}}}}}},"i":{"docs":{},"l":{"docs":{},"e":{"1":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}},"2":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}},"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}},"s":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}},"[":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}},"r":{"docs":{},"k":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}},"s":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"_":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}},"d":{"docs":{},"u":{"docs":{},"m":{"docs":{},"p":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}},"c":{"3":{"8":{"0":{"docs":{},"d":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}},"docs":{}},"docs":{}},"docs":{}},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.014005602240896359},"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"_":{"docs":{},"b":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}},"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"\"":{"docs":{},":":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}},"_":{"docs":{},"u":{"docs":{},"s":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}}}}}}},"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.003278688524590164}}}}}},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}},":":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.007339449541284404},"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}},"\"":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{},":":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}},"x":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter13/intl.html":{"ref":"chapter13/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.001519756838905775}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}},"z":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"a":{"docs":{},"/":{"5":{"docs":{},".":{"0":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}},"{":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}},"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.002551020408163265}}}}}}}}}}}}}}},"p":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}},"x":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"\"":{"docs":{},":":{"1":{"0":{"0":{"0":{"docs":{},",":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"\"":{"docs":{},":":{"1":{"0":{"0":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}},"d":{"docs":{},"c":{"6":{"docs":{},"t":{"docs":{},"g":{"docs":{},"l":{"docs":{},"j":{"docs":{},"z":{"docs":{},"w":{"5":{"docs":{},"z":{"docs":{},"z":{"docs":{},"w":{"1":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"=":{"docs":{},"=":{"docs":{},"\"":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}},"docs":{}}}}},"docs":{}}}}}}}},"docs":{}}},"i":{"docs":{},"t":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}},"\"":{"docs":{},",":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.008097165991902834}}}}}}},"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.003278688524590164}}}}}}}}}}}},"p":{"docs":{},"u":{"docs":{},"t":{"1":{"docs":{},"\"":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}},"2":{"docs":{},"\"":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}},"docs":{}}}}},"m":{"docs":{},"g":{"docs":{},"s":{"docs":{},"/":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}}}}}}}}}}},"d":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}},"*":{"4":{"docs":{},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}}},"6":{"docs":{},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}}},"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.00390625}}}}}}}}},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"\"":{"docs":{},":":{"docs":{},"\"":{"docs":{},"$":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"_":{"docs":{},"a":{"docs":{},"t":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.008097165991902834}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}},"r":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}},":":{"docs":{},"\"":{"docs":{},"$":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}},"/":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}},"p":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"1":{"docs":{},".":{"docs":{},"t":{"docs":{},"x":{"docs":{},"t":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}},"2":{"docs":{},".":{"docs":{},"t":{"docs":{},"x":{"docs":{},"t":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}},"docs":{},".":{"docs":{},"t":{"docs":{},"x":{"docs":{},"t":{"docs":{},"\"":{"docs":{},")":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}},",":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"_":{"docs":{},"a":{"docs":{},"t":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.008097165991902834}}}}}}}}}}}}},"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}},"\"":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}},"\\":{"docs":{},"u":{"docs":{},"e":{"9":{"1":{"4":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}},"docs":{}},"docs":{}},"docs":{}}}},"密":{"docs":{},"码":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.004043126684636119}}}},"不":{"docs":{},"能":{"docs":{},"少":{"docs":{},"于":{"6":{"docs":{},"位":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}},"docs":{}}}}}}},"您":{"docs":{},"的":{"docs":{},"登":{"docs":{},"录":{"docs":{},"密":{"docs":{},"码":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.004043126684636119}}}}}}}}}},"用":{"docs":{},"户":{"docs":{},"名":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.004043126684636119}}}},"不":{"docs":{},"能":{"docs":{},"为":{"docs":{},"空":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}}},"或":{"docs":{},"邮":{"docs":{},"箱":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.004043126684636119}}}}}}}}}},"电":{"docs":{},"子":{"docs":{},"邮":{"docs":{},"件":{"docs":{},"地":{"docs":{},"址":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}}}},"池":{"docs":{},"信":{"docs":{},"息":{"docs":{},"不":{"docs":{},"可":{"docs":{},"用":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}},")":{"docs":{},",":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.04526748971193416}}},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.003669724770642202}}}},",":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856}}},"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.00202020202020202},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.009433962264150943}}}}}}}}}},"历":{"docs":{},"史":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}},"图":{"docs":{},"片":{"docs":{},"\"":{"docs":{},"]":{"docs":{},";":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}},"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.014492753623188406}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.017543859649122806}}}},"_":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}},"d":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0045871559633027525}}}}}}}},"g":{"docs":{},"e":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.009433962264150943}}}}}},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"/":{"docs":{},"v":{"docs":{},"n":{"docs":{},"d":{"docs":{},".":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"s":{"docs":{},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}},"y":{"docs":{},"m":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"#":{"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.002688172043010753}}}}}}}}}}}}}}},".":{"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}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"/":{"docs":{},"h":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"9":{"docs":{},".":{"0":{"docs":{},".":{"2":{"docs":{},".":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"o":{"docs":{},"s":{"docs":{},"x":{"docs":{},"_":{"6":{"4":{"docs":{},".":{"docs":{},"d":{"docs":{},"m":{"docs":{},"g":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}},"$":{"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.003067484662576687}}}}}}}}}},"_":{"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":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}},"标":{"docs":{},"题":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005649717514124294}}}}}}},"中":{"docs":{},"文":{"docs":{},"简":{"docs":{},"体":{"docs":{},"\"":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}},"美":{"docs":{},"国":{"docs":{},"英":{"docs":{},"语":{"docs":{},"\"":{"docs":{},"}":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}},"你":{"docs":{},"好":{"docs":{},"世":{"docs":{},"界":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0034904013961605585}}}}}}}}},"点":{"docs":{},"我":{"docs":{},"变":{"docs":{},"色":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}}},";":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0058309037900874635}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}},"i":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"h":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.014005602240896359}}}}}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"\"":{"docs":{},":":{"docs":{},"\"":{"docs":{},"$":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"_":{"docs":{},"a":{"docs":{},"t":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}},"x":{"docs":{},"x":{"docs":{},"\"":{"docs":{},":":{"docs":{},"\"":{"docs":{},"x":{"docs":{},"x":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}},"y":{"docs":{},"y":{"docs":{},"\"":{"docs":{},":":{"docs":{},"\"":{"docs":{},"d":{"docs":{},"d":{"docs":{},"\"":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}},"正":{"docs":{},"在":{"docs":{},"请":{"docs":{},"求":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}},"请":{"docs":{},"求":{"docs":{},"失":{"docs":{},"败":{"docs":{},":":{"docs":{},"$":{"docs":{},"e":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}},"b":{"docs":{},"y":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"=":{"docs":{},"$":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.005698005698005698}}}}}}}}}}}}},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}},"s":{"docs":{},"s":{"docs":{},"\"":{"docs":{},":":{"docs":{},"\"":{"docs":{},"$":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028}}}}}}}},"i":{"docs":{},"o":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}},"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":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}},":":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0056022408963585435}}}}}}}}}}}}}}}}}}}}}}}}}},"+":{"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":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}}}}}},"网":{"docs":{},"络":{"docs":{},"不":{"docs":{},"通":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}},"j":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}},"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":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"h":{"docs":{},"n":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.007339449541284404}},"@":{"docs":{},"e":{"docs":{},"x":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"\"":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}},",":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.005504587155963303}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.003669724770642202}}},":":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"u":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},")":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"\"":{"docs":{},":":{"docs":{},"\"":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"\"":{"docs":{},":":{"docs":{},"\"":{"docs":{},"\"":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.003669724770642202}}}}}}}},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"a":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}},"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}},";":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}},",":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}},"p":{"docs":{},"d":{"docs":{},"x":{"docs":{},"_":{"docs":{},"i":{"docs":{},"d":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}},"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":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}},"z":{"docs":{},"h":{"docs":{},"\"":{"docs":{},")":{"docs":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894}}}},"_":{"docs":{},"c":{"docs":{},"n":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}}}}}}}},"@":{"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":{"chapter13/intl.html":{"ref":"chapter13/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":{"chapter13/intl.html":{"ref":"chapter13/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":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0056022408963585435}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter13/intl.html":{"ref":"chapter13/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":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0056022408963585435}}}}}}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}},"o":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}},"/":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}},"@":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"_":{"docs":{},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}},"_":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}},"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.0018726591760299626}},"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.003745318352059925}}}}}}}}}}}}}}}}}}}}}}}},"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.0018587360594795538}}},".":{"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.0018587360594795538}}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"(":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0018587360594795538}},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}},"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.0018832391713747645}}}}}}}}}}}},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"f":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.007692307692307693}},"s":{"docs":{},",":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}},"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.0024330900243309003}}}}}}}}}}}}}},"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.001519756838905775}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}},"l":{"docs":{},"e":{"docs":{},"r":{"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":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}}}}}}}}}},"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":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.010884353741496598}}},")":{"docs":{},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}}},";":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.016227180527383367}},"e":{"docs":{},",":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.004056795131845842}}},"确":{"docs":{},"定":{"docs":{},"颜":{"docs":{},"色":{"docs":{},":":{"docs":{},"绿":{"docs":{},"色":{"docs":{},"为":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00411522633744856}},"e":{"docs":{},"r":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0072992700729927005},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}},"+":{"docs":{},"+":{"docs":{},";":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}},"=":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}},"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.0041928721174004195}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.008403361344537815},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}},".":{"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.003067484662576687}}}}}}}}}}}}}}},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"(":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}},".":{"0":{"docs":{},",":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}},"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.003067484662576687},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}}}},"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.004201680672268907}}}}}}}}}}}}}}}}}}}}},"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.004201680672268907}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}},";":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}},"s":{"docs":{},")":{"docs":{},",":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}},".":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}}}}},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}},"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.0018832391713747645}}}}}}}},"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.013513513513513514}}},"=":{"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.013513513513513514}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"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":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},"e":{"docs":{},".":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"s":{"docs":{},".":{"docs":{},"f":{"docs":{},"i":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"(":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}}}}}}}}}}}}}}},"[":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"]":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}},"d":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0035211267605633804}},"e":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"b":{"docs":{},"y":{"docs":{},"t":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}}}}}}}}}}}}}}}},"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.004866180048661801},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}},",":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}},"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.005376344086021506}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}}}}}}}}}}}}}},"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.008097165991902834}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0064516129032258064}},"s":{"docs":{},"[":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"]":{"docs":{},";":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0064516129032258064}}}}}}}}}}}}}}}},"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.0064516129032258064}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"(":{"docs":{},"u":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"8":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}},"s":{"docs":{},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.008097165991902834}},",":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}},"s":{"docs":{},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"(":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"0":{"docs":{},",":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}},"docs":{}}}}}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}},"=":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0035211267605633804}},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}},"?":{"docs":{},".":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"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":{},")":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"_":{"docs":{},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}}}}}}}}}}}}}},"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.009732360097323601},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801}}}}},"类":{"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":{},"m":{"docs":{},"y":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"h":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.009966777408637873}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}},"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.001519756838905775}}},"]":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}}},"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.001519756838905775}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}},"x":{"docs":{},"i":{"docs":{},"m":{"docs":{},"u":{"docs":{},"m":{"docs":{},"s":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}},"b":{"docs":{},"y":{"docs":{},"t":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0035211267605633804}}}}}}}}}}}}}}},"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.001519756838905775}}}}}}}}}},"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.0058309037900874635}}}}}}}}}}}}}}}}}}}}}},"=":{"docs":{},"\"":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0058309037900874635}}}}}}}}},"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.001519756838905775}}}}}},"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.0026954177897574125}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"m":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}},"=":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}},"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.0026954177897574125}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.011299435028248588}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}}}}}}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"(":{"docs":{},"_":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}},"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.001519756838905775}}}}}}}}}}}}},"n":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.018072289156626505}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}},"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.00202020202020202}}}}}},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}},",":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0034904013961605585}}}},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}},"s":{"docs":{},",":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}},".":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"(":{"docs":{},"{":{"docs":{},"\"":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"(":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}},";":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.004081632653061225}},")":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}},"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.001519756838905775}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}},")":{"docs":{},",":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}},"=":{"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.0017452006980802793}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}},"t":{"docs":{},"h":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.004335260115606936}},"e":{"docs":{},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.002890173410404624}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}},"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.002688172043010753}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}}}}}}}}}},"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":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.009302325581395349}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}}}}}}}}}}}}},"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.003278688524590164}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"(":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001445086705202312}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"(":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}},"o":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},".":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"s":{"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":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0034904013961605585}},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0034904013961605585}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.006085192697768763}}}},",":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.006085192697768763}}},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.004056795131845842}}}}}}},",":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.004056795131845842}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}},",":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}},"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/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}},",":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}},"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/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}},",":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}},"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.0018587360594795538}}}}}},":":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"u":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"s":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"d":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.010141987829614604}}}}}}}}}},"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0045871559633027525}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}},"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/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.004056795131845842}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.004056795131845842}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}},"c":{"docs":{},"类":{"docs":{},":":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}}}}},"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.0013477088948787063},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}},".":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}},"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.006134969325153374}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.00881057268722467}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.007575757575757576}},"e":{"docs":{},".":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}},"e":{"docs":{},")":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}},".":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"_":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}}}}},";":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}},"e":{"docs":{},",":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}},"u":{"docs":{},"s":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}},"?":{"docs":{},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},")":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}},";":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"f":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}},"s":{"docs":{},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}},"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.004201680672268907}},";":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}},"e":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}},"s":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"(":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}},"[":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"]":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},"?":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.006085192697768763}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}},"c":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.006085192697768763}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"g":{"docs":{},"n":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}},"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.00390625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0034904013961605585}},"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.0017452006980802793}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.00202020202020202}},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.006060606060606061}}},".":{"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.00202020202020202}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}}}}}}}},"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.0032258064516129032}},"(":{"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.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"x":{"docs":{},"t":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.009174311926605505},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.013953488372093023}},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.006644518272425249}},",":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}},";":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}},">":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.00847457627118644}},")":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}},"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.005649717514124294}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}}}}}}}}}}},"s":{"docs":{},";":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}},"o":{"docs":{},"g":{"docs":{},"g":{"docs":{},"l":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.005235602094240838}}}}},"p":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.010471204188481676}},",":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.005235602094240838}}}}},"w":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00823045267489712}},".":{"docs":{},"e":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{},";":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.009966777408637873}},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.006644518272425249}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.006644518272425249}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}}}}},"s":{"docs":{},",":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.006644518272425249}}}}}}}},"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.02702702702702703}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.013513513513513514}}}}}}}}},"=":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}},"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.0013477088948787063}},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}},".":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0013477088948787063}}}}}}}}},"=":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.00404040404040404}},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}}}}}}},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}},")":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}},"n":{"docs":{},"d":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}},",":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}},"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.006060606060606061}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}}}}}}}}}}}}},"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.0017452006980802793}}}}}}}}}}}}},"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.010309278350515464}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.006134969325153374}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"b":{"docs":{},"o":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"p":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"1":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}},"2":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}},"docs":{}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"a":{"docs":{},"l":{"docs":{},"b":{"docs":{},"o":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}},";":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001445086705202312}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.008403361344537815}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"t":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}}}}}}},"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.007407407407407408}},";":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}}}}}}}}}}}},"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.0026954177897574125},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0026954177897574125},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}},".":{"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.0013477088948787063}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"(":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}},"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.00202020202020202}},".":{"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.00202020202020202}}}}}}}}}}}}}}}}}}}}}}}}}}}},"=":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}}}},"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":{},"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.0034904013961605585}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0017452006980802793}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}},")":{"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":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}}}},"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":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}},",":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},"_":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}},"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":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.009852216748768473}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}},"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":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}},"{":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}},";":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}}}}},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}}},":":{"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.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}},".":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter11/socket.html":{"ref":"chapter11/socket.html","tf":0.02857142857142857}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"chapter11/socket.html":{"ref":"chapter11/socket.html","tf":0.02857142857142857}}}}}}},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"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.0018587360594795538}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}},"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.012195121951219513}},";":{"docs":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513}}}}}}}}}}}}}}},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.010471204188481676}},",":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.005235602094240838}}},"b":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}},",":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.009174311926605505}},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"(":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},",":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},";":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.007692307692307693}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}},"_":{"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.00967741935483871}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}},"e":{"docs":{},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}}}}}}}}}},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"(":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}},",":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"u":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},")":{"docs":{},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}},"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.004201680672268907}}}}}}}}}}}}}}},",":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}}}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"d":{"docs":{},"y":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},"方":{"docs":{},"法":{"docs":{},"来":{"docs":{},"构":{"docs":{},"建":{"docs":{},"主":{"docs":{},"页":{"docs":{},"内":{"docs":{},"容":{"docs":{},",":{"docs":{},"_":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"d":{"docs":{},"y":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"实":{"docs":{},"现":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},",":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"u":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}}}}}}}}},"中":{"docs":{},"文":{"docs":{},"简":{"docs":{},"体":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}}}}}}},"g":{"docs":{},"m":{"docs":{},".":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},",":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.014285714285714285}}}}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"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":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},";":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294}}}}}}},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}},"[":{"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.014814814814814815}},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"(":{"docs":{},"f":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}}}}}}}}}},";":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.014814814814814815}}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}},"e":{"docs":{},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495}}},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"(":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}},"docs":{}}}}}}}}}}}}}},")":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}},"$":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.003669724770642202}}}}}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.003669724770642202}}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"s":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}},"b":{"docs":{},"y":{"docs":{},"t":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},"e":{"docs":{},"s":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}},"…":{"docs":{},"}":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"指":{"docs":{},"定":{"docs":{},"命":{"docs":{},"名":{"docs":{},"参":{"docs":{},"数":{"docs":{},"。":{"docs":{},"例":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}}}}}}}}}},"/":{"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.004807692307692308}}}}}}}}}}}}}}}},"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.004807692307692308}}}}}}}}}}}}}}}},"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.004807692307692308}}}}}}}}}}}}}}}},"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.004807692307692308}}}}}}}}}}}}}}}}}}}}},"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}},"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.004807692307692308}}}}}}}}}}}}}},"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.004807692307692308}}}}}}}}}}}}}},"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.004807692307692308}}}}}}}}}}}}}}}},"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.004807692307692308}}}}}}}}}}},"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.004807692307692308}}}}}}},"2":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}}}}}}},"3":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}}}}}}},"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.004807692307692308}}}}}}}}}}}}},"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.004807692307692308}}}}}}}}}}}}},"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.004807692307692308}}}}}}}}}}}}}},"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.009615384615384616}}}}}}}}}}}}}}},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},".":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.014423076923076924}}}}}},"会":{"docs":{},"输":{"docs":{},"出":{"docs":{},"这":{"docs":{},"样":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"(":{"docs":{},"精":{"docs":{},"确":{"docs":{},"的":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{},"很":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"就":{"docs":{},"不":{"docs":{},"赘":{"docs":{},"述":{"docs":{},"了":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"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":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"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":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"部":{"docs":{},"分":{"docs":{},")":{"docs":{},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"首":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"创":{"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":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"返":{"docs":{},"回":{"docs":{},"。":{"docs":{},"因":{"docs":{},"为":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"中":{"docs":{},"在":{"docs":{},"判":{"docs":{},"断":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"(":{"docs":{},"此":{"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":{},"“":{"docs":{},"=":{"docs":{},"=":{"docs":{},"”":{"docs":{},"运":{"docs":{},"算":{"docs":{},"符":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"定":{"docs":{},"义":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"的":{"docs":{},"逻":{"docs":{},"辑":{"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":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"关":{"docs":{},"键":{"docs":{},"地":{"docs":{},"方":{"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":{"5":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.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":{},"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":{},"地":{"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":{},"新":{"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":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.018072289156626505},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}},"中":{"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.00202020202020202}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}}},"运":{"docs":{},"行":{"docs":{},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"图":{"5":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}},"docs":{}}}}},"后":{"docs":{},",":{"docs":{},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"图":{"7":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}},"docs":{}}}}}}}}},"比":{"docs":{},"较":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"参":{"docs":{},"照":{"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.002688172043010753}}}}}}},"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":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}},"组":{"docs":{},"织":{"docs":{},"问":{"docs":{},"题":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}},"解":{"docs":{},"释":{"docs":{},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}},":":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}},"大":{"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":{},"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":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"部":{"docs":{},"分":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}},"表":{"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":{},"(":{"1":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}},"当":{"docs":{},"前":{"docs":{},"块":{"docs":{},"的":{"docs":{},"起":{"docs":{},"始":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"代":{"docs":{},"表":{"docs":{},"结":{"docs":{},"束":{"docs":{},"位":{"docs":{},"置":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}}}}}}}}}},"是":{"docs":{},"第":{"docs":{},"几":{"docs":{},"块":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}},"理":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}},"保":{"docs":{},"存":{"docs":{},"用":{"docs":{},"户":{"docs":{},"信":{"docs":{},"息":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"中":{"docs":{},"需":{"docs":{},"要":{"docs":{},"跨":{"docs":{},"组":{"docs":{},"件":{"docs":{},"共":{"docs":{},"享":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"类":{"docs":{"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.015151515151515152}}}}}}}}}}}}}}}}},"当":{"docs":{},"前":{"docs":{},"列":{"docs":{},"表":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}},"其":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},"在":{"docs":{},"很":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"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":{},"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":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"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":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"框":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"通":{"docs":{},"过":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"+":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"来":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},"载":{"docs":{},"速":{"docs":{},"度":{"docs":{},"的":{"docs":{},"主":{"docs":{},"要":{"docs":{},"瓶":{"docs":{},"颈":{"docs":{},"是":{"docs":{},"取":{"docs":{},"决":{"docs":{},"于":{"docs":{},"网":{"docs":{},"络":{"docs":{},"速":{"docs":{},"度":{"docs":{},"和":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"的":{"docs":{},"出":{"docs":{},"口":{"docs":{},"速":{"docs":{},"度":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"是":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},"数":{"docs":{},"据":{"docs":{},"源":{"docs":{},",":{"docs":{},"分":{"docs":{},"块":{"docs":{},"下":{"docs":{},"载":{"docs":{},"的":{"docs":{},"意":{"docs":{},"义":{"docs":{},"并":{"docs":{},"不":{"docs":{},"大":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"是":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},",":{"docs":{},"出":{"docs":{},"口":{"docs":{},"速":{"docs":{},"度":{"docs":{},"确":{"docs":{},"定":{"docs":{},"的":{"docs":{},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"取":{"docs":{},"决":{"docs":{},"于":{"docs":{},"网":{"docs":{},"速":{"docs":{},",":{"docs":{},"而":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},"正":{"docs":{},"式":{"docs":{},"同":{"docs":{},"源":{"docs":{},"分":{"docs":{},"块":{"docs":{},"下":{"docs":{},"载":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"己":{"docs":{},"对":{"docs":{},"比":{"docs":{},"一":{"docs":{},"下":{"docs":{},"分":{"docs":{},"块":{"docs":{},"和":{"docs":{},"不":{"docs":{},"分":{"docs":{},"块":{"docs":{},"的":{"docs":{},"的":{"docs":{},"下":{"docs":{},"载":{"docs":{},"速":{"docs":{},"度":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},"多":{"docs":{},"个":{"docs":{},"下":{"docs":{},"载":{"docs":{},"源":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"每":{"docs":{},"个":{"docs":{},"下":{"docs":{},"载":{"docs":{},"源":{"docs":{},"的":{"docs":{},"出":{"docs":{},"口":{"docs":{},"带":{"docs":{},"宽":{"docs":{},"都":{"docs":{},"是":{"docs":{},"有":{"docs":{},"限":{"docs":{},"制":{"docs":{},"的":{"docs":{},",":{"docs":{},"这":{"docs":{},"时":{"docs":{},"分":{"docs":{},"块":{"docs":{},"下":{"docs":{},"载":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"更":{"docs":{},"快":{"docs":{},"一":{"docs":{},"下":{"docs":{},",":{"docs":{},"之":{"docs":{},"所":{"docs":{},"以":{"docs":{},"说":{"docs":{},"“":{"docs":{},"可":{"docs":{},"能":{"docs":{},"”":{"docs":{},",":{"docs":{},"是":{"docs":{},"由":{"docs":{},"于":{"docs":{},"这":{"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":{},"g":{"docs":{},"/":{"docs":{},"s":{"docs":{},",":{"docs":{},"而":{"docs":{},"我":{"docs":{},"们":{"docs":{},"设":{"docs":{},"备":{"docs":{},"所":{"docs":{},"连":{"docs":{},"网":{"docs":{},"络":{"docs":{},"的":{"docs":{},"峰":{"docs":{},"值":{"docs":{},"假":{"docs":{},"设":{"docs":{},"只":{"docs":{},"有":{"8":{"0":{"0":{"docs":{},"m":{"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":{},",":{"docs":{},"下":{"docs":{},"载":{"docs":{},"速":{"docs":{},"度":{"docs":{},"依":{"docs":{},"然":{"docs":{},"不":{"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":{},"b":{"docs":{},",":{"docs":{},"速":{"docs":{},"度":{"docs":{},"a":{"docs":{},"源":{"docs":{},"是":{"docs":{},"b":{"docs":{},"源":{"docs":{},"的":{"3":{"docs":{},"倍":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"采":{"docs":{},"用":{"docs":{},"分":{"docs":{},"块":{"docs":{},"下":{"docs":{},"载":{"docs":{},",":{"docs":{},"两":{"docs":{},"个":{"docs":{},"源":{"docs":{},"各":{"docs":{},"下":{"docs":{},"载":{"docs":{},"一":{"docs":{},"半":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"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":{},"需":{"docs":{},"的":{"docs":{},"时":{"docs":{},"间":{"docs":{},",":{"docs":{},"看":{"docs":{},"看":{"docs":{},"哪":{"docs":{},"个":{"docs":{},"更":{"docs":{},"快":{"docs":{},"。":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"它":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"方":{"docs":{},"式":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}}}}}},"异":{"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.003278688524590164}}}}}}}}}}},"尺":{"docs":{},"寸":{"docs":{},"限":{"docs":{},"制":{"docs":{},"类":{"docs":{},"容":{"docs":{},"器":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}}}}}}}}},"状":{"docs":{},"态":{"docs":{},"管":{"docs":{},"理":{"docs":{},"包":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}},"的":{"docs":{},"值":{"docs":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894}}}}},"中":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}}}}}},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"属":{"docs":{},"性":{"docs":{},"名":{"docs":{},"都":{"docs":{},"是":{"docs":{},"自":{"docs":{},"解":{"docs":{},"释":{"docs":{},"的":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"不":{"docs":{},"赘":{"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.006024096385542169}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},"为":{"docs":{},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{},"的":{"docs":{},"宽":{"docs":{},"度":{"docs":{},",":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"为":{"docs":{},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{},"高":{"docs":{},"度":{"docs":{},"。":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}},"\"":{"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"函":{"docs":{},"数":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}},"作":{"docs":{},"为":{"docs":{},"参":{"docs":{},"数":{"docs":{},"传":{"docs":{},"递":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}},"变":{"docs":{},"量":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}},"内":{"docs":{},"部":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}},"声":{"docs":{},"明":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}},"包":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}},"装":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}},"管":{"docs":{},"理":{"docs":{"chapter2/":{"ref":"chapter2/","tf":0.1},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}}}},"含":{"docs":{},"路":{"docs":{},"由":{"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.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"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.04}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"多":{"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.04}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"图":{"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":{},"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":{},"当":{"docs":{},"前":{"docs":{},"的":{"docs":{},"设":{"docs":{},"备":{"docs":{},"平":{"docs":{},"台":{"docs":{},"、":{"docs":{},"d":{"docs":{},"e":{"docs":{},"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":{},"设":{"docs":{},"备":{"docs":{},"像":{"docs":{},"素":{"docs":{},"比":{"docs":{},"等":{"docs":{},")":{"docs":{},"。":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"也":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"多":{"docs":{},"种":{"docs":{},"风":{"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/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"名":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}},"与":{"docs":{},"插":{"docs":{},"件":{"docs":{"chapter12/":{"ref":"chapter12/","tf":0.2}}}}},"包":{"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":{},"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.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":{},"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":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"案":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}},"变":{"docs":{},"量":{"docs":{},"a":{"docs":{},"不":{"docs":{},"会":{"docs":{},"报":{"docs":{},"错":{"docs":{},",":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}},"b":{"docs":{},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},"会":{"docs":{},"报":{"docs":{},"错":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}}},"只":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}},"声":{"docs":{},"明":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}},"是":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"体":{"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.004807692307692308}}}}}}}}}}}},"换":{"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}}}}}}}}}}},"(":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},")":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064}}}}}}}}}}}}}}},"后":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"否":{"docs":{},"则":{"docs":{},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},"会":{"docs":{},"报":{"docs":{},"错":{"docs":{},"。":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}}}}},",":{"docs":{},"配":{"docs":{},"置":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{},"将":{"docs":{},"出":{"docs":{},"现":{"docs":{},"的":{"docs":{},"主":{"docs":{},"要":{"docs":{},"问":{"docs":{},"题":{"docs":{},"将":{"docs":{},"是":{"docs":{},"调":{"docs":{},"试":{"docs":{},"断":{"docs":{},"言":{"docs":{},",":{"docs":{},"以":{"docs":{},"验":{"docs":{},"证":{"docs":{},"框":{"docs":{},"架":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"回":{"docs":{},"调":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}},"地":{"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.0018726591760299626}}}}}}}}}}}}},"中":{"docs":{},"打":{"docs":{},"印":{"docs":{},"日":{"docs":{},"志":{"docs":{},":":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}},"我":{"docs":{},"们":{"docs":{},"调":{"docs":{},"用":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"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":{},"取":{"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":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"s":{"docs":{},"中":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"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":{},"意":{"docs":{},",":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"(":{"docs":{},"…":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"需":{"docs":{},"要":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{},"参":{"docs":{},"数":{"docs":{},"来":{"docs":{},"判":{"docs":{},"断":{"docs":{},"是":{"docs":{},"否":{"docs":{},"使":{"docs":{},"用":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"。":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"返":{"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}},"绑":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"到":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"客":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"户":{"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"得":{"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}},"异":{"docs":{},"步":{"docs":{},"支":{"docs":{},"持":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}},"u":{"docs":{},"i":{"docs":{},"更":{"docs":{},"新":{"docs":{},"(":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"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":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"任":{"docs":{},"务":{"docs":{},"处":{"docs":{},"于":{"docs":{},"等":{"docs":{},"待":{"docs":{},"状":{"docs":{},"态":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}},"已":{"docs":{},"经":{"docs":{},"终":{"docs":{},"止":{"docs":{},".":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}},"执":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}},"完":{"docs":{},"后":{"docs":{},",":{"docs":{},"消":{"docs":{},"息":{"docs":{},"循":{"docs":{},"环":{"docs":{},"机":{"docs":{},"制":{"docs":{},"便":{"docs":{},"启":{"docs":{},"动":{"docs":{},"了":{"docs":{},"。":{"docs":{},"首":{"docs":{},"先":{"docs":{},"会":{"docs":{},"按":{"docs":{},"照":{"docs":{},"先":{"docs":{},"进":{"docs":{},"先":{"docs":{},"出":{"docs":{},"的":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"逐":{"docs":{},"个":{"docs":{},"执":{"docs":{},"行":{"docs":{},"微":{"docs":{},"任":{"docs":{},"务":{"docs":{},"队":{"docs":{},"列":{"docs":{},"中":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"当":{"docs":{},"所":{"docs":{},"有":{"docs":{},"微":{"docs":{},"任":{"docs":{},"务":{"docs":{},"队":{"docs":{},"列":{"docs":{},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{},"后":{"docs":{},"便":{"docs":{},"开":{"docs":{},"始":{"docs":{},"执":{"docs":{},"行":{"docs":{},"事":{"docs":{},"件":{"docs":{},"队":{"docs":{},"列":{"docs":{},"中":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"事":{"docs":{},"件":{"docs":{},"任":{"docs":{},"务":{"docs":{},"执":{"docs":{},"行":{"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.003278688524590164}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"删":{"docs":{},"除":{"docs":{},"操":{"docs":{},"作":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.002167630057803468}}}}}},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"图":{"docs":{},",":{"docs":{},"点":{"docs":{},"击":{"docs":{},"图":{"9":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}},"docs":{}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},".":{"docs":{},"s":{"docs":{},"h":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}}}}},"抛":{"docs":{},"出":{"docs":{},"一":{"docs":{},"个":{"docs":{},"异":{"docs":{},"常":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}}},"来":{"docs":{},"模":{"docs":{},"拟":{"docs":{},"两":{"docs":{},"个":{"docs":{},"数":{"docs":{},"据":{"docs":{},"获":{"docs":{},"取":{"docs":{},"的":{"docs":{},"异":{"docs":{},"步":{"docs":{},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"等":{"docs":{},"两":{"docs":{},"个":{"docs":{},"异":{"docs":{},"步":{"docs":{},"任":{"docs":{},"务":{"docs":{},"都":{"docs":{},"执":{"docs":{},"行":{"docs":{},"成":{"docs":{},"功":{"docs":{},"时":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"获":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"临":{"docs":{},"时":{"docs":{},"目":{"docs":{},"录":{"docs":{},";":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}},"。":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"定":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},",":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"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":{},"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":{},"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":{},"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":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"”":{"docs":{},"一":{"docs":{},"章":{"docs":{},"中":{"docs":{},"详":{"docs":{},"细":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"。":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"现":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"全":{"docs":{},"局":{"docs":{},"状":{"docs":{},"态":{"docs":{},"共":{"docs":{},"享":{"docs":{},"。":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}}}}}}}},"这":{"docs":{},"种":{"docs":{},"”":{"docs":{},"出":{"docs":{},"入":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"动":{"docs":{},"画":{"docs":{},"“":{"docs":{},",":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}},",":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"演":{"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":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"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":{},"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":{},"这":{"docs":{},"个":{"docs":{},"订":{"docs":{},"阅":{"docs":{},"者":{"docs":{},"类":{"docs":{},":":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"更":{"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.002577319587628866}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"监":{"docs":{},"听":{"docs":{},"新":{"docs":{},"消":{"docs":{},"息":{"docs":{},",":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"工":{"docs":{},"程":{"docs":{},",":{"docs":{},"如":{"docs":{},"图":{"1":{"2":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}},"执":{"docs":{},"行":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}},"保":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}},"标":{"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":{},"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":{},"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":{},"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":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"绘":{"docs":{},"制":{"docs":{},"溢":{"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":{"4":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}},"赋":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"管":{"docs":{},"理":{"docs":{},"。":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}},"正":{"docs":{},"如":{"docs":{},"上":{"docs":{},"文":{"docs":{},"所":{"docs":{},"述":{"docs":{},",":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}}}}},"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"综":{"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.0018726591760299626}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"比":{"docs":{},"较":{"docs":{},"建":{"docs":{},"议":{"docs":{},"使":{"docs":{},"用":{"docs":{},"命":{"docs":{},"名":{"docs":{},"路":{"docs":{},"由":{"docs":{},",":{"docs":{},"当":{"docs":{},"然":{"docs":{},"这":{"docs":{},"并":{"docs":{},"不":{"docs":{},"是":{"docs":{},"什":{"docs":{},"么":{"docs":{},"金":{"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.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"!":{"docs":{},"=":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0018726591760299626}}}},"路":{"docs":{},"由":{"docs":{},"管":{"docs":{},"理":{"docs":{"chapter2/":{"ref":"chapter2/","tf":0.1},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}},"(":{"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":{},"f":{"docs":{},"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":{},"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.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"传":{"docs":{},"值":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}},"参":{"docs":{},"数":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}},"生":{"docs":{},"成":{"docs":{},"钩":{"docs":{},"子":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}},"表":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}},"的":{"docs":{},"注":{"docs":{},"册":{"docs":{},"方":{"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.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},":":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004651162790697674}}}}}},"a":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403}}},"b":{"docs":{},":":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.008771929824561403}}}}},"径":{"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.00625}}}}}}}}}}}}}}}}}}},")":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004651162790697674},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.024096385542168676},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.017857142857142856},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.014824797843665768},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00823045267489712},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.009900990099009901},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015625},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.015463917525773196},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.05531914893617021},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.03488372093023256},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.025806451612903226},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.010101010101010102},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001445086705202312},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.01694915254237288},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.010471204188481676},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.006172839506172839},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0027210884353741495},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.013888888888888888},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}},",":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0340632603406326},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.02558139534883721},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.009615384615384616},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.004559270516717325},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.014675052410901468},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.02636916835699797},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.03125},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.018072289156626505},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.030612244897959183},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.04177897574123989},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.048458149779735685},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0411522633744856},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.07692307692307693},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.019801980198019802},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.046875},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.03608247422680412},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.031578947368421054},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.02553191489361702},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.05161290322580645},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.059602649006622516},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.03838383838383838},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.061224489795918366},"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.02631578947368421},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.043478260869565216},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.005376344086021506},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.012145748987854251},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.06040268456375839},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.018404907975460124},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.00967741935483871},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.03672316384180791},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.03251445086705202},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.05649717514124294},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.02268760907504363},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.02040816326530612},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010309278350515464},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.06140350877192982},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.05042016806722689},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00823045267489712},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.054187192118226604},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.013289036544850499},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.03945578231292517},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.011299435028248588},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.006880733944954129},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.005698005698005698},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.027906976744186046},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.02142857142857143},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.012121212121212121},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.003766478342749529},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.042352941176470586},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.03076923076923077},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.04430379746835443}}},";":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.009732360097323601},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.023255813953488372},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.00303951367781155},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.009836065573770493},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.006289308176100629},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.010141987829614604},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.03515625},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.017857142857142856},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.008086253369272238},"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.00881057268722467},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.01646090534979424},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.011834319526627219},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00851063829787234},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.012903225806451613},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00808080808080808},"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374},"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.02631578947368421},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.013440860215053764},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.016194331983805668},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.020134228187919462},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.015337423312883436},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.012727272727272728},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005649717514124294},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.010582010582010581},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.026734104046242775},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.012216404886561954},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.014577259475218658},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.01804123711340206},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.024844720496894408},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.03508771929824561},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.029411764705882353},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.01440329218106996},"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.009852216748768473},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.016611295681063124},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.00816326530612245},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.006880733944954129},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.009433962264150943},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.005698005698005698},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.013953488372093023},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717},"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.04},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.005868544600938967},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.005813953488372093},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.02},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.02531645569620253}}},"布":{"docs":{},"局":{"docs":{},"模":{"docs":{},"型":{"docs":{},"设":{"docs":{},"计":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}}}}}}}},")":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}},";":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}},";":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064}}},".":{"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.012605042016806723}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}},"{":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004651162790697674},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.03951367781155015},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0041928721174004195},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.02028397565922921},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0026954177897574125},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.010309278350515464},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0064516129032258064},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.005454545454545455},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.002890173410404624},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.006172839506172839},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0045871559633027525},"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.005813953488372093},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.00823529411764706},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.011538461538461539},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.012658227848101266}},"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.0032258064516129032}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},":":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.012578616352201259},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.010309278350515464},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.006060606060606061},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.002890173410404624},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.006172839506172839},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.006644518272425249},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0035211267605633804},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},")":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0035211267605633804}},";":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.006085192697768763},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001445086705202312},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.006644518272425249},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},"{":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}},"方":{"docs":{},"法":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},"从":{"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":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},"。":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004866180048661801},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0041928721174004195},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.004056795131845842},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125},"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.015463917525773196},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.006060606060606061},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0036363636363636364},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.002890173410404624},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005649717514124294},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005154639175257732},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.0102880658436214},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.006644518272425249},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0035211267605633804},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587}}},"}":{"docs":{},")":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428},"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}},"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.0013477088948787063}}},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}},":":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"(":{"docs":{},"t":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"(":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"p":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}},"n":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}},"o":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}}}}},"与":{"docs":{},"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}},"分":{"docs":{},"析":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}},"器":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}},"可":{"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.001519756838905775}}}}}}}}}}}}}}}}}},",":{"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.001519756838905775}}}}}}}}}}}}}}}}}},"别":{"docs":{},"指":{"docs":{},"定":{"docs":{},"四":{"docs":{},"个":{"docs":{},"方":{"docs":{},"向":{"docs":{},"的":{"docs":{},"补":{"docs":{},"白":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684}}}}}}}}}}}},"发":{"docs":{},"通":{"docs":{},"知":{"docs":{},"。":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}},"块":{"docs":{},"下":{"docs":{},"载":{"docs":{},"有":{"docs":{},"什":{"docs":{},"么":{"docs":{},"实":{"docs":{},"际":{"docs":{},"的":{"docs":{},"用":{"docs":{},"处":{"docs":{},"吗":{"docs":{},"?":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}}}},"的":{"docs":{},"最":{"docs":{},"终":{"docs":{},"速":{"docs":{},"度":{"docs":{},"受":{"docs":{},"设":{"docs":{},"备":{"docs":{},"所":{"docs":{},"在":{"docs":{},"网":{"docs":{},"络":{"docs":{},"带":{"docs":{},"宽":{"docs":{},"、":{"docs":{},"源":{"docs":{},"出":{"docs":{},"口":{"docs":{},"速":{"docs":{},"度":{"docs":{},"、":{"docs":{},"每":{"docs":{},"个":{"docs":{},"块":{"docs":{},"大":{"docs":{},"小":{"docs":{},"、":{"docs":{},"以":{"docs":{},"及":{"docs":{},"分":{"docs":{},"块":{"docs":{},"的":{"docs":{},"数":{"docs":{},"量":{"docs":{},"等":{"docs":{},"诸":{"docs":{},"多":{"docs":{},"因":{"docs":{},"素":{"docs":{},"影":{"docs":{},"响":{"docs":{},",":{"docs":{},"实":{"docs":{},"际":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"很":{"docs":{},"难":{"docs":{},"保":{"docs":{},"证":{"docs":{},"速":{"docs":{},"度":{"docs":{},"最":{"docs":{},"优":{"docs":{},"。":{"docs":{},"在":{"docs":{},"实":{"docs":{},"际":{"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/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"真":{"docs":{},"的":{"docs":{},"能":{"docs":{},"提":{"docs":{},"高":{"docs":{},"下":{"docs":{},"载":{"docs":{},"速":{"docs":{},"度":{"docs":{},"吗":{"docs":{},"?":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}}}}},"还":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"比":{"docs":{},"较":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"场":{"docs":{},"景":{"docs":{},"是":{"docs":{},"断":{"docs":{},"点":{"docs":{},"续":{"docs":{},"传":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"将":{"docs":{},"文":{"docs":{},"件":{"docs":{},"分":{"docs":{},"为":{"docs":{},"若":{"docs":{},"干":{"docs":{},"个":{"docs":{},"块":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"维":{"docs":{},"护":{"docs":{},"一":{"docs":{},"个":{"docs":{},"下":{"docs":{},"载":{"docs":{},"状":{"docs":{},"态":{"docs":{},"文":{"docs":{},"件":{"docs":{},"用":{"docs":{},"以":{"docs":{},"记":{"docs":{},"录":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"块":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"即":{"docs":{},"使":{"docs":{},"在":{"docs":{},"网":{"docs":{},"络":{"docs":{},"中":{"docs":{},"断":{"docs":{},"后":{"docs":{},",":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"恢":{"docs":{},"复":{"docs":{},"中":{"docs":{},"断":{"docs":{},"前":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"具":{"docs":{},"体":{"docs":{},"实":{"docs":{},"现":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"己":{"docs":{},"尝":{"docs":{},"试":{"docs":{},"一":{"docs":{},"下":{"docs":{},",":{"docs":{},"还":{"docs":{},"是":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"细":{"docs":{},"节":{"docs":{},"需":{"docs":{},"要":{"docs":{},"特":{"docs":{},"别":{"docs":{},"注":{"docs":{},"意":{"docs":{},"的":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"分":{"docs":{},"块":{"docs":{},"大":{"docs":{},"小":{"docs":{},"多":{"docs":{},"少":{"docs":{},"合":{"docs":{},"适":{"docs":{},"?":{"docs":{},"下":{"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/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"子":{"docs":{},"组":{"docs":{},"件":{"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.0024330900243309003}}}}}}}}}}},"为":{"docs":{},"正":{"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/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"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":{},"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":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"导":{"docs":{},"入":{"docs":{},"包":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}},"字":{"docs":{},"体":{"docs":{},"图":{"docs":{},"标":{"docs":{},"文":{"docs":{},"件":{"docs":{},";":{"docs":{},"这":{"docs":{},"一":{"docs":{},"步":{"docs":{},"和":{"docs":{},"导":{"docs":{},"入":{"docs":{},"字":{"docs":{},"体":{"docs":{},"文":{"docs":{},"件":{"docs":{},"相":{"docs":{},"同":{"docs":{},",":{"docs":{},"假":{"docs":{},"设":{"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.002551020408163265}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"并":{"docs":{},"创":{"docs":{},"建":{"docs":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},"实":{"docs":{},"例":{"docs":{},":":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}},"航":{"docs":{},"栏":{"docs":{},"右":{"docs":{},"侧":{"docs":{},"菜":{"docs":{},"单":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}},"边":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"分":{"docs":{},"享":{"docs":{},"按":{"docs":{},"钮":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}}}},"底":{"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.00202020202020202}}}}}}}}}}}}}}}},"阴":{"docs":{},"影":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}},"返":{"docs":{},"回":{"docs":{},"拦":{"docs":{},"截":{"docs":{"chapter7/":{"ref":"chapter7/","tf":0.1111111111111111}},"(":{"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":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513}}}}}}}}}}}}}}}}}}}}}},"应":{"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":{},"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"入":{"docs":{},"口":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}}},"结":{"docs":{},"构":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}}},"或":{"docs":{},"包":{"docs":{},"的":{"docs":{},"描":{"docs":{},"述":{"docs":{},"、":{"docs":{},"简":{"docs":{},"介":{"docs":{},"。":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}}}}}}}}}}},"的":{"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":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"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":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"程":{"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":{},"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":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"信":{"docs":{},"息":{"docs":{},"等":{"docs":{},"。":{"docs":{},"在":{"docs":{},"f":{"docs":{},"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":{},"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":{},"量":{"docs":{},"和":{"docs":{},"共":{"docs":{},"享":{"docs":{},"状":{"docs":{},"态":{"docs":{},"分":{"docs":{},"开":{"docs":{},"单":{"docs":{},"独":{"docs":{},"管":{"docs":{},"理":{"docs":{},"。":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"该":{"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.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"先":{"docs":{},"运":{"docs":{},"行":{"docs":{},"创":{"docs":{},"建":{"docs":{},"的":{"docs":{},"工":{"docs":{},"程":{"docs":{},",":{"docs":{},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"图":{"2":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}},"docs":{}}}}}}}}}}}}},"注":{"docs":{},"册":{"docs":{},"一":{"docs":{},"个":{"docs":{},"路":{"docs":{},"由":{"docs":{},":":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}},"来":{"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.0020964360587002098}}}}}}}}}}}}}},"个":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},":":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}},"看":{"docs":{},"最":{"docs":{},"终":{"docs":{},"要":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},"效":{"docs":{},"果":{"docs":{},"(":{"docs":{},"图":{"1":{"0":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}},"docs":{}},"docs":{}}}}}}}}}}}}},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"全":{"docs":{},"新":{"docs":{},"的":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"工":{"docs":{},"程":{"docs":{},",":{"docs":{},"命":{"docs":{},"名":{"docs":{},"为":{"docs":{},"\"":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"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":{"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.015151515151515152}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"定":{"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.00425531914893617}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"构":{"docs":{},"建":{"docs":{},"显":{"docs":{},"示":{"docs":{},"总":{"docs":{},"价":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},":":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}},"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":{},"图":{"7":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}},"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.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}},"看":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"i":{"docs":{},"c":{"docs":{},"认":{"docs":{},"证":{"docs":{},"的":{"docs":{},"基":{"docs":{},"本":{"docs":{},"过":{"docs":{},"程":{"docs":{},":":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"t":{"docs":{},"i":{"docs":{},"p":{"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":{},"t":{"docs":{},"i":{"docs":{},"p":{"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":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.003067484662576687}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"计":{"docs":{},"时":{"docs":{},"器":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},":":{"docs":{},"每":{"docs":{},"隔":{"1":{"docs":{},"秒":{"docs":{},",":{"docs":{},"计":{"docs":{},"数":{"docs":{},"加":{"1":{"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":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.002325581395348837}}}}}}}}}}}}}}}}}}}}}},"面":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"了":{"docs":{},"通":{"docs":{},"知":{"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":{},"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":{},"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":{},"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":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"前":{"docs":{},"面":{"docs":{},"章":{"docs":{},"节":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},"中":{"docs":{},"已":{"docs":{},"经":{"docs":{},"使":{"docs":{},"用":{"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":{},"来":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"它":{"docs":{},"。":{"docs":{},"通":{"docs":{},"过":{"docs":{},"查":{"docs":{},"找":{"docs":{},"s":{"docs":{},"d":{"docs":{},"k":{"docs":{},"源":{"docs":{},"码":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"到":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"组":{"docs":{},"件":{"docs":{},"定":{"docs":{},"义":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"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":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"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":{},"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":{},"组":{"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":{},"要":{"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.006622516556291391}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"用":{"docs":{},"户":{"docs":{},"选":{"docs":{},"择":{"docs":{},"删":{"docs":{},"除":{"docs":{},"一":{"docs":{},"个":{"docs":{},"文":{"docs":{},"件":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"询":{"docs":{},"问":{"docs":{},"是":{"docs":{},"否":{"docs":{},"产":{"docs":{},"出":{"docs":{},"此":{"docs":{},"文":{"docs":{},"件":{"docs":{},";":{"docs":{},"在":{"docs":{},"用":{"docs":{},"户":{"docs":{},"选":{"docs":{},"择":{"docs":{},"一":{"docs":{},"个":{"docs":{},"文":{"docs":{},"件":{"docs":{},"夹":{"docs":{},"是":{"docs":{},",":{"docs":{},"应":{"docs":{},"该":{"docs":{},"再":{"docs":{},"让":{"docs":{},"用":{"docs":{},"户":{"docs":{},"确":{"docs":{},"认":{"docs":{},"是":{"docs":{},"否":{"docs":{},"删":{"docs":{},"除":{"docs":{},"子":{"docs":{},"文":{"docs":{},"件":{"docs":{},"夹":{"docs":{},"。":{"docs":{},"为":{"docs":{},"了":{"docs":{},"在":{"docs":{},"用":{"docs":{},"户":{"docs":{},"选":{"docs":{},"择":{"docs":{},"了":{"docs":{},"文":{"docs":{},"件":{"docs":{},"夹":{"docs":{},"时":{"docs":{},"避":{"docs":{},"免":{"docs":{},"二":{"docs":{},"次":{"docs":{},"弹":{"docs":{},"窗":{"docs":{},"确":{"docs":{},"认":{"docs":{},"是":{"docs":{},"否":{"docs":{},"删":{"docs":{},"除":{"docs":{},"子":{"docs":{},"目":{"docs":{},"录":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"确":{"docs":{},"认":{"docs":{},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{},"底":{"docs":{},"部":{"docs":{},"添":{"docs":{},"加":{"docs":{},"一":{"docs":{},"个":{"docs":{},"“":{"docs":{},"同":{"docs":{},"时":{"docs":{},"删":{"docs":{},"除":{"docs":{},"子":{"docs":{},"目":{"docs":{},"录":{"docs":{},"?":{"docs":{},"”":{"docs":{},"的":{"docs":{},"复":{"docs":{},"选":{"docs":{},"框":{"docs":{},",":{"docs":{},"如":{"docs":{},"图":{"7":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}},"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":{},"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":{},"如":{"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":{},"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":{},"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":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006211180124223602}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"请":{"docs":{},"求":{"docs":{},"头":{"docs":{},"中":{"docs":{},"添":{"docs":{},"加":{"docs":{},"\"":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}}}}}}},"”":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"/":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"“":{"docs":{},"下":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"”":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"_":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"“":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"实":{"docs":{},"现":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"“":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"”":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"“":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"”":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"结":{"docs":{},"构":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"”":{"docs":{},"文":{"docs":{},"件":{"docs":{},"保":{"docs":{},"存":{"docs":{},"上":{"docs":{},"述":{"docs":{},"信":{"docs":{},"息":{"docs":{},"。":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"”":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"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":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"添":{"docs":{},"加":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"打":{"docs":{},"开":{"docs":{},"新":{"docs":{},"路":{"docs":{},"由":{"docs":{},"的":{"docs":{},"按":{"docs":{},"钮":{"docs":{},",":{"docs":{},"并":{"docs":{},"将":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"文":{"docs":{},"字":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"设":{"docs":{},"置":{"docs":{},"为":{"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":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"也":{"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.00625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"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.002551020408163265}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"知":{"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"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.00625}}}}}}}}}}}}}}}}}}},"在":{"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.00411522633744856}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"0":{"docs":{},".":{"2":{"docs":{},",":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},"改":{"docs":{},"为":{"docs":{},":":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}},"图":{"docs":{},"片":{"docs":{},"放":{"docs":{},"大":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},"改":{"docs":{},"为":{"docs":{},"先":{"docs":{},"放":{"docs":{},"大":{"docs":{},"再":{"docs":{},"缩":{"docs":{},"小":{"docs":{},"再":{"docs":{},"放":{"docs":{},"大":{"docs":{},"…":{"docs":{},"…":{"docs":{},"这":{"docs":{},"样":{"docs":{},"的":{"docs":{},"循":{"docs":{},"环":{"docs":{},"动":{"docs":{},"画":{"docs":{},"。":{"docs":{},"要":{"docs":{},"实":{"docs":{},"现":{"docs":{},"这":{"docs":{},"种":{"docs":{},"效":{"docs":{},"果":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"监":{"docs":{},"听":{"docs":{},"动":{"docs":{},"画":{"docs":{},"状":{"docs":{},"态":{"docs":{},"的":{"docs":{},"改":{"docs":{},"变":{"docs":{},"即":{"docs":{},"可":{"docs":{},",":{"docs":{},"即":{"docs":{},":":{"docs":{},"在":{"docs":{},"动":{"docs":{},"画":{"docs":{},"正":{"docs":{},"向":{"docs":{},"执":{"docs":{},"行":{"docs":{},"结":{"docs":{},"束":{"docs":{},"时":{"docs":{},"反":{"docs":{},"转":{"docs":{},"动":{"docs":{},"画":{"docs":{},",":{"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.002577319587628866}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"执":{"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.004201680672268907}}}}}}}}}}}}}}}}}}},"看":{"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.00625}}}}}}}}}}}}}}}}}}}},"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},"类":{"docs":{},"型":{"docs":{},"是":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}}}}}}},"看":{"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.010526315789473684}}}}}}}}}}}}}}}}}}}},"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":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}}}}}}}}}},"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":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}},"这":{"docs":{},"些":{"docs":{},"方":{"docs":{},"法":{"docs":{},"分":{"docs":{},"别":{"docs":{},"做":{"docs":{},"了":{"docs":{},"什":{"docs":{},"么":{"docs":{},":":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}}}}}}},"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":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}},"最":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"发":{"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.003278688524590164}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"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.003278688524590164}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"没":{"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.0017452006980802793}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"调":{"docs":{},"用":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"最":{"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.003278688524590164}}}}}}}}}}}}}}}}}}},"可":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"绘":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"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":{},"组":{"docs":{},"件":{"docs":{},"如":{"docs":{},"何":{"docs":{},"排":{"docs":{},"列":{"docs":{},"(":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"现":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"动":{"docs":{},"画":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"用":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"组":{"docs":{},"件":{"docs":{},"将":{"docs":{},"要":{"docs":{},"共":{"docs":{},"享":{"docs":{},"的":{"docs":{},"w":{"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.008771929824561403}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"无":{"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}}}}}}}}}}}},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"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":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"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":{},"码":{"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.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}},"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.006211180124223602}}}}}}}}}}},"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.006060606060606061}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"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":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"发":{"docs":{},"现":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"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":{},"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":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"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":{},"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":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"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":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"观":{"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/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"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":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}},"先":{"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":{},"(":{"2":{"docs":{},",":{"0":{"docs":{},".":{"0":{"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":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"o":{"docs":{},"的":{"docs":{},"实":{"docs":{},"际":{"docs":{},"偏":{"docs":{},"移":{"docs":{},"坐":{"docs":{},"标":{"docs":{},"为":{"docs":{},"(":{"9":{"0":{"docs":{},",":{"3":{"0":{"docs":{},")":{"docs":{},"。":{"docs":{},"实":{"docs":{},"际":{"docs":{},"运":{"docs":{},"行":{"docs":{},"如":{"docs":{},"图":{"4":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}},"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":{},"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":{},"组":{"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":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"不":{"docs":{},"再":{"docs":{},"赘":{"docs":{},"述":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"如":{"docs":{},"果":{"docs":{},"我":{"docs":{},"们":{"docs":{},"想":{"docs":{},"实":{"docs":{},"现":{"docs":{},"如":{"docs":{},"图":{"5":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}},"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":{},"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":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"组":{"docs":{},"件":{"docs":{},"使":{"docs":{},"用":{"docs":{},"。":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}},"调":{"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":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"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":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"y":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"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":{},"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":{},"。":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"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":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter13/intl.html":{"ref":"chapter13/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":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"运":{"docs":{},"行":{"docs":{},"应":{"docs":{},"用":{"docs":{},"并":{"docs":{},"打":{"docs":{},"开":{"docs":{},"该":{"docs":{},"路":{"docs":{},"由":{"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.0020964360587002098}}}}}}}}}}}}}},"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":{},"图":{"3":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}},"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}},"成":{"docs":{},"功":{"docs":{},"的":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"了":{"docs":{},"下":{"docs":{},"划":{"docs":{},"线":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"和":{"docs":{},"提":{"docs":{},"问":{"docs":{},"文":{"docs":{},"字":{"docs":{},"样":{"docs":{},"式":{"docs":{},",":{"docs":{},"细":{"docs":{},"心":{"docs":{},"的":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"能":{"docs":{},"已":{"docs":{},"经":{"docs":{},"发":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"要":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"图":{"3":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}},"docs":{}}}}}}}}},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"进":{"docs":{},"度":{"docs":{},"条":{"docs":{},"在":{"3":{"docs":{},"秒":{"docs":{},"内":{"docs":{},"从":{"docs":{},"灰":{"docs":{},"色":{"docs":{},"变":{"docs":{},"成":{"docs":{},"蓝":{"docs":{},"色":{"docs":{},"的":{"docs":{},"动":{"docs":{},"画":{"docs":{},":":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}}}}}}}}}}}}},"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.00425531914893617}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}},"页":{"docs":{},"面":{"docs":{},",":{"docs":{},"它":{"docs":{},"包":{"docs":{},"含":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}},"路":{"docs":{},"由":{"docs":{},"换":{"docs":{},"肤":{"docs":{},"功":{"docs":{},"能":{"docs":{},":":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}},",":{"docs":{},"当":{"docs":{},"该":{"docs":{},"路":{"docs":{},"由":{"docs":{},"打":{"docs":{},"开":{"docs":{},"时":{"docs":{},"我":{"docs":{},"们":{"docs":{},"从":{"docs":{},"网":{"docs":{},"上":{"docs":{},"获":{"docs":{},"取":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"获":{"docs":{},"取":{"docs":{},"数":{"docs":{},"据":{"docs":{},"时":{"docs":{},"弹":{"docs":{},"一":{"docs":{},"个":{"docs":{},"加":{"docs":{},"载":{"docs":{},"框":{"docs":{},";":{"docs":{},"获":{"docs":{},"取":{"docs":{},"结":{"docs":{},"束":{"docs":{},"时":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"成":{"docs":{},"功":{"docs":{},"则":{"docs":{},"显":{"docs":{},"示":{"docs":{},"获":{"docs":{},"取":{"docs":{},"到":{"docs":{},"的":{"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":{},"隔":{"3":{"docs":{},"秒":{"docs":{},"后":{"docs":{},"返":{"docs":{},"回":{"docs":{},"一":{"docs":{},"个":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},":":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"获":{"docs":{},"取":{"docs":{},"百":{"docs":{},"度":{"docs":{},"首":{"docs":{},"页":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},",":{"docs":{},"示":{"docs":{},"例":{"docs":{},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"图":{"1":{"1":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}},"docs":{}},"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":{},"w":{"docs":{},"i":{"docs":{},"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.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"对":{"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.0049504950495049506}}}}}}}}}}}}}}}}},"给":{"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":{},"文":{"docs":{},"本":{"docs":{},"组":{"docs":{},"件":{"docs":{},"的":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"调":{"docs":{},"整":{"docs":{},"一":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"会":{"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":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"中":{"docs":{},"已":{"docs":{},"经":{"docs":{},"指":{"docs":{},"定":{"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":{},"要":{"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":{},"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":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"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":{},"个":{"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.011627906976744186}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"过":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"如":{"docs":{},"图":{"5":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}}},"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":{},"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.0017452006980802793}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},"开":{"docs":{},"放":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"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":{},"织":{"docs":{},"下":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"公":{"docs":{},"开":{"docs":{},"的":{"docs":{},"开":{"docs":{},"源":{"docs":{},"项":{"docs":{},"目":{"docs":{},",":{"docs":{},"实":{"docs":{},"现":{"docs":{},":":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"读":{"docs":{},"取":{"docs":{},"响":{"docs":{},"应":{"docs":{},"流":{"docs":{},"来":{"docs":{},"获":{"docs":{},"取":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"返":{"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}},"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":{},"是":{"docs":{},"一":{"docs":{},"个":{"9":{"docs":{},"位":{"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.006060606060606061}}}}}}}}}}}}}}}}},"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.002688172043010753}}}}}}}}}}}}}}}},"介":{"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.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"来":{"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.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"上":{"docs":{},"面":{"docs":{},"实":{"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":{},"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":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"一":{"docs":{},"一":{"docs":{},"讨":{"docs":{},"论":{"docs":{},"。":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"点":{"docs":{},"击":{"docs":{},"”":{"docs":{},"添":{"docs":{},"加":{"docs":{},"商":{"docs":{},"品":{"docs":{},"“":{"docs":{},"按":{"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":{},"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":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"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":{},"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":{},"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":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"根":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"是":{"docs":{},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"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":{},"的":{"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":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"o":{"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":{},"!":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"显":{"docs":{},"示":{"docs":{},"购":{"docs":{},"物":{"docs":{},"车":{"docs":{},"中":{"docs":{},"所":{"docs":{},"有":{"docs":{},"商":{"docs":{},"品":{"docs":{},"总":{"docs":{},"价":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},":":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}},"知":{"docs":{},"道":{"docs":{},",":{"docs":{},"在":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"中":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}}}}}}}},"已":{"docs":{},"经":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"过":{"docs":{},"了":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"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":{},"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":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"风":{"docs":{},"格":{"docs":{},")":{"docs":{},"?":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"知":{"docs":{},"道":{"docs":{},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{},"最":{"docs":{},"终":{"docs":{},"都":{"docs":{},"是":{"docs":{},"由":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"l":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"方":{"docs":{},"法":{"docs":{},"打":{"docs":{},"开":{"docs":{},"的":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"来":{"docs":{},"看":{"docs":{},"看":{"docs":{},"它":{"docs":{},"的":{"docs":{},"具":{"docs":{},"体":{"docs":{},"实":{"docs":{},"现":{"docs":{},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"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":{},"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}},"在":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"以":{"docs":{},"拖":{"docs":{},"动":{"docs":{},"手":{"docs":{},"势":{"docs":{},"为":{"docs":{},"例":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"识":{"docs":{},"别":{"docs":{},"水":{"docs":{},"平":{"docs":{},"和":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},"的":{"docs":{},"拖":{"docs":{},"动":{"docs":{},"手":{"docs":{},"势":{"docs":{},",":{"docs":{},"当":{"docs":{},"用":{"docs":{},"户":{"docs":{},"按":{"docs":{},"下":{"docs":{},"手":{"docs":{},"指":{"docs":{},"时":{"docs":{},"就":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"竞":{"docs":{},"争":{"docs":{},"(":{"docs":{},"水":{"docs":{},"平":{"docs":{},"方":{"docs":{},"向":{"docs":{},"和":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},")":{"docs":{},",":{"docs":{},"一":{"docs":{},"旦":{"docs":{},"某":{"docs":{},"个":{"docs":{},"方":{"docs":{},"向":{"docs":{},"“":{"docs":{},"获":{"docs":{},"胜":{"docs":{},"”":{"docs":{},",":{"docs":{},"则":{"docs":{},"直":{"docs":{},"到":{"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.0017452006980802793}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},":":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"景":{"docs":{},"色":{"docs":{},"渐":{"docs":{},"变":{"docs":{},"和":{"docs":{},"圆":{"docs":{},"角":{"docs":{},",":{"docs":{},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{},"w":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"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":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"和":{"docs":{},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{},"w":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"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":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"之":{"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":{},"一":{"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":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"议":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"都":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter11/socket.html":{"ref":"chapter11/socket.html","tf":0.02857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"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":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},"旋":{"docs":{},"转":{"docs":{},"效":{"docs":{},"果":{"docs":{},"。":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"还":{"docs":{},"是":{"docs":{},"以":{"docs":{},"计":{"docs":{},"数":{"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/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"何":{"docs":{},"收":{"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":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"美":{"docs":{},"元":{"docs":{},"符":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"返":{"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":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"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":{},"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":{},"i":{"docs":{},"o":{"docs":{},"s":{"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":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"行":{"docs":{},"查":{"docs":{},"看":{"docs":{},"其":{"docs":{},"文":{"docs":{},"档":{"docs":{},",":{"docs":{},"在":{"docs":{},"此":{"docs":{},"不":{"docs":{},"再":{"docs":{},"赘":{"docs":{},"述":{"docs":{},"。":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"定":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}},"建":{"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":{"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"始":{"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"必":{"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":{"chapter13/intl.html":{"ref":"chapter13/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":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"再":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"注":{"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":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"说":{"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":{},"现":{"docs":{},"通":{"docs":{},"过":{"docs":{},"用":{"docs":{},"户":{"docs":{},"名":{"docs":{},"和":{"docs":{},"密":{"docs":{},"码":{"docs":{},"登":{"docs":{},"录":{"docs":{},"。":{"docs":{},"在":{"docs":{},"实":{"docs":{},"现":{"docs":{},"登":{"docs":{},"录":{"docs":{},"页":{"docs":{},"时":{"docs":{},"有":{"docs":{},"四":{"docs":{},"点":{"docs":{},"需":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},":":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}},"方":{"docs":{},"法":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},"。":{"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"它":{"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":{},"u":{"docs":{},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"它":{"docs":{},"接":{"docs":{},"受":{"docs":{},"一":{"docs":{},"个":{"docs":{},"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":{},"y":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"m":{"docs":{},"y":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"(":{"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"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.003278688524590164}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"以":{"docs":{},"生":{"docs":{},"成":{"docs":{},"封":{"docs":{},"装":{"docs":{},"了":{"docs":{},"一":{"docs":{},"系":{"docs":{},"列":{"docs":{},"本":{"docs":{},"地":{"docs":{},"化":{"docs":{},"值":{"docs":{},"的":{"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/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}}}}}},"该":{"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":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}},"内":{"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":{},"图":{"2":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"docs":{},"订":{"docs":{},"阅":{"docs":{},"语":{"docs":{},"言":{"docs":{},"改":{"docs":{},"变":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{},"当":{"docs":{},"用":{"docs":{},"户":{"docs":{},"在":{"docs":{},"设":{"docs":{},"置":{"docs":{},"页":{"docs":{},"切":{"docs":{},"换":{"docs":{},"语":{"docs":{},"言":{"docs":{},"后":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"发":{"docs":{},"布":{"docs":{},"语":{"docs":{},"言":{"docs":{},"改":{"docs":{},"变":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"而":{"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":{},"方":{"docs":{},"法":{"docs":{},"重":{"docs":{},"新":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"一":{"docs":{},"下":{"docs":{},"自":{"docs":{},"身":{"docs":{},"即":{"docs":{},"可":{"docs":{},"。":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"构":{"docs":{},"建":{"docs":{},"的":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"单":{"docs":{},"独":{"docs":{},"构":{"docs":{},"建":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"调":{"docs":{},"用":{"docs":{},"在":{"docs":{},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"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":{},"用":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"是":{"docs":{},"无":{"docs":{},"法":{"docs":{},"影":{"docs":{},"响":{"docs":{},"通":{"docs":{},"过":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"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":{},"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":{},"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":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"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.0018832391713747645}}}}}}}}}}}}}}}},"除":{"docs":{},"了":{"docs":{},"完":{"docs":{},"成":{"docs":{},"自":{"docs":{},"身":{"docs":{},"布":{"docs":{},"局":{"docs":{},",":{"docs":{},"也":{"docs":{},"必":{"docs":{},"须":{"docs":{},"完":{"docs":{},"成":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"布":{"docs":{},"局":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"只":{"docs":{},"有":{"docs":{},"父":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"全":{"docs":{},"部":{"docs":{},"完":{"docs":{},"成":{"docs":{},"后":{"docs":{},"布":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"而":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"通":{"docs":{},"过":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"的":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"(":{"docs":{},"…":{"docs":{},")":{"docs":{},"、":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"(":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},")":{"docs":{},"等":{"docs":{},"方":{"docs":{},"法":{"docs":{},"来":{"docs":{},"完":{"docs":{},"成":{"docs":{},"最":{"docs":{},"终":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"。":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"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.00390625}}}}}}}}}}},"来":{"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":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"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":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"移":{"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}},"下":{"docs":{},"方":{"docs":{},":":{"docs":{"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.006269592476489028}}}}},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"从":{"docs":{},"当":{"docs":{},"前":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}},"用":{"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/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}}}}}}}}}}}}},"的":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}},"显":{"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.0024330900243309003}}}}}}}}}}}}}}}},"固":{"docs":{},"定":{"docs":{},"文":{"docs":{},"本":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}}}},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"图":{"4":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125}}},"7":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}},"docs":{}}}}},"进":{"docs":{},"度":{"docs":{},"条":{"docs":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406}}}}}}},"构":{"docs":{},"建":{"docs":{},"u":{"docs":{},"i":{"docs":{},"界":{"docs":{},"面":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}},"的":{"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"过":{"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":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"错":{"docs":{},"误":{"docs":{},"信":{"docs":{},"息":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}}}}},"时":{"docs":{},"输":{"docs":{},"出":{"docs":{},"日":{"docs":{},"志":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}},"主":{"docs":{},"页":{"docs":{},"面":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}},"卡":{"docs":{},"片":{"docs":{},"底":{"docs":{},"部":{"docs":{},"信":{"docs":{},"息":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}}}}}}}},"菜":{"docs":{},"单":{"docs":{},"项":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}},"项":{"docs":{},"目":{"docs":{},"标":{"docs":{},"题":{"docs":{},"和":{"docs":{},"简":{"docs":{},"介":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}},"的":{"docs":{},"各":{"docs":{},"个":{"docs":{},"参":{"docs":{},"数":{"docs":{},"的":{"docs":{},"意":{"docs":{},"义":{"docs":{},":":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"轻":{"docs":{},"松":{"docs":{},"创":{"docs":{},"建":{"docs":{},"带":{"docs":{},"图":{"docs":{},"标":{"docs":{},"的":{"docs":{},"按":{"docs":{},"钮":{"docs":{},",":{"docs":{},"如":{"docs":{},"图":{"3":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}},"docs":{}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}},"状":{"docs":{},"态":{"docs":{},"访":{"docs":{},"问":{"docs":{},"不":{"docs":{},"便":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}}}},"。":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.004056795131845842}}},"管":{"docs":{},"理":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}},"用":{"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.0024330900243309003}}}}}}},"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.002577319587628866}}}}}}}}}}},"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.002577319587628866}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"于":{"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.0020964360587002098}}}}}}}}}},"指":{"docs":{},"定":{"docs":{},"最":{"docs":{},"大":{"docs":{},"宽":{"docs":{},"高":{"docs":{},"、":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"y":{"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.00425531914893617}}}}}}}}}}}}}}}}}}}}}}}}}}},"该":{"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":{},"时":{"docs":{},"间":{"docs":{},"。":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}},"保":{"docs":{},"存":{"docs":{},"购":{"docs":{},"物":{"docs":{},"车":{"docs":{},"中":{"docs":{},"商":{"docs":{},"品":{"docs":{},"列":{"docs":{},"表":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}},"从":{"docs":{},"一":{"docs":{},"个":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"构":{"docs":{},"造":{"docs":{},"出":{"docs":{},"一":{"docs":{},"个":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}},"绑":{"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.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":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}},"或":{"docs":{},"密":{"docs":{},"码":{"docs":{},"字":{"docs":{},"段":{"docs":{},"在":{"docs":{},"调":{"docs":{},"用":{"docs":{},"登":{"docs":{},"录":{"docs":{},"接":{"docs":{},"口":{"docs":{},"前":{"docs":{},"有":{"docs":{},"本":{"docs":{},"地":{"docs":{},"合":{"docs":{},"法":{"docs":{},"性":{"docs":{},"校":{"docs":{},"验":{"docs":{},"(":{"docs":{},"比":{"docs":{},"如":{"docs":{},"不":{"docs":{},"能":{"docs":{},"为":{"docs":{},"空":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"手":{"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.0017452006980802793}}}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}}}},"信":{"docs":{},"息":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}},"(":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},")":{"docs":{},"应":{"docs":{},"包":{"docs":{},"括":{"docs":{},"如":{"docs":{},"下":{"docs":{},"信":{"docs":{},"息":{"docs":{},":":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}},"所":{"docs":{},"处":{"docs":{},"地":{"docs":{},"理":{"docs":{},"位":{"docs":{},"置":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}},"注":{"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":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"简":{"docs":{},"介":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}},"改":{"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":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}},"状":{"docs":{},"态":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}},"在":{"docs":{},"登":{"docs":{},"录":{"docs":{},"状":{"docs":{},"态":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},"时":{"docs":{},"更":{"docs":{},"新":{"docs":{},"、":{"docs":{},"通":{"docs":{},"知":{"docs":{},"其":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"项":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"定":{"docs":{},"义":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"点":{"docs":{},"击":{"docs":{},"”":{"docs":{},"注":{"docs":{},"销":{"docs":{},"“":{"docs":{},",":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},".":{"docs":{},"u":{"docs":{},"s":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}},"途":{"docs":{"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":0.04}}}},"继":{"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.0024330900243309003}}}}}}}}}}}}},"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":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"自":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}},"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":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"中":{"docs":{},"。":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"计":{"docs":{},"数":{"docs":{},"器":{"docs":{},"应":{"docs":{},"用":{"docs":{},"示":{"docs":{},"例":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}}}}}}},"设":{"docs":{},"置":{"docs":{},"状":{"docs":{},"态":{"docs":{},"的":{"docs":{},"自":{"docs":{},"增":{"docs":{},"函":{"docs":{},"数":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0024330900243309003}}}}}}}}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"图":{"docs":{},"标":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}}}}}}},"其":{"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.001519756838905775}}}}}}}}}}}}}},"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.001519756838905775}}}}}}}}}}}}}}},"给":{"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":{},"图":{"3":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}},"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.0013477088948787063}}}}}}}}}}}}},"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.0013477088948787063}}}}}}}}}}}}}}},"默":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02}}}}}}},"用":{"docs":{},"户":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"可":{"docs":{},"能":{"docs":{},"为":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},",":{"docs":{},"代":{"docs":{},"表":{"docs":{},"未":{"docs":{},"登":{"docs":{},"录":{"docs":{},")":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}}}}}}}}}}},"为":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},",":{"docs":{},"不":{"docs":{},"建":{"docs":{},"立":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"关":{"docs":{},"系":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}},"新":{"docs":{},"的":{"docs":{},",":{"docs":{},"由":{"docs":{},"此":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"出":{"docs":{},"e":{"docs":{},"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.0018587360594795538}}}}}}}}}}}}}}}}}}},"计":{"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.002824858757062147}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"试":{"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":{},"变":{"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":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"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":{},"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":{},"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"?":{"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":{},"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.0024330900243309003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004651162790697674},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.00510204081632653},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015625},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.012605042016806723}},"b":{"docs":{},"o":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684}}}}}}}},"/":{"docs":{},"/":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}},"假":{"docs":{},"设":{"docs":{},"我":{"docs":{},"们":{"docs":{},"也":{"docs":{},"想":{"docs":{},"将":{"docs":{},"上":{"docs":{},"面":{"docs":{},"路":{"docs":{},"由":{"docs":{},"传":{"docs":{},"参":{"docs":{},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},"的":{"docs":{},"t":{"docs":{},"i":{"docs":{},"p":{"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":{},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"接":{"docs":{},"受":{"docs":{},"一":{"docs":{},"个":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"要":{"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":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"从":{"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.002688172043010753}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"给":{"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":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"项":{"docs":{},"目":{"docs":{},"中":{"docs":{},"需":{"docs":{},"要":{"docs":{},"使":{"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.002551020408163265}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"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.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"点":{"docs":{},"击":{"docs":{},"时":{"docs":{},"给":{"docs":{},"文":{"docs":{},"本":{"docs":{},"变":{"docs":{},"色":{"docs":{},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}}}}}}}}},"的":{"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"想":{"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"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.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":{},"侧":{"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":{},"s":{"docs":{},"w":{"docs":{},"i":{"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":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"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":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"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":{},"度":{"docs":{},"。":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"类":{"docs":{},"中":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"他":{"docs":{},"可":{"docs":{},"以":{"docs":{},"返":{"docs":{},"回":{"docs":{},"一":{"docs":{},"个":{"docs":{},"[":{"0":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}},"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":{},"组":{"docs":{},"件":{"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.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"参":{"docs":{},"数":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"如":{"docs":{},"何":{"docs":{},"在":{"docs":{},"不":{"docs":{},"改":{"docs":{},"变":{"docs":{},"t":{"docs":{},"i":{"docs":{},"p":{"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":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"来":{"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":{},"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":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{},"由":{"docs":{},"于":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"的":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},"中":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}}}}},"都":{"docs":{},"比":{"docs":{},"较":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"不":{"docs":{},"在":{"docs":{},"赘":{"docs":{},"述":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"一":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},",":{"docs":{},"假":{"docs":{},"如":{"docs":{},"我":{"docs":{},"们":{"docs":{},"要":{"docs":{},"在":{"docs":{},"删":{"docs":{},"除":{"docs":{},"文":{"docs":{},"件":{"docs":{},"事":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"一":{"docs":{},"个":{"docs":{},"确":{"docs":{},"认":{"docs":{},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{},",":{"docs":{},"该":{"docs":{},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{},"如":{"docs":{},"图":{"7":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}},"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":{},"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"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":{},"型":{"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":{},"e":{"docs":{},"r":{"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":{},"关":{"docs":{},"接":{"docs":{},"口":{"docs":{},"。":{"docs":{},"它":{"docs":{},"的":{"docs":{},"主":{"docs":{},"要":{"docs":{},"职":{"docs":{},"责":{"docs":{},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},":":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"名":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}},"它":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},",":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"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":{},"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":{},"的":{"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.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"自":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"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":{},"w":{"docs":{},"i":{"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":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"如":{"docs":{},"下":{"docs":{},"方":{"docs":{},"式":{"docs":{},"获":{"docs":{},"取":{"docs":{},"到":{"docs":{},":":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.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":{},"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":{},"`":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"引":{"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.002325581395348837}}}}}}}}}}}}}}}}}}}},"入":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}},"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.00625}}}}}}}}}}}}}}}}},"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":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},":":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}},"很":{"docs":{},"多":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"在":{"docs":{},"路":{"docs":{},"由":{"docs":{},"跳":{"docs":{},"转":{"docs":{},"时":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"带":{"docs":{},"一":{"docs":{},"些":{"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":{},"页":{"docs":{},"才":{"docs":{},"知":{"docs":{},"道":{"docs":{},"展":{"docs":{},"示":{"docs":{},"哪":{"docs":{},"个":{"docs":{},"商":{"docs":{},"品":{"docs":{},"信":{"docs":{},"息":{"docs":{},";":{"docs":{},"又":{"docs":{},"比":{"docs":{},"如":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"填":{"docs":{},"写":{"docs":{},"订":{"docs":{},"单":{"docs":{},"时":{"docs":{},"需":{"docs":{},"要":{"docs":{},"选":{"docs":{},"择":{"docs":{},"收":{"docs":{},"获":{"docs":{},"地":{"docs":{},"址":{"docs":{},",":{"docs":{},"打":{"docs":{},"开":{"docs":{},"地":{"docs":{},"址":{"docs":{},"选":{"docs":{},"择":{"docs":{},"页":{"docs":{},"后":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"将":{"docs":{},"用":{"docs":{},"户":{"docs":{},"选":{"docs":{},"择":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"返":{"docs":{},"回":{"docs":{},"到":{"docs":{},"订":{"docs":{},"单":{"docs":{},"页":{"docs":{},"等":{"docs":{},"等":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"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.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"给":{"docs":{},"列":{"docs":{},"表":{"docs":{},"添":{"docs":{},"加":{"docs":{},"一":{"docs":{},"个":{"docs":{},"固":{"docs":{},"定":{"docs":{},"表":{"docs":{},"头":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"我":{"docs":{},"们":{"docs":{},"想":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"商":{"docs":{},"品":{"docs":{},"列":{"docs":{},"表":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"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":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}},"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":{},"取":{"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":{},"(":{"docs":{},"比":{"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":{},"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":{},"数":{"docs":{},"据":{"docs":{},"更":{"docs":{},"新":{"docs":{},"u":{"docs":{},"i":{"docs":{},"的":{"docs":{},"这":{"docs":{},"种":{"docs":{},"场":{"docs":{},"景":{"docs":{},"非":{"docs":{},"常":{"docs":{},"常":{"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":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"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":{},"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":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"人":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"简":{"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.006024096385542169}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"明":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}},"清":{"docs":{},"晰":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"网":{"docs":{},"络":{"docs":{},"图":{"docs":{},"片":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"会":{"docs":{},"将":{"docs":{},"其":{"docs":{},"“":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"+":{"docs":{},"缩":{"docs":{},"放":{"docs":{},"比":{"docs":{},"例":{"docs":{},"”":{"docs":{},"作":{"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":{},"r":{"docs":{},"l":{"docs":{},"或":{"docs":{},"s":{"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":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"所":{"docs":{},"谓":{"docs":{},"”":{"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.002325581395348837}}}}}}}}}}}}},"线":{"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":{},"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.00411522633744856}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"向":{"docs":{},"均":{"docs":{},"使":{"docs":{},"用":{"docs":{},"相":{"docs":{},"同":{"docs":{},"数":{"docs":{},"值":{"docs":{},"的":{"docs":{},"填":{"docs":{},"充":{"docs":{},"。":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684}}}}}}}}}}}}}}},"动":{"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":{},"在":{"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":{},"必":{"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":{},"t":{"docs":{},"w":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.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":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}}}}}}}}}}}},"新":{"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.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"添":{"docs":{},"加":{"docs":{},"的":{"docs":{},"依":{"docs":{},"赖":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}}}}}}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"显":{"docs":{},"示":{"docs":{},"动":{"docs":{},"画":{"docs":{},"时":{"docs":{},"长":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}},"的":{"docs":{},"动":{"docs":{},"画":{"docs":{},"曲":{"docs":{},"线":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}},"比":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}},"如":{"docs":{},"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":{},"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.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"省":{"docs":{},"略":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},"其":{"docs":{},"它":{"docs":{},"路":{"docs":{},"由":{"docs":{},"注":{"docs":{},"册":{"docs":{},"信":{"docs":{},"息":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}}}}}},"属":{"docs":{},"性":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}},"无":{"docs":{},"关":{"docs":{},"代":{"docs":{},"码":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}},"具":{"docs":{},"体":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}},"部":{"docs":{},"分":{"docs":{},"定":{"docs":{},"义":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}},"还":{"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.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"熟":{"docs":{},"悉":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"开":{"docs":{},"发":{"docs":{},"的":{"docs":{},"同":{"docs":{},"学":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"发":{"docs":{},"现":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"组":{"docs":{},"件":{"docs":{},"的":{"docs":{},"特":{"docs":{},"性":{"docs":{},"和":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"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":{},":":{"docs":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}},"适":{"docs":{},"配":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.002325581395348837}}}},"除":{"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":{},"接":{"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":{},"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.002325581395348837}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"上":{"docs":{},"面":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"的":{"docs":{},"这":{"docs":{},"些":{"docs":{},"常":{"docs":{},"用":{"docs":{},"的":{"docs":{},"尺":{"docs":{},"寸":{"docs":{},"限":{"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":{},"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":{},"l":{"docs":{},"i":{"docs":{},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"列":{"docs":{},"举":{"docs":{},"的":{"docs":{},",":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}},"提":{"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":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"节":{"docs":{},"我":{"docs":{},"们":{"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":{},"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.014492753623188406}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"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.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"#":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.005698005698005698},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.003669724770642202},"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.015625}},"省":{"docs":{},"略":{"docs":{},"剩":{"docs":{},"余":{"docs":{},"内":{"docs":{},"容":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}}}}},"指":{"docs":{},"定":{"docs":{},"一":{"docs":{},"个":{"docs":{},"字":{"docs":{},"体":{"docs":{},"名":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}}}}}},"\"":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}},"请":{"docs":{},"使":{"docs":{},"用":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"上":{"docs":{},"的":{"docs":{},"最":{"docs":{},"新":{"docs":{},"版":{"docs":{},"本":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333},"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}}}},".":{"docs":{},".":{"docs":{},".":{"docs":{},"省":{"docs":{},"略":{"docs":{},"无":{"docs":{},"关":{"docs":{},"项":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0056022408963585435}}}}}}}}}}},"^":{"0":{"docs":{},".":{"1":{"5":{"docs":{},".":{"7":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}},"docs":{}}},"7":{"docs":{},".":{"2":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}},"docs":{}}},"docs":{},".":{"0":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}}},"2":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}}},"docs":{}}},"4":{"docs":{},".":{"1":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}},"2":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.010416666666666666}}},"docs":{}}},"docs":{}}},"1":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}},"docs":{}}},"docs":{}}},"2":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.003669724770642202}}},"docs":{}}},"docs":{}}},"3":{"docs":{},".":{"1":{"docs":{},".":{"3":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.00625}}},"docs":{}}},"docs":{}}},"docs":{},"x":{"docs":{},".":{"docs":{},"x":{"docs":{},".":{"docs":{},"x":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}},"y":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}},"是":{"docs":{},"一":{"docs":{},"种":{"docs":{},"直":{"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.00625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002688172043010753}}}}}}},"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"s":{"docs":{},";":{"docs":{"chapter12/ios_implement.html":{"ref":"chapter12/ios_implement.html","tf":0.004132231404958678}}}}}},")":{"docs":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894}},"是":{"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.00625}}}}}}}}}}}}}}}},"的":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"会":{"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":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"加":{"docs":{},"载":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}},"图":{"docs":{},"片":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.009615384615384616}},"数":{"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":{},"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":{},"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":{},"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":{},"是":{"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":{},"数":{"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":{},",":{"docs":{},"而":{"docs":{},"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":{},"的":{"docs":{},"应":{"docs":{},"用":{"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/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"文":{"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.004807692307692308}}}}}}}}},"资":{"docs":{},"源":{"docs":{},"时":{"docs":{},",":{"docs":{},"内":{"docs":{},"部":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"建":{"docs":{},"议":{"docs":{},"使":{"docs":{},"用":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}}}}}}},"该":{"docs":{},"图":{"docs":{},"片":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}}}},"只":{"docs":{},"需":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}},"按":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}},"要":{"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":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"要":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}},"应":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"能":{"docs":{},"通":{"docs":{},"过":{"docs":{},"父":{"docs":{},"元":{"docs":{},"素":{"docs":{},"设":{"docs":{},"置":{"docs":{},".":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}}}}},"负":{"docs":{},"责":{"docs":{},"布":{"docs":{},"局":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"。":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}}}},"会":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"声":{"docs":{},"明":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}},"分":{"docs":{},"辨":{"docs":{},"率":{"docs":{},"相":{"docs":{},"关":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}}}}}}}}}},"文":{"docs":{},"本":{"docs":{},"样":{"docs":{},"式":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}}}}}}},"拖":{"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.004807692307692308}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"动":{"docs":{},"、":{"docs":{},"滑":{"docs":{},"动":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}},"时":{"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.004807692307692308}}}}}}}}}}}}}}}}},"则":{"docs":{},"不":{"docs":{},"会":{"docs":{},"。":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125}}}}}},"继":{"docs":{},"续":{"docs":{},"向":{"docs":{},"上":{"docs":{},"冒":{"docs":{},"泡":{"docs":{},"通":{"docs":{},"知":{"docs":{},"。":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}},"(":{"docs":{},"如":{"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"便":{"docs":{},"会":{"docs":{},"重":{"docs":{},"新":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"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":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"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.0018832391713747645}}}}}}}}}}}}}}}}},"才":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}},"每":{"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":{},"的":{"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":{},"夹":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"都":{"docs":{},"有":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}},"委":{"docs":{},"托":{"docs":{},"必":{"docs":{},"须":{"docs":{},"定":{"docs":{},"义":{"docs":{},"一":{"docs":{},"个":{"docs":{},"异":{"docs":{},"步":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.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":{},"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"次":{"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":{},"储":{"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":{},"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":{},"可":{"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":{},"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":{},"可":{"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":{},"时":{"docs":{},"还":{"docs":{},"没":{"docs":{},"有":{"docs":{},"存":{"docs":{},"储":{"docs":{},"过":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"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.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"点":{"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":{},"疑":{"docs":{},"惑":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"饶":{"docs":{},"了":{"docs":{},"一":{"docs":{},"大":{"docs":{},"圈":{"docs":{},"实":{"docs":{},"现":{"docs":{},"这":{"docs":{},"么":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},"有":{"docs":{},"意":{"docs":{},"义":{"docs":{},"么":{"docs":{},"?":{"docs":{},"其":{"docs":{},"实":{"docs":{},",":{"docs":{},"就":{"docs":{},"这":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},"来":{"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":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"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":{},"做":{"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":{},"a":{"docs":{},"p":{"docs":{},"p":{"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":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"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":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"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":{},"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":{},"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":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"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":{},"生":{"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":{"chapter13/intl.html":{"ref":"chapter13/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.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"特":{"docs":{},"定":{"docs":{},"平":{"docs":{},"台":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.004807692307692308}}}}},"殊":{"docs":{},"情":{"docs":{},"况":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856}}}}}},"请":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"确":{"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.001519756838905775}}}}}}}}}}}}},"阅":{"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.00411522633744856}}}}}}}}}}}}}}}}}}}},"求":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}},"失":{"docs":{},"败":{"docs":{},",":{"docs":{},"显":{"docs":{},"示":{"docs":{},"错":{"docs":{},"误":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}},"已":{"docs":{},"结":{"docs":{},"束":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}},"成":{"docs":{},"功":{"docs":{},",":{"docs":{},"显":{"docs":{},"示":{"docs":{},"数":{"docs":{},"据":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}},"未":{"docs":{},"结":{"docs":{},"束":{"docs":{},",":{"docs":{},"显":{"docs":{},"示":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"chapter7/futurebuilder_and_streambuilder.html":{"ref":"chapter7/futurebuilder_and_streambuilder.html","tf":0.005291005291005291}}}}}}}}}}}},"结":{"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}},"后":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"请":{"docs":{},"求":{"docs":{},"失":{"docs":{},"败":{"docs":{},",":{"docs":{},"则":{"docs":{},"展":{"docs":{},"示":{"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/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}},"头":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}},"那":{"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.004807692307692308}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"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":{},"读":{"docs":{},"者":{"docs":{},",":{"docs":{},"在":{"docs":{},"定":{"docs":{},"义":{"docs":{},"一":{"docs":{},"个":{"docs":{},"通":{"docs":{},"用":{"docs":{},"的":{"docs":{},"组":{"docs":{},"件":{"docs":{},"时":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"要":{"docs":{},"对":{"docs":{},"子":{"docs":{},"组":{"docs":{},"件":{"docs":{},"指":{"docs":{},"定":{"docs":{},"限":{"docs":{},"制":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"一":{"docs":{},"定":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"一":{"docs":{},"旦":{"docs":{},"指":{"docs":{},"定":{"docs":{},"限":{"docs":{},"制":{"docs":{},"条":{"docs":{},"件":{"docs":{},",":{"docs":{},"子":{"docs":{},"组":{"docs":{},"件":{"docs":{},"如":{"docs":{},"果":{"docs":{},"要":{"docs":{},"进":{"docs":{},"行":{"docs":{},"相":{"docs":{},"关":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"大":{"docs":{},"小":{"docs":{},"时":{"docs":{},"将":{"docs":{},"可":{"docs":{},"能":{"docs":{},"非":{"docs":{},"常":{"docs":{},"困":{"docs":{},"难":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"子":{"docs":{},"组":{"docs":{},"件":{"docs":{},"在":{"docs":{},"不":{"docs":{},"更":{"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.00425531914893617}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"现":{"docs":{},"在":{"docs":{},"就":{"docs":{},"带":{"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":{},"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":{},"用":{"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":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"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":{},"都":{"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":{},"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":{},"来":{"docs":{},",":{"docs":{},"具":{"docs":{},"体":{"docs":{},"作":{"docs":{},"法":{"docs":{},"下":{"docs":{},"一":{"docs":{},"节":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"通":{"docs":{},"过":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"问":{"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":{},"s":{"docs":{},"w":{"docs":{},"i":{"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":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"正":{"docs":{},"向":{"docs":{},"(":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},")":{"docs":{},"和":{"docs":{},"反":{"docs":{},"向":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"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":{},"m":{"docs":{},"y":{"docs":{},"s":{"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":{},"它":{"docs":{},"和":{"docs":{},"s":{"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":{},"一":{"docs":{},"的":{"docs":{},"不":{"docs":{},"同":{"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/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"@":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"标":{"docs":{},"注":{"docs":{},":":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"就":{"docs":{},"不":{"docs":{},"会":{"docs":{},"通":{"docs":{},"过":{"docs":{},"编":{"docs":{},"译":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"崩":{"docs":{},"溃":{"docs":{},"。":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}},"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"就":{"docs":{},"有":{"docs":{},"潜":{"docs":{},"在":{"docs":{},"的":{"docs":{},"冲":{"docs":{},"突":{"docs":{},"。":{"docs":{},"避":{"docs":{},"免":{"docs":{},"这":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},"的":{"docs":{},"最":{"docs":{},"好":{"docs":{},"方":{"docs":{},"法":{"docs":{},"是":{"docs":{},"在":{"docs":{},"指":{"docs":{},"定":{"docs":{},"依":{"docs":{},"赖":{"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/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"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":{},"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":{},"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"都":{"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.004807692307692308}}}}}}}}}}}}}},"←":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.02735562310030395}}},"→":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}},"⋯":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}},"│":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.044072948328267476},"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.03643724696356275}}},"└":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}},"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.001519756838905775}}}}}}}}}},"c":{"docs":{},"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.001519756838905775}}}}}}}}}}}}}}}}}}}},"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"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.001519756838905775}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"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.001519756838905775}}}}}}}}}}}}}}}}}}},"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"(":{"2":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}},"3":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}},"4":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}},"docs":{}}}}}}}}}}}}}}},"t":{"docs":{},"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.001519756838905775}}}}}}}}}}}}}},"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"─":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.00303951367781155}},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}}}}},"─":{"docs":{"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.045454545454545456},"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}},"├":{"docs":{},"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.001519756838905775}}}},"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.001519756838905775}}}}}}},"─":{"docs":{"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.22727272727272727},"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.03643724696356275}}}}},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"▄":{"docs":{},"▄":{"docs":{},"▄":{"docs":{},"▄":{"docs":{},"▄":{"docs":{},"▄":{"docs":{},"▄":{"docs":{},"▄":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.00303951367781155}}}}}}}}}},"同":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"也":{"docs":{},"意":{"docs":{},"味":{"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":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},"只":{"docs":{},"会":{"docs":{},"被":{"docs":{},"下":{"docs":{},"载":{"docs":{},"一":{"docs":{},"次":{"docs":{},"。":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}},"包":{"docs":{},"中":{"docs":{},"的":{"docs":{},"源":{"docs":{},"码":{"docs":{},"文":{"docs":{},"件":{"docs":{},"之":{"docs":{},"间":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"相":{"docs":{},"对":{"docs":{},"路":{"docs":{},"径":{"docs":{},"来":{"docs":{},"导":{"docs":{},"入":{"docs":{},"。":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}},"图":{"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.001519756838905775}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}},"片":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}},"和":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter3/":{"ref":"chapter3/","tf":0.1}}}}}}},"及":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}}}},"中":{"docs":{},"的":{"docs":{},"帧":{"docs":{},"数":{"docs":{},"(":{"docs":{},"动":{"docs":{},"态":{"docs":{},"图":{"docs":{},"会":{"docs":{},"有":{"docs":{},"多":{"docs":{},"帧":{"docs":{},")":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}},"加":{"docs":{},"载":{"docs":{},"原":{"docs":{},"理":{"docs":{},"与":{"docs":{},"缓":{"docs":{},"存":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}},"的":{"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":{},"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":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"来":{"docs":{},"完":{"docs":{},"成":{"docs":{},"。":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"还":{"docs":{},"未":{"docs":{},"加":{"docs":{},"载":{"docs":{},"成":{"docs":{},"功":{"docs":{},",":{"docs":{},"直":{"docs":{},"接":{"docs":{},"返":{"docs":{},"回":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}},"标":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}},"库":{"docs":{},"中":{"docs":{},"没":{"docs":{},"有":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"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":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"图":{"docs":{},"标":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"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":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"项":{"docs":{},"目":{"docs":{},"中":{"docs":{},"。":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"完":{"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.001519756838905775}}}}}}}}}}}}}}}}},"整":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}}}}}},"例":{"docs":{},"子":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}},"代":{"docs":{},"码":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}},"层":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.00303951367781155}},"叠":{"docs":{},"布":{"docs":{},"局":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125}},"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}}}}}}}}}}}}},"和":{"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":{},"组":{"docs":{},"件":{"docs":{},"可":{"docs":{},"以":{"docs":{},"根":{"docs":{},"据":{"docs":{},"距":{"docs":{},"父":{"docs":{},"容":{"docs":{},"器":{"docs":{},"四":{"docs":{},"个":{"docs":{},"角":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"来":{"docs":{},"确":{"docs":{},"定":{"docs":{},"自":{"docs":{},"身":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"。":{"docs":{},"绝":{"docs":{},"对":{"docs":{},"定":{"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":{},"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":{},"实":{"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":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"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":{},"。":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.0078125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"展":{"docs":{},"示":{"docs":{},"应":{"docs":{},"用":{"docs":{},"第":{"docs":{},"一":{"docs":{},"帧":{"docs":{},"时":{"docs":{},".":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}}}}}}}},"标":{"docs":{},"志":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}},"题":{"docs":{},"填":{"docs":{},"充":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}},"注":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"可":{"docs":{},"选":{"docs":{},"参":{"docs":{},"数":{"docs":{},"在":{"docs":{},"特":{"docs":{},"定":{"docs":{},"场":{"docs":{},"景":{"docs":{},"需":{"docs":{},"要":{"docs":{},"判":{"docs":{},"空":{"docs":{},"或":{"docs":{},"设":{"docs":{},"置":{"docs":{},"默":{"docs":{},"认":{"docs":{},"值":{"docs":{},"等":{"docs":{},"。":{"docs":{},"这":{"docs":{},"是":{"docs":{},"由":{"docs":{},"于":{"docs":{},"使":{"docs":{},"用":{"docs":{},"者":{"docs":{},"大":{"docs":{},"多":{"docs":{},"时":{"docs":{},"候":{"docs":{},"可":{"docs":{},"能":{"docs":{},"不":{"docs":{},"了":{"docs":{},"解":{"docs":{},"组":{"docs":{},"件":{"docs":{},"的":{"docs":{},"内":{"docs":{},"部":{"docs":{},"细":{"docs":{},"节":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"为":{"docs":{},"了":{"docs":{},"保":{"docs":{},"证":{"docs":{},"代":{"docs":{},"码":{"docs":{},"健":{"docs":{},"壮":{"docs":{},"性":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"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":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"树":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"空":{"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.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"约":{"docs":{},"束":{"docs":{},"条":{"docs":{},"件":{"docs":{},"为":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}}}},"统":{"docs":{},"计":{"docs":{},"应":{"docs":{},"用":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"间":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.001519756838905775}}}}}}}}}},"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.009836065573770493},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}},"\"":{"docs":{},";":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}}},",":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006557377049180328}}},".":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}}}},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"(":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}},"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.006557377049180328}}}}}}},"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.003278688524590164}},"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.006557377049180328}}},",":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}},":":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006557377049180328}}},":":{"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.003278688524590164}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.003278688524590164}}},":":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}}}}}}}},"中":{"docs":{},"发":{"docs":{},"生":{"docs":{},"未":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"异":{"docs":{},"常":{"docs":{},"(":{"docs":{},"无":{"docs":{},"论":{"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.003278688524590164}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"内":{"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.003278688524590164}}}}}}}}}}}}}}}}}}}}},"的":{"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.003278688524590164}}}}}}}}}}}}}}}}},"边":{"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.003278688524590164}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"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.003278688524590164}}}}}}}}}}}},"沿":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},"显":{"docs":{},"示":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},",":{"docs":{},"由":{"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":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.014492753623188406}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},":":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}},"收":{"docs":{},"集":{"docs":{},"日":{"docs":{},"志":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.003278688524590164}}}}},"到":{"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.003067484662576687}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"单":{"docs":{},"选":{"docs":{},"框":{"docs":{},"和":{"docs":{},"复":{"docs":{},"选":{"docs":{},"框":{"docs":{"chapter3/":{"ref":"chapter3/","tf":0.1}}}}}}},"开":{"docs":{},"关":{"docs":{},"和":{"docs":{},"复":{"docs":{},"选":{"docs":{},"框":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514}}}}}}}}},"独":{"docs":{},"封":{"docs":{},"装":{"docs":{},"一":{"docs":{},"个":{"docs":{},"内":{"docs":{},"部":{"docs":{},"管":{"docs":{},"理":{"docs":{},"选":{"docs":{},"中":{"docs":{},"状":{"docs":{},"态":{"docs":{},"的":{"docs":{},"复":{"docs":{},"选":{"docs":{},"框":{"docs":{},"组":{"docs":{},"件":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}}}}}},"抽":{"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":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"方":{"docs":{},"向":{"docs":{},"拖":{"docs":{},"动":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}}},"按":{"docs":{},"钮":{"docs":{"chapter3/":{"ref":"chapter3/","tf":0.1},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}},"外":{"docs":{},"观":{"docs":{},"可":{"docs":{},"以":{"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.006024096385542169}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"宽":{"docs":{},"高":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.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":{},"数":{"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":{},"要":{"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":{},"或":{"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":{},"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":{},"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},"时":{"docs":{},"都":{"docs":{},"会":{"docs":{},"有":{"docs":{},"“":{"docs":{},"水":{"docs":{},"波":{"docs":{},"动":{"docs":{},"画":{"docs":{},"”":{"docs":{},"(":{"docs":{},"又":{"docs":{},"称":{"docs":{},"“":{"docs":{},"涟":{"docs":{},"漪":{"docs":{},"动":{"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.006024096385542169}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"+":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156},"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.02849002849002849},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}},"+":{"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.0020964360587002098}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}},"=":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.007653061224489796},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.012216404886561954},"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428},"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}},"x":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}},"?":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098},"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.014198782961460446},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0026954177897574125},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0064516129032258064},"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147},"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.001445086705202312},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674},"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894},"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006060606060606061},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.0058823529411764705},"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.011538461538461539},"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.012658227848101266}},"?":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.009852216748768473},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.002347417840375587},"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788},"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.002352941176470588}},"=":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}}}}},"取":{"docs":{},"代":{"docs":{},"线":{"docs":{},"性":{"docs":{},"布":{"docs":{},"局":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}}}}}},"堆":{"docs":{},"叠":{"docs":{},",":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}}},"复":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}},"选":{"docs":{},"框":{"docs":{},"选":{"docs":{},"中":{"docs":{},"状":{"docs":{},"态":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}},"杂":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"概":{"docs":{},"念":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020964360587002098}}}},"间":{"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0020964360587002098}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"—":{"docs":{},"—":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"盒":{"docs":{},"子":{"docs":{},",":{"docs":{},"当":{"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/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"全":{"docs":{},"局":{"docs":{},"状":{"docs":{},"态":{"docs":{},"管":{"docs":{},"理":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}},";":{"docs":{},"语":{"docs":{},"言":{"docs":{},"、":{"docs":{},"主":{"docs":{},"题":{"docs":{},"、":{"docs":{},"登":{"docs":{},"录":{"docs":{},"态":{"docs":{},"等":{"docs":{},"都":{"docs":{},"需":{"docs":{},"要":{"docs":{},"全":{"docs":{},"局":{"docs":{},"共":{"docs":{},"享":{"docs":{},"。":{"docs":{"chapter15/intro.html":{"ref":"chapter15/intro.html","tf":0.05}}}}}}}}}}}}}}}}}}}}}}}}},"事":{"docs":{},"件":{"docs":{},"总":{"docs":{},"线":{"docs":{"chapter8/":{"ref":"chapter8/","tf":0.125}}}}}},"变":{"docs":{},"量":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}},"及":{"docs":{},"共":{"docs":{},"享":{"docs":{},"状":{"docs":{},"态":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}},"处":{"docs":{},"理":{"docs":{},"抬":{"docs":{},"起":{"docs":{},"事":{"docs":{},"件":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}},"按":{"docs":{},"下":{"docs":{},"事":{"docs":{},"件":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}},"包":{"docs":{},"的":{"docs":{},"相":{"docs":{},"互":{"docs":{},"依":{"docs":{},"赖":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}},"于":{"docs":{},"迭":{"docs":{},"代":{"docs":{},"中":{"docs":{},",":{"docs":{},"功":{"docs":{},"能":{"docs":{},"会":{"docs":{},"逐":{"docs":{},"渐":{"docs":{},"完":{"docs":{},"善":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"建":{"docs":{},"议":{"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/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"父":{"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/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}}}}}}}}},"节":{"docs":{},"点":{"docs":{},"对":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"大":{"docs":{},"小":{"docs":{},"的":{"docs":{},"限":{"docs":{},"制":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"管":{"docs":{},"理":{"docs":{},"_":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}},"e":{"docs":{},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}},"h":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"a":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}}}}}}}},"状":{"docs":{},"态":{"docs":{},".":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}},"自":{"docs":{},"身":{"docs":{},"状":{"docs":{},"态":{"docs":{},".":{"docs":{"chapter3/state_manage.html":{"ref":"chapter3/state_manage.html","tf":0.002028397565922921}}}}}}},"对":{"docs":{},"象":{"docs":{},"表":{"docs":{},"的":{"docs":{},"原":{"docs":{},"因":{"docs":{},"。":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}},"​":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763},"chapter12/android_implement.html":{"ref":"chapter12/android_implement.html","tf":0.003134796238244514}}},"字":{"docs":{},"体":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}},"主":{"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.002824858757062147}}}}}}}}}}}}}}}}}}}},"符":{"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.00390625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"段":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"图":{"3":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00390625}}},"5":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.025806451612903226}}},"docs":{}}}}},":":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}},"由":{"docs":{},"于":{"docs":{},"不":{"docs":{},"同":{"docs":{},"平":{"docs":{},"台":{"docs":{},"默":{"docs":{},"认":{"docs":{},"支":{"docs":{},"持":{"docs":{},"的":{"docs":{},"字":{"docs":{},"体":{"docs":{},"集":{"docs":{},"不":{"docs":{},"同":{"docs":{},",":{"docs":{},"所":{"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.00390625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"子":{"docs":{},"组":{"docs":{},"件":{"docs":{},"数":{"docs":{},"组":{"docs":{},"。":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856}}}}}}}}},"替":{"docs":{},"换":{"docs":{},"为":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}}},"禁":{"docs":{},"用":{"docs":{},"时":{"docs":{},"的":{"docs":{},"阴":{"docs":{},"影":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}}}}},"止":{"docs":{},"改":{"docs":{},"变":{"docs":{},"购":{"docs":{},"物":{"docs":{},"车":{"docs":{},"里":{"docs":{},"的":{"docs":{},"商":{"docs":{},"品":{"docs":{},"信":{"docs":{},"息":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}},"细":{"docs":{},"心":{"docs":{},"的":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"发":{"docs":{},"现":{"docs":{},"这":{"docs":{},"个":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"没":{"docs":{},"有":{"docs":{},"阴":{"docs":{},"影":{"docs":{},"(":{"docs":{},"点":{"docs":{},"击":{"docs":{},"之":{"docs":{},"后":{"docs":{},"也":{"docs":{},"没":{"docs":{},"有":{"docs":{},")":{"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":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.006024096385542169}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"已":{"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.002577319587628866}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"\\":{"docs":{"chapter13/intl.html":{"ref":"chapter13/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.002551020408163265}}}}},"docs":{}},"docs":{}},"9":{"0":{"docs":{},"d":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}}},"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.002551020408163265}}}}}}}}}}}},"网":{"docs":{},"络":{"docs":{},"加":{"docs":{},"载":{"docs":{},"图":{"docs":{},"片":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}}}}},"灰":{"docs":{},"色":{"docs":{},"变":{"docs":{},"成":{"docs":{},"蓝":{"docs":{},"色":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}}}}},"异":{"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":{},"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.002688172043010753}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"启":{"docs":{},"动":{"docs":{},"到":{"docs":{},"显":{"docs":{},"示":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}},"微":{"docs":{},"信":{"docs":{},"图":{"docs":{},"标":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.002551020408163265}}}}}},"矢":{"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.002551020408163265}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"属":{"docs":{},"性":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}},"及":{"docs":{},"外":{"docs":{},"观":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013513513513513514}}}}},"为":{"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":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"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":{},"平":{"docs":{},"方":{"docs":{},"向":{"docs":{},")":{"docs":{},"会":{"docs":{},"居":{"docs":{},"中":{"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":{},"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":{},"子":{"docs":{},"项":{"docs":{},"中":{"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":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"而":{"docs":{},"显":{"docs":{},"示":{"docs":{},"“":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"l":{"docs":{},"d":{"docs":{},"”":{"docs":{},"的":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"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":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"l":{"docs":{},"d":{"docs":{},"\"":{"docs":{},")":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"只":{"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":{},"组":{"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":{},"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":{},"u":{"docs":{},"i":{"docs":{},"自":{"docs":{},"绘":{"docs":{},"。":{"docs":{"chapter10/intro.html":{"ref":"chapter10/intro.html","tf":0.04}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"|":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.03638814016172507},"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.1318181818181818}},"|":{"docs":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012195121951219513},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.014814814814814815},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.007532956685499058},"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"名":{"docs":{},"称":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}},"s":{"docs":{},"|":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}},"”":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}},"下":{"docs":{},"入":{"docs":{},"上":{"docs":{},"出":{"docs":{},"“":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"办":{"docs":{},"?":{"docs":{},"当":{"docs":{},"然":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"分":{"docs":{},"别":{"docs":{},"修":{"docs":{},"改":{"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":{},"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":{},"s":{"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":{},"x":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"两":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"个":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"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":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"优":{"docs":{},"化":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}},"后":{"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.0013477088948787063}}}}}}}}}},"日":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}},"电":{"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.0013477088948787063}}}}}}}}}}}}},"话":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}},"会":{"docs":{},"显":{"docs":{},"示":{"docs":{},"“":{"docs":{},"/":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}},"在":{"docs":{},"w":{"docs":{},"i":{"docs":{},"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.002824858757062147}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"去":{"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.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}},"输":{"docs":{},"出":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},".":{"docs":{},"i":{"docs":{},"o":{"docs":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}}}}}}}}}}}}}}}}}}}},"和":{"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.0018832391713747645}}}}}}}}}}}}}}}}}},"被":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}},"置":{"docs":{},"空":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"所":{"docs":{},"有":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"的":{"docs":{},"组":{"docs":{},"件":{"docs":{},"都":{"docs":{},"会":{"docs":{},"被":{"docs":{},"r":{"docs":{},"e":{"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":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"含":{"docs":{},"义":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866},"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}},"多":{"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.0013477088948787063}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"重":{"docs":{},"限":{"docs":{},"制":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}}}}},"语":{"docs":{},"言":{"docs":{},"支":{"docs":{},"持":{"docs":{},"我":{"docs":{},"们":{"docs":{},"使":{"docs":{},"用":{"docs":{},"第":{"docs":{},"十":{"docs":{},"三":{"docs":{},"章":{"docs":{},"”":{"docs":{},"国":{"docs":{},"际":{"docs":{},"化":{"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":{"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":{"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.015151515151515152}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"和":{"docs":{},"多":{"docs":{},"主":{"docs":{},"题":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}}}}}}},"密":{"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.0013477088948787063}}}}}},"docs":{}}}}}}}}}}}}},"docs":{}}}}}}}},"docs":{}}}}}}},"控":{"docs":{},"制":{"docs":{},"焦":{"docs":{},"点":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}},"台":{"docs":{},"输":{"docs":{},"出":{"docs":{},":":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}},"数":{"docs":{},"字":{"docs":{},";":{"docs":{},"会":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"数":{"docs":{},"字":{"docs":{},"键":{"docs":{},"盘":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}}}}}},"据":{"docs":{},"共":{"docs":{},"享":{"docs":{"chapter7/":{"ref":"chapter7/","tf":0.1111111111111111}},"(":{"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":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}}}}}}}}}}}}},"保":{"docs":{},"存":{"docs":{},"的":{"docs":{},"地":{"docs":{},"方":{"docs":{},"有":{"docs":{},"了":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"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":{},"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":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"通":{"docs":{},"知":{"docs":{},"?":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}},"改":{"docs":{},"变":{"docs":{},"的":{"docs":{},"消":{"docs":{},"息":{"docs":{},"传":{"docs":{},"递":{"docs":{},"被":{"docs":{},"屏":{"docs":{},"蔽":{"docs":{},"了":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"无":{"docs":{},"需":{"docs":{},"手":{"docs":{},"动":{"docs":{},"去":{"docs":{},"处":{"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":{},"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":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"持":{"docs":{},"久":{"docs":{},"化":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}},"校":{"docs":{},"验":{"docs":{},"用":{"docs":{},"户":{"docs":{},"名":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}},"(":{"docs":{},"不":{"docs":{},"能":{"docs":{},"为":{"docs":{},"空":{"docs":{},")":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}}}}}},"焦":{"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.0013477088948787063}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"登":{"docs":{},"录":{"docs":{},"按":{"docs":{},"钮":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}},"状":{"docs":{},"态":{"docs":{},"改":{"docs":{},"变":{"docs":{},"后":{"docs":{},"发":{"docs":{},"布":{"docs":{},"状":{"docs":{},"态":{"docs":{},"改":{"docs":{},"变":{"docs":{},"事":{"docs":{},"件":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"持":{"docs":{},"久":{"docs":{},"化":{"docs":{},";":{"docs":{"chapter15/intro.html":{"ref":"chapter15/intro.html","tf":0.05}}}}}}}}}},"页":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}},"代":{"docs":{},"码":{"docs":{},"大":{"docs":{},"致":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}},"后":{"docs":{},"可":{"docs":{},"以":{"docs":{},"查":{"docs":{},"看":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"项":{"docs":{},"目":{"docs":{},"主":{"docs":{},"页":{"docs":{"chapter15/intro.html":{"ref":"chapter15/intro.html","tf":0.05}}}}}}}}}}}}}},"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":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},"账":{"docs":{},"号":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"用":{"docs":{},"户":{"docs":{},"的":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"o":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},")":{"docs":{},"或":{"docs":{},"密":{"docs":{},"码":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}},"接":{"docs":{},"口":{"docs":{},",":{"docs":{},"登":{"docs":{},"录":{"docs":{},"成":{"docs":{},"功":{"docs":{},"后":{"docs":{},"返":{"docs":{},"回":{"docs":{},"用":{"docs":{},"户":{"docs":{},"信":{"docs":{},"息":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}}}}}}}}}},"成":{"docs":{},"功":{"docs":{},"后":{"docs":{},"需":{"docs":{},"更":{"docs":{},"新":{"docs":{},"用":{"docs":{},"户":{"docs":{},"信":{"docs":{},"息":{"docs":{},"。":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}}}}}}}},"监":{"docs":{},"听":{"docs":{},"文":{"docs":{},"本":{"docs":{},"变":{"docs":{},"化":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}},"也":{"docs":{},"有":{"docs":{},"两":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}}}}}}}},"焦":{"docs":{},"点":{"docs":{},"变":{"docs":{},"化":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}},"状":{"docs":{},"态":{"docs":{},"改":{"docs":{},"变":{"docs":{},"事":{"docs":{},"件":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}}}}},"滚":{"docs":{},"动":{"docs":{},"通":{"docs":{},"知":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}}}},"的":{"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":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"来":{"docs":{},"自":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"的":{"docs":{},"消":{"docs":{},"息":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}},"。":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}}}}}}}}}}},"系":{"docs":{},"统":{"docs":{},"语":{"docs":{},"言":{"docs":{},"切":{"docs":{},"换":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}},"表":{"docs":{},"单":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.0013477088948787063}}}}}}},"示":{"docs":{},"圆":{"docs":{},"形":{"docs":{},"进":{"docs":{},"度":{"docs":{},"条":{"docs":{},"的":{"docs":{},"粗":{"docs":{},"细":{"docs":{},"。":{"docs":{},"示":{"docs":{},"例":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}}}}}}}}}}}}},"只":{"docs":{},"执":{"docs":{},"行":{"docs":{},"一":{"docs":{},"次":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}},"循":{"docs":{},"环":{"docs":{},"执":{"docs":{},"行":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}},"前":{"docs":{},"三":{"docs":{},"个":{"docs":{},"参":{"docs":{},"数":{"docs":{},"和":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"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":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"面":{"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":{},"对":{"docs":{},"进":{"docs":{},"度":{"docs":{},"条":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"做":{"docs":{},"动":{"docs":{},"画":{"docs":{},",":{"docs":{},"关":{"docs":{},"于":{"docs":{},"动":{"docs":{},"画":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"在":{"docs":{},"后":{"docs":{},"面":{"docs":{},"专":{"docs":{},"门":{"docs":{},"的":{"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":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"讲":{"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":{"chapter13/locallization_implement.html":{"ref":"chapter13/locallization_implement.html","tf":0.008849557522123894}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"章":{"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":{},"在":{"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":{},"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":{},"片":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"到":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"后":{"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.008771929824561403}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"景":{"docs":{},"画":{"docs":{},"笔":{"docs":{},",":{"docs":{},"会":{"docs":{},"显":{"docs":{},"示":{"docs":{},"在":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"前":{"docs":{},"面":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}}}}}}}}}}},"圆":{"docs":{},"形":{"docs":{},"进":{"docs":{},"度":{"docs":{},"条":{"docs":{},"直":{"docs":{},"径":{"docs":{},"指":{"docs":{},"定":{"docs":{},"为":{"1":{"0":{"0":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}},"的":{"docs":{},"半":{"docs":{},"径":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}},"宽":{"docs":{},"高":{"docs":{},"不":{"docs":{},"等":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}}},"模":{"docs":{},"糊":{"docs":{},"进":{"docs":{},"度":{"docs":{},"条":{"docs":{},"(":{"docs":{},"会":{"docs":{},"执":{"docs":{},"行":{"docs":{},"一":{"docs":{},"个":{"docs":{},"动":{"docs":{},"画":{"docs":{},")":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}},"旋":{"docs":{},"转":{"docs":{},"动":{"docs":{},"画":{"docs":{},")":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}}}}}}}}}}}}}}}},"板":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"线":{"docs":{},"性":{"docs":{},"进":{"docs":{},"度":{"docs":{},"条":{"docs":{},"高":{"docs":{},"度":{"docs":{},"指":{"docs":{},"定":{"docs":{},"为":{"3":{"docs":{"chapter3/progress.html":{"ref":"chapter3/progress.html","tf":0.004405286343612335}}},"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}}}}}}}}}}}},"(":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"和":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},")":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.00411522633744856}}}}}}}}}}}}}}}}}},"弹":{"docs":{},"性":{"docs":{},"布":{"docs":{},"局":{"docs":{},"f":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{"chapter4/":{"ref":"chapter4/","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":{},"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":{},"。":{"docs":{},"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.005917159763313609}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"f":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{},"的":{"docs":{},"关":{"docs":{},"系":{"docs":{},"。":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"f":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{},")":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.005917159763313609}}}}}}}}}}},"出":{"docs":{},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}},"底":{"docs":{},"部":{"docs":{},"菜":{"docs":{},"单":{"docs":{},"列":{"docs":{},"表":{"docs":{},"模":{"docs":{},"态":{"docs":{},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}},"流":{"docs":{},"式":{"docs":{},"布":{"docs":{},"局":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"、":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"chapter4/":{"ref":"chapter4/","tf":0.16666666666666666}}}}}}}}}}}}}}},"纵":{"docs":{},"轴":{"docs":{},"(":{"docs":{},"垂":{"docs":{},"直":{"docs":{},")":{"docs":{},"方":{"docs":{},"向":{"docs":{},"间":{"docs":{},"距":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.0049504950495049506}}}}}}}}}}}},"、":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156},"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"、":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015625}}}}}}}},"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.002824858757062147}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{},"f":{"docs":{},"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":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"反":{"docs":{},"向":{"docs":{},"播":{"docs":{},"放":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}}},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"则":{"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":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},"r":{"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":{},"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":{"chapter4/alignment.html":{"ref":"chapter4/alignment.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"表":{"docs":{},"示":{"docs":{},"有":{"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":0.0018832391713747645}}}}}}}}}}}}}}},"容":{"docs":{},"器":{"docs":{},"类":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter5/":{"ref":"chapter5/","tf":0.07692307692307693}},"和":{"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":{},"时":{"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.006622516556291391}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"装":{"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":0.011627906976744186}}}}}}}}}}}}}}}}}},";":{"docs":{},"而":{"docs":{},"容":{"docs":{},"器":{"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":{},"充":{"docs":{},"(":{"docs":{},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},")":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.010526315789473684}}}}}}}}}}}}},"尺":{"docs":{},"寸":{"docs":{},"限":{"docs":{},"制":{"docs":{},"类":{"docs":{},"容":{"docs":{},"器":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}},"用":{"docs":{},"于":{"docs":{},"限":{"docs":{},"制":{"docs":{},"容":{"docs":{},"器":{"docs":{},"大":{"docs":{},"小":{"docs":{},",":{"docs":{},"f":{"docs":{},"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":{},"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":{},"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":{},"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":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.00425531914893617}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"各":{"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":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"分":{"docs":{},"块":{"docs":{},"下":{"docs":{},"载":{"docs":{},"时":{"docs":{},"保":{"docs":{},"存":{"docs":{},"到":{"docs":{},"各":{"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/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"怎":{"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":{},"现":{"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":{},"另":{"docs":{},"外":{"docs":{},",":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},"中":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"类":{"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":{},"r":{"docs":{},"a":{"docs":{},"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":{},"s":{"docs":{},"w":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"若":{"docs":{},"有":{"docs":{},"需":{"docs":{},"要":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"行":{"docs":{},"查":{"docs":{},"看":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"文":{"docs":{},"档":{"docs":{},"。":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011627906976744186}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"很":{"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":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"k":{"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":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"k":{"docs":{},"i":{"docs":{},"t":{"docs":{},"包":{"docs":{},"。":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"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":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"旋":{"docs":{},"转":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064}}}},"缩":{"docs":{},"放":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0064516129032258064},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}},"背":{"docs":{},"景":{"docs":{},"色":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}}},"装":{"docs":{},"饰":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006622516556291391}}}},"支":{"docs":{},"持":{"docs":{},"渐":{"docs":{},"变":{"docs":{},"色":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}}}},"画":{"docs":{},"笔":{"docs":{},",":{"docs":{},"会":{"docs":{},"显":{"docs":{},"示":{"docs":{},"在":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"后":{"docs":{},"面":{"docs":{},";":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}},"右":{"docs":{},"下":{"docs":{},"角":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"悬":{"docs":{},"浮":{"docs":{},"的":{"docs":{},"动":{"docs":{},"作":{"docs":{},"按":{"docs":{},"钮":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}}}}}}}},"抽":{"docs":{},"屉":{"docs":{},"菜":{"docs":{},"单":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}},"通":{"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":{},"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":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"e":{"docs":{},"r":{"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":{},"留":{"docs":{},"和":{"docs":{},"手":{"docs":{},"机":{"docs":{},"状":{"docs":{},"态":{"docs":{},"栏":{"docs":{},"等":{"docs":{},"高":{"docs":{},"的":{"docs":{},"留":{"docs":{},"白":{"docs":{},")":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"尝":{"docs":{},"试":{"docs":{},"传":{"docs":{},"递":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{},"来":{"docs":{},"看":{"docs":{},"看":{"docs":{},"实":{"docs":{},"际":{"docs":{},"效":{"docs":{},"果":{"docs":{},"。":{"docs":{},"抽":{"docs":{},"屉":{"docs":{},"菜":{"docs":{},"单":{"docs":{},"页":{"docs":{},"由":{"docs":{},"顶":{"docs":{},"部":{"docs":{},"和":{"docs":{},"底":{"docs":{},"部":{"docs":{},"组":{"docs":{},"成":{"docs":{},",":{"docs":{},"顶":{"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":{},"组":{"docs":{},"件":{"docs":{},"”":{"docs":{},"一":{"docs":{},"节":{"docs":{},"详":{"docs":{},"细":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"。":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"分":{"docs":{},"为":{"docs":{},"两":{"docs":{},"部":{"docs":{},"分":{"docs":{},":":{"docs":{},"顶":{"docs":{},"部":{"docs":{},"头":{"docs":{},"像":{"docs":{},"和":{"docs":{},"底":{"docs":{},"部":{"docs":{},"功":{"docs":{},"能":{"docs":{},"菜":{"docs":{},"单":{"docs":{},"项":{"docs":{},"。":{"docs":{},"当":{"docs":{},"用":{"docs":{},"户":{"docs":{},"未":{"docs":{},"登":{"docs":{},"录":{"docs":{},",":{"docs":{},"则":{"docs":{},"抽":{"docs":{},"屉":{"docs":{},"菜":{"docs":{},"单":{"docs":{},"顶":{"docs":{},"部":{"docs":{},"会":{"docs":{},"显":{"docs":{},"示":{"docs":{},"一":{"docs":{},"个":{"docs":{},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{},"灰":{"docs":{},"色":{"docs":{},"占":{"docs":{},"位":{"docs":{},"图":{"docs":{},",":{"docs":{},"若":{"docs":{},"用":{"docs":{},"户":{"docs":{},"已":{"docs":{},"登":{"docs":{},"录":{"docs":{},",":{"docs":{},"则":{"docs":{},"会":{"docs":{},"显":{"docs":{},"示":{"docs":{},"用":{"docs":{},"户":{"docs":{},"的":{"docs":{},"头":{"docs":{},"像":{"docs":{},"。":{"docs":{},"抽":{"docs":{},"屉":{"docs":{},"菜":{"docs":{},"单":{"docs":{},"底":{"docs":{},"部":{"docs":{},"有":{"docs":{},"”":{"docs":{},"换":{"docs":{},"肤":{"docs":{},"“":{"docs":{},"和":{"docs":{},"”":{"docs":{},"语":{"docs":{},"言":{"docs":{},"“":{"docs":{},"两":{"docs":{},"个":{"docs":{},"固":{"docs":{},"定":{"docs":{},"菜":{"docs":{},"单":{"docs":{},",":{"docs":{},"若":{"docs":{},"用":{"docs":{},"户":{"docs":{},"已":{"docs":{},"登":{"docs":{},"录":{"docs":{},",":{"docs":{},"则":{"docs":{},"会":{"docs":{},"多":{"docs":{},"一":{"docs":{},"个":{"docs":{},"”":{"docs":{},"注":{"docs":{},"销":{"docs":{},"“":{"docs":{},"菜":{"docs":{},"单":{"docs":{},"。":{"docs":{},"用":{"docs":{},"户":{"docs":{},"点":{"docs":{},"击":{"docs":{},"”":{"docs":{},"换":{"docs":{},"肤":{"docs":{},"“":{"docs":{},"和":{"docs":{},"”":{"docs":{},"语":{"docs":{},"言":{"docs":{},"“":{"docs":{},"两":{"docs":{},"个":{"docs":{},"菜":{"docs":{},"单":{"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":{"5":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"步":{"docs":{},"骤":{"docs":{"chapter11/websocket.html":{"ref":"chapter11/websocket.html","tf":0.004651162790697674}},"分":{"docs":{},"两":{"docs":{},"步":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}},"漂":{"docs":{},"浮":{"docs":{},"按":{"docs":{},"钮":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}},"给":{"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":{},"。":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"添":{"docs":{},"加":{"docs":{},"监":{"docs":{},"听":{"docs":{},"器":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}},"每":{"docs":{},"一":{"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":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}},"子":{"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.0018832391713747645}}}}}}}}}}}}}}},"页":{"docs":{},"面":{"docs":{},"标":{"docs":{},"题":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.00202020202020202}}}}}},"剪":{"docs":{},"裁":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}}}}}}},"子":{"docs":{},"组":{"docs":{},"件":{"docs":{},"到":{"docs":{},"实":{"docs":{},"际":{"docs":{},"占":{"docs":{},"用":{"docs":{},"的":{"docs":{},"矩":{"docs":{},"形":{"docs":{},"大":{"docs":{},"小":{"docs":{},"(":{"docs":{},"溢":{"docs":{},"出":{"docs":{},"部":{"docs":{},"分":{"docs":{},"剪":{"docs":{},"裁":{"docs":{},")":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"p":{"docs":{},")":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}}}}}}}}},"头":{"docs":{},"像":{"docs":{"chapter5/clip.html":{"ref":"chapter5/clip.html","tf":0.006802721088435374}}},"部":{"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":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.006134969325153374}},"及":{"docs":{},"控":{"docs":{},"制":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}},"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}}}}}}}}}}}}}}}}}}}},"位":{"docs":{},"置":{"docs":{},"恢":{"docs":{},"复":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.003067484662576687}}}}}}}},"再":{"docs":{},"次":{"docs":{},"强":{"docs":{},"调":{"docs":{},",":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"组":{"docs":{},"件":{"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":{},"组":{"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":{},"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.002688172043010753}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"画":{"docs":{},"前":{"docs":{},"景":{"docs":{},",":{"docs":{},"应":{"docs":{},"用":{"docs":{},"渐":{"docs":{},"变":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}},"必":{"docs":{},"须":{"docs":{},"指":{"docs":{},"定":{"docs":{},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},":":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004048582995951417}}}}}}}}}}},"显":{"docs":{},"式":{"docs":{},"定":{"docs":{},"义":{"docs":{},"各":{"docs":{},"种":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"不":{"docs":{},"好":{"docs":{},"管":{"docs":{},"理":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}},"%":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308},"chapter12/develop_plugin.html":{"ref":"chapter12/develop_plugin.html","tf":0.007142857142857143}},"s":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.003669724770642202}},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}},".":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}},"t":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}},"功":{"docs":{},"能":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}},"型":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"指":{"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":{},"取":{"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":{},"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":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},".":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"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":{},"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":{},"w":{"docs":{},"i":{"docs":{},"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":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"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":{},"关":{"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.0032258064516129032}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"是":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}},"深":{"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":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.0032258064516129032}}}}}}}}}}}}}}}}}}}}},"介":{"docs":{},"绍":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}},"修":{"docs":{},"改":{"docs":{},"后":{"docs":{},"在":{"docs":{},"此":{"docs":{},"运":{"docs":{},"行":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"会":{"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":{},"a":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"向":{"docs":{},"购":{"docs":{},"物":{"docs":{},"车":{"docs":{},"中":{"docs":{},"添":{"docs":{},"加":{"docs":{},"新":{"docs":{},"商":{"docs":{},"品":{"docs":{},"时":{"docs":{},"总":{"docs":{},"价":{"docs":{},"更":{"docs":{},"新":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}},"父":{"docs":{},"级":{"docs":{},"递":{"docs":{},"归":{"docs":{},"查":{"docs":{},"找":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}},"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"商":{"docs":{},"品":{"docs":{},"份":{"docs":{},"数":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}},"订":{"docs":{},"阅":{"docs":{},"者":{"docs":{},"必":{"docs":{},"须":{"docs":{},"需":{"docs":{},"显":{"docs":{},"式":{"docs":{},"注":{"docs":{},"册":{"docs":{},"状":{"docs":{},"态":{"docs":{},"改":{"docs":{},"变":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"也":{"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/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"模":{"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":{},"致":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"谁":{"docs":{},"来":{"docs":{},"重":{"docs":{},"新":{"docs":{},"构":{"docs":{},"建":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"?":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}},"购":{"docs":{},"物":{"docs":{},"车":{"docs":{},"中":{"docs":{},"商":{"docs":{},"品":{"docs":{},"的":{"docs":{},"总":{"docs":{},"价":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}},"示":{"docs":{},"例":{"docs":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}},"问":{"docs":{},"题":{"docs":{},"的":{"docs":{},"原":{"docs":{},"因":{"docs":{},"搞":{"docs":{},"清":{"docs":{},"楚":{"docs":{},"了":{"docs":{},",":{"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":{},"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":{},"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":{},"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":{},"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":{"chapter7/provider.html":{"ref":"chapter7/provider.html","tf":0.0018181818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"测":{"docs":{},"试":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}},"运":{"docs":{},"行":{"docs":{},"后":{"docs":{},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"图":{"1":{"0":{"docs":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}},"docs":{}},"docs":{}}}}}}}}}}}},"红":{"docs":{},"色":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}},"绿":{"docs":{},"色":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}},"蓝":{"docs":{},"色":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}},"颜":{"docs":{},"色":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005649717514124294}},"亮":{"docs":{},"度":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}},"和":{"docs":{},"主":{"docs":{},"题":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}},"固":{"docs":{},"定":{"docs":{},"黑":{"docs":{},"色":{"docs":{},"\"":{"docs":{},")":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}},"跟":{"docs":{},"随":{"docs":{},"主":{"docs":{},"题":{"docs":{},"\"":{"docs":{},")":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.002824858757062147}}}}}}}}}},"删":{"docs":{},"除":{"docs":{},"文":{"docs":{},"件":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}},"临":{"docs":{},"时":{"docs":{},"文":{"docs":{},"件":{"docs":{},"。":{"docs":{"chapter11/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}},"既":{"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":{},"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":{},"实":{"docs":{},"现":{"docs":{},"代":{"docs":{},"码":{"docs":{},":":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"日":{"docs":{},"历":{"docs":{},"选":{"docs":{},"择":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}},"志":{"docs":{},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}},"直":{"docs":{},"接":{"docs":{},"将":{"docs":{},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{},"u":{"docs":{},"i":{"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":{},"i":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}}}}}}}}}}}}}}}}}},"精":{"docs":{},"妙":{"docs":{},"的":{"docs":{},"解":{"docs":{},"法":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}},"心":{"docs":{},"设":{"docs":{},"计":{"docs":{},"的":{"docs":{},"动":{"docs":{},"画":{"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":{},"回":{"1":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}},"2":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}},"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}},"的":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}}}}}}}},"值":{"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":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"值":{"docs":{},"决":{"docs":{},"定":{"docs":{},"是":{"docs":{},"否":{"docs":{},"继":{"docs":{},"续":{"docs":{},"向":{"docs":{},"上":{"docs":{},"遍":{"docs":{},"历":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}}}}}}}},"是":{"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"型":{"docs":{},"为":{"docs":{},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},",":{"docs":{},"为":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"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":{},"o":{"docs":{},"n":{"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":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"遮":{"docs":{},"罩":{"docs":{},"颜":{"docs":{},"色":{"docs":{"chapter7/dailog.html":{"ref":"chapter7/dailog.html","tf":0.000722543352601156}}}}}},"事":{"docs":{},"件":{"docs":{},"处":{"docs":{},"理":{"docs":{},"与":{"docs":{},"通":{"docs":{},"知":{"docs":{"chapter8/":{"ref":"chapter8/","tf":0.125}}}}}}},"总":{"docs":{},"线":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}},"通":{"docs":{},"常":{"docs":{},"用":{"docs":{},"于":{"docs":{},"组":{"docs":{},"件":{"docs":{},"之":{"docs":{},"间":{"docs":{},"状":{"docs":{},"态":{"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":{},"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":{},"务":{"docs":{},"需":{"docs":{},"求":{"docs":{},"的":{"docs":{},",":{"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":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007407407407407408}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"手":{"docs":{},"势":{"docs":{},"识":{"docs":{},"别":{"docs":{"chapter8/":{"ref":"chapter8/","tf":0.125},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}},"冲":{"docs":{},"突":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}},"只":{"docs":{},"是":{"docs":{},"手":{"docs":{},"势":{"docs":{},"级":{"docs":{},"别":{"docs":{},"的":{"docs":{},",":{"docs":{},"而":{"docs":{},"手":{"docs":{},"势":{"docs":{},"是":{"docs":{},"对":{"docs":{},"原":{"docs":{},"始":{"docs":{},"指":{"docs":{},"针":{"docs":{},"的":{"docs":{},"语":{"docs":{},"义":{"docs":{},"化":{"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.0017452006980802793}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"竞":{"docs":{},"争":{"docs":{},"与":{"docs":{},"冲":{"docs":{},"突":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}}}}}},"指":{"docs":{},"在":{"docs":{},"蓝":{"docs":{},"色":{"docs":{},"矩":{"docs":{},"形":{"docs":{},"区":{"docs":{},"域":{"docs":{},"内":{"docs":{},"移":{"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.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"按":{"docs":{},"下":{"docs":{},"时":{"docs":{},"有":{"docs":{},"涟":{"docs":{},"漪":{"docs":{},"效":{"docs":{},"果":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365}}}}}}}}}}}},"忽":{"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.005649717514124294}}}}}}}}}}}}},"竞":{"docs":{},"争":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017452006980802793}}}},"阻":{"docs":{},"止":{"docs":{},"冒":{"docs":{},"泡":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0029154518950437317}}}}}},"交":{"docs":{},"错":{"docs":{},"动":{"docs":{},"画":{"docs":{"chapter9/":{"ref":"chapter9/","tf":0.09090909090909091}}}}},"织":{"docs":{},"动":{"docs":{},"画":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.004201680672268907}}}}}},"匀":{"docs":{},"减":{"docs":{},"速":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}},"速":{"docs":{},"的":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.0049504950495049506}}}}},"了":{"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.002577319587628866}}}}}}}}}}}}}}}}}}}}}}}}}}}},"枚":{"docs":{},"举":{"docs":{},"值":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002577319587628866}}}}},"共":{"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.008771929824561403}}}}}}}}}}}}}}}}}}}}}}}}}},"状":{"docs":{},"态":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}},"偏":{"docs":{},"移":{"docs":{},"在":{"docs":{},"内":{"docs":{},"部":{"docs":{},"处":{"docs":{},"理":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}},"旧":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"隐":{"docs":{},"藏":{"docs":{},"的":{"docs":{},"动":{"docs":{},"画":{"docs":{},"时":{"docs":{},"长":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}},"曲":{"docs":{},"线":{"docs":{"chapter9/animated_switcher.html":{"ref":"chapter9/animated_switcher.html","tf":0.00205761316872428}}}}}}}}}}}}}}},"渐":{"docs":{},"变":{"docs":{},"色":{"docs":{},"数":{"docs":{},"组":{"docs":{"chapter10/combine.html":{"ref":"chapter10/combine.html","tf":0.0049261083743842365},"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}},"的":{"docs":{},"终":{"docs":{},"止":{"docs":{},"点":{"docs":{},",":{"docs":{},"对":{"docs":{},"应":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},"属":{"docs":{},"性":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}}}}}}}}}}}}}}}}},"耗":{"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":{"chapter10/turn_box.html":{"ref":"chapter10/turn_box.html","tf":0.0033222591362126247}}}}}}}}}}}}}}}}}}}}}}}}}}},"几":{"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":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.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":{},"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"画":{"docs":{},"图":{"docs":{},"像":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}},"圆":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}},"弧":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}},"椭":{"docs":{},"圆":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}},"点":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}},"矩":{"docs":{},"形":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}},"笔":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}}},"线":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}},"路":{"docs":{},"径":{"docs":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}},"绘":{"docs":{},"制":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.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":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"如":{"docs":{},"果":{"docs":{},"按":{"docs":{},"照":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"每":{"docs":{},"次":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"棋":{"docs":{},"子":{"docs":{},"时":{"docs":{},"都":{"docs":{},"要":{"docs":{},"重":{"docs":{},"新":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"一":{"docs":{},"次":{"docs":{},"棋":{"docs":{},"盘":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"没":{"docs":{},"必":{"docs":{},"要":{"docs":{},"的":{"docs":{},"。":{"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":{},"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":{},"组":{"docs":{},"件":{"docs":{},"作":{"docs":{},"为":{"docs":{},"背":{"docs":{},"景":{"docs":{},"。":{"docs":{},"然":{"docs":{},"后":{"docs":{},"将":{"docs":{},"棋":{"docs":{},"子":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"放":{"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/custom_paint.html":{"ref":"chapter10/custom_paint.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":{"chapter10/custom_paint.html":{"ref":"chapter10/custom_paint.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"过":{"docs":{},"程":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}},"前":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"回":{"docs":{},"调":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}},"先":{"docs":{},"画":{"docs":{},"背":{"docs":{},"景":{"docs":{"chapter10/gradient_circular_progress_demo.html":{"ref":"chapter10/gradient_circular_progress_demo.html","tf":0.0013605442176870747}}}}},"检":{"docs":{},"测":{"docs":{},"是":{"docs":{},"否":{"docs":{},"支":{"docs":{},"持":{"docs":{},"分":{"docs":{},"块":{"docs":{},"传":{"docs":{},"输":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"不":{"docs":{},"支":{"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/download_with_chunks.html":{"ref":"chapter11/download_with_chunks.html","tf":0.002849002849002849}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"判":{"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":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},"。":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"移":{"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":{},"p":{"docs":{},"中":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"更":{"docs":{},"近":{"docs":{},"一":{"docs":{},"些":{"docs":{},",":{"docs":{},"清":{"docs":{},"理":{"docs":{},"时":{"docs":{},"会":{"docs":{},"l":{"docs":{},"r":{"docs":{},"u":{"docs":{},"来":{"docs":{},"清":{"docs":{},"除":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"验":{"docs":{},"证":{"docs":{},"是":{"docs":{},"否":{"docs":{},"已":{"docs":{},"经":{"docs":{},"有":{"docs":{},"缓":{"docs":{},"存":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}},"临":{"docs":{},"时":{"docs":{},"目":{"docs":{},"录":{"docs":{},":":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}},"外":{"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":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"次":{"docs":{},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter11/file_operation.html":{"ref":"chapter11/file_operation.html","tf":0.005649717514124294}}}}}},"他":{"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":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"会":{"docs":{},"返":{"docs":{},"回":{"docs":{},"一":{"docs":{},"个":{"4":{"0":{"1":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}},"docs":{}},"docs":{}},"docs":{}}}}}},"验":{"docs":{},"证":{"docs":{},"用":{"docs":{},"户":{"docs":{},"凭":{"docs":{},"据":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"通":{"docs":{},"过":{"docs":{},"就":{"docs":{},"返":{"docs":{},"回":{"docs":{},"资":{"docs":{},"源":{"docs":{},"内":{"docs":{},"容":{"docs":{},"。":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}}}}}}}}}}}}}}}}}}}},"证":{"docs":{},"书":{"docs":{},"校":{"docs":{},"验":{"docs":{"chapter11/http.html":{"ref":"chapter11/http.html","tf":0.0022935779816513763}}}}}},"发":{"docs":{},"起":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}},"一":{"docs":{},"个":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}},"多":{"docs":{},"个":{"docs":{},"并":{"docs":{},"发":{"docs":{},"请":{"docs":{},"求":{"docs":{},":":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}}}}}}}}}},"送":{"docs":{"chapter11/dio.html":{"ref":"chapter11/dio.html","tf":0.0047169811320754715}},"平":{"docs":{},"台":{"docs":{},"消":{"docs":{},"息":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}},"布":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}},"现":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"传":{"docs":{},"递":{"docs":{},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{},"是":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"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":{},"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":{},",":{"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":{},"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":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"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":{},"身":{"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":{},"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":{},"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.006060606060606061}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"写":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"自":{"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":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"嵌":{"docs":{},"套":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}},"持":{"docs":{},"续":{"docs":{},"生":{"docs":{},"成":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}},"久":{"docs":{},"化":{"docs":{},"存":{"docs":{},"储":{"docs":{},";":{"docs":{},"保":{"docs":{},"存":{"docs":{},"登":{"docs":{},"录":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"用":{"docs":{},"户":{"docs":{},"信":{"docs":{},"息":{"docs":{},"等":{"docs":{},"。":{"docs":{"chapter15/intro.html":{"ref":"chapter15/intro.html","tf":0.05}}}}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"信":{"docs":{},"息":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}}}}}}}}}},"脚":{"docs":{},"本":{"docs":{},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"过":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"来":{"docs":{},"写":{"docs":{},",":{"docs":{},"源":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter11/json_model.html":{"ref":"chapter11/json_model.html","tf":0.001834862385321101}}}}}}}}}}}}}}}}}}}},"强":{"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":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}},"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}},"详":{"docs":{},"细":{"docs":{},"的":{"docs":{},"文":{"docs":{},"档":{"docs":{},"语":{"docs":{},"法":{"docs":{},"请":{"docs":{},"参":{"docs":{},"考":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{"chapter12/develop_package.html":{"ref":"chapter12/develop_package.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}},"宿":{"docs":{},"主":{"docs":{},"监":{"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":{"chapter12/platform-channel.html":{"ref":"chapter12/platform-channel.html","tf":0.008849557522123894}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"国":{"docs":{},"际":{"docs":{},"化":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"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":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"常":{"docs":{},"见":{"docs":{},"问":{"docs":{},"题":{"docs":{"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02}}}}}},"相":{"docs":{},"关":{"docs":{},"的":{"docs":{},"类":{"docs":{},"都":{"docs":{},"在":{"docs":{},"此":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.015151515151515152}}}}}}}}}}}}}}},"美":{"docs":{},"国":{"docs":{},"英":{"docs":{},"语":{"docs":{"chapter13/multi_languages_support.html":{"ref":"chapter13/multi_languages_support.html","tf":0.006944444444444444},"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}},"未":{"docs":{},"读":{"docs":{},"邮":{"docs":{},"件":{"docs":{},"数":{"docs":{"chapter13/intl.html":{"ref":"chapter13/intl.html","tf":0.0028011204481792717}}}}}}},"判":{"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":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},"'":{"docs":{},"e":{"docs":{},"n":{"docs":{},"'":{"docs":{},",":{"docs":{"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"英":{"docs":{},"语":{"docs":{},"系":{"docs":{},"的":{"docs":{},"国":{"docs":{},"家":{"docs":{},"非":{"docs":{},"常":{"docs":{},"多":{"docs":{},",":{"docs":{},"如":{"docs":{},"美":{"docs":{},"国":{"docs":{},"、":{"docs":{},"英":{"docs":{},"国":{"docs":{},"、":{"docs":{},"澳":{"docs":{},"大":{"docs":{},"利":{"docs":{},"亚":{"docs":{},"等":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"英":{"docs":{},"语":{"docs":{},"系":{"docs":{},"国":{"docs":{},"家":{"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":{},"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":{"chapter13/faq.html":{"ref":"chapter13/faq.html","tf":0.02}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"讲":{"docs":{},"到":{"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.006060606060606061}}}}}}}}}},"传":{"docs":{},"给":{"docs":{},"它":{"docs":{},"的":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"确":{"docs":{},"定":{"docs":{},"了":{"docs":{},",":{"docs":{},"即":{"docs":{},"该":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"大":{"docs":{},"小":{"docs":{},"与":{"docs":{},"它":{"docs":{},"自":{"docs":{},"身":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"意":{"docs":{},"为":{"docs":{},"该":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"大":{"docs":{},"小":{"docs":{},"是":{"docs":{},"否":{"docs":{},"仅":{"docs":{},"通":{"docs":{},"过":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}}}}}}}}},"才":{"docs":{},"会":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"而":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018832391713747645}}}}}}}}},"没":{"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.0018832391713747645}}}}}}}}}}}}},"答":{"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.0018832391713747645}}}}}}}}}}}}}}}}}}}}}},"信":{"docs":{},"号":{"docs":{},")":{"docs":{},",":{"docs":{},"在":{"docs":{},"此":{"docs":{},"次":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"结":{"docs":{},"束":{"docs":{},"前":{"docs":{},",":{"docs":{},"该":{"docs":{},"方":{"docs":{},"法":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"反":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}},"已":{"docs":{},"经":{"docs":{},"创":{"docs":{},"建":{"docs":{},"过":{"docs":{},"了":{"docs":{},",":{"docs":{},"则":{"docs":{},"将":{"docs":{},"根":{"docs":{},"e":{"docs":{},"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.0018587360594795538}}}}}}}}}}}}}}}}}}},"检":{"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.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"真":{"docs":{},"正":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"逻":{"docs":{},"辑":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}}}}},"锁":{"docs":{},"定":{"docs":{},"事":{"docs":{},"件":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}}},"队":{"docs":{},"列":{"docs":{},"。":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018587360594795538}}}}},"成":{"docs":{},"功":{"docs":{},"了":{"docs":{},"!":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}},"清":{"docs":{},"除":{"docs":{},"所":{"docs":{},"有":{"docs":{},"缓":{"docs":{},"存":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}},"指":{"docs":{},"定":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},"缓":{"docs":{},"存":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}},"缓":{"docs":{},"存":{"docs":{},"上":{"docs":{},"限":{"docs":{},"设":{"docs":{},"置":{"docs":{},"的":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}},"图":{"docs":{},"片":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}},"容":{"docs":{},"量":{"docs":{},"上":{"docs":{},"限":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}},"数":{"docs":{},"量":{"docs":{},"上":{"docs":{},"限":{"docs":{},"(":{"1":{"0":{"0":{"0":{"docs":{},")":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"在":{"docs":{},"这":{"docs":{},"里":{"docs":{},",":{"docs":{},"记":{"docs":{},"为":{"docs":{},"a":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"详":{"docs":{},"细":{"docs":{},"介":{"docs":{},"绍":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}}}}}}}}}}}}}}}}}},"最":{"docs":{},"长":{"docs":{},"时":{"docs":{},"间":{"docs":{},",":{"docs":{},"单":{"docs":{},"位":{"docs":{},"(":{"docs":{},"秒":{"docs":{},")":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}},"队":{"docs":{},"列":{"docs":{"chapter14/image_and_cache.html":{"ref":"chapter14/image_and_cache.html","tf":0.0011737089201877935}}}},"策":{"docs":{},"略":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"结":{"docs":{},"构":{"docs":{},"见":{"docs":{},"\"":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},".":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}}}}}}}}}}}}}}}}}}}}}},"创":{"docs":{},"建":{"docs":{},"时":{"docs":{},"间":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}},"网":{"docs":{},"络":{"docs":{},"请":{"docs":{},"求":{"docs":{},";":{"docs":{},"需":{"docs":{},"要":{"docs":{},"请":{"docs":{},"求":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{"chapter15/intro.html":{"ref":"chapter15/intro.html","tf":0.05}}}}}}}}}}}}},"封":{"docs":{},"装":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}},"缓":{"docs":{},"存":{"docs":{},"对":{"docs":{},"象":{"docs":{"chapter15/globals.html":{"ref":"chapter15/globals.html","tf":0.003787878787878788}}}}}},"接":{"docs":{},"口":{"docs":{},"缓":{"docs":{},"存":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}},"存":{"docs":{},"放":{"docs":{},"所":{"docs":{},"有":{"docs":{},"路":{"docs":{},"由":{"docs":{},"页":{"docs":{},"面":{"docs":{},"类":{"docs":{"chapter15/code_structure.html":{"ref":"chapter15/code_structure.html","tf":0.015151515151515152}}}}}}}}}}},"公":{"docs":{},"开":{"docs":{},"项":{"docs":{},"目":{"docs":{},"数":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}},"账":{"docs":{},"号":{"docs":{},"信":{"docs":{},"息":{"docs":{},"更":{"docs":{},"新":{"docs":{},"时":{"docs":{},"间":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}},"创":{"docs":{},"建":{"docs":{},"时":{"docs":{},"间":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}}}}}},"邮":{"docs":{},"箱":{"docs":{"chapter15/models.html":{"ref":"chapter15/models.html","tf":0.004048582995951417}}}},"封":{"docs":{},"装":{"docs":{},"网":{"docs":{},"络":{"docs":{},"请":{"docs":{},"求":{"docs":{"chapter15/network.html":{"ref":"chapter15/network.html","tf":0.0029069767441860465}}}}}}}},"专":{"docs":{},"门":{"docs":{},"用":{"docs":{},"于":{"docs":{},"构":{"docs":{},"建":{"docs":{},"列":{"docs":{},"表":{"docs":{},"项":{"docs":{},"u":{"docs":{},"i":{"docs":{},"。":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"chapter15/entry.html":{"ref":"chapter15/entry.html","tf":0.001176470588235294}}}}}}}}}}}}}}}}}}}}}},"隐":{"docs":{},"藏":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"框":{"docs":{"chapter15/login_page.html":{"ref":"chapter15/login_page.html","tf":0.0038461538461538464}}}}}}}}}}}},"切":{"docs":{},"换":{"docs":{},"语":{"docs":{},"言":{"docs":{},"后":{"docs":{},"立":{"docs":{},"即":{"docs":{},"生":{"docs":{},"效":{"docs":{},"。":{"docs":{"chapter15/language_and_theme_setting.html":{"ref":"chapter15/language_and_theme_setting.html","tf":0.006329113924050633}}}}}}}}}}}}},"length":15142},"corpusTokens":["!=","!_active;","!_nameautofocus,","!_toggle;","!_withtree;","!pwdshow,","!pwdshow;","!showtotopbtn","!withtree;","\"","\"\"))","\"\"),","\"\";","\"##loading##\";","\"$classname.dart\"');","\"$filename.dart\"');","\"$user\",","\"${(_animationcontroller.valu","\"${(progress","\"),","\");","\"*4,","\"*6,","\"+snapshot.data;","\",","\"./example/hbuilder.9.0.2.macosx_64.dmg\";","\"./images/avatar.png\",","\"/\":(context)=>","\"/users/$login\",","\"0%\";","\"123456789\";","\"2008","\"2011","\"2018","\"5.20\",","\";","\"@@last_modified\":","\"@@locale\":\"zh_ch\",","\"@remainingemailsmessage\":","\"@title\":","\"\\ue914\";","\"abcdefghijklmnopqrstuvwxyz\";","\"admin\",","\"age\":","\"alice\",","\"application/vnd.github.squirrel","\"application/vnd.github.symmetra","\"avatar\",","\"avatar_url\":","\"batteri","\"bio\":","\"blog\":","\"bool\";","\"boss\":\"$person\"","\"bytes=$start","\"cache\":\"$cacheconfig\",","\"company\":","\"courier\",","\"created_at\":","\"dc380d\";","\"default_branch\":","\"description\":","\"dump","\"echo:","\"email\",","\"email\":","\"email\":\"alice@example.com\"","\"email\":\"jack@example.com\"","\"email\":\"nancy@example.com\"","\"en_us\"),","\"enable\":true,","\"engineentertimestampmicros\":","\"error","\"example\":","\"fail","\"file","\"file1\":","\"file2\":","\"files\":","\"flutter","\"flutterchina.club\",","\"flutter应用\"","\"flutter应用\",","\"followers\":","\"following\":","\"fork\":","\"forks_count\":","\"friends\":\"$[]person\"","\"friends\":[","\"full_name\":","\"getbatterylevel\")","\"github\",","\"hello","\"hello\";","\"hi","\"hi\");","\"hireable\":","\"home:","\"how","\"howmany\":","\"http://download.dcloud.net.cn/hbuilder.9.0.2.macosx_64.dmg\";","\"https\",","\"https://api.github.com/licenses/mit\",","\"https://avatars2.githubusercontent.com/u/20411648?s=460&v=4\"),","\"https://avatars2.githubusercontent.com/u/20411648?s=460&v=4\",","\"https://flutterchina.club\",","\"https://github.com/blog\",","\"https://github.com/images/error/octocat_happy.gif\",","\"id\":","\"imgs/avatar","\"imgs/avatar.png\",","\"input1\"","\"input2\"","\"intercepted:","\"jack\",","\"javascript\",//该项目的主要编程语言","\"john","\"john@example.com\"","\"john@example.com\",","\"key\":","\"language\"),","\"language\":","\"lastlogin\":\"\",","\"license\":","\"list\":","\"list\";","\"locale\":\"\"","\"location\":","\"login\":","\"map\";","\"master\",","\"materialicons\",","\"maxage\":1000,","\"maxcount\":100","\"mdc6tgljzw5zzw1pda==\"","\"mit","\"mit\",","\"monalisa","\"monospace\";","\"mother\":\"$person\",","\"mother\":{","\"mozilla/5.0","\"name\":","\"nancy\",","\"new_page\");","\"new_page\":(context)=>echoroute(),","\"new_page\":(context)=>newroute(),","\"no","\"nocache\":","\"node_id\":","\"num\";","\"octocat\",","\"octocat/hello","\"octocat@github.com\",","\"open_issues_count\":","\"owned_private_repos\":","\"owner\":","\"parent\":\"$repo\",","\"person.dart\";","\"placeholders\":","\"private\":","\"proxi","\"public_repos\":","\"pushed_at\":","\"range:","\"remainingemailsmessage\",","\"remainingemailsmessage\":","\"samples.flutter.io/battery\"","\"samples.flutter.io/battery\",","\"samples.flutter.io/battery\";","\"san","\"size\":","\"spdx_id\":","\"stargazers_count\":","\"string\";","\"subscribers_count\":","\"temp$no\",","\"temp0\");","\"test\");","\"text\",","\"theme\":5678,","\"themes\"),","\"themes\":","\"there","\"thi","\"timeafterframeworkinitmicros\":","\"timetofirstframemicros\":","\"timetoframeworkinitmicros\":","\"tip2\":","\"titl","\"title\":","\"token\":\"\",","\"total_private_repos\":","\"type\":","\"unavailable\",","\"updated_at\":","\"upload.txt\")","\"upload.txt\"),","\"upload1.txt\"),","\"upload2.txt\"),","\"url\":","\"urllauncherplugin.h\"","\"use","\"user\",","\"user\":\"$user\",","\"user/repos\",","\"wendux\",","\"xx\":\"xx\",","\"yy\":\"dd\"","\"zh\")","\"zh_cn\"),","\"{howmany,plural,","\"中文简体\"","\"你好世界\"),","\"历史\",","\"图片\"];","\"密码\",","\"密码不能少于6位\";","\"您的登录密码\",","\"我是从互联网上获取的数据\");","\"我是提示xxxx\",","\"我是返回值\"),","\"标题\"),","\"正在请求...\";","\"点我变色\",","\"用户名\",","\"用户名不能为空\";","\"用户名或邮箱\",","\"电子邮件地址\",","\"电池信息不可用\",","\"网络不通...\";","\"美国英语\"}\");","\"请求失败:$e\";","#","#\"","#...省略无关项","#import","#指定一个字体名","#省略剩余内容","#请使用pub上的最新版本","$","$_counter","$delete\");","$deletetree\");","$device';","$end\"},","$home/.bash_profil","$home/.bash_profile。文件路径和文件名可能在你的电脑上不同.","$howmani","$index'),","$key';","$line\");","$msg';","$path","$resolved');","$result","$result\");","$this',","$v\");","${cart.totalprice}\"),","${cart.totalprice}\");","${notification.metrics.extentaft","${snapshot.data}\");","${snapshot.data}');","${snapshot.error}\");","${snapshot.error}');","${user.email}.');","${user.name}!');","${user['email']}.');","${user['name']}!');","%","%s","%s();","%s.fromjson(map","%t","&","","","","&&","'","'$_count',","'$_counter',","'$from","'$result","'$runtimetyp","'$runtimetype'","'${e.message}'.\";","'${snapshot.data}'","'%s.g.dart';","'');","'../index.dart';","'../widgets/index.dart';","'0.1.1'","'0.4.3'","'[root]',","'active'","'basic","'batteri","'cn')","'cn'),","'codec_framecount';","'codec_getnextframe';","'codec_repetitioncount';","'com.google.guava:guava:23.0","'dart:async'","'dart:async';","'dart:collection';","'dart:convert';","'dart:developer';到相关文件顶部。","'dart:io';","'dart:math'","'dart:math';","'email':","'flutter","'fred'});","'get')","'hello","'howdy');","'howdy',","'http://maven.aliyun.com/nexus/content/groups/public/'","'https://api.github.com/',","'inactive',","'increment',","'instantiateimagecodec';","'length'","'messages_all.dart';","'my_icons')","'my_package',","'myicon',","'name':","'object'","'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';","'page':","'page_size':","'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')","'us'),","'us');","'user.g.dart';","'username':","'widget","'window_render';","'window_scheduleframe';","'you","'zh'].contains(locale.languagecode);","(","(!global.isrelease)","(!global.profile.cache.enable)","(!parentusess","(!usermodel.islogin)","(!value.islogin)","(\"getbatterylevel\"","((_formkey.currentst","((datetime.now().millisecondssinceepoch","()","(){","(100","(17539):","(17666):","(18545):","(27896):","(64","([@\"getbatterylevel\"","(_color","(_controller.offset","(_controller.text.isnotempty)","(_currentsizebyt","(_imagestream.key","(_lastpressedat","(_nodesneedinglayout.isnotempty)","(_overflow","(_profil","(_profile.local","(_relayoutboundari","(_size.contains(position))","(_unamecontroller.text","(_valu","(_words.length","(_words[index]","(alignment.x*childwidth/2+childwidth/2,","(ancestor","(android)或wkwebview(ios)来加载(以后若无特殊说明,我们用webview来统一指代android和ios中的网页加载控件)。这样以来,h5部分是可以随时改变而不用发版,动态化需求能满足;同时,由于h5代码只需要一次开发,就能同时在android和ios两个平台运行,这也可以减小开发成本,也就是说,h5部分功能越多,开发成本就越小。我们称这种h5+原生的开发模式为混合开发","(arg)","(automaticsystemuiadjustment)","(await","(backgroundcolor","(batterylevel","(batterymanager)","(bool","(bool)application:(uiapplication*)appl","(buildcontext","(bytes.lengthinbyt","(call.method","(call.method.equals(\"getbatterylevel\"))","(call:","(child","(child._needspaint)","(child.isrepaintboundary)","(child.parentdata","(chunk","(client)","(cmd","(color","(complet","(context","(context)","(context)=>pageb(),","(context){","(context,","(ctx)","(datetim","(delet","(deletetre","(details)","(details){","(devic","(device.batteryst","(dio.httpclientadapt","(direction)","(dragdowndetail","(dragenddetail","(dragupdatedetail","(dwebview)","(e)","(e){","(e,","(e.response?.statuscod","(element","(error,","(event)","(event)=>print(\"in\"),","(event)=>print(\"up\"),","(eventnam","(f","(filesystementity.isfilesync(f.path))","(fluttererrordetail","(flutterviewcontroller*)self.window.rootviewcontroller;","(fractionaloffse.x","(git命令行工具);","(hittestchildren(result,","(i","(i)","(imag","(in","(index","(int","(int)(device.batterylevel","(int)getbatterylevel","(intent.getintextra(batterymanager.extra_level,","(iphone;","(isforward)","(isrepaintboundary)","(khtml,","(leaf/singlechild/multichild)renderobjectwidget","(list","(local","(localemodel.getlocale()","(macos:preferences>plugins,","(map","(matchindex","(maximums","(maximumsizebyt","(node._layer.attached)","(node._needscompositingbitsupd","(node._needslayout","(node._needspaint","(notification)","(notification){","(notification.runtimetype){","(nsnull","(ob","(object","(oldwidget.turn","(onerror","(onnotif","(onreceiveprogress","(options.extra[\"list\"]","(options.extra[\"nocache\"]","(owner","(parent","(pendingimag","(physic","(pointerdownev","(pointermoveev","(pointerupev","(position.statu","(radiu","(received,","(refresh)","(renderobject","(renderviewel","(reserv","(response.statuscod","(result","(scaleupdatedetail","(scrollnotif","(size.width","(sizedbyparent)","(snapshot.connectionst","(snapshot.connectionstate)","(snapshot.hasdata)","(snapshot.haserror)","(statu","(str){","(strokecapround)","(supportedlocales.contains(_locale))","(total","(upper?str[0].touppercase():str[0].tolowercase())+str.substring(1);","(uri)","(user","(user?.login","(v)","(valu","(value,","(var","(version.sdk_int","(widget","(widget._dispatch(this,","(widget.data","(widget.imageprovid","(widget.repo.fork)","(widget.repo.priv","(widget.text","(widgetsbinding.inst","(x509certif","(zone","(不包括android","(不包括xcode或android","(不透明度)","(如","(如myapp),","(如果使用一些更低级别的类,如","(带有闪电⚡️图标的按钮)。","(带有闪电⚡️图标的按钮)也不会显示,将代理移除即可解决。","(当前语言环境)信息的。","(或者在编辑器中点击","(简称rn)是facebook于2015年4月开源的跨平台移动应用开发框架,是facebook早先开源的js框架","(绿色圆形箭头按钮)。","(译者语:和android中的framelayout相似),stack允许子","(语句级的单步调试和分析器)","(输入代码时进行验证、代码补全等)。","(运行、调试、热重载等)。",")","))",")),","));","),",").animate(",").attachtorendertree(buildowner,",").createshader(rect);",").tolist(),",");","){",")布局模型设计的。",");","*","**","*/*","+","++_counter,","++count),","+=","+x",",",",//",",bottom",".",".';","...","...,","....","...//","...//省略","...//省略其余代码","...//省略其它字段","...//省略无关代码","...//省略重复代码","...;","...省略具体实现代码","../../code/pkg1","..addlistener(()","..attachrootwidget(app)","..color","..color=color(0x77cdb175);//画笔颜色","..enabl","..isantialia","..maxag","..maxcount","..onmetricschang","..onsemanticsact","..onsemanticsenabledchang","..ontap","..ontextscalefactorchang","..schedulewarmupframe();","..strokecap","..strokewidth","..style","./intl.sh","./mo.sh",".0),",".0);",".0,",".0;",".2;",".5,",".5,//宽度设为原来宽度一半",".5,//宽度设为原来宽度一半,另一半会溢出",".7,",".75,",".8,),",".9,",".98",".accentcolor;",".add(item(20.0,",".animate(_animationcontroller),",".data",".firstwhere((e)",".imagecache.putifabsent(key,",".length",".map((c)",".of(context)",".padright(paddingwidth)),",".primarycolor,",".tolist(),",".tostring()",".tostring());",".trim()",".value),",".value,",".”","/","//","//...","//...省略无关代码","///","///两端是否为圆角","///粗细","///这个标注是告诉生成器,这个类是需要生成model类的","//1","//1.设置文本默认样式","//2","//2.不继承默认样式","//3","//3像素圆角","//50个列表项","//_setstate方法实际就是该statefulwidget的setstate方法,","//appbar,包含一个导航栏","//app语言跟随系统语言,如果系统语言不是中文简体或美国英语,","//basic认证凭据","//behavior:","//const","//dwebview继承自webview,由dsbridge提供","//file为证书路径","//final","//flex的三个子widget,在垂直方向按2:1:1来占用100像素的空间","//flex的两个子widget按1:2来占据水平空间","//github账号信息,结构见\"user.json\"","//grid","//grid按两列显示","//initialdata:","//json","//list","//listview各个构造函数的共同参数","//locale代理类","//locale相关值,title为应用标题","//locale资源类","//materi","//material设计规范中状态栏、导航栏、listtile高度分别为24、56、56","//navigator.push(context,","//no","//print(form.of(context));","//progress记录每一块已接收数据的长度","//query参数,用于接收分页信息","//request.addstream(_inputstream);","//return","//start","//state.count","//width:","//}));","//“去除”父级限制","//一个json格式的用户列表字符串","//上下各添加8像素补白","//上下左右各添加16像素补白","//上入下出","//上报错误和日志逻辑","//上次点击时间","//下划线widget预定义以供复用。","//下载图片","//下面代码没有效果","//下面代码没有问题","//下面生成模板","//不剪裁","//不同的类使用不同的mixin即可","//不指定返回类型,此时默认为dynamic,不是bool","//不能正常工作!","//不足100条,继续获取数据","//两次点击间隔超过1秒则重新计时","//中间位置空出","//临时文件按照块的序号命名,方便最后合并","//为了使用方便,我们定义一个静态方法","//为了避免内存泄露,需要调用_controller.dispos","//为了避免重复导入相同的包,我们用set来保存生成的import语句。","//为第二行icon自定义颜色(固定为黑色)","//主色,决定导航栏颜色","//主题更新后,materialapp会重新build","//主题色值","//主题颜色样本,见下面介绍","//从文件读取点击次数","//代理工具会提供一个抓包的自签名证书,会通不过证书校验,所以我们禁用证书校验","//会触发","//使用alertdialog会报错","//使用inheritedwidget中的共享数据","//使用iphone的ua","//使用local","//使用sharedatawidget","//使用statefulbuilder来构建statefulwidget上下文","//使用弹性曲线","//使用渐隐渐入过渡,","//使用自定义的clipper","//保存icon数据","//保存profile变更","//保存事件名","//保存事件订阅者队列,key:事件名(id),value:","//保存单例","//保存回调","//保存用户信息,接下来执行其它操作","//保存进度百分比","//先分别定义各个异步任务","//先正向执行动画","//入栈新路由","//公司","//共享状态使用泛型","//关注该用户的人数","//关闭client后,通过该client发起的所有请求都会中止。","//关闭对话框","//关闭对话框并返回true","//其它local","//其它属性及回调","//其它属性见源码注释","//内容的填充","//再反向执行动画","//分割器构造器","//分割线颜色","//切换主题","//列表项构造器","//列表项高度固定时,显式指定高度是一个好习惯(性能消耗小)","//则默认使用美国英语","//创建3个tab页","//创建websocket连接","//创建一个httpclient","//创建一个画笔并配置其属性","//创建列表项","//创建子widget","//初始值","//初始化全局信息,会在app启动时执行","//初始化状态","//初始化网络请求相关配置","//初始滚动位置","//判断当前element对应的widget是否是notificationlistener。","//判断新旧imagestream是否相同,如果不同,则需要调整流的监听器","//前景装饰","//剪裁为圆形","//剪裁为圆角矩形","//剪裁半圆","//动态创建一个list","//动画反向执行时,调整x偏移,实现”从左边滑出隐藏“","//动画恢复到初始状态时执行动画(正向)","//动画执行时间3秒","//动画执行结束时反向执行动画","//动画时间为500毫秒","//博客地址","//卡片倾斜变换","//卡片内文字居中","//卡片大小","//卡片文字","//卡片阴影","//卡片颜色","//双击","//反向遍历,防止在订阅者在回调中移除自身带来的下标错位","//发生错误","//发送","//取消订阅","//变换","//变色开关","//只会在滚动结束时才会触发此回调","//可以直接添加输入流","//可以省略string这个类型声明","//可滚动widget公共参数","//右上角","//合并临时文件","//名为\"/\"的路由作为应用的home(首页)","//后面介绍","//启动动画","//启动动画(正向执行)","//启动动画(正向)","//唯一标记,前后两个路由页hero的tag必须相同","//商品单价","//因为本路由没有使用scaffold,为了让子级widget(如text)使用","//图片宽高从0变到300","//图片的宽","//图片的混合色值","//图片高度","//圆角","//在后面优化部分会用到","//在命中测试期间如何表现","//在此简单返回true,则每次更新都会调用依赖其的子孙节点的`didchangedependencies`。","//在这里不能通过此方式获取formstate,context不对","//均分底部导航栏横向空间","//垂直方向居中对齐","//垂直方向拖动事件","//填充","//处理特殊标志","//复选框选中状态发生变化时重新构建ui","//外形","//多出的部分","//头像占位图,加载过程中显示","//如果build中没有依赖inheritedwidget,则此回调不会被调用。","//如果leading为null,是否自动实现默认的leading按钮","//如果renderobject.isrepaintboundari","//如果到了表尾","//如果已经选定语言,则不跟随系统","//如果支持","//如果数据发生变化(model类调用了notifylisteners),重新构建inheritedprovid","//如果是下拉刷新,先删除相关缓存","//如果显示到最后一个并且icon总数小于200时继续获取数据","//如果返回true,则子树中依赖(build函数中有调用)本widget","//如果颜色固定可以直接使用整数值","//子widget列表","//子节点,可以为空","//字符串重复六次","//定义一个control","//定义一个globalkey,","//定义一个top","//定义一个便捷方法,方便子树中的widget获取共享数据","//定义一个状态,保存当前指针位置","//定义下划线颜色","//定义错误处理函数","//实现画笔","//容器内补白","//容器内补白,属于decoration的装饰范围","//容器外填充","//容器外补白","//容器大小的限制条件","//容器的高度","//宽度尽可能大","//宽高比为1时,子widget","//宽高比为2","//密码是否显示明文","//对话框标题组件","//对话框语义化标签(用于读屏软件)","//对齐方式","//导入cupertino","//导航到新路由","//导航栏","//导航栏右侧菜单","//导航栏最左侧widget,常见为抽屉菜单按钮或返回按钮。","//将json字符串转为dart对象(此处是list)","//将json类型转为对应的dart类型","//将transform.rotate换成rotatedbox","//将测试结果添加到result中","//将焦点从第一个textfield移到第二个textfield","//将生成的模板输出","//将请求uri作为缓存的key","//将选中状态通过事件的形式抛出","//工厂构造函数","//左边添加8像素补白","//已登录,则展示项目列表","//布局","//布局构建器","//应用主页","//应用名称","//应用首页路由","//建立连接","//开启自动校验","//弹出删除确认对话框,等待用户确认","//弹出对话框并等待其关闭","//弹性布局的方向,","//强制高度为50.0","//当provider更新时,如果新旧数据不\"==\",则解绑旧数据监听,同时添加新数据监听","//当前路由主题色","//当前路由被激活,是打开新路由","//形状","//悬浮按钮","//我们只支持美国英语和中文简体","//我们的自定义图标","//所以animatedwidget必须通过某种方式将其状态对象_animatedwidgetst","//手动指定local","//手指按下回调","//手指按下时会触发此回调","//手指滑动时会触发此回调","//手指移动回调","//打印手指按下的位置(相对于屏幕)","//打印机型","//打印滑动结束时在x、y轴上的速度","//打印滚动位置","//打印通知","//打开b路由","//打开http连接","//执行build方法","//执行删除操作","//执行失败会走到这里","//执行成功会走到这里","//执行接下来的操作","//执行缩放动画","//找到最近的layer,绘制","//把请求到的新数据添加到items中","//报告错误","//报错,isnoble不是bool类型","//抽屉","//抽屉菜单","//指定列表高度为400","//指定包名","//指定宽度,高度自适应","//指定平台,应用特定平台控件风格","//指定未定位或部分定位widget的对齐方式","//指定画布大小","//指定监听通知的类型为滚动结束通知(scrollendnotification)","//指定请求的内容区间","//按钮主题","//按钮按下时的背景颜色","//按钮文字颜色","//按钮点击回调","//按钮点击时分发通知","//按钮的内容","//按钮的填充","//按钮禁用时的文字颜色","//按钮背景颜色","//控制子widget","//收集日志","//放大到1.5倍","//放开此行注释后可以\"点透\"","//放开此行注释后,进度条将失效","//故先判断是否是statelessel","//文件的总块数(包括第一块)","//文字字体","//旋转90度","//旋转90度(1/4圈)","//旋转的“圈”数,一圈为360度,如0.25圈即90度","//旋转角度发生变化时执行过渡动画","//无论成功或失败都会走到这里","//是notificationlistener,则调用该notificationlistener的_dispatch方法","//是statelesselement,则获取element对应的widget,判断","//是否为中文","//是否抗锯齿","//是否支持某个local","//是否是notificationlisten","//是否显示“返回到顶部”按钮","//是否自动校验。","//是返回,则不应用过渡动画","//显式关联json字段名与model属性的对应关系","//显式指定对齐方式为左对齐,排除对齐干扰","//显示主题色块","//显示区域宽高相等","//显示指定key,不同的key会被认为是不同的text,这样才能执行动画","//显示进度百分比","//暴露给其子类","//更新profile中的token信息","//更新renderobject.needscompositing属性值","//更新复选框状态","//更新显示的事件名","//更新自身选中状态","//更新选中状态","//替换模板占位符","//最多2000张","//最大宽度","//最大高度","//最小宽度","//最小高度","//最小高度为50像素","//最近一次的注销登录的用户名","//有多个,省略...","//有效,外层colum高度为整个屏幕","//未定位widget占满stack整个空间","//未来30天可选","//本接口禁用缓存","//构建功能菜单","//构建对话框内部ui","//构建抽屉菜单头部","//构建语言选择项","//构建错误详情对象","//查找当前或最近的一个祖先renderobject","//标题文本样式","//标题是否居中","//校验密码","//校验密码(不能为空)","//校验证书","//根据http协议,发送请求头","//根据背景色亮度来确定title颜色","//横轴三个子widget","//次级色,决定大多数widget的颜色,如进度条、开关等。","//正常状态下的阴影","//每一个字母都用一个text显示,字体为原来的两倍","//每次生成20个单词","//每点击一次,将count自增,然后重新build,sharedatawidget的data将被更新","//每行三列","//沿y轴倾斜0.3弧度","//沿主轴方向居中","//注册依赖关系","//注册原生api到jsbridg","//注册路由表","//注册首页路由","//测试row对齐方式,排除column默认居中对齐的干扰","//深色还是浅色","//混合模式","//添加persistentframecallback","//添加一个listen参数,表示是否建立依赖关系","//添加监听器","//添加订阅者","//添加这一句","//清空所有缓存","//渐变","//滚动方向,默认是垂直方向","//点击后将该element标记为dirty,element将会rebuild","//点击后计数器自增","//点击回调","//点击对话框barrier(遮罩)时是否关闭它","//点击时,水波动画中水波的颜色","//点击该按钮后弹出对话框","//点击遮罩不关闭对话框","//点击遮罩是否关闭对话框","//父","//父或祖先widget中的inheritedwidget改变(updateshouldnotify返回true)时会被调用。","//生成tab菜单","//用于icon颜色","//用于导航栏、floatingactionbutton的背景色等","//用于记录按钮点击的总次数","//用到gesturerecognizer的话一定要调用其dispose方法释放资源","//用户信息发生变化,更新用户信息并通知依赖它的子孙widgets更新","//用户名字","//用户头像地址","//用户手指滑动时,更新偏移,重新构建","//用户未登录,显示登录按钮","//用户登录","//用户登录名","//用户类型,可能是组织","//由于notificationlistener是继承自statelesswidget,","//由于子类要用到animatedwidget的状态对象_animatedwidgetstate,","//由于本widget也是form的子代widget,所以可以通过下面方式获取formst","//画棋盘网格","//画棋盘背景","//画笔样式:填充","//登录失败则提示","//登录成功后更新公共头(authorization),此后的所有请求都会带上用户身份信息","//登录成功后触发登录事件,页面a中订阅者会被调用","//登录成功后通过,id获取用户信息","//登录状态变化处理逻辑","//登录页b中","//的子widget的`state.didchangedependencies`会被调用","//监听window对象的事件","//监听滚动事件,打印滚动位置","//监听登录事件","//监听输入改变","//监听通知","//直接调用原生api","//相对于坐标系原点的对齐方式","//省略其它事件","//省略其它字段","//省略无关代码","//确保colors数组不空","//私有构造函数","//移除抽屉菜单顶部默认留白","//移除监听器","//移除计数器","//移除订阅者","//移除顶部pad","//第一行icon使用主题中的iconthem","//等待连接服务器(会将请求信息发送给服务器)","//线","//结果是:","//结果是:bob","//绘制子节点,","//给购物车中添加商品,添加后总价会更新","//维护单选开关状态","//缩放倍数在0.8到10倍之间","//网络不通会走到这","//背景为白色,则title自动为黑色","//背景为纸黄色","//背景为蓝色,则title自动为白色","//背景径向渐变","//背景混合模式","//背景渐变","//背景颜色","//自动获取model","//自定义图标","//若是列表,则只要url中包含当前path的缓存全部删除(简单实现,并不精准)","//若缓存未过期,则返回缓存内容","//获取local","//获取上下文大小","//获取主题","//获取用户信息","//获取用户信息后保存","//获取用户项目列表","//获取路由参数","//蓝色主题","//表尾标记","//要拖动和点击的widget","//解析文件总长度,进而算出剩余长度","//触发事件,事件触发后该事件所有订阅者会被调用","//计算每一个子widget的位置","//订阅登录状态改变事件","//订阅者回调签名","//订阅(关注)该项目的人数","//记录复选框是否选中","//设置[bold]和[hidden]标志","//设置control","//设置globalkey,用于后面获取formst","//设置key","//设置代理","//证书一致,则允许发送数据","//该回调决定当data发生变化时,是否通知子树中依赖data的widget","//该用户总的私有项目数(包括参与的其它组织的私有项目)","//该用户自己的私有项目数","//该赋值语句会触发materialapp","//该项目当前打开的issue数量","//该项目的star数量","//请求完成","//请求成功,通过项目信息构建用于显示项目名称的listview","//请求未完成时弹出load","//读取响应内容","//读取返回内容","//调用","//调用flutter","//调用rendererbinding的drawframe()方法","//调用了onerror回调","//调用后builder方法会重新被调用","//调用我们定义的交织动画widget","//距顶部的偏移","//路由b","//路由销毁时需要释放动画资源","//输入框光标颜色","//输出`tiproute`路由返回结果","//输出model目录","//输出响应头","//输出第一个用户的姓名","//边框","//过渡动画执行的总时长","//返回到顶部时执行动画","//进度条","//进度条显示50%","//进度条显示50%,会显示一个半圆","//退出账号前先弹二次确认窗","//退场(出)方向","//选中时的颜色","//递归子renderbox进行命中测试","//通知依赖的widget更新","//通知所有监听器,触发监听器回调","//通过constrainedbox来确保stack占满屏幕","//通过一个回调创建一个ticker","//通过位运算符将alpha设置为ff","//通过修改图片宽度来达到缩放效果","//通过方法将alpha设置为ff","//遍历json目录生成模板","//遍历回调,会对每一个父级element执行此回调","//重复方式","//重新构建","//重新构建列表","//重新构建页面","//重绘之前的预处理操作,检查renderobject是否需要重绘","//错误处理","//长按","//间隔,前60%的动画时间","//间隔,后40%的动画时间","//阴影","//阴影,可以指定多个","//随便返回一个text()","//隐藏下划线","//需要在子树中共享的数据,保存点击次数","//需要定义一个control","//需要继承tickerprovider,如果有多个animationcontroller,则应该使用tickerproviderstatemixin。","//页面a中","//项目owner头像","//项目名称","//项目完成名称","//项目描述","//项目的默认分支","//颜色","//颜色是一个字符串变量","//验证回调","//验证通过提交数据","//高度动画","//默认不选中","//默认原点为左上角,左移20像素,向上平移5像素","/applications/xcode.app/contents/develop","/hbuilder.9.0.2.macosx_64.dmg","0","0)","0))","0));","0),","0);","0,","0.0)","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.0;","0.0;//距左边的偏移","0.4.3版本的url_launcher,在","0.6),","0.6)带入坐标转换公式得flutterlogo实际偏移为(12,36),和实际运行效果吻合。","0.6,","0.6,//间隔,前60%的动画时间","00522983","00525262401065761290103018,","01","0;","0xe000","0xe614,","0xe90d","0xe914","0xec7d,","0xff2196f3;","0}\");","1","1\";","1)","1))","1)).then((e)","1));","1),","1);","1,","1.","1.0","1.0)","1.0))","1.0);","1.0)代表右侧底部终点,而alignment(1.0,","1.0)带入上面公式,可得flutterlogo的实际偏移坐标正是(60,0)。下面再看一个例子:","1.0,","1.0.0+1","1.0;","1.0]","1.1","1.1.1","1.1.2","1.1.3","1.1.4","1.1.5","1.1.6","1.15,","1.1:移动开发技术简介","1.2","1.2,","1.2.1","1.2.2","1.2.3","1.2:初识flutter","1.3","1.3.1","1.3.2","1.3.3","1.3.4","1.3:搭建flutter开发环境","1.4","1.4.1","1.4.2","1.4.3","1.4.4","1.4.5","1.4:dart语言简介","1.5","1.5,","10","10\"","10\"的作用是,告诉服务器本次请求我们只想获取文件0","10(包括10,共11字节)这块内容。如果服务器支持分块传输,则响应状态码为206,表示“部分内容”,并且同时响应头中包含”content","10.0),","10.0);","10.0,","10.1","10.1.10.250:8888\";","10.1:自定义组件方法简介","10.2","10.2:组合现有组件","10.3","10.3:组合实例:turnbox","10.4","10.4:自绘组件(custompaint与canvas)","10.5","10.5:自绘实例:圆形渐变进度条(自绘)","10/233295878","100","100)","100));","100).floor()}%\");","100).toint()}%\",","100).toint()}%\";","100);","100,","100.0","100.0)),","100.0),","100.0,","1000","1000,","1000;","100:","100;","101.8)","102;","104.0,","108,","10:00:52","10;","10_3_1","10t15:46:20.897228\",","10t17:37:28.505088\",","10所示:","10表示本次返回的区块,233295878代表文件的总长度,单位都是byte,","11.1","11.1:文件操作","11.2","11.2:http请求","11.3","11.3:http请求","11.4","11.4:实例:http分块下载","11.5:websocket","11.6","11.6:使用socket","11.7","11.7:json转dart","11。","11所示。","11所示:","12","12),","12.1","12.1:开发packag","12.2","12.2:平台通道简介","12.3","12.3:开发flutter插件","12.4","12.4:插件开发:实现android端api","12.5","12.5:插件开发:实现ios端api","120.0),","120.0,","125.8)","1296269,","12所示:","13,","13.0)","13.1","13.1:让app支持多语言","13.2","13.2:实现local","13.3:使用intl包","13.4","13.4:国际化常见问题","130,","13所示下:","13所示:","14.0)//定义提示文本样式","14.1","14.1:flutter","14.2","14.2.1","14.2.2","14.2:element和buildcontext","14.3","14.3.1","14.3.2","14.3.3","14.3.4","14.3.5","14.3:renderobject与renderbox","14.4","14.4:flutter从启动到显示","14.5","14.5.1","14.5.2","14.5:flutter图片加载与缓存","14t04:33:35z\",","14所示:","15","15,","15.0,","15.1","15.2","15.2:app代码结构","15.3","15.3:model类定义","15.4","15.4.1","15.4.2","15.4:全局变量及共享状态","15.5","15.5.1","15.5.2","15.5:网络请求封装","15.6","15.6.1","15.6.2","15.6.3","15.6:app入口及首页","15.7","15.7:登录页","15.8","15.8.1","15.8.2","15.8:多语言和多主题","150),","150.0)),","150.0),","150.0,","150.0,),","15;","15所示:","16","16),","16.0),","16.0,","1657393","16所示的卡片:","16所示:","16)或更高版本的android设备.","1794.0)","17所示:","18.0),","18.0),)","18.0,","18、图5","18所示:","192.168.1.2:8888\";","19所示(彩色):","19所示:","1:","1;","1]的一个值,数字越大颜色就越浅,我们可以根据它来动态确定title的颜色,下面是导航栏navbar的简单实现:","1})","1、15","1、9","1到1分别代表矩形左边到右边的距离和顶部到底边的距离,因此2个水平(或垂直)单位则等于矩形的宽(或高),如alignment(","1和14","1所示:","1是android系统中设置语言列表的截图:","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.1","2.1.1","2.1.2","2.1:计数器示例","2.2","2.2.1","2.2.2","2.2.3","2.2.4","2.2.5","2.2.6","2.2.7","2.2:路由管理","2.3","2.3:包管理","2.4","2.4:资源管理","2.5","2.5:调试flutter","2.6","2.6.1","2.6.2","2.625","2.625,","2.625x","2.6:dart线程模型及异常捕获","20),","20,","20.0),","20.0),//子","20.0,","200","200),","200,","200.0)),","200.0,","200.0;","200.0,0.0]的值:","2000),","200:","200ms;","2017","2018","2018年2月,flutter发布了第一个beta版本,同年五月,","2018年6月,flutter发布了首个预览版本,这意味着","206)","20所示:","2171978,","21所示:","22所示:","23","23所示效果的底部导航栏应该怎么做呢?","24","24.0),","24.0,","24所示:","25),","25,","25.0,","250.0,","255).animate(controller);","255).animate(curve);","25所示:","26.0),","26t19:01:12z\",","26t19:06:43z\",","26t19:14:43z\",","26所示:","27k","27所示:","28.0),","280),","280,","28所示:","29所示:","2:","2和2","2所示:","2秒后返回结果","2(点击后)所示:","3","3\";","3));","3),","3,","3.","3.0,","3.1","3.1.0正式发布,实现了对于ios的完全支持,新增winrt、beautifier等插件,废弃了无python接口的gdb调试支持,集成了基于clang的c/c++代码模块,并对android支持做出了调整,至此实现了全面支持ios、android、wp,它提供给应用程序开发者构建图形用户界面所需的所有功能。但是,qt虽然在pc端获得了巨大成功,备受社区追捧,然而其在移动端却表现不佳,在近几年,虽然偶尔能听到qt的声音,但一直很弱,无论qt本身技术如何、设计思想如何,但事实上终究是败了,究其原因,笔者认为主要有四:","3.1.1","3.1.2","3.1.3","3.1.4","3.1.5","3.1.6","3.1.7","3.1:widget简介","3.2","3.2.0.pom","3.2.1","3.2.2","3.2.3","3.2:状态管理","3.3","3.3.1","3.3.2","3.3.3","3.3.4","3.3.5","3.3:文本、字体样式","3.4","3.4.1","3.4.2","3.4:按钮","3.5","3.5,0.0,0.0,0.0","3.5.1","3.5.2","3.5:图片和icon","3.6","3.6:单选框和复选框","3.7","3.7.1","3.7.2","3.7:输入框和表单","3.8","3.8:进度指示器","30","30),","30,","30.0),),","30.0);","30.0),及图片中部40×30像素的范围。","30.0,","300),","300.0).animate(animation)","300.0).animate(controller)","300.0).animate(controller);","300.0,","300:","3039):","30所示:","31","31所示:","32.0,","328026813]","32所示:","33所示:","36.0);","3600","38.0),","388965355]","3;","3、15","3所示。","3所示:","3是provider的原理图:","3灰色矩形,就可以看到整个动画效果,图9","3秒后返回结果","3)是在iphonex上页面效果截图:","4),","4.","4.0","4.0,","4.1","4.1(api","4.1:布局类组件简介","4.2","4.2:线性布局(row、column)","4.3","4.3:弹性布局(flex)","4.4","4.4.1","4.4.2","4.4:流式布局(wrap、flow)","4.5","4.5:层叠布局(stack、positioned)","4.6","4.6.1","4.6.2","4.6.3","4.6:对齐与相对定位(align)","40,","40.0),","40.0,","400","400,","400:","401)","411.4,","42","42,","437.086m","48.0;","4;","4、6","4所示。","4所示下:","4所示:","4是动画执行过程中的一帧。","4秒后返回结果","4类似的错误。","5","5),","5,","5.0","5.0),","5.0,","5.1","5.1:填充(padding)","5.2","5.2.1","5.2.2","5.2.3","5.2.4","5.2:尺寸限制类容器(constrainedbox等)","5.3","5.3:装饰容器(decoratedbox)","5.4","5.4:变换(transform)","5.5","5.5:container容器","5.6","5.6.1","5.6.2","5.6.3","5.6.4","5.6.5","5.6:scaffold、tabbar、底部导航","5.7","5.7:剪裁(clip)","50","50,","50,),","50.0","50.0,","500","500),","500,","500:","50:","514585,","52,","5436):","55.0),","56","56,","5s或更高版本)。","5所示。","5所示),确定其最新的版本号和是否支持flutter。","5所示:","5:","6),","6.1","6.1:可滚动组件简介","6.2","6.2:singlechildscrollview","6.3","6.3:listview","6.4","6.4:gridview","6.5","6.5:customscrollview","6.6","6.6.1","6.6.2","6.6:滚动监听及控制(scrollcontroller)","60,","60.0),","60.0);","60.0,","600","600:","60hz。当一帧图像绘制完毕后准备绘制下一帧时,显示器会发出一个垂直同步信号(如vsync),","60hz的屏幕就会一秒内发出","60次这样的信号。而这个信号主要是用于同步cpu、gpu和显示器的。一般地来说,计算机系统中,cpu、gpu和显示器以一种特定的方式协作:cpu将计算好的显示内容提交给","625702218]","6559):","683.4)","683.4))","683.4),","683.4);","683.4),它用于强制renderpositionedbox下的所有渲染框到屏幕的大小,","6、15","6、7","6所示:","6的屏幕dpi为3.5","6),单击右上角的","7","7.0语法中就已经存在了,因此我们可以看到google对dart语言给予厚望,是想把dart打造成一门集百家之所长的编程语言。","7.1","7.1:导航返回拦截(willpopscope)","7.2","7.2:数据共享(inheritedwidget)","7.3","7.3:","7.4","7.4.1","7.4.2","7.4:颜色和主题(theme)","7.5","7.5.1","7.5.2","7.5:异步ui更新(futurebuilder、streambuilder)","7.6","7.6.1","7.6.2","7.6.3","7.6.4","7.6.5","7.6:对话框详解","700","700:","7所示。","7所示:","8","8,","8.0),","8.0,","8.0,//按下时的阴影","8.1","8.1:原始指针事件处理","8.2","8.2.1","8.2.2","8.2.3","8.2:手势识别","8.3","8.3:全局事件总线","8.4","8.4:通知(notification)","80)","80);","80,","80.0)","80.0),","80.0)作为子组件的约束。","80.0)等价于:","80.0,","80.0,height:","80.0,maxheight:","80.0,maxwidth:","80.0,minwidth:","800:","82.0,","8513):","8、7","8所示,此时点击超链接即可自动跳转到安装页面","8所示:","8)。","8),然后用textspan实现它。","8:","9)],","9,","9.0或更新版本(通过链接下载或苹果应用商店).","9.0或更高版本:","9.1","9.1:flutter动画简介","9.2","9.2.1","9.2.2","9.2:动画结构","9.3","9.3:自定义路由过渡动画","9.4","9.4:hero动画","9.5","9.5:交织动画","9.6","9.6.1","9.6.2","9.6:通用\"切换动画\"组件(animatedswitcher)","90.0,","900:","900;","96025565262,","9所示:","9),","9:",":",":super(child:",":super(key:",";","=","=0{there","=0{没有未读邮件}=1{有{howmany}封未读邮件}other{有{howmany}封未读邮件}}\",","==","==(dynam","==(other)","=>","=>placeholder,","=>text(\"总价:","=await",">",">=","?","??","??=","@immut","@implement","@javascriptinterfac","@jsonkey(name:","@jsonserializable()","@objc","@overrid","@pragma('vm:entri","@protect","@requir","@uiapplicationmain","[","[\"新闻\",","['en',","[0.0","[0]","[1]","[2]","[3]","[],","[];","[_pendingimage.removelistener].","[arg])","[batterychannel","[bool","[child].","[color,","[colors.blue,","[colors.blue[700],","[colors.lightblue[300],","[colors.lightgreen,","[colors.orange,","[colors.red,","[colors.teal,","[eventcallback","[fluttermethodchannel","[globalkey","[globalobjectkey","[howmany],","[item]","[loadingtag];","[renderobjecttowidgetel","[root]","[self","[string","[super","[theme.primarycolor,","[uiapplicationlaunchoptionskey:","\\","\\ue000\";","\\ue90d\";","]","])","]).listen((data){","]).then((results){","]);","],","].map((e){","];","^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","_animatedswitchercounterroutest","_animatedswitchercounterroutestate();","_animatedthemestate(543295893;","_animatedwidgetstate)","_animationcontrol","_animationcontroller,","_animationcontroller.addlistener(()","_animationcontroller.addstatuslistener((status)","_animationcontroller.dispose();","_animationcontroller.forward();","_animationcontroller.reverse();","_animationcontroller.value),","_animationcontroller.value,","_animationcontroller;","_batterylevel","_blueprimaryvalu","_blueprimaryvalue,","_buildanimation(buildcontext","_buildanimation,","_buildbody()","_buildbody(),","_buildbody()方法来构建主页内容,_buildbody()方法实现代码如下:","_buildbottom()","_buildheader()","_buildheader(),","_buildlanguageitem(\"english\",","_buildlanguageitem(\"中文简体\",","_buildlanguageitem(gm.auto,","_buildlanguageitem(str","_buildmaterialdialogtransitions(","_buildmaterialdialogtransitions,","_buildmenus()","_buildmenus()),","_cach","_cache.keys.first;","_cache.length","_cache.remove(key);","_cache[key]","_cache[key];","_cachedimag","_cachedimage(result,","_callback","_changenotifierproviderst","_changenotifierproviderstate();","_checkboxselected,","_checkboxselected=true;//维护复选框状态","_checkboxselected=value;","_checkcachesize()","_checkcachesize();","_color","_colors),","_colors,","_colors.last,","_compositechild(child,","_compositechild(renderobject","_control","_controller,","_controller.addlistener(()","_controller.animateto(","_controller.animateto(.0,","_controller.dispose();","_controller.forward().orcancel;","_controller.reverse().orcancel;","_controller.valu","_controller;","_count","_counter","_counter++;","_counter;","_counter=widget.initvalue;","_counterwidgetst","_counterwidgetstate();","_currentsizebyt","_debugreportexception(","_depend","_dependencies.add(ancestor);","_devicepixelratio;","_dialogcheckboxst","_dialogcheckboxstate();","_dialogroutest","_dio","_dio.get(\"https://api.github.com/orgs/flutterchina/repos\"),","_dispatch(notif","_drag","_dragstat","_dragstate();","_dragvert","_dragverticalst","_dragverticalstate();","_element.markneedsbuild();","_emap","_emap[eventname]","_emap[eventname].add(f);","_emap[eventname];","_event;","_fileoperationroutest","_fileoperationroutestate();","_focusscop","_focustestroutest","_focustestroutestate();","_formkey","_formkey,","_formkey=","_formtestroutest","_formtestroutestate();","_futurebuilderroutest","_futurize(_getnextframe);","_gesturedetectortestroutest","_gesturedetectortestroutestate();","_gesturerecognizertestroutest","_getbatterylevel()","_getbatterylevel,","_getimage()","_getimage();","_getlocalfile()","_getlocalfile()).writeasstring('$_counter');","_getlocalfile();","_getnextframe(_callback","_globalkey","_globalkey.currentstate.opendrawer()","_globalkey=","_gradientbuttonroutest","_gradientbuttonroutestate();","_gradientcircularprogresspaint","_gradientcircularprogresspainter(","_gradientcircularprogresspainter({","_hadunsatisfieddepend","_handlepersistentframecallback(dur","_handlepersistentframecallback:","_handlesemanticsaction;","_handlesemanticsenabledchang","_handletap()","_handletap,","_handletapboxchanged()","_handletapboxchanged(bool","_handletapboxchanged,","_handletapcancel()","_handletapcancel,","_handletapdown(tapdowndetail","_handletapdown,","_handletapup(tapupdetail","_handletapup,","_highlight","_homeroutest","_homeroutestate();","_httpclient.geturl(resolved);","_httptestroutest","_httptestroutestate();","_icon","_icons.length","_icons.length,","_imageinfo","_imageinfo;","_imageinfo?.image,","_imageinfo?.scal","_imagestream","_imagestream.addlistener(listener);","_imagestream.removelistener(imagestreamlistener(_updateimage));","_imagestream;","_import+=_import.isempty?\"\":\";\";","_import=set.join(\";\\r\\n\");","_incrementcounter()","_incrementcounter,","_infinitegridviewst","_infinitegridviewstate();","_infinitelistviewst","_infinitelistviewstate();","_inheritedwidget","_inheritedwidgets[targettype];","_inheritedwidgettestroutest","_inheritedwidgettestroutestate();","_instantiateimagecodec(uint8list","_item","_items.add(item);","_items.fold(0,","_kdefaults","_kdefaultsize;","_kdefaultsizebyt","_kdefaultsizebytes;","_lastpressedat","_lastpressedat;","_left","_left,","_leftb","_leftb,","_load","_loadasync(","_loadasync(key,","_locale,","_locale;","_loginroutest","_loginroutestate();","_materialappstate(1009803148))","_materialappstate(1009803148)]","_materialappstate(1009803148)];","_materialappstate(859106034)]","_maximums","_maximumsize)","_maximumsizebyt","_modalscop","_msg+=notification.msg+\"","_msg=\"\";","_myhomepagest","_myhomepagestate();","_myhomepagestate.build","_myhomepagestate类是myhomepage类对应的状态类。看到这里,读者可能已经发现:和myapp","_myimagest","_myimagestate();","_myrichtextst","_myrichtextstate();","_nameautofocu","_nameautofocus,","_needslayout","_noblegas","_noblegases[atomicnumber]","_nodesneedingcompositingbitsupdate)","_nodesneedingcompositingbitsupdate.clear();","_nodesneedingcompositingbitsupdate.sort(","_nodesneedinglayout","_nodesneedinglayout;","_nodesneedingpaint","_nodesneedingpaint;","_offset","_offset)","_offset,","_onadd(){","_onbeginframe;","_ondrawframe;","_onitemtapped(int","_onitemtapped,","_onlocalechanged;","_onlogin()","_onlogin,","_onmetricschanged;","_onplatformmessage;","_onpointerdatapacket;","_onpressed,","_ontextscalefactorchanged;","_oper","_option","_options,","_options.extra.addall({\"refresh\":","_options.merge(headers:","_options;","_overlayentri","_parentwidgetcst","_parentwidgetcstate();","_parentwidgetst","_parentwidgetstate();","_parentwidgetstatec类:","_pendingimag","_pendingimage(result,","_pendingimages.remove(key);","_pendingimages[key]","_pendingimages[key]?.completer;","_physicalsize;","_playanimation()","_playanimation();","_pref","_prefs.getstring(\"profile\");","_prefs.setstring(\"profile\",","_prefs;","_profil","_profile.lastlogin","_profile.local","_profile.locale)","_profile.locale.split(\"_\");","_profile.locale;","_profile.them","_profile.theme,","_profile.us","_profile.user;","_profile.user?.login)","_profile.user?.login;","_progress","_progressroutest","_progressroutestate();","_providerroutest","_providerroutestate();","_pwdcontrol","_pwdcontroller,","_pwdcontroller.text);","_readcounter()","_readcounter().then((int","_renderviewel","_repoitemst","_repoitemstate();","_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,","_setstate(()","_setstate)","_showbottomsheet()","_showdatepicker1()","_showdatepicker2()","_showmodalbottomsheet()","_showmodalbottomsheet();","_singleton","_singleton;","_staggerroutest","_staggerroutestate();","_start","_start,","_statefulbuilderst","_statefulbuilderstate();","_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","_text","_textscalefactor;","_textspan","_textspan,","_textspan;","_theme","_themecolor","_themecolor)","_themecolor,","_themes;","_themetestroutest","_themetestroutestate();","_toggl","_top","_top,","_turn","_turnboxroutest","_turnboxroutestate();","_turnboxst","_turnboxstate();","_turns,","_tween","_tween.evaluate(position);","_tween;","_typeof()","_typeof>();","_unamecontrol","_unamecontroller,","_unamecontroller.addlistener((){","_unamecontroller.text","_updateimage(imageinfo","_updatesystemchrome();","_valu","_value,","_value.clamp(.0,","_websocketroutest","_websocketroutestate();","_widgetsappstate(552902158))","_width","_width),","_width=200*details.scale.clamp(.8,","_withtre","_withtree,","_word","_words.insertall(_words.length","_words.length,","`getphonemodel`","a\")","a\")),","a,","a.depth","a.depth))","a;","abrilfatfac","absorbpointer(","abstract","accentcolor,","accept","accept:","accessible:","account'),","accounts'),","action","actions:","action。","activ","active,","active:","active;","activecolor:","adb","add(item","addautomatickeepal","addautomatickeepalives:该属性表示是否将列表项(子组件)包裹在automatickeepal","addcredentials(uri","additionalconstraints:","addlistener();它可以用于给animation添加帧监听器,在每一帧都会被调用。帧监听器中最常见的行为是改变状态后调用setstate()来触发ui重建。","addlistener(voidcallback","addpersistentframecallback(_handlepersistentframecallback);","addproxycredentials(","addrepaintboundari","addrepaintboundaries:该属性表示是否将列表项(子组件)包裹在repaintboundary组件中。当可滚动组件滚动时,将列表项包裹在repaintboundary中可以避免列表项重绘,但是当列表项重绘的开销非常小(如一个颜色块,或者一个较短的文本)时,不添加repaintboundary反而会更高效。和addautomatickeepalive一样,如果列表项自己维护其keepalive状态,那么此参数必须置为false。","addstatuslistener();它可以给animation添加“动画状态改变”监听器;动画开始、结束、正向或反向(见animationstatus定义)时会调用状态改变的监听器。","age=172800","agent\",","agent)来看看输出的变化。","agent:","agent字段。","alertdialog","alertdialog(","alertdialog(content:","alertdialog({","align","align(","align({","alignment(1.0,","alignment(2,0.0),","alignment(this.x,","alignment.bottomcenter,","alignment.center,","alignment.topcenter,","alignment.topleft,","alignment.topright,","alignment.x*childheight+childheight/2)","alignment:","alignment:alignment.cent","alignmentdirectional.topstart,","alignment可以通过其坐标转换公式将其坐标转为子元素的具体偏移坐标:","alignment唯一的区别就是坐标原点不同!fractionaloffset","alignment继承自alignmentgeometry,表示矩形内的一个点,他有两个属性x、y,分别表示在水平和垂直方向的偏移,alignment定义如下:","alignment,它和","alignment:此参数决定如何去对齐没有定位(没有使用positioned)或部分定位的子组件。所谓部分定位,在这里特指没有在某一个轴上定位:left、right为横轴,top、bottom为纵轴,只要包含某个轴上的一个定位属性就算在该轴上有定位。","align和stack对比","aliv","alive字段值,为了避免频繁建立连接,httpclient在请求结束后会保持连接一段时间,超过这个阈值后才会关闭连接。","alive机制主要是用于避免在同一台服务器请求多个资源时频繁创建链接,它本质上是支持链接复用的技术,而并非用于实时通信,读者需要知道这两者的区别。","alive机制使服务器在响应结束后链接会保持一段时间,但最终还是会断开,keep","all(doubl","allproject","alpha","alwaysstoppedanimation(colors.blue),","alwaysstoppedanimation(colors.white70),","analyze测试你的代码。这个工具是一个静态代码检查工具,它是dartanalyzer工具的一个包装,主要用于分析代码并帮助开发者发现可能的错误,比如,dart分析器大量使用了代码中的类型注释来帮助追踪问题,避免var、无类型的参数、无类型的列表文字等。","ancestor","ancestor,","ancestor.updatedependencies(this,","ancestor.widget;","ancestor;","ancestorinheritedelementforwidgetofexacttype()多调了inheritfromelement方法,inheritfromelement源码如下:","ancestorinheritedelementforwidgetofexacttype()时,由于没有注册依赖关系,所以之后当inheritedwidget发生变化时,就不会更新相应的子孙widget。","ancestorinheritedelementforwidgetofexacttype()的却别就是前者会注册依赖关系,而后者不会。所以我们只需要将changenotifierprovider.of的实现改为下面这样既可:","ancestorinheritedelementforwidgetofexacttype()的却别就是前者会注册依赖关系,而后者不会,所以在调用inheritfromwidgetofexacttype()时,inheritedwidget和依赖它的子孙组件关系变完成了注册,之后当inheritedwidget发生变化时,就会更新依赖它的孙组件,也就是会调用依赖它的孙组件的didchangedependencies()方法和build()方法。而当调用的是","ancestorinheritedelementforwidgetofexacttype(typ","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(","animatedimag","animatedimage(animation:","animatedimage({key","animatedswitch","animatedswitcher(","animatedswitcher({","animatedswitcher.defaultlayoutbuilder,","animatedswitcher.defaulttransitionbuilder,","animatedswitchercounterrout","animatedswitchercounterroute({key","animatedswitchertransitionbuild","animatedswitcher高级用法","animatedthem","animatedwidget","animatedwidget{","animatedwidget的状态对象是animatedwidget内部实现细节,不应该暴露给外部。","animation)","animation);","animation)方法,它可以获取动画当前映射值。","animation,","animation,);","animation.addstatuslistener((status)","animation.valu","animation.value,","animation:","animation;","animation=curvedanimation(parent:","animationcontrol","animationcontroller(","animationcontroller(vsync:","animationcontroller派生自animation,因此可以在需要animation对象的任何地方使用。","animationcontroller生成数字的区间可以通过lowerbound和upperbound来指定,如:","animationcontroller用于控制动画,它包含动画的启动forward()、停止stop()","animationstatus.complet","animationstatus.completed)","animationstatus.dismissed)","animationstatus.forward)","animationstatus.reverse)","animation})","animation对象的当前值可以通过value()方法取到。evaluate函数还执行一些其它处理,例如分别确保在动画值为0.0和1.0时返回开始和结束状态。","animation是一个抽象类,它本身和ui渲染没有任何关系,而它主要的功能是保存动画的插值和状态;其中一个比较常用的animation类是animation。animation对象是一个在一段时间内依次生成一个区间(tween)之间值的类。animation对象在整个动画执行过程中输出的值可以是线性的、曲线的、一个步进函数或者任何其他曲线函数等等,这由curve来决定。","animation)会非常简单。交织动画需要注意以下几点:","any]?)","aot模式编译的,所以不支持动态化,但dart还有jit或snapshot运行方式,这些模式都是支持动态化的。","aot模式运行时,javascript便远远追不上了。速度的提升对高帧率下的视图数据计算很有帮助。其次,flutter使用自己的渲染引擎来绘制ui,布局数据等由dart语言直接控制,所以在布局过程中不需要像rn那样要在javascript和native之间通信,这在一些滑动和拖动的场景下具有明显优势,因为在滑动和拖动过程往往都会引起布局发生变化,所以javascript需要和native之间不停的同步布局信息,这和在浏览器中要javascript频繁操作dom所带来的问题是相同的,都会带来比较可观的性能开销。","aot,当以","apart'),","api","api、formdata、拦截器、请求取消、cookie管理、文件上传/下载、超时等。dio的使用方式随着其版本升级可能会发生变化,如果本节所述内容和dio官方有差异,请以dio官方文档为准。","api。","api。比如android原生应用就是指使用java或kotlin语言直接调用android","api也是调用操作系统api,所以它的性能接近原生。","api可以接收方法调用并返回结果。这些类可以帮助我们用很少的代码就能开发平台插件。","api和io","api在dart:io包中,下面我们看一个使用socket实现简单http请求的示例,以请求百度首页为例:","api应用一些简单的缓存策略。我们在“jsons”目录下创建一个“cacheconfig.json”文件缓存策略信息,定义如下:","api手动去绘制ui,优点是强大灵活,理论上可以实现任何外观的ui,而缺点是必须了解canva","api接口调用。另外,在调试过程中,我们通常需要一些工具来查看网络请求、响应报文,使用网络代理工具来调试网络数据问题是主流方式。配置代理需要在应用中指定代理服务器的地址和端口,另外github","api接口返回json结构如下:","api是https协议,所以在配置完代理后还应该禁用证书校验,这些配置我们在git类初始化时执行(init()方法)。下面是git类的源码:","api是原始且独立的,这个与操作系统提供的api类似,上层ui框架设计成什么样完全取决于设计者,完全可以将ui框架设计成android风格或ios风格,但这些事google不会再去做,我们也没必要再去搞这一套,这是因为响应式的思想本身是很棒的,之所以提出这个问题,是因为笔者认为做与不做是一回事,但知道能不能做是另一回事,这能反映出我们对知识的理解程度。","api来完成绘制。","api来实现。子类需要重写此方法以实现自身的绘制逻辑,如renderparagraph需要实现文本绘制逻辑,而renderimage需要实现图片绘制逻辑。","api来实现具体的绘制逻辑。","api来实现的。其实,操作系统中提供的原生网络请求api是标准的,在c语言的socket库中,它主要提供了端到端建立链接和发送数据的基础api,而高级编程语言中的socket库其实都是对操作系统的socket","api来绘制的,那么通过实现renderobject的方式和上面介绍的通过custompaint和canvas自绘的方式有什么区别?其实答案很简单,custompaint只是为了方便开发者封装的一个代理类,它直接继承自singlechildrenderobjectwidget,通过rendercustompaint的paint方法将canvas和画笔painter(需要开发者实现,后面章节介绍)连接起来实现了最终的绘制(绘制逻辑在painter中)。","api标识的属性和字符串提取到“i10n","api的一个封装。所以,如果我们需要自定义协议或者想直接来控制管理网络链接、又或者我们觉得自带的httpclient不好用想重新实现一个,这时我们就需要使用socket。flutter的socket","api的包装,实际上会调用flutt","api的基地址和api支持的header进行了全局配置,这样所有通过该dio实例发出的请求都会默认使用者些配置。","api的示例,它返回的数据就是json格式的字符串,为了方便我们在代码中操作json,我们先将json格式的字符串转为dart对象,这个可以通过dart:convert中内置的json解码器json.decode()","api细节,并且得自己去实现绘制逻辑。","api缓存策略信息","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中调用这些能力就必须和原生平台进行通信。为此,flutter中提供了一个平台通道(platform","app主题状态","app从启动到显示到屏幕上的主流程,读者可以结合前面章节对widget、element以及renderobject的介绍来加强细节理解。","app代码结构","app入口","app入口及主页","app内封装的一些widget组件都在该目录下","app安装包中会包含代码和","app定义主题数据(themedata)。material组件库里很多组件都使用了主题数据,如导航栏颜色、标题字体、icon样式等。theme内会使用inheritedwidget来为其子树共享样式数据。","app就会认为是当前系统是ios,material组件库中所有组件交互方式都会和ios平台对齐,defaulttargetplatform的值也会变为targetplatform.ios。","app是否登录(如果有用户信息,则证明登录过)","app最终使用的locale。通常在不支持的语言区域时返回一个默认的locale。","app框架,通过它可以设置应用的名称、主题、语言、首页及路由列表等。materialapp也是一个widget。","app目录","app目录,","app语言信息","app语言状态","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/,打开后如图1","archiving.\",","args:","args=modalroute.of(context).settings.argu","arguments:","arguments})","around","as!","asin(strokewidth","asin(strokewidth/","aspect","aspect);","aspect:","assert(_lay","assert(_relayoutboundari","assert(ancestor","assert(build","assert(child._lay","assert(el","assert(flex","assert(imageprovid","assert(key","assert(load","assert(par","assert(posit","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","asyncsnapshot","async{","async和await关键词支持了异步编程,允许您写出和同步代码很像的异步代码。","async用来表示函数是异步的,定义的函数会返回一个future对象,可以使用then方法添加回调函数。","atedge:是否滑到了可滚动组件的边界(此示例中相当于列表顶或底部)。","atomicnumb","atomicnumber)","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","avatar),","avatar,","avatar:","avds.","await","axi","axis.horizontal,","axis.vertical,","axisdirect","axisdirection.down,","axisdirection.down:","axisdirection.left:","axisdirection.right:","axisdirection.up:","axisdirection滚动方向。","a标志:","a:包含一个用户头像,圆形,点击后跳到b路由,可以查看大图。","b","b)","b),","b.depth","b.depth))","b;","background:","backgroundblendmode,","backgroundcolor,","backgroundcolor:","backgroundcolor;","backgroundcolor:指示器的背景色。","background、一个边框、或者一个阴影。","background:在子组件之后绘制,即背景装饰。","badg","banner","barriercolor,","barriercolor:","barriercolor;","barrierdismiss","barrierdismissible,","barrierdismissible:","barrierdismissible;","barrierlabel,","barrierlabel:","barrierlabel;","base64.encode(utf8.encode('$login:$pwd'));","based认证等,目前flutter的httpclient只支持basic和digest两种认证方式,这两种认证方式最大的区别是发送用户凭据时,对于用户凭据的内容,前者只是简单的通过base64编码(可逆),而后者会进行哈希运算,相对来说安全一点点,但是为了安全起见,无论是采用basic认证还是digest认证,都应该在https协议下,这样可以防止抓包和中间人攻击。","baseoffset:","baseurl:","bash、mkdir、rm、git、curl、unzip、which","basic","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,","bloc","blue","blurradius:","bob","body(),","body:","body的组件树中包含了一个cent","body,如:","bogon:~","bold,","book","bool","bool){","bool.fromenvironment(\"dart.vm.product\");","border(bottom:","border,","border.all(","border:","borderdirectional(","borderradiu","borderradius,","borderradius.circular(12),","borderradius.circular(2),","borderradius.circular(20.0)),","borderradius.circular(3.0),","borderradius.circular(5.0),","borderradius:","borderradius;","borderradiusgeometri","borderside(","borderside(color:","borderside:","boss;","boss字段:","bothdirectiontestrout","bothdirectiontestroutest","bothdirectiontestroutestate();","bottom):分别指定四个方向的填充。","bottom:","bottomappbar(","bottomappbar的shape属性决定洞的外形,circularnotchedrectangle实现了一个圆形的外形,我们也可以自定义外形,比如,flutt","bottomnavigationbar","bottomnavigationbar(","bottomnavigationbar:","bottomnavigationbaritem(icon:","bottom分别代表离stack左、上、右、底四边的距离。width和height用于指定需要定位元素的宽度和高度。注意,positioned的width、height","bottom来定位组件,举个例子,在水平方向时,你只能指定left、right、width三个属性中的两个,如指定left和width后,right会自动算出(left+width),如果同时指定三个属性则会报错,垂直方向同理。","bouncingscrollphysics:ios下弹性效果。","boundari","boxbord","boxconstraint","boxconstraints(","boxconstraints(maxwidth:","boxconstraints(minheight:","boxconstraints(minwidth:","boxconstraints(w=411.4,","boxconstraints({","boxconstraints.expand(),","boxconstraints.expand()可以生成一个尽可能大的用以填充另一个容器的boxconstraints。除此之外还有一些其它的便捷函数,读者可以查看api文档。","boxconstraints.expand(height:","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(color:","boxdecoration({","boxfit","boxfit.contain,","boxfit.cover,","boxfit.cover,),","boxfit.fill,","boxfit.fitheight,","boxfit.fitwidth,","boxfit.none,","boxfit.scaledown,","boxparentdata","boxparentdata();","boxparentdata)","boxparentdata定义如下:","boxshadow(","boxshadow,","boxshadow:","boxshap","boxshape.rectangle,","break;","brew","bridge,","bright","brightness,","brightness.dark,","brows","bu","bubbling)。通知冒泡和用户触摸事件冒泡是相似的,但有一点不同:通知冒泡可以中止,但用户触摸事件不行。","build","build\");","build\"了,即按钮不会被重新构建了。而总价仍然会更新,这是因为consumer中调用changenotifierprovider.of时listen值为默认值true,所以还是会建立依赖关系。","build\"日志,也就是说”添加商品“按钮在每次点击时其自身都会重新build!这是为什么呢?如果你已经理解了inheritedwidget的更新机制,那么答案一眼就能看出:这是因为构建raisedbutton的builder中调用了changenotifierprovider.of,也就是说依赖了widget树上面的inheritedwidget(即inheritedprovid","build()","build();","build():此回调读者现在应该已经相当熟悉了,它主要是用于构建widget子树的,会在如下场景被调用:","build(buildcontext","build,","build.gradl","build.model;","build_runn","build_runner:","buildcontext","buildcontext,","builder","builder(","builder(builder:","builder(context),","builder(context);","builder({","builder);","builder,","builder:","builder;","builder进行自定义,如图2","builder:widget构建器;该构建器会在future执行的不同阶段被多次调用,构建器签名如下:","buildowner.buildscope()","buildowner.buildscope(renderviewelement);","buildowner.finalizetree();","buildpage(buildcontext","buildtools/","buildtransitions(buildcontext","build方法中没有依赖inheritedwidget,此回调不会被调用。","build时可以被同步读取。","built","bundl","bundle:","bundle?)","bundle中。","bundle中。前者被认为是main","bundle中加载字符串或图片(二进制)文件。","bundle,而是使父级widget在运行时动态替换的不同的assetbundle,这对于本地化或测试场景很有用。","bus.emit(\"login\",","bus.emit(event.login);","bus.off(event.login,onlogin);","bus.on(\"login\",","bus.on(event.login,onlogin);","button","buttontext","buttontheme,","buttonthemedata","byte","byte[]","bytedata","bytes=0","b:显示用户头像原图,矩形;","c","c++实现的","c:\\users\\{user_name}\\.gradle\\gradle.properti","cach","cache,","cache.removewhere((key,","cache[key];","cacheconfig()","cacheconfig.dart","cacheconfig.g.dart","cachednetworkimage(","cacheextent,","cacheobject","cacheobject(this.response)","call,","call.method)","callback();","callback)","callback,","canbetapped)","canbetapped;","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,","cart)","cart)=>","cart=changenotifierprovider.of(context);","cartmodel","cartmodel(),","cartmodel即要跨组件共享的model类。最后我们构建示例页面:","case","catch","catch(e){","catcherror回调函数将被调用;但是,并不是只有","catcherror回调才能捕获错误,then方法还有一个可选参数onerror,我们也可以它来捕获异常:","catch语句中。","caught","cb){","cd","center","center(","center(child:","center({","center:","centercolumnrout","center三个值),不同的是crossaxisalignment的参考系是verticaldirection,即verticaldirection值为verticaldirection.down时crossaxisalignment.start指顶部对齐,verticaldirection值为verticaldirection.up时,crossaxisalignment.start指底部对齐;而crossaxisalignment.end和crossaxisalignment.start正好相反;","center组件","cert,","chang","change\");","changefirstchar(filename);","changefirstchar(str","changelanguage()","changenotifi","changenotifierprovid","changenotifierprovider(","changenotifierprovider({","changenotifierprovider.of(context),","changenotifierprovider.of(context).add(item(20.0,","changenotifierprovider.of(context,","changenotifierprovider.value(value:","changes.","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通信。","channel),用于flutter和原生平台的通信。平台通道正是flutter和原生之间通信的桥梁,它也是flutter插件的底层基础设施。","check","checkbox(","checkedmodebann","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:","childheight)","childparentdata","childparentdata.nextsibling;","childparentdata.offset","children","children);","children,","children.add(text(\"forked\".padright(paddingwidth)));","children.addall([","children:","children:[","children是一个textspan的数组,也就是说textspan可以包括其他textspan。而recognizer用于对该文本片段上用于手势进行识别处理。下面我们看一个效果(图3","childtyp","childwidth,","child})","chip(","chmod","chrome浏览器和android均采用skia作为其绘图引擎。","chunk","chunkev","chunkevents),","chunkevents,","chunkevents.add(imagechunkevent(","chunkevents.close();","chunkevents.stream,","chunkevents:","chunksiz","circleavatar(","circleavatar(backgroundcolor:","circleavatar(child:","circularnotchedrectangle(),","circularprogressind","circularprogressindicator(","circularprogressindicator(),","circularprogressindicator();","circularprogressindicator(value:","circularprogressindicator({","circularprogressindicator是一个圆形进度条,定义如下:","clampingscrollphysics:android下微光效果。","class","class)来解决前面提到的问题,我们称之为user。在user类内部,我们有:","classname,classname,classname]);","classname=changefirstchar(v.substring(3),false);","classname=name[0].touppercase()+name.substring(1);","clear()","click","click\");","client.badcertificatecallback","client.findproxi","clipov","clipoval(","clipoval(child:","clipper:","cliprect","cliprect(","cliprect(//将溢出部分剪裁","cliprrect","cliprrect(","cliptestrout","cocoapod","cocoapods目前不提供依赖覆盖功能。","code","codec","codec._();","codec:","codec参数值为_loadasync方法的返回值,我们继续看_loadasync方法的实现:","code。","code之一以获得更好的开发体验。flutter官方提供了这两款编辑器插件,通过ide和插件可获得代码补全、语法高亮、widget编辑辅助、运行和调试支持等功能,可以帮助我们极大的提高开发效率。下面我们分别介绍一下android","code创建一个新的flutter工程,命名为\"first_flutter_app\"。创建好后,就会得到一个计数器应用的demo。","code创建的flutter应用模板默认是一个简单的计数器示例。本节先仔细讲解一下这个计数器demo的源码,让读者对flutter应用程序结构有个基本了解,然后在随后的小节中将会基于此示例,一步一步添加一些新的功能来介绍flutter应用的其它概念与技术。","code是一个轻量级编辑器,支持flutter运行和调试。","code的配置与使用","code的配置及使用(android","code读者可以在其官网获得最新的安装,由于安装比较简单,故不再赘述)。","collectlog(line);","collectlog(str","color","color(0x000000)。","color(0x77cdb175);","color(0xd0ff0000);","color(0xff0d47a1),","color(0xff1565c0),","color(0xff1976d2),","color(0xff1e88e5),","color(0xff2196f3)","color(0xff2196f3))","color(0xff42a5f5),","color(0xff64b5f6),","color(0xff90caf9),","color(0xffbbdefb),","color(0xffdc380d);","color(0xffe3f2fd),","color(0xffeeeeee),","color(0xffffff00)","color(_blueprimaryvalue),","color(int.parse(c,radix:16)).withalpha(255)","color(int.parse(c,radix:16)|0xff000000)","color)","color,","color.computeluminance()","color.value,","color:","color:colors.black54,","color:colors.red,","color;","color[500].value;","color];","colorblendmode:","colorblendmode:在图片绘制时可以对每一个像素进行颜色混合处理,color指定混合色,而colorblendmode指定混合模式,下面是一个简单的示例:","colorbrightness:","colors,","colors.amber,","colors.black","colors.black,","colors.black.withopacity(0.1),","colors.black.withopacity(0.5),","colors.black26,","colors.black54);","colors.black54,","colors.black87","colors.black87,","colors.blu","colors.blue)","colors.blue)),","colors.blue);","colors.blue,","colors.blue,),","colors.blue,);","colors.blue[200]],","colors.blue[300]],","colors.blue[50],","colors.blue[50]到colors.blue[100]的色值从浅蓝到深蓝渐变,效果如图7","colors.blue[700],","colors.blue],","colors.blueaccent],","colors.bluegrey,","colors.bluegrey[700],","colors.brown,),","colors.cyan,","colors.cyan[100","colors.cyan[500]],","colors.cyan],","colors.deeporange,","colors.green","colors.green))","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.grey[700]),","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;","colors.teal[700],","colors.transparent)","colors.transparent,","colors.white)),","colors.white),","colors.white),),","colors.white,","colors.yellow,),","colors:","colors;","colorswatch","colortween","colortween(","colortween(begin:","color和","color和decoration是互斥的,如果同时设置它们则会报错!实际上,当指定color时,container内会自动创建一个decoration。","column","column(","column(children:","column可以在垂直方向排列其子组件。参数和row一样,不同的是布局方向为垂直,主轴纵轴正好相反,读者可类比row来理解,下面看一个例子:","column:","comma","command","common","company开发的跨平台c++图形用户界面应用程序开发框架。2008年,qt","company科技被诺基亚公司收购,qt也因此成为诺基亚旗下的编程语言工具。2012年,qt被digia收购。2014年4月,跨平台集成开发环境qt","complet","componentel","componentelement{","compositeframe()","configur","configuration)","configuration);","configuration:","configurations.al","conflict","connection:","connectionst","connectionstate.active:","connectionstate.done)","connectionstate.done:","connectionstate.none:","connectionstate.waiting:","connectiontimeout","console.log(model);","consolidatehttpclientresponsebytes(","const","constrainedaxis:","constrainedbox","constrainedbox(","constrainedbox用于对子组件添加额外的约束。例如,如果你想让子组件的最小高度是80像素,你可以使用const","constraint","constraints,","constraints.istight","constraints:","const,不是var,也不是一个类型。","consum","consumer(","consumer({","consumer2(","consumer实现非常简单,它通过指定模板参数,然后再内部自动调用changenotifierprovider.of获取相应的model,并且consumer这个名字本身也是具有确切语义(消费者)。现在上面的代码块可以优化为如下这样:","contain","container(","container(...),","container(child:","container(width:","container({","container:","container可以使用矩阵在三维空间中对其进行变换。","container容器","container的大多数属性在介绍其它容器时都已经介绍过了,不再赘述,但有两点需要说明:","container:","contain:这是图片的默认适应规则,图片会在保证图片本身长宽比不变的情况下缩放以适应当前显示空间,图片不会变形。","content","content:","context)","context)来获取的,我们看看其简化后的代码:","context),继承自animatedwidget的动画widget都要实现这个build方法。现在设想一下,如果statefulwidget","context,","context.ancestorinheritedelementforwidgetofexacttype(sharedatawidget).widget;","context.ancestorinheritedelementforwidgetofexacttype(type)?.widget","context.findrenderobject()","context.inheritfromwidgetofexacttyp","context.inheritfromwidgetofexacttype(_inheritedtheme)","context.inheritfromwidgetofexacttype(sharedatawidget);","context.inheritfromwidgetofexacttype(type)","context.paintchild(child,","context.s","context:","context;","contextwrapper(applicationcontext).registerreceiver(null,","contextwrapper(getapplicationcontext()).","context});","context上也提供了遍历element树的方法。","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,如果子树中的可滚动组件没有显式的指定controller,并且primary属性值为true时(默认就为true),可滚动组件会使用这个默认的primaryscrollcontroller。这种机制带来的好处是父组件可以控制子树中可滚动组件的滚动行为,例如,scaffold正是使用这种机制在ios中实现了点击导航栏回到顶部的功能。我们将在本章后面“滚动控制”一节详细介绍scrollcontroller。","controller:编辑框的控制器,通过它可以设置/获取编辑框的内容、选择编辑内容、监听编辑文本改变事件。大多数情况下我们都需要显式提供一个controller来与文本框交互。如果没有提供controller,则textfield内部会自动创建一个。","controls面板中的电池电量。","cookie:","cordova、ion","count","count,","count;","counter()","counter(),","counterwidget","counterwidget();","counterwidget({","counterwidget接收一个initvalue整型参数,它表示计数器的初始值。下面我们看一下state的代码:","cover:会按图片的长宽比放大后居中填满显示空间,图片不会变形,超出显示空间部分会被剪裁。","cpu","cpu和gpu的任务是各有偏重的,cpu主要用于基本数学和逻辑计算,而gpu主要执行和图形处理相关的复杂的数学,如矩阵变化和几何计算,gpu的主要作用就是确定最终输送给显示器的各个像素点的色值。","creat","createboxpainter(),子类的主要职责是需要通过实现它来创建一个画笔,该画笔用于绘制装饰。","createcallback(no)","createcallback(no),","createelement()","createelement();","createelement():正如前文所述“一个widget可以对应多个element”;flutt","createlocalimageconfiguration(buildcontext","createrenderobject(buildcontext","createscrollposition(","createstate()","createstate();","createticker(tickercallback","creator","creator:","credentials)","credentials);","crossaxisalign","crossaxisalignment.center,","crossaxisalignment.start,","crossaxisalignment:","crossaxisalignment:表示子组件在纵轴方向的对齐方式,row的高度等于子组件中最高的子元素高度,它的取值和mainaxisalignment一样(包含start、end、","crossaxiscount,","crossaxiscount:","crossaxiscount:横轴子元素的数量。此属性值确定后子元素在横轴的长度就确定了,即viewport横轴长度除以crossaxiscount的商。","crossaxisspac","crossaxisspacing:","crossaxisspacing:横轴方向子元素的间距。","ctrl","ctx)","ctx,","cumulative,","cumulativebytesloaded:","cupertino_icons:","cupertinobutton(","cupertinocolors.activeblue,","cupertinodatepicker(","cupertinodatepickermode.dateandtime,","cupertinonavigationbar(","cupertinopageroute(","cupertinopageroute是cupertino组件库提供的ios风格的路由切换组件,它实现的就是左右滑动切换。那么我们如何来自定义路由切换动画呢?答案就是pageroutebuilder。下面我们来看看如何使用pageroutebuilder来自定义路由切换动画。例如我们想以渐隐渐入动画来实现路由过渡,实现代码如下:","cupertinopagescaffold(","cupertinoscrollbar","cupertinoscrollbar是ios风格的滚动条,如果你使用的是scrollbar,那么在ios平台它会自动切换为cupertinoscrollbar。","cupertinotestrout","cupertino组件","curl","curl/7.54.0","current){","current=current.tolowercase();","currentindex:","cursorcolor,","cursorwidth、cursorradius和cursorcolor:这三个属性是用于自定义输入框光标宽度、圆角和颜色的。","curv","curve:","curvedanim","curvedanimation(","curvedanimation(parent:","curvedanimation和animationcontroller(下面介绍)都是animation类型。curvedanimation可以通过包装animationcontroller和curve生成一个新的动画对象","curves.bouncein);","curves.decelerate)","curves.eas","curves.ease)","curves.ease,","curves.easein);","curves.easeout);","curves.easeout,","curves.linear,","curves.linear,//","curves曲线","customclipp","customhom","custompaint","custompaint(","custompaint({","custompainter中提定义了一个虚函数paint:","custompaintrout","custompaint与canva","customscrollview","customscrollview(","customscrollviewtestrout","customscrollview是可以使用sliver来自定义滚动模型(效果)的组件。它可以包含多种滚动模型,举个例子,假设有一个页面,顶部需要一个gridview,底部需要一个listview,而要求整个页面的滑动效果是统一的,即它们看起来是一个整体。如果使用gridview+listview来实现的话,就不能保证一致的滑动效果,因为它们的滚动效果是分离的,所以这时就需要一个\"胶水\",把这些彼此独立的可滚动组件\"粘\"起来,而customscrollview的功能就相当于“胶水”。","customscrollview等),如下面的代码运行后会报错。","c中的id作用很像.","c代码,使用ios电池api来获取电池电量,这和原生是相同的。","c和swift中早就很普遍,而??操作符在php","c或swift语言直接调用io","c相似,首先打开xcode中flutter应用程序的ios部分:","c编写ios代码。要使用kotlin或swift,请使用","c(以下简称“oc”)中,如果程序发生异常且没有被捕获,那么程序将会终止,但是这在dart或javascript中则不会!究其原因,这和它们的运行机制有关系。java和oc都是多线程模型的编程语言,任意一个线程触发异常且该异常未被捕获时,就会导致整个进程退出。但dart和javascript不会,它们都是单线程模型,运行机制很相似(但有区别),下面我们通过dart官方提供的一张图来看看dart大致运行原理:","c,如果您更喜欢swift,可以直接跳到后面swift部分。","d:\\android\\sdk","dangerzon","dangerzone.runguarded(()","dart","dart:ui","dart:ui库时,调用最终会走到engine层,然后实现真正的绘制逻辑。","dartdoc","dart中可以通过try/catch/finally来捕获代码块异常,这个和其它编程语言类似,如果读者不清楚,可以查看dart语言文档,不再赘述,下面我们看看flutter中的异常捕获。","dart中有一个runzoned(...)","dart中的async/await","dart函数声明如果没有显式声明返回值类型时会默认当做dynamic处理,注意,函数返回值没有类型推断:","dart包:其中一些可能包含flutter的特定功能,因此对flutter框架具有依赖性,这种包仅用于flutter,例如fluro包。","dart单线程模型","dart和java及javascript对比","dart团队就在你身边","dart实现的","dart插件:","dart支持","dart是一种真正的面向对象的语言,所以即使是函数也是对象,并且有一个类型function。这意味着函数可以赋值给变量或作为参数传递给其他函数,这是函数式编程的典型特征。","dart的io库包含了文件读写的相关类,它属于dart语法标准的一部分,所以通过dart","dart类库有非常多的返回future或者stream对象的函数。","dart线程模型及异常捕获","dart而不是","dart语言开发","dart语言简介","dart运行时和编译器支持flutter的两个关键特性的组合:","data","data,","data.length==20;","data:","data;","data”。","date","date,","date.add(","date.year","date:","datetim","datetime.now().difference(_lastpressedat)","datetime.now().millisecondssinceepoch;","datetime.now();","day","deactiv","deactivate()","deactivate():当state对象从树中被移除时,会调用此回调。在一些场景下,flutt","debug","debugalsopaintedparent:","debugdefaulttargetplatformoverride=targetplatform.ios;","debugdumpapp();","debugfillproperties(...)","debugfillproperties(diagnosticpropertiesbuild","debugger()","debugger()语句采用一个可选when参数,您可以指定该参数仅在特定条件为真时中断,如下所示:","debugger(when:","debugpaintbaselinesenabled做了类似的事情,但对于具有基线的对象,文字基线以绿色显示,表意(ideographic)基线以橙色显示。","debugpaintpointersenabled标志打开一个特殊模式,任何正在点击的对象都会以深青色突出显示。","debugprintmarkneedspaintstacks标志。","debugprintscheduleframestacks还可以用来打印导致当前帧被调度的调用堆栈。","debugshortdescription:","deceler","decor","decoratedbox(","decoratedbox({","decoratedbox可以在其子组件绘制前(或后)绘制一些装饰(decoration),如背景、边框、渐变等。decoratedbox定义如下:","decoration,","decoration:","decoration:boxdecoration(color:","decoration:textdecoration.underline,","decorationimag","decorationimage(","decorationposit","decorationposition.background,","decorationstyle:","decoration:代表将要绘制的装饰,它的类型为decoration。decoration是一个抽象类,它定义了一个接口","dedic","default.png\",","defaultassetbundl","defaultassetbundle.of(context),","defaulthttpclientadapter).onhttpclientcr","defaultpaint(paintingcontext","defaulttargetplatform,","defaulttextstyl","defaulttextstyle(","defaulttransitionbuilder(widget","defer","defertochild","defertochild:子组件会一个接一个的进行命中测试,如果子组件中有测试通过的,则当前组件通过,这就意味着,如果指针事件作用于子组件上时,其父级组件也肯定可以收到该事件。","defin","delegate:","delegate类的职责是在locale改变时加载新的locale资源,所以它有一个load方法,delegate类需要继承自localizationsdelegate类,实现相应的接口,示例如下:","delet","delete(options.uri.tostring());","deletetre","delta:两次指针移动事件(pointermoveevent)的距离。","demo","demo\"),","demo',","demoloc","demolocalizations();","demolocalizations(locale.languagecod","demolocalizations(this.iszh);","demolocalizations);","demolocalizations.load(locale);","demolocalizations.of(context).title,","demolocalizations.of(context).title;","demolocalizationsdeleg","demolocalizationsdelegate()","demolocalizationsdelegate(),","demolocalizationsdelegate();","demolocalizations中会根据当前的语言来返回不同的文本,如title,我们可以将所有需要支持多语言的文本都在此类中定义。demolocalizations的实例将会在delegate类的load方法中创建。","demo,源码位于flutter源码中的examples目录下,笔者强烈建议用户将flutt","dense:","depend","dependencies:","dependencies:应用或包依赖的其它包或插件。","dependency_overrides:","deploy","deployment/","desc:","describeapproximatepaintclip和","description:","design","design:","design中头部伸缩的模型,具体效果,读者可以运行该示例查看。","design中的颜色的类,它包含一种颜色的10个级别的渐变色。materialcolor通过\"[]\"运算符的索引值来代表颜色的深度,有效的索引有:50,100,200,…,900,数字越大,颜色越深。materialcolor的默认值为索引等于500的颜色。举个例子,colors.blue是预定义的一个materialcolor类对象,定义如下:","design图标的icondata静态变量定义。","design基线网格覆盖在应用程序上可能有助于验证对齐。","design字体图标","design所有图标可以在其官网查看:https://material.io/tools/icons/","design的字体图标,在pubspec.yaml文件中的配置如下","design的应用程序时,","design设计规范中flatbutton类的尺寸标准)。","design设计规范的应用程序。material应用程序以materialapp","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:","diagnosticabletre","diagnosticstreestyle.dense;","dialog","dialog(","dialog(child:","dialogbackgroundcolor,//对话框背景颜色","dialogcheckbox","dialogcheckbox(","dialogcheckbox({","didchangedepend","didchangedependencies()","didchangedependencies():当state对象的依赖发生变化时会被调用;例如:在之前build()","didfinishlaunchingwithopt","didfinishlaunchingwithoptions:","didfinishlaunchingwithoptions:(nsdictionary*)launchopt","didfinishlaunchingwithoptions:launchoptions];","didfinishlaunchingwithoptions:方法内部创建一个fluttermethodchannel,并添加一个处理方法。","didupdatewidget","didupdatewidget():在widget重新构建时,flutt","didupdatewidget(changenotifierprovid","didupdatewidget(counterwidget","didupdatewidget(myimag","didupdatewidget(myrichtext","didupdatewidget(turnbox","dio","dio();","dio(baseoptions(","dio.download(","dio.download(\"https://www.google.com/\",_savepath);","dio.get(","dio.get(\"/test\",queryparameters:{\"id\":12,\"name\":\"wendu\"})","dio.get(\"/test?id=12&name=wendu\")","dio.interceptors.add(global.netcache);","dio.options.headers[httpheaders.authorizationheader]","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:","direction;","directionality.of(context),","directory(src);","dirti","dirtynod","dirtynodes..sort((renderobject","dirty,这样在下一个frame中便会重新layout,我们看看renderobject的markneedslayout()的部分源码:","dismiss","dispatch(buildcontext","dispatch(context)中调用了当前context的visitancestorelements方法,该方法会从当前element开始向上遍历父级元素;visitancestorelements有一个遍历回调参数,在遍历过程中对遍历到的父级元素都会执行该回调。遍历的终止条件是:已经遍历到根element或某个遍历回调返回false。源码中传给visitancestorelements方法的遍历回调为visitancestor方法,我们看看visitancestor方法的实现:","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,","doctor","doctor’","doctor命令","doctor命令来验证是否安装成功。","doctor并按照说明解决问题.","doctor)时,它会下载它自己的依赖项并自行编译。以后再运行就会快得多。缺失的依赖需要安装一下,安装完成后再运行flutt","dom树与控件树","done,","doubl","double.infin","double.infinity),","double.infinity,","double[]","doubletween","down","down0","down1","download","download.dcloud.net.cn","downloadchunk(url,","downloadwithchunks(","downloadwithchunks(url,","dpi是设备屏幕的固件属性,如nexu","dragdowndetails.globalposition:当用户按下时,此属性为用户按下的位置相对于屏幕(而非父组件)原点(左上角)的偏移。","dragenddetails.velocity:该属性代表用户抬起手指时的滑动速度(包含x、y两个轴的),示例中并没有处理手指抬起时的速度,常见的效果是根据用户抬起手指时的速度做一个减速动画。","dragupdatedetails.delta:当用户在屏幕上滑动时,会触发多次update事件,delta指一次update事件的滑动的偏移量。","drawarc","drawcircl","drawer(","drawer:","drawframe()","drawframe();","drawimag","drawlin","drawov","drawpath","drawpoint","drawrect","dri","dsbridg","dsbridge.call(\"getphonemodel\");","dsbridge项目主页查看。","dsl(domain","du.","dumperrortoconsole,到这里就清晰了,如果我们想自己上报异常,只需要提供一个自定义的错误处理回调即可,如:","durat","duration(days:","duration(milliseconds:","duration(seconds:","duration:","duration表示动画执行的时长,通过它我们可以控制动画的速度。","dure","duwen$","du,期待和你做同事!","dwebview","dwebview.addjavascriptobject(new","dynam","dynamic与object不同的是,dynamic声明的对象编译器会提供所有可能的组合,","dynamic与var一样都是关键词,声明的变量可以赋值任意对象。","dynamic和object","dynamic的这个特性与object","dynamic的这个特点使得我们在使用它时需要格外注意,这很容易引入一个运行时错误.","e)","e)).tolist()","e)).tolist()),","e){","e,","e.aspascalcase).tolist()","e.delta.dx;","e.delta.dy;","e.valu","e000","e90d","e914","e;","eas","easein","easeinout","easeout","echo","echo(text:","echo({","echorout","edgeinset","edgeinsets(0.0,","edgeinsets.all(10.0)),","edgeinsets.all(15.0),","edgeinsets.all(16),","edgeinsets.all(16.0),","edgeinsets.all(18),","edgeinsets.all(20.0),","edgeinsets.all(8.0),","edgeinsets.fromltrb(20.0,.0,20.0,20.0),","edgeinsets.fromltrb(24.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)","element))","element).markneedsbuild();","element._newwidget","element.assignowner(owner);","element.markneedsbuild();","element.mount(null,","element.mount(parentelement,newslot)","element.widget;","element;","element])","element与buildcontext","element和buildcontext","element就是widget在ui树具体位置的一个实例化对象,大多数element只有唯一的renderobject,但还有一些element会有多个子节点,如继承自renderobjectelement的一些类,比如multichildrenderobjectelement。最终所有element的renderobject构成一棵树,我们称之为渲染树,即rend","element的生命周期如下:","email","email,","email;","emailaddress","embed","emit(eventname,","empti","enabl","enabled,","enableflags(bold:","enableflags({bool","enable:如果为false,则输入框会被禁用,禁用状态不接收输入和事件,同时显示禁用态样式(在其decoration中定义)。","encod","encoding:","encoding的值为当前httpclient支持的压缩算法列表,目前只有\"gzip\"","encoding,如果设置为true,则请求头中cont","end,","end:","end:colors.red,","end:edgeinsets.only(left:","end;","endangle:","endofframe;","engin","engine与上层framework的”胶水“。","engine中实现的。codec类部分定义如下:","engine创建,不应该手动实例化此类或直接继承此类。","engine受显示器垂直同步信号\"vsync\"的趋势不断的触发绘制。我们之前说的flutter可以实现60fps(fram","engine提供的canva","engine提供的dart","engine的instantiateimagecodec方法,源码如下:","engine的window_render方法","engine的window_scheduleframe方法","engine的一些回调。现在我们再回来看看widgetsflutterbinding混入的各种binding。通过查看这些","engine的桥梁。","engine的桥梁,主要是辅助功能的底层支持。","engine的桥梁,定义如下:","engine的渲染api","engine,最终由engine将图像画在设备屏幕上。","english_words:","ensureinitialized()","enum","error","error)","error:","errorwidget.builder(_debugreportexception('build","errorwidget:","errorwithcode:@\"unavailable\"","etc...)","etc...))","event","event)","eventbu","eventbus();","eventbus()=>","eventbus()始终返回都是同一个实例,读者应该理解并掌握这种方法。","eventbus._internal();","eventcallback","eventcallback(arg);","event{","event,在移动设备上通常为触摸事件),下一节再介绍手势处理。","evict(object","evict({","ewidth","examples:","exception('networkimag","exception(...);","exception,","exception:","execute(()","execute(var","execution,","exit","expand","expanded(","expanded(child:","expanded({","expandedheight:","expectedtotalbytes:","export","extend","extens","extensions:","extentafter:列表中未滑入viewport部分的长度;此示例中列表底部未显示到屏幕范围部分的长度。","extentbefore:滑出viewport顶部的长度;此示例中相当于顶部滑出屏幕上方的列表长度。","extentinside:viewport内部长度;此示例中屏幕显示的列表部分的长度。","extentoffset:","extra:","f","f(string","f(uri","f)","f.openwrite(mode:","f])","factori","faderout","faderoute(builder:","faderoute({","fadetransition(","fall","fals","false)","false).us","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(savepath","file.readasstring();","file/","file:","file;","file>new","filemode.writeonlyappend);","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;","firstchunks","firstchunksize).ceil()","firstchunksize,","firstchunksize;","firstdate:","fit,","fit:","fitheight:图片的高度会缩放到显示空间的高度,宽度会按比例缩放,然后居中显示,图片不会变形,超出显示空间部分会被剪裁。","fitwidth:图片的宽度会缩放到显示空间的宽度,高度会按比例缩放,然后居中显示,图片不会变形,超出显示空间部分会被剪裁。","fit:此参数用于确定没有定位的子组件如何去适应stack的大小。stackfit.loose表示使用子组件的大小,stackfit.expand表示扩伸到stack的大小。","fit:该属性用于在图片的显示空间和图片本身大小不同时指定图片的适应模式。适应模式是在boxfit中定义,它是一个枚举类型,有如下值:","fixedcolor:","flatbutton","flatbutton(","flatbutton({","flatbutton.icon(","flatbutton即扁平按钮,默认背景透明并不带阴影。按下后,会有背景色,如图3","flex","flex(","flex({","flex,","flex:","flex;","flexiblespace:","flexiblespacebar(","flexlayouttestrout","flex参数为弹性系数,如果为0或null,则child是没有弹性的,即不会被扩伸占用的空间。如果大于0,所有的expanded按照其flex的比例来分割主轴的全部空闲空间。下面我们看一个例子:","flex组件可以沿着水平或垂直方向排列子组件,如果你知道主轴方向,使用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_spinkit","flutter_storage_base_url=https://storage.flutt","flutter_test:","flutteract","flutteractivity()","flutterappdeleg","fluttererror.onerror","fluttererror.reporterror(details);","fluttererrordetail","fluttererrordetails(","flutterlogo","flutterlogo(","fluttermethodcall,","fluttermethodchannel","fluttermethodchannel*","fluttermethodchannel.init(name:","flutterresult","flutterresult)","flutterstandardbiginteg","flutterstandardtypeddata","flutterviewcontrol","flutterviewcontroller*","flutterviewcontroller;","flutter与原生之间的通信依赖灵活的消息传递方式:","flutter与用于构建移动应用程序的其它大多数框架不同,因为flutter既不使用webview,也不使用操作系统的原生控件。","flutter中动画抽象","flutter中可以使用listener来监听原始触摸事件,按照本书对组件的分类,则listener也是一个功能性组件。下面是listener的构造函数定义:","flutter中很多地方使用了通知,如可滚动组件(scrol","flutter中提供了一些剪裁函数,用于对组件进行剪裁。","flutter中文网社区:flutter中文网(https://flutterchina.club)是笔者维护中文网站,目前也是最大的中文资源社区,上面提供了flutter官网的文档翻译、开源项目、及案例,还有申请加入组织的入口哦。","flutter中正是通过这种方式封装了很多动画,如:fadetransition、scaletransition、sizetransition、fractionaltranslation等,很多时候都可以复用这些预置的过渡类。","flutter中的手势系统有两个独立的层。第一层为原始指针(pointer)事件,它描述了屏幕上指针(例如,触摸、鼠标和触控笔)的位置和移动。","flutter中通过通知冒泡实现了一套自低向上的消息传递机制,这个和web开发中浏览器的事件冒泡原理类似,web开发者可以类比学习。另外我们通过源码了解了flutt","flutter中,可以像web开发一样使用iconfont,iconfont即“字体图标”,它是将图标做成字体文件,然后通过指定不同的字符而显示不同的图片。","flutter中,我们可以通过image组件来加载并显示图片,image的数据源可以是asset、文件、内存以及网络。","flutter也提供了一套丰富的cupertino风格的组件,尽管目前还没有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动画简介","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又提供了一套material风格(android默认的视觉风格)和一套cupertino风格(ios视觉风格)的组件库。要使用基础组件库,需要先导入:","flutter提供了一套丰富的material组件,它可以帮助我们构建遵循materi","flutter提供了丰富的组件、接口,开发者可以很快地为","flutter提供了丰富的组件,在实际的开发中你可以根据需要随意使用它们,而不必担心引入过多组件库会让你的应用安装包变大,这不是web开发,dart在编译时只会编译你使用了的代码。由于material和cupertino都是在基础组件库之上的,所以如果我们的应用中引入了这两者之一,则不需要再引入flutter/widgets.dart了,因为它们内部已经引入过了。","flutter提供的自身具有ui外观的组件,如文本text、image都是通过相应的renderobject(我们将在“flutter核心原理”一章中详细介绍renderobject)渲染出来的,如text是由renderparagraph渲染;而image是由renderimage渲染。renderobject是一个抽象类,它定义了一个抽象方法paint(...):","flutter插件:","flutter旨在提供流畅、高保真的的ui体验。为了实现这一点,flutter中需要能够在每个动画帧中运行大量的代码。这意味着需要一种既能提供高性能的语言,而不会出现会丢帧的周期性暂停,而dart支持aot,在这一点上可以做的比javascript更好。","flutter是google发布的一个用于创建跨平台、高性能移动应用的框架。flutter和qt","flutter框架中的许多类都有tostring实现。按照惯例,这些输出通常包括对象的runtimetype单行输出,通常在表单中classname(mor","flutter框架使用函数式流,这使得它在很大程度上依赖于底层的内存分配器。因此,拥有一个能够有效地处理琐碎任务的内存分配器将显得十分重要,在缺乏此功能的语言中,flutter将无法有效地工作。当然chrom","flutter框架对加载过的图片是有缓存的(内存),默认最大缓存数量是1000,最大缓存空间为100m。关于image的详细内容及原理我们将会在后面进阶部分深入介绍。","flutter框架异常捕获","flutter框架本身有着良好的分层设计,本节旨在让读者对flutter整体框架有个大概的印象,相信到现在为止,读者已经对flutter有一个初始印象,在我们正式动手之前,我们还需要了解一下flutter的开发语言dart。","flutter框架的每一层都提供了将其当前状态或事件转储(dump)到控制台(使用debugprint)的功能。","flutter框架结构","flutter添加","flutter的gridview默认子元素显示空间是相等的,但在实际开发中,你可能会遇到子元素大小不等的情况,如下面这样的布局:","flutter的ui框架实现中,除了在可滚动组件在滚动过程中会发出scrollnotification之外,还有一些其它的通知,如sizechangedlayoutnotification、keepalivenotif","flutter的入口在\"lib/main.dart\"的main()函数中,它是dart应用程序的起点。在flutter应用中,main()函数最简单的实现如下:","flutter简介","flutter运行机制","flutter还使用","flutter高,","flutter高性能主要靠两点来保证,首先,flutt","flutter默认包含了一套materi","flutter默认提供了一套丰富的material风格的ui组件。","flutter:flutter相关的配置选项。","fmt,","fn)","focu","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都用于控制字体大小。但是有两个主要区别:","fontstyle.ital","fontstyle.italic,","fontstyle.normal,","fontstyle:","fonts中的字体。本节将介绍如何为flutter应用配置字体,并在渲染文本时使用它们。","fontweight.bold),","fontweight.bold,","fontweight:","forc","foregrounddecoration,","foregroundpainter:","foreground:在子组件之上绘制,即前景。","fork了该项目的数量","form","form(","form({","format","format(str","formdata","formdata)","formdata.from({","formdata:","formfield","formfield({","formfieldsett","formfieldvalid","formstat","formstate).validate())","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","fractionaloffse.i","fractionaloffset","fractionaloffset(0.2,","fractionaloffset,我们将在下面的示例中详细介绍。","fractionaltranslation(","frame","frame:","frame?","framecallback","framecallback:schedulerbind","framecount","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是否使用了父widget中inheritedwidget的数据!如果使用了,则代表子widget依赖有依赖inheritedwidget;如果没有使用则代表没有依赖。这种机制可以使子组件在所依赖的inheritedwidget变化时来更新自身!比如当主题、locale(语言)等发生变化时,依赖其的子widget的didchangedependencies方法将会被调用。","framework连接宿主操作系统的接口。我们看一下window类的部分定义:","framework重新构建ui。","framework隐式调用的,在我们开发过程中基本不会调用到。","francisco\",","friend\"),","friend\"),和第二个text原理一样,只不过是水平方向没有定位,则水平方向居中。","friends;","from,","fromltrb(doubl","fuchsia,","fullscreendialog","fullscreendialog表示新的路由页面是否是一个全屏的模态对话框,在ios中,如果fullscreendialog为true,新页面将会从屏幕底部滑入(而不是水平方向)。","fun","func","function","function');","function(buildcontext","function(list","function(local","function(routeset","function(t","function(widget","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;","future>","futurebuild","futurebuilder(","futurebuilder({","futurebuilder会依赖一个future,它会根据所依赖的future的状态来动态构建自身。我们看一下futurebuilder构造函数:","futurebuilder使用代码如下:","future与javascript中的promise非常相似,表示一个异步操作的最终完成(或失败)及其结果值的表示。简单来说,它就是用于处理异步操作的,异步处理成功了就执行成功的操作,异步处理失败了就捕获错误或者停止后续操作。一个future只会对应一个结果,要么成功,要么失败。","future:futurebuilder依赖的future,通常是一个异步耗时任务。","gallery中material组件部分的示例。","gallery是flutter官方提供的flutt","gallery源码:gallery是flutter官方示例app,里面有丰富的示例,读者可以在网上下载安装。gallery的源码在flutter源码“examples”目录下。","gallery示例中就有一个”钻石“形状的示例,读者感兴趣可以自行查看。","gallery示例跑起来,它是一个很全面的flutter示例应用,是非常好的参考demo,也是笔者学习flutter的第一手资料。","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是一个用于手势识别的功能性组件,我们通过它可以来识别各种手势。gesturedetector实际上是指针事件的语义化封装,接下来我们详细介绍一下各种手势识别。","gesturedetector监听所有tap事件。当用户点下时,它添加高亮(深绿色边框);当用户释放时,会移除高亮。","gesturerecogn","gesturetapcallback","get\"","getapplicationdocumentsdirectory()).path;","getbatterylevel()","getbatterylevel():","getbatterylevel();","getbatterylevel];","getclip()是用于获取剪裁区域的接口,由于图片大小是60×60,我们返回剪裁区域为rect.fromltwh(10.0,","getclip(s","getlocale()","getnextframe()","getphonemodel","getphonemodel(object","getrepos(","getsystemservice(battery_service);","getsystemservice(context.battery_service)","gettemporarydirectory()","getter","getter。更多关于语义化的信息可以查看api文档。","gettype(v,set","getuserinfo(id).then((userinfo){","getuserinfo(id);","getuserinfo(str","get”)","get获取项目所有的依赖包。","gif,png,bmp和wbmp)等。","girl","git","git([this.context])","git(context).getrepos(","git(context).login(_unamecontroller.text,","git.init();","git:","git://github.com/flutter/packages.git","git://github.com/xxx/pkg1.git","github","github_client_app","github客户端示例","github账号信息","github账号信息;由于我们的app可以切换账号登录,且登录后再次打开则不需要登录,所以我们需要对用户账号信息和登录状态进行持久化。","github项目下去下载安装包,地址:https://github.com/flutter/flutter/releas","github:如果遇到的问题在stackoverflow上也没有找到答案,可以去github","given","gle","global","global.init().then((e)","global.netcache.cache.clear();","global.profile.lastlogin;","global.profile.token","global.profile.token;","global.profile;","global.saveprofile();","global.them","global.themes.map((e)","globalkey","globalkey();","globalmateriallocalizations.delegate,","globalwidgetslocalizations.delegate,","globalwidgetslocalizations.delegate定义组件默认的文本方向,从左到右或从右到左,这是因为有些语言的阅读习惯并不是从左到右,比如如阿拉伯语就是从右向左的。","global类","global类的各个字段的意义都有注释,在此不再赘述,需要注意的是init()需要在app启动时就要执行,所以应用的main方法如下:","gm","gm.password,","gm.passwordrequired;","gm.username,","gm.usernameoremail,","gm.usernamerequired;","gmavatar(","gmavatar(str","gmavatar(value.user.avatar_url,","gmlocalizations.of(context).login,","gmlocalizations.of(context).nodescription,","gmlocalizations.of(context).title;","gmlocalizations.of(context);","gmlocalizationsdelegate()","gmt","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","h","h5+原生","h5+原生混合开发","h5+原生(cordova、ionic、微信小程序)","h=683.4)","h=683.4)。从renderpositionedbox的转储中看到是由cent","handl","handlebeginframe(null);","handledrawframe()","handledrawframe();","handleerror(dynam","handleerror(error,","handleerror);","handlemetricschang","handler","handler\");","handletextscalefactorchang","hardwar","hashcod","hashset();","hdpi已包含占位符图像”ic_launcher.png”,见图2","head","headers:","headers?.foreach((str","height","height,","height.value,","height:","height:80.0,","height;","heightfactor,","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","homerout","homeroute(),","homeroute是应用的主页。","homeview","homeview(this);","homeview(widget","horizont","horizontal:","host","host,","host:","hot","howdi","howmany)","http/1.1","http/1.1\");","http://download.dcloud.net.cn/hbuilder.9.0.2.macosx_64.dmg","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配置","httpheaders.acceptheader:","httpheaders.authorizationheader:","https://flutter.io/setup/#android","https://goo.gl/xxqghq","httpstatus.ok)","https中为了防止通过伪造证书而发起的中间人攻击,客户端应该对自签名或非ca颁发的证书进行校验。httpclient对证书校验的逻辑如下:","httptestrout","http协议定义了分块传输的响应header字段,但具体是否支持取决于server的实现,我们可以指定请求头的\"range\"字段来验证服务器是否支持分块传输。例如,我们可以利用curl命令来验证:","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","i;","icon","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.color_lens),","icon(icons.dashboard,","icon(icons.done,","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.info),","icon(icons.info_outline),","icon(icons.language),","icon(icons.lock)","icon(icons.lock),","icon(icons.palette)","icon(icons.person)","icon(icons.person),","icon(icons.power_settings_new),","icon(icons.refresh,","icon(icons.school),","icon(icons.send),","icon(icons.settings),","icon(icons.share),","icon(icons.star),","icon(icons.thumb_up),","icon(myicons.book,color:","icon(myicons.fork),","icon(myicons.wechat,color:","icon:","iconbutton","iconbutton(","iconbutton(icon:","iconbutton是一个可点击的icon,不包括文字,默认没有背景,点击后会出现背景,如图3","icondata","icondata(","icons.visibility),","icons.visibility_off","icons类中包含了所有materi","icontheme(","icontheme,","icontheme:","iconthemedata","iconthemedata(","iconthemedata(color:","icon的默认样式","id","id){","idea。","idea开发的,所以读者也可以使用intellij","ident","identifi","ideviceinstal","ide中的调试器)时,可以使用该debugger()语句插入编程式断点。要使用这个,你必须添加import","ide配置与使用","idletimeout","id登录xcode,如图1","id都支持开发和测试,但若想将应用分发到app","if((_formkey.currentst","if(cert.pem==pem){","if(classname.tolowercase()!=current)","if(defaulttargetplatform==targetplatform.android){","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(usermodel.islogin)","if(v","if(v.startswith(\"$tag[]\")){","if(v.startswith(tag)){","imag","image(","image({","image,//图片","image.asset(","image.asset(\"./images/sea.png\",","image.asset(\"images/avatar.png\"),","image.asset(\"images/avatar.png\",","image.asset(\"imgs/avatar.png\",","image.asset('graphics/background.png');","image.asset('icons/heart.png',","image.completer;","image.network(","image.sizebytes;","image:","image;","image_picker:","imageandiconrout","imagecach","imagecache的一个实例,它是paintingbinding的一个属性,而flutter框架中的paintingbinding.instance是一个单例,imagecache事实上也是一个单例,也就是说图片缓存是全局的,统一由paintingbinding.instance.imagecach","imagecompleter.seterror(...);","imageconfigur","imageconfiguration(","imageconfiguration.empti","imageerrorlisten","imageinfo","imageinfo,","imageinfo;","imageinternaltestrout","imageprovid","imageprovider:","imageprovider;","imagerepeat.norepeat,","imagerepeat.repeati","images","images/avatar.png","imagesize);","imagesize;","imagestream","imagestream();","imagestreamcomplet","imagestreamcompleter的一个子类,是flutt","imagestreamlisten","imagestreamlistener(_updateimage);","imagestreamlistener(listener);","imagestream或","imageurl:","image也提供了一个快捷的构造函数image.asset用于从asset中加载、显示图片:","image也提供了一个快捷的构造函数image.network用于从网络加载、显示图片:","image在显示图片时定义了一系列参数,通过这些参数我们可以控制图片的显示外观、大小、混合效果等。我们看一下image的主要参数:","image组件原理","image缓存","img","img,","img=assetimage(\"imgs/avatar.png\");","implement","import","inactive;","index","index%2==0?divider1:divider2;","index)","index,","index.dart","index;","indexedwidgetbuild","infinitegridview","infinitelistview","infinitelistview(","info,","info.image.height","info.image.width","info?.imag","inform","informationcollector","informationcollector,","informationcollector:","inherit:","inheritedel","inheritedelement);","inheritedprovid","inheritedprovider(","inheritedprovider({@requir","inheritedprovider;","inheritedprovider;","inheritedwidget","inheritedwidgettestrout","inheritedwidget和react中的context功能类似,和逐级传递数据相比,它们能实现组件跨级传递数据。inheritedwidget的在widget树中数据传递方向是从上到下的,这和通知notification(将在下一章中介绍)的传递方向正好相反。","inheritedwidget是flutter中非常重要的一个widget,像国际化、主题等都是通过它来实现,所以我们也不惜篇幅,通过好几节来介绍它的,在下一节中,我们将介绍另一个基于inheritedwidget的组件theme(主题)。","inheritedwidget是flutter中非常重要的一个功能型组件,它提供了一种数据在widget树种从上到下的传递、共享方式,比如我们在应用的根widget中通过inheritedwidget共享了一个数据,那么我们便可以在任意子widget中来获取该共享的数据!这个特性在一些需要在widget树中共享数据的场景中非常方便!如flutt","inheritfromelement(ancestor,","inheritfromelement(inheritedel","inheritfromwidgetofexacttype(typ","init()","initialdata:初始数据,用户设置默认数据。","initialdate:","initializemessages(localename).then((b)","initialroute:\"/\",","initialscrolloffset","initialvalue,","initinstances()","initst","initstate()","initstate:当widget第一次插入到widget树时会被调用,对于每一个state对象,flutt","initvalue;","inkwell(","inputborder.non","inputdecor","inputdecoration(","inputdecoration(),","inputdecoration(labeltext:","inputdecorationtheme(","inputdecorationtheme:","inputdecoration:用于控制textfield的外观显示,如提示文本、背景颜色、边框等。","inputformatters,","inputformatters:用于指定输入格式;当用户输入内容改变时,会根据指定的格式来校验。","instal","install。","instance…)。","instructions.","int","int,","int.parse(","int.parse(contents);","int.parse(response.headers.value(httpheaders.contentlengthheader));","int32list","int64list","int[]","intent","intent!!.getintextra(batterymanager.extra_level,","intent.getintextra(batterymanager.extra_scale,","intentfilter(intent.action_battery_changed))","intentfilter(intent.action_battery_changed));","interceptor","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,","ios/runner.xcworkspac","iosink","iosink=","ios文件夹,点击","ios风格的日历选择器需要使用showcupertinomodalpopup方法和cupertinodatepicker组件来实现:","iowebsocketchannel","iowebsocketchannel.connect('ws://echo.websocket.org');","io库中提供了用于发起http请求的一些类,我们可以直接使用httpclient来发起请求。使用httpclient发起请求分为五步:","io库操作文件的api非常丰富,但本书不是介绍dart语言的,故不详细说明,读者需要的话可以自行学习。","io库来操作文件的,不过和dart","io库,无论是dart","io操作。而不是等到这个操作完成。","iphon","is!","iscomplex:是否复杂的绘制,如果是,flutter会应用一些缓存策略来减少重复渲染的开销。","isequaltostring:call.method])","isforward","islogin","isnobl","isnoble(int","isreleas","isrepaintboundari","issue中找到答案。","issupported(local","iszh","item","item(this.price,","item)","item.count","item.price);","itembuilder,","itembuilder:","itembuilder为列表项的builder,我们需要在该回调中构建每一个列表项widget。由于列表项构建逻辑较负责,我们单独封装一个repoitem","itembuilder:它是列表项的构建器,类型为indexedwidgetbuilder,返回值为一个widget。当列表滚动到具体的index位置时,会调用该构建器构建列表项。","itemcount,","itemcount:","itemcount:列表项的数量,如果为null,则为无限列表。","itemextent,","itemextent:","itemextent:该参数如果不为null,则会强制children的”长度“为itemextent的值;这里的”长度“是指滚动方向上子组件的长度,也就是说如果滚动方向是垂直方向,则itemextent代表子组件的高度;如果滚动方向为水平方向,则itemextent就代表子组件的宽度。在listview中,指定itemextent比让子组件自己决定自身长度会更高效,这是因为指定itemextent后,滚动系统可以提前知道列表的长度,而无需每次构建子组件时都去再计算一下,尤其是在滚动位置频繁变化时(滚动系统需要频繁去计算列表高度)。","items,","items.addall(data);","items:","items=json.decode(jsonstr);","iter","iwonderhowlongthistakes();","i和/或","jack","jack\"),","jack\")只指定了水平方向的定位(left),所以属于部分定位,即垂直方向上没有定位,那么它在垂直方向的对齐方式则会按照alignment指定的对齐方式对齐,即垂直方向居中。对于第三个子文本组件text(\"your","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(just","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_model","json_model可以手动指定某个字段引用的其它model类,可以避免生成重复的类;而ide插件一般会为每一个json文件中所有嵌套对象都单独生成一个model类,即使这些嵌套对象可能在其它model类中已经生成过。","json_model需要单独维护一个存放json文件的文件夹,如果有改动,只需修改json文件便可重新生成model类;而ide插件一般需要用户手动将json内容拷贝复制到一个输入框中,这样生成之后json文件没有存档的化,之后要改动就需要手动。","json_serializable:","json_serializable第一次创建类时,您会看到与图11","jsonencode(profile.tojson()));","jsonmessagecodec类,或创建自己的编解码器。","jsonstr='[{\"name\":\"jack\"},{\"name\":\"rose\"}]';","json文件对应的dart","json转dart","json转model","jsx","jumpto()","jumpto()内部会调用所有scrollposition的animateto()","jumpto()才可以被调用。","jumpto(),以实现所有和该scrollcontroller关联的可滚动组件都滚动到指定的位置。","jumpto(),它们是真正来控制跳转滚动位置的方法,scrollcontroller的这两个同名方法,内部最终都会调用scrollposition的。","jumpto(doubl","keep","key","key)","key);","key){","key)方法","key)方法从数据源加载图片数据,加载成功后先缓存,然后返回imagestream。","key,","key.contains(options.path));","key.scale,","key.then((t","key:","key;","keyboardtype,","keyboardtype:","keyboardtype:用于设置该输入框默认的键盘输入类型,取值如下:","key})","knock","kotlin","label:","labelstyle:","labeltext:","lan,","language)","languagerout","languageroute(),","lastdate:","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\",","license同意过了.","life","line","line)","line){","linear","lineargradient(colors:","lineargradient(colors:[colors.red,colors.orange[700]]),","linearprogressind","linearprogressindicator(","linearprogressindicator({","linearprogressindicator是一个线性、条状的进度条,定义如下:","link","linkedhashmap();","linkstyle;","list","list();","list){","list,","list.foreach((f)","list.length","list.remove(f);","list[i](arg);","listen","listen:","listenable:","listenable;","listener(","listener(imageinfo","listener({","listener)","listtile(","listtile(title:","listtile(title:text(\"商品列表\")),","listview","listview(","listview(key:","listview({","listview.build","listview.builder(","listview.builder(itembuilder:","listview.builder({","listview.builder适合列表项比较多(或者无限)的情况,因为只有当子组件真正显示的时候才会被创建,也就说通过该构造函数创建的listview是支持基于sliver的懒加载模型的。下面看一下listview.builder的核心参数列表:","listview.separ","listview.separated(","listview.separated可以在生成的列表项之间添加一个分割组件,它比listview.builder多了一个separatorbuilder参数,该参数是一个分割组件生成器。","listview3","listview公共参数已省略","listview是最常用的可滚动组件之一,它可以沿一个方向线性排布所有子组件,并且它也支持基于sliver的延迟构建模型。我们看看listview的默认构造函数定义:","load","load(image_provider.networkimag","load(key),","load(local","load(t","loadasset()","loader(),","loader();","loadingtag","loadingtag)","loading框","local","locale('en',","locale('zh',","locale(str","locale(t[0],","locale)","locale,","locale.countrycode.isempti","locale.languagecod","locale.tostring();","locale:","locale;","locale=","localelistresolutioncallback:","localelistresolutioncallback和localeresolutioncallback唯一的不同就在第一个参数类型,前者接收的是一个locale列表,而后者接收的是单个locale。","localemodel","localemodel()),","localemodel,","localemodel.getlocale(),","localemodel.getlocale();","localemodel.local","localenam","localename;","localeresolutioncallback:","locales,","locale发生变化回调","locale类是用来标识用户的语言环境的,它包括语言和国家两个标志如:","localizations.localeof(context);","localizations.localeof(context,","localizations.of(context,","localizationsdeleg","localizationsdelegates:","localizationsdelegates列表中的元素是生成本地化值集合的工厂。globalmateriallocalizations.deleg","localizations组件用于加载和查找应用当前语言下的本地化值或资源。应用程序通过localizations.of(context,type)来引用这些对象。","lockevents(()","log","logcat)。","logic","login(\"alice\",\"******\").then((id){","login(\"alice\",\"******\");","login(str","login,","loginrout","loginroute(),","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:表示子组件在row所占用的水平空间内对齐方式,如果mainaxissize值为mainaxissize.min,则此属性无意义,因为子组件的宽度等于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表示尽可能少的占用水平空间,当子组件没有占满水平剩余空间,则row的实际宽度等于所有子组件占用的的水平空间;","mainaxisspac","mainaxisspacing:","mainaxisspacing:主轴方向的间距。","maintainst","maintainstate;","maintainstate:默认情况下,当入栈一个新路由时,原来的路由仍然会被保存在内存中,如果想在路由没用的时候释放其所占用的所有资源,可以设置maintainstate为false。","main函数为app入口函数,实现如下:","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(","materialapp有一个ongenerateroute属性,它在打开命名路由时会可能会被调用,之所以说可能,是因为当调用navigator.pushnamed(...)打开命名路由时,如果指定的路由名在路由表中已注册,则会调用路由表中的builder函数来生成路由组件;如果路由表中没有注册,才会调用ongenerateroute来生成路由。ongenerateroute回调签名如下:","materialapp有一个title属性,用于指定app的标题。在android系统中,app的标题会出现在任务管理器中。所以也需要对title进行国际化。但是问题是很多国际化的配置都是在materialapp上设置的,我们无法在构建materialapp时通过localizations.of来获取本地化资源,如:","materialcolor","materialcolor(","materialcolor是实现materi","materialloc","materiallocalizations);","materiallocalizations.of(context).backbuttontooltip,","materiallocalizations.of(context).modalbarrierdismisslabel,","materialpagerout","materialpageroute(","materialpageroute(560156430)]","materialpageroute(builder:","materialpageroute({","materialpageroute继承自pageroute类,pageroute类是一个抽象类,表示占有整个屏幕空间的一个模态路由页面,它还定义了路由构建及切换时过渡动画的相关接口及属性。materialpagerout","materialtype.card,","materialtype.transparency,","material库中的一些组件都针对相应的平台做了一些适配,比如路由组件materialpageroute,它在android和ios中会应用各自平台规范的切换动画。那如果我们想让我们的app在所有平台都表现一致,比如希望在所有平台路由切换动画都按照ios平台一致的左右滑动切换风格该怎么做?flutter中提供了一种覆盖默认平台的机制,我们可以通过显式指定debugdefaulttargetplatformoverride全局变量的值来指定应用平台。比如:","material组件","material组件库中提供了一个bottomappbar","material组件库中提供了一个tabbar组件,它可以快速生成tab菜单,下面是上图对应的源码:","material组件库中提供了输入框组件textfield和表单组件form。下面我们分别介绍一下。","material组件库中提供的一个组件,它提供了默认的导航栏、标题和包含主屏幕widget树(后同”组件树“或”部件树“)的body属性。组件树可以很复杂。","material组件库中的按钮","material组件库中的按钮默认不支持渐变背景,为了实现渐变背景按钮,我们自定义一个gradientbutton组件,它需要支持一下功能:","material组件库提供了一些现成的组件来减少我们的开发任务。scaffold是一个路由页的骨架,我们使用它可以很容易地拼装出一个完整的页面。","material组件库提供了丰富多样的组件,本节介绍一些常用的组件,其余的读者可以自行查看文档或flutt","math.pi","math.sin(t","math;","matrix4.rotationz(.2),","matrix4.skewy(0.3),","maven","maven.aliyun.com","max","maxchunk","maxchunk).ceil();","maxconnectionsperhost","maxcrossaxisextent,","maxcrossaxisextent:","maxcrossaxisextent为子元素在横轴上的最大长度,之所以是“最大”长度,是因为横轴方向每个子元素的长度仍然是等分的,举个例子,如果viewport的横轴长度是450,那么当maxcrossaxisextent的值在区间[450/4,450/3)内的话,子元素最终实际长度都为112.5,而childaspectratio所指的子元素横轴和主轴的长度比为最终的长度比。其它参数和slivergriddelegatewithfixedcrossaxiscount相同。","maximumdate:","maximumsize(int","maximumsizebyt","maximumsizebytes(int","maximumsizebytes)","maximumyear:","maxlength,","maxlengthenforc","maxlength和maxlengthenforc","maxlin","maxlines:","maxlines、overflow:指定文本显示的最大行数,默认情况下,文本是自动折行的,如果指定此参数,则文本最多不会超过指定的行。如果有多余的文本,可以通过overflow来指定截断方式,默认是直接截断,本例中指定的截断方式textoverflow.ellipsis,它会将多余文本截断后以省略符“...”表示;textoverflow的其它截断方式请参考sdk文档。","maxlines:输入框的最大行数,默认为1;如果为null,则无行数限制。","maxscrollextent:最大可滚动长度。","mb","mb)","mediaquery.of(context).size.height","mediaquery.of(context).size.width","mediaquery.of(context,","mediaquery.removepadding(","medium.ttf","menu","mergetempfiles(chunk)","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时添加,如:","microtask","middle:","minheight:","minimumdate:","minwidth:","miss","mo.dart","mobil","mobile/14e304","mobile、flutter)","mobile一样,都没有使用原生控件,相反都实现了一个自绘引擎,使用自身的布局、绘制系统。那么,我们会担心,qt","mobile做一个对比:","mobile后尘,成为另一个烈士?要回到这个问题,我们先来看看flutter诞生过程:","mobile面对的问题flutter是否也一样,flutter会不会步入qt","mobx","mocknetworkdata()","mocknetworkdata(),","modalroute.of(context).settings.arguments);","mode","mode:","model","model。","model化”,具体做法就是,通过预定义一些与json结构对应的model类,然后在请求到数据后再动态根据数据创建出model类的实例。这样一来,在开发阶段我们使用的是model类的实例,而不再是map/list,这样访问内部属性时就不会发生拼写错误。例如,我们可以通过引入一个简单的模型类(model","model变化后会自动通知changenotifierprovider(订阅者),changenotifierprovider内部会重新构建inheritedwidget,而依赖该inheritedwidget的子孙widget就会更新。","model的方案采用前面介绍过的","model类","model类。json文件转dart","model类会在此目录下","model类定义","model类,现在我们使用在第十一章中”json转model“小节中介绍的方案,所以,我们需要在根目录下再创建一个用于保存json文件的”jsons“文件夹。","model类:","model类;","model,简称dom),是w3c组织推荐的处理可扩展标志语言的标准编程接口,一种独立于平台和语言的方式访问和修改一个文档的内容和结构。换句话说,这是表示和处理一个html或xml文档的标准接口。简单来说,dom就是文档树,与用户界面控件树对应,在前端开发中通常指html对应的渲染树,但广义的dom也可以指android中的xml布局文件对应的控件树,而术语dom操作就是指直接来操作渲染树(或控件树),","mode”,用","mode)下测试,因为在调试模式下,故意牺牲性能来换取有助于开发调试的功能,如assert声明,这些都是非常耗时的,因此结果将会产生误导。","mode)和可选类型(opt","mode),原先的检查模式(check","more","mother;","mother和friends四个字段,由于mother也是一个person,朋友是多个person(数组),所以我们期望生成的model是下面这样:","msg)","msg,","msg;","multichildrenderobjectel","multichildrenderobjectwidget","multiframeimagestreamcomplet","multiframeimagestreamcompleter(","multilin","multiprovider(","myanimationwidget","myapp","myapp());","myapp),然后点击","myapp类代表flutter应用,它继承了","myclipp","myclipper(),","mydraw","mydrawer(),","mydrawer({","myhomepag","myhomepage(title:","myhomepage({key","myhomepage类中并没有build方法,取而代之的是,build方法被挪到了_myhomepagestate方法中,至于为什么这么做,先留个疑问,在分析完完整代码后再来解答。","myicon","myicons{","myimag","myimage(","myimage({","myimage,代码大致如下:","mylocal","mynotif","mynotification(\"hi\").dispatch(context),","mynotification(this.msg);","mypaint","mypainter(),","myrichtext","myrichtext({","myslidetransit","myslidetransition(","myslidetransition({","n","n(n>1)","name","name\"),","name,","name:","name;","name=paths.first;","name:应用或包名称。","nativ","nativefieldwrapperclass2","native、weex、快应用)","native、weex及快应用","native中主要有两个作用:","native只支持jsx语法。","native和weex的渲染/排版引擎是集成到框架中的,每一个app都需要打包一份,安装包体积较大;而快应用渲染/排版引擎是集成到rom中的,应用中无需打包,安装包体积小,正因如此,快应用才能在保证性能的同时做到快速分发。","native和weex相比主要有两点不同:","native引擎渲染视图,这无疑能为用户提供良好的体验。","native扩展。同时","native是web开发技术栈,也只需维护一份代码,同样是跨平台框架。","native是原生控件渲染,所以性能会比混合应用中h5好很多,同时react","native类似,最大的不同是语法层面,weex支持vue语法和rax语法,rax","navbar","navbar(color:","navbar({","navig","navigationbar:","navigator.of(context).pop(),","navigator.of(context).pop();","navigator.of(context).pop(_withtree);","navigator.of(context).pop(index),","navigator.of(context).pop(true);","navigator.of(context).pop(withtree);","navigator.of(context).pushnamed(\"login\"),","navigator.of(context).pushnamed(\"login\");","navigator.of(context).pushnamed(\"new_page\",","navigator.of(context,","navigator.pop(context),","navigator.pop(context);","navigator.pop(context,","navigator.push(","navigator.push(context,","navigator.pushnamed(context,","navigator中导航到runner/runner然后通过打开assets.xcassets拖入图片,或者通过在launchscreen.storyboard中使用interfac","navigator是一个路由管理的组件,它提供了打开和退出路由页方法。navigator通过一个栈来管理活动路由集合。通常当前屏幕显示的页面就是栈顶的路由。navigator提供了一系列方法来管理路由栈,在此我们只介绍其最常用的两个方法:","navigator类中第一个参数为context的静态方法都对应一个navigator的实例方法,","nested)","netcach","netcache();","networkimag","networkimage(","never","new","newrout","newroute();","newvalue)","newvalue;","newwidget)","newwidget.key;","newwidget.runtimetyp","next.","next。","nicer","nil","nil));","no)","nocach","node","node._layoutwithoutresize();","node._skippedpaintingonlayer();","node._updatecompositingbits();","node.own","none,","none:图片没有适应策略,会在显示空间内显示图片,如果图片比显示空间大,则显示空间只会显示图片中间部分。","notif","notification\"),","notification)","notification);","notification,","notification.metrics.maxscrollextent;","notification.metrics.pixel","notificationlisten","notificationlistener(","notificationlistener({","notificationlistener)","notificationlistenercallback","notificationrout","notificationroutest","notificationroutestate();","notification有一个dispatch(context)方法,它是用于分发通知的,我们说过context实际上就是操作element的一个接口,它与element树上的节点是对应的,通知会从context对应的element节点向上冒泡。","notifylisteners()","notifylisteners();","nsarray","nsdictionari","nsnumber","nsstring","null","null)","null)))","null),","null);","null,","null;","nullok:","num){","number","numberwithbool:","numberwithdouble:","numberwithint:","numberwithlong:","ob","ob.timestamp)","obj,","object","object';","obscuretext","obscuretext:","obscuretext:是否隐藏正在编辑的文本,如用于输入密码的场景等,文本内容会用“•”替换。","observatori","observatory(或另一个dart调试器,例如intellij","obtainedkey","obtainedkey;","obtainkey(configuration);","obtainkey(image_provider.imageconfigur","obtainkey(imageconfigur","obtainkey(imageconfiguration)方法","oct","octocat\",","of(buildcontext","off(eventname,","offset","offset(","offset(0,","offset(0.0,","offset(1,","offset(2.0,","offset(2.0,2.0),","offset(_offset,","offset(offset.dx,","offset)","offset);","offset)、animateto(doubl","offset)来完成绘制,该方法源码如下:","offset,","offset,...):这两个方法用于跳转到指定的位置,它们不同之处在于,后者在跳转时会执行一个动画,而前者不会。","offset.dx,","offset.dy);","offset.zero;","offset:","offset;","offset=position.value;","offsetlay","offset表示在子节点在父节点坐标系中的绘制偏移","offset:可滚动组件当前的滚动位置。","ok","ok。","old)","old.data","oldclipper)","olddelegate)","oldimagestream","oldimagestream?.key)","oldimagestream?.removelistener(listener);","oldposition);","oldwidget)","oldwidget,","oldwidget.data)","oldwidget.data.removelistener(update);","oldwidget.imageprovider)","oldwidget.key","oldwidget.runtimetyp","oldwidget.text)","on(eventname,","onbeginfram","onbytesreceived:","onc","onchanged(!active);","onchanged,","onchanged:","onchanged:(value){","onchanged;","onchanged:form的任意一个子formfield内容发生变化时会触发此回调。","onchange:输入框内容改变时的回调函数;注:内容改变事件也可以通过controller来监听。","oncreate(bundl","oncreate(savedinstancestate:","ondatetimechanged:","ondoubletap:","ondrawfram","one:","oneditingcomplete,","oneditingcomplete和onsubmitted:这两个回调都是在输入框输入完成时触发,比如按了键盘的完成键(对号图标)或搜索键(🔍图标)。不同的是两个回调签名不同,onsubmitted回调是valuechanged类型,它接收当前输入内容做为参数,而oneditingcomplete不接收参数。","onerror","onerror(details);","onerror(error,","onerror,","onerror:","onerror:zone中未捕获异常处理回调,如果开发者提供了onerror回调或者通过zonespecification.handleuncaughterror指定了错误处理回调,那么这个zone将会变成一个error","ongenerateroute:(routeset","ongeneratetitle:","onhorizontaldragend","onhorizontaldragend:","onhorizontaldragupdate:","onlocalechang","onloginchanged(e){","onlongpress:","only({left,","onmethodcall(methodcal","onmetricschang","onnotification(notification);","onnotification:","onnotification回调为通知处理回调,其函数签名如下:","onpandown:","onpanend:","onpanupdate:","onplatformmessag","onpointerdatapacket","onpointerdown:","onpointermove:","onpointerup:","onpressed,","onpressed:","onpressed:()=>setstate(()=>","onpressed:_onadd","onpressed;","onreceiveprogress(progress.reduce((a,","onreceiveprogress,","onreceiveprogress:","onrequest(requestopt","onretrievedata:","onsaved,","onscaleupdate:","onsubmitted,","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:","opaque;","opaque:在命中测试时,将当前组件当成不透明处理(即使本身是透明的),最终的效果相当于当前widget的整个区域都是点击区域。举个例子:","open","open…","open…\"。","oper","option","options(","options(extra:","options)","options.extra[\"cachekey\"]","options.extra[\"refresh\"]","options.method.tolowercase()","options.uri.tostring();","options:","options;","orelse:","orientation:指针移动方向,是一个角度值。","os","os.","other)","other.hashcode;","other:","other;","other_package:","out,","outlinebutton","outlinebutton(","outlinebutton.icon(","outlinebutton默认有一个边框,不带阴影且背景透明。按下后,边框颜色会变亮、同时出现背景和阴影(较弱),如图3","output","overflow.clip,","overflow:","overflow:此属性决定如何显示超出stack显示空间的子组件;值为overflow.clip时,超出部分会被剪裁(隐藏),值为overflow.vis","overlay","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发布我们的包和插件。我们将在后面的章节中介绍如何向pub发布我们的包和插件。","packages分为两类:","package。","package中提供的。infinitelistview同时支持了下拉刷新和上拉加载更多两种功能。onretrievedata","package中的字体","package中的核心功能;但是我们的迷你版功能并不全面,如只实现了一个可监听的changenotifierprovider,并没有实现只用于数据共享的provider;还有就是我们的实现还有些边界没有考虑的到,比如如何保证在widget树重新build时model始终是单例等。所以建议读者在实战中还是使用provid","package为例,它的目录结构如图12","package也导出了一个迷你库:","package包。","package底层的原理。","package提供的命令来通过json文件生成相应的dart类:","package)。","package,所以我们可以直接通过拦截器来实现缓存策略:","package,而本节实现这个迷你provider的主要目的主要是为了帮助读者了解provid","pad","padding(","padding(padding:","padding({","padding,","padding:","padding:padding.valu","padding;","paddingtestrout","paddingwidth","padding可以给其子节点添加填充(留白),和边距效果类似。我们在前面很多示例中都已经使用过它了,现在来看看它的定义:","padding和margin","page","page'),","page,","pageb(),","pageb();","pagebuilder,","pagebuilder:","pagechild","pagechild)","pagechild;","pagerout","pageroutebuilder(","pagestoragekey(1),","pagestoragekey(2),","pagestorage是一个用于保存页面(路由)相关数据的组件,它并不会影响子树的ui外观,其实,pagestorage是一个功能型组件,它拥有一个存储桶(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.inst","paintingbinding.instance.imagecache.maximumsize=2000;","paintingbinding.instance.imagecache.maximumsizebyt","paintingbinding.instance.instantiateimagecodec(bytes);","paintingbinding:绑定绘制库,主要用于处理图片缓存。","paintingcontext.repaintcompositedchild(node);","paintingcontext代表组件的绘制上下文,通过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,如此便可提高性能。","parsetext(str","parsetext(widget.text)","parsetext(widget.text);","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(\".\");","payload=\"...\";","pem=\"xxxxx\";//可以从文件读取","pendingimag","pendingimage.removelistener();","per","perform","performanceoverlay.allenabled()创建的stack上来获得相同的效果)。","performance”下,","performlayout","performlayout()","performlayout();","performlayout()两个方法中,renderbox子类需要实现这两个方法来定制自身的布局逻辑。根据layout()","performlayout()两个方法来实现,他们会在layout()中被调用。","performrebuild()","performres","performresize()","performresize()/performlayout()","performresize();","performresize()。","persistentbottomsheetcontrol","persistentbottomsheetcontroller中包含了一下控制对话框的方法比如close方法可以关闭该对话框,功能比较简单,读者可以自行查看源码。唯一需要注意的是,showbottomsheet和我们上面介绍的弹出对话框的方法原理不同:showbottomsheet是调用widget树顶部的scaffold组件的scaffoldstate的showbottomsheet同名方法实现,也就是说要调用showbottomsheet方法就必须得保证父级组件中有scaffold。","persistentcallback","persistentcallbacks:用于存放一些持久的回调,不能在此类回调中再请求新的绘制帧,持久回调一经注册则不能移除。schedulerbinding.instance.addpersitentframecallback(),这个回调中处理了布局与绘制工作。","person","person();","person.fromjson(map","phone","physic","physicals","physics,","physics:此属性接受一个scrollphysics类型的对象,它决定可滚动组件如何响应用户操作,比如用户滑动完抬起手指后,继续执行动画;或者滑动到边界时,如何显示。默认情况下,flutter会根据具体平台分别使用不同的scrollphysics对象,应用不同的显示效果,如当滑动到边界时,继续拖动的话,在ios上会出现弹性效果,而在android上会出现微光效果。如果你想在所有平台下使用同一种效果,可以显式指定一个固定的scrollphysics,flutt","pi","pi,","picturelay","pinned:","pipelineowner.flushcompositingbits();","pipelineowner.flushlayout();","pipelineowner.flushpaint();","pipelineowner.flushsemantics();","pixel","pixel)","pixels)","pixels:当前滚动位置。","pkg1:","placehold","placeholder:","platform","platform,","platform.invokemethod('getbatterylevel');","platform:","platformexcept","platformmessagecallback","platformmessageresponsecallback","pod","pod::spec.new","point')","pointerdatapacketcallback","pointerev","pop(buildcontext","port)","port){","port,","posit","position)","position));","position);","position,","position.pixels;","position:","positioned(","positioned({","position:它是鼠标相对于当对于全局坐标的偏移。","position:此属性决定在哪里绘制decoration,它接收decorationposition的枚举类型,该枚举类有两个值:","post","postframecallback","postframecallbacks:在frame结束时只会被调用一次,调用后会被系统移除,可由","powershel","prefixicon:","pressure:按压力度,如果手机屏幕支持压力传感器(如iphone的3d","preview+json\",","preview,\"","price;","primary),),","primary,","primary=theme.of(this).primarycolor;","primarycolor,","primaryswatch,","primaryswatch:","primary:指是否使用widget树中默认的primaryscrollcontroller;当滑动方向为垂直方向(scrolldirection值为axis.vertical)并且没有指定controller时,primary默认为true.","print(\"$index\");","print(\"${(receiv","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(\"raisedbutton","print(\"reassemble\");","print(\"success\");","print(\"unus","print(\"up\");","print(\"xxx\"))","print(\"xxxx$locale\");","print(\"取消删除\");","print(\"同时删除子目录:","print(\"已确认删除\");","print(\"开始滚动\");","print(\"正在滚动\");","print(\"滚动停止\");","print(\"滚动到边界\");","print(\"点击了:$index\");","print(\"用户手指按下:${e.globalposition}\");","print(\"路由返回值:","print(\"选择了:${i","print('howdy,","print('w","print()功能将输出到系统控制台,您可以使用flutt","print(_controller.offset);","print(_unamecontroller.text)","print(_unamecontroller.text);","print(a.length);","print(b.length);","print(cb());","print(data);","print(defaulttargetplatform);","print(e)","print(e);","print(e.message);","print(e.velocity);","print(focusnode.hasfocus);","print(items[0][\"name\"]);","print(notification);","print(notification.msg);","print(response);","print(response.data.tostring());","print(response.headers);","print(results[0]+results[1]);","print(str);","print(type);","print(value);","print:","printlengths()","printlengths();","print、debugprint、flutt","privat","private\".padright(paddingwidth))","probabl","process","profil","profile();","profile.cach","profile.dart","profile.fromjson(jsondecode(_profile));","profile.g.dart","profilechangenotifi","profile替代","profile标志,以确保运行时性能特征与您的最终产品差异最小。","profile选项来运行flutt","progress","progress.add(0);","progress[no]","progresscallback","progressrout","project","project’","properties)","properties.defaultdiagnosticstreestyl","provid","provider.data;","provider.of(context).them","provider.of(context);","provider.of(context,","providerrout","providers:","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","putifabsent(object","pwd)","pwd){","pwdshow","qt","qt、flutter","qt低","qt是一个1991年由qt","qt简介","quarterturns:","queryparameters,","queryparameters:","queue。从图中可以发现,微任务队列的执行优先级高于事件队列。","queue,另一个叫做“事件队列”","quick_actions插件就是一个具体的例子。","quit","r","r.data.map((e)","radialgradient(","radius,","radius:","radius;","raisedbutton","raisedbutton(","raisedbutton({","raisedbutton.icon(","raisedbutton、flatbutton、outlinebutton都有一个icon","raleway","randomwordswidget","randomwordswidget(),","range\"的内容:","range:","range“字段,如果不支持则不会包含。我们看看上面\"cont","ratio:","rawimage(","rax","re","reached!\");","react","react中提出一个重要思想:状态改变则ui随之自动改变,而react框架本身就是响应用户状态改变的事件而执行重新构建用户界面的工作,这就是典型的响应式编程范式,下面我们总结一下react中响应式原理:","react框架在接收到用户状态改变通知后,会根据当前渲染树,结合最新的状态改变,通过diff算法,计算出树中变化的部分,然后只更新变化的部分(dom操作),从而避免整棵树重构,提高性能。","realm)","realm))","realm));","realm,","realm=\"admin\"","realm==\"admin\"){","reassembl","reassemble()","reassemble():此回调是专门为了开发调试而提供的,在热重载(hot","rebuild","rebuild()","receivebatterylevel(result:","received,","received;","recognizer,","recognizer:","rect","rect,","rect.fromltrb(0.0,","rect.fromltwh(10.0,","redbox","redbox,","redbox=decoratedbox(","redux","refresh","refresh)","refresh,","refresh:","refresh标记是否是\"下拉刷新\"","regexp(r\"\\s\"),","registerreceiver(null,","registrationdatemillis;","regular","regular.ttf","relative)非常像,是的!在大多数时候,我们可以直接使用align组件来实现web中相对定位的效果,读者可以类比记忆。","relayoutboundari","relayoutboundary;","relayoutboundary,如果一个","relayoutboundary,就表示它的大小变化不会再影响到","relayoutboundary,该参数表示子节点布局变化是否影响父节点,如果为true,当子节点布局发生变化时父节点都会标记为需要重新布局,如果为false,则子节点布局发生变化后不会影响父节点。","relayoutboundary?在前面介绍element时,我们讲过当一个element标记为","release即可。","release运行您的应用程序。","reload","reload)时会被调用,此回调在release模式下永远不会被调用。","reload“只会重新构建整个widget树,如果变动不在构建widget树的过程中,”hot","reload“就不会起作用。","reload“重载失效,此时调用","reload)","remain","remainingemailsmessage(int","remov","removelistener(voidcallback","removetop:","render","render(scen","renderbox","renderbox子类要定制布局算法不应该重写layout()方法,因为对于任何renderbox的子类来说,它的layout流程基本是相同的,不同之处只在具体的布局算法,而具体的布局算法子类应该通过重写performresize()","renderbox实际的测量和布局逻辑是在performresize()","renderconstrainedbox","renderconstrainedbox(","rendercustompaint","rendercustompaint)","rendererbinding,","rendererbinding:","rendering层,这一层是一个抽象的布局层,它依赖于dart","renderobject","renderobject)","renderobject:","renderobjecttowidgetadapter(","renderobjecttowidgetadapter([globalobjectkey","renderobjecttowidgetel","renderobjectwidget","renderobjectwidget类中定义了创建、更新renderobject的方法,子类必须实现他们,关于renderobject我们现在只需要知道它是最终布局、渲染ui界面的对象即可,也就是说,对于布局类组件来说,其布局算法都是通过对应的renderobject对象来实现的,所以读者如果对接下来介绍的某个布局类组件的原理感兴趣,可以查看其对应的renderobject的实现,比如stack(层叠布局)对应的renderobject对象就是renderstack,而层叠布局的实现就在renderstack中。","renderobject。真正的绘制是通过paintingcontext.repaintcompositedchild()来绘制的,该方法最终会调用flutt","renderobject为止,然后再将其标记为","renderobject再到根element的整个关联过程。我们看看attachtorendertree的源码实现:","renderobject可以通过paint()方法来完成具体绘制逻辑,流程和布局流程相似,子类可以实现paint()方法来完成自身的绘制逻辑,paint()签名如下:","renderobject和renderbox","renderobject就是渲染树中的一个对象,它拥有一个parent和一个parentdata","renderobject类本身实现了一套基础的layout和绘制协议,但是并没有定义子节点模型(如一个节点可以有几个子节点,没有子节点?一个?两个?或者更多?)。","renderobject,而是只重绘了需要重绘的","renderproxybox","renderrepaintboundari","renderrepaintboundary({","renderview","renderview(497039273)];","renderview)","renderview,","renderview.compositeframe();","renderviewelement);","rent!'),","repaint","repaintboundari","repaintboundary(","repaintboundary(child:...)),","repaintcompositedchild(child,","repeat:","repeat:当图片本身大小小于显示空间时,指定图片的重复规则。简单示例如下:","repetitioncount","replace(match","repo","repo!\",","repo.dart","repo.fromjson(e)).tolist();","repo.g.dart","repo;","repoitem","repoitem(list[index]);","repoitem(this.repo)","reporterror(details);","reporterror(fluttererrordetail","reporterrorandlog(details);","reporterrorandlog(fluttererrordetail","repositori","repositories…,选择","request","request.add(utf8.encode(payload));","request.close();","request.headers.add(\"us","request.headers.add(name,","require(\"dsbridge\")","reserv","resetepoch();","resolutionstrategi","resolv","resolve(imageconfigur","resolve(imageconfiguration)","resolve方法是imageprovider的暴露的给image的主入口方法,它接受一个imageconfiguration参数,返回imagestream,即图片数据流。我们重点看一下resolve执行流程:","respons","response,","response.data.map((e)","response.hashcod","response.headers.value(httpheaders.contentrangeheader).split(\"/\").last);","response.realuri.hashcode;","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.addlistener(streamlistener);","result.error(\"unavailable\",","result.notimplemented()","result.notimplemented();","result.success(batterylevel)","result.success(batterylevel);","result:","result;","rethrow;","return","return;","revers","reverse()等方法。animationcontroller会在动画的每一帧,就会生成一个新的值。默认情况下,animationcontroller在给定的时间段内线性的生成从0.0到1.0(默认区间)的数字。","reverse:该属性api文档解释是:是否按照阅读方向相反的方向滑动,如:scrolldirection值为axis.horizontal,如果阅读方向是从左到右(取决于语言环境,阿拉伯语就是从右到左)。reverse为true时,那么滑动方向就是从右往左。其实此属性本质上是决定可滚动组件的初始滚动位置是在“头”还是“尾”,取false时,初始滚动位置在“头”,反之则在“尾”,读者可以自己试验。","richtext(","right","right,","rn、weex","root","rootbundle.loadstring('assets/config.json');","rootbundle;","rootnavigator:","rootproject.findproject(\":url_launcher\")","rootwidget","rootwidget)","rotatedbox","rotatedbox(","rotatedbox和transform.rotate功能相似,它们都可以对子组件进行旋转变换,但是有一点不同:rotatedbox的变换是在layout阶段,会影响在子组件的位置和大小。我们将上面介绍transform.rotate时的示例改一下:","rotationtransition(","rout","route\"),","route\"。","route)","route)等价于navigator.of(context).push(rout","routenam","routename,{object","routepagebuild","routertestrout","routes:","routes:{","routes;","routeset","routetransitionsbuild","route”按钮,依然可以打开新的路由页。","route)即有名字的路由,我们可以先给路由起一个名字,然后就可以通过路由名字直接打开新的路由了,这为路由管理带来了一种直观、简单的方式。","row","row(","row(children:","row({","row、","row、column和flex子组件所占用的空间。","row可以在水平方向排列其子widget。定义如下:","row默认为水平方向,column默认为垂直方向","run","runalignment:纵轴方向的对齐方式","runapp(","runapp(myapp()));","runapp(myapp()),","runapp(myapp());","runapp(myapp())根本执行不到。","runapp(new","runapp(widget","runner","runspacing:","runspacing:纵轴方向的间距","runzoned(","runzoned(()","runzoned(r","run。","run。模拟器启动并显示所选操作系统版本或设备的启动画面。","run启动flutter应用程序。","run启动应用程序,那么当它运行时,我们可以打开observatory工具的web页面,例如observatory默认监听http://127.0.0.1:8100/,可以在浏览器中直接打开该链接。直接使用语句级单步调试器连接到您的应用程序。如果您使用的是intellij,则还可以使用其内置的调试器来调试您的应用程序。","run命令来运行应用程序。","run图标。","run时使用trac","run时带有","s","s),","s)将不会进行热重载,热重载按钮","s),或者点击","s.depend","safari/602.1\");","safearea(","save","savedinstancestate)","savepath","savepath,","saveprofile()","saveuserinfo(str","saveuserinfo(userinfo).then((){","saveuserinfo(userinfo);","say(\"hi","say('bob',","say(str","sc);","sc.settrustedcertificates(file);","sc=new","scaffold","scaffold(","scaffold.of(context).opendrawer();","scaffoldrout","scaffold、tabbar、底部导航","scaffold的drawer和enddrawer属性可以分别接受一个widget来作为页面的左、右抽屉菜单。如果开发者提供了抽屉菜单,那么当用户手指从屏幕左(或右)侧向里滑动时便可打开抽屉菜单。本节开始部分的示例中实现了一个左抽屉菜单mydrawer,它的源码如下:","scale","scale:","scaleanimationrout","scaleanimationroute1","scaletransition(","scaletransition(child:","scene","scene)","scene.dispose();","scheduleframe()","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风格的滚动指示器(滚动条),如果要给可滚动组件添加滚动条,只需将scrollbar作为可滚动组件的任意一个父级组件即可,如:","scrollconfigur","scrollcontext","scrollcontrol","scrollcontroller();","scrollcontroller({","scrollcontrollertestrout","scrollcontrollertestroutest","scrollcontrollertestroutestate();","scrollcontroller控制原理","scrollcontroller构造函数如下:","scrollcontroller还有一些属性和方法,我们将在后面原理部分解释。","scrollcontroller间接继承自listenable,我们可以根据scrollcontroller来监听滚动事件,如:","scrolldirect","scrollendnotification:","scrollmetrics还有一些其它属性,读者可以自行查阅api文档。","scrollnotificationtestrout","scrollphys","scrollposit","scrollposition是用来保存可滚动组件的滚动位置的。一个scrollcontroller对象可以同时被多个可滚动组件使用,scrollcontroller会为每一个可滚动组件创建一个scrollposition对象,这些scrollposition保存在scrollcontroller的positions属性中(list)。scrollposition是真正保存滑动位置信息的对象,offset只是一个便捷属性:","scrollposition有两个常用方法:animateto()","scrollposition的方法","scrollstartnotification:","scrollupdatenotification:","sdk","sdk,","sdk:","sdk、android","sdk中getexternalstoragedirectory的返回值。","sdk中包含了两个scrollphysics的子类,他们可以直接使用:","sdk中提供了一个animatedswitcher组件,它定义了一种通用的ui切换抽象。","sdk中提供的一个类,它和builder的原理是一样的,在此,提醒读者一定要将statefulbuilder和builder理解透彻,因为它们在flutter中是非常实用的。","sdk中正是通过inheritedwidget来共享应用主题(theme)和local","sdk中的组件仅提供美国英语本地化资源(主要是文本)。要添加对其他语言的支持,应用程序须添加一个名为“flutter_localizations”的包依赖,然后还需要在materialapp中进行一些配置。","sdk内置组件库介绍","sdk分支","sdk和io","sdk和你的flutter项目依赖包。如果你只想更新项目依赖包(不包括flutt","sdk和依赖包","sdk已经在打包在flutter","sdk已经提供了一些组件和类来帮助我们实现国际化,下面我们来介绍一下flutter中实现国际化的步骤。","sdk平台工具和android","sdk开发的应用程序。原生开发有以下主要优势:","sdk开发的应用程序;而ios原生应用就是指通过object","sdk提供了一个便捷函数createlocalimageconfiguration来创建imageconfigur","sdk提供的一个组件,内容就是flutter的商标。在上面的例子中,我们显式指定了container的宽、高都为120。如果我们不显式指定宽高,而通过同时指定widthfactor和heightfactor","sdk文档。","sdk文档并没有翻译,而在开发中遇到的一些具体问题通常都得去查看sdk文档。所以,要解决这两个问题,必须得有一个系统化的flutter教程,它不仅可以快速引导开发者入门,而且也能触及到一些细节和原理,最好也能提供一些学习和研究flutter的方法。因此,如果能有一本能系统地介绍flutter的书籍便是便是非常棒的!但是,当时没有一本关于flutter的中文书籍,因此,我便计划写一本能由浅入深、系统介绍flutter的书。2018年12月,《flutter实战》完成初稿,并在github上开源,同时上线了《flutter实战》电子书官网","sdk有多个分支,如beta、dev、master、stable,其中stable分支为稳定分支(日后有新的稳定版本发布后可能也会有新的稳定分支,如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组件库中已经提供了一些常用的切换组件,如pageview、tabview等,但是,这些组件并不能覆盖全部的需求场景,为此,flutt","sdk还是ios的uikit","sdk里了,没有必要单独安装dart。","sdk预置的类,通过该类,我们以方便、轻松地创建出一个imagestreamcompleter实例来做为load方法的返回值。","sdk),可以使用如下命令:","sdk,但在国内目前无法访问google所致,因此,我们可以配置代理或使用vpn。","sdk,其中包括了","sdk,则必须将该","sdk,只需一句命令:","sdk,在安装flutter时也需要安装相应平台的构建工具和sdk。下面我们分别介绍一下windows和macos下的环境搭建。","sdk,它实现了一套基础库,自底向上,我们来简单介绍一下:","secondaryanimation)","secondaryanimation,","second),即每秒的动画帧数。很明显,帧率越高则动画就会越流畅!一般情况下,对于人眼来说,动画帧率超过16fps,就比较流畅了,超过32fps就会非常的细腻平滑,而超过32fps,人眼基本上就感受不到差别了。由于动画的每一帧都是要改变ui输出,所以在一个时间段内连续的改变ui输出是比较耗资源的,对设备的软硬件系统要求都较高,所以在ui系统中,动画的平均帧率是重要的性能指标,而在flutter中,理想情况下是可以实现60fps的,这和原生应用能达到的帧率是基本是持平的。","second),就是指一秒钟可以触发60次重绘,fps值越大,界面就越流畅。","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(()=>{});","setstate(voidcallback","setstate);","settings)","settings){","settings,","settings.name;","settings/","setup","setupparentdata(covari","shadowthemeonli","shadowthemeonly:","shakecurv","shaking会很难工作,因为在启用反射时很难知道哪些代码未被使用,因此冗余代码很难剥离,所以flutter中禁用了dart的反射功能,而正因如此也就无法实现动态转化model的功能。","shaking,使用tre","shaking,可以在release版中“去除”未使用的代码,这可以显著优化应用程序的大小。由于反射会默认应用到所有代码,因此tre","shape","shape:","shape:roundedrectangleborder(borderradius:","sharedatawidget","sharedatawidget(","sharedatawidget({","sharedprefer","sharedpreferences.getinstance();","shelf_io,它主要是处理httprequest的。","shouldreclip()","shouldreclip(customclipp","shouldreload(demolocalizationsdeleg","shouldreload的返回值决定当localizations组件重新build时,是否调用load方法重新加载locale资源。一般情况下,locale资源只应该在locale切换时加载一次,不需要每次在localizations重新build时都加载,所以返回false即可。可能有些人会担心返回false的话在app启动后用户再改变系统语言时load方法将不会被调用,所以locale资源将不会被加载。事实上,每当locale改变时flutter都会再调用load方法加载新的locale,无论shouldreload返回true还是false。","shouldrepaint(custompaint","show","showbottomsheet(","showcupertinomodalpopup(","showcustomdialog(","showcustomdialog({","showdatepicker(","showdeleteconfirmdialog1()","showdeleteconfirmdialog1();","showdeleteconfirmdialog2()","showdeleteconfirmdialog2();","showdeleteconfirmdialog3()","showdeleteconfirmdialog3();","showdeleteconfirmdialog4()","showdialog(","showdialog()是material组件库提供的一个用于弹出material风格对话框的方法,签名如下:","showdialog({","showgeneraldialog(","showgeneraldialog({","showlistdialog()","showloading(context);","showloadingdialog()","showmodalbottomsheet(","showmodalbottomsheet方法可以弹出一个material风格的底部菜单列表模态对话框,示例如下:","showmodalbottomsheet的实现原理和showgeneraldialog实现原理相同,都是通过路由的方式来实现的,读者可以查看源码对比。但值得一提的是还有一个showbottomsheet方法,该方法会从设备底部向上弹出一个全屏的菜单列表,示例如下:","showtoast(e.tostring());","showtoast(gmlocalizations.of(context).usernameorpasswordwrong);","showtotopbtn","shrinkwrap","shrinkwrap:","shrinkwrap:该属性表示是否根据子组件的总长度来设置listview的长度,默认值为fals","sign","signal","signal');","simpledialog","simpledialog(","simpledialogoption(","simpledialog也是material组件库提供的对话框,它会展示一个列表,用于列表选择的场景。下面是一个选择app语言的示例,运行结果如图7","simul","singlechildrenderobjectel","singlechildrenderobjectwidget","singlechildscrollview","singlechildscrollview(","singlechildscrollview({","singlechildscrollviewtestrout","singlechildscrollview类似于android中的scrollview,它只能接收一个子组件。定义如下:","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.shrink(),","sizedbox用于给子元素指定固定的宽高,如:","sizedbypar","sizedbyparent就应该返回true,此时其大小在","size:当child为null时,代表默认绘制区域大小,如果有child则忽略此参数,画布尺寸则为child尺寸。如果有child但是想指定画布为特定大小,可以使用sizebox包裹custompaint实现。","size:当前绘制区域大小。","skia引擎、dart运行时、文字排版引擎等。在代码调用","skip","slidetransition(","slidetransitionx","slidetransitionx(","slidetransitionx({","sliver:","sliverappbar(","sliverchildbuilderdelegate(","sliverfixedextentlist(","slivergrid(","slivergriddeleg","slivergriddelegatewithfixedcrossaxiscount","slivergriddelegatewithfixedcrossaxiscount(","slivergriddelegatewithfixedcrossaxiscount({","slivergriddelegatewithmaxcrossaxisext","slivergriddelegatewithmaxcrossaxisextent(","slivergriddelegatewithmaxcrossaxisextent({","slivergriddelegate是一个抽象类,定义了gridview","sliverpadding(","slivers:","sliver在前面讲过,有细片、薄片之意,在flutter中,sliver通常指可滚动组件子元素(就像一个个薄片一样)。但是在customscrollview中,需要粘起来的可滚动组件就是customscrollview的sliver了,如果直接将listview、gridview作为customscrollview是不行的,因为它们本身是可滚动组件而并不是sliver!因此,为了能让可滚动组件能和customscrollview配合使用,flutter提供了一些可滚动组件的sliver版,如sliverlist、slivergrid等。实际上sliver版的可滚动组件和非sliver版的可滚动组件最大的区别就是前者不包含滚动模型(子身不能再滚动),而后者包含滚动模型","sliver系列widget比较多,我们不会一一介绍,读者只需记住它的特点,需要时再去查看文档即可。上面之所以说“大多数“sliver都和可滚动组件对应,是由于还有一些如sliverpadding、sliverappbar等是和可滚动组件无关的,它们主要是为了结合customscrollview一起使用,这是因为customscrollview的子组件必须都是sliver。","smart'),","smile,","smith\",","smoke","snapshot)","snapshot.data;","snapshot会包含当前异步任务的状态信息及结果信息","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","spacer(","spacer({key","spacing:","spacing:主轴方向子widget的间距","specif","speed:","speed;","spite","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","stacktrace)","stacktrace);","stack、posit","stack可以有多个子元素,并且子元素可以堆叠,而align只能有一个子元素,不存在堆叠。","stack:","staggeranim","staggeranimation(","staggeranimation({","staggeranimation中定义了三个动画,分别是对container的height、color、padding属性设置的动画,然后通过interval来为每个动画指定在整个动画过程中的起始点和终点。下面我们来实现启动动画的路由:","staggerrout","star","start,","startangle:","startup","startup和profile选项。","star。而今天(2019年5月29日),已经有65k的star。经历了短短2年多的时间,flutt","state","state){","state:","state>","statefulbuild","statefulbuilder(","statefulbuilder({","statefulel","statefulelement(this);","statefulwidget","statefulwidget({","statefulwidgetbuild","statefulwidget生命周期如图3","statefulwidget类本身是不变的,但是state类中持有的状态在widget生命周期中可能会发生变化。","statelessel","statelesselement(this);","statelesselement)","statelesswidget","statelesswidget{","statelesswidget用于不需要维护状态的场景,它通常在build方法中通过嵌套其它widget来构建ui,在构建过程中会递归的构建其嵌套的widget。我们看一个简单的例子:","statelesswidget类,这也就意味着应用本身也是一个widget。","state中有两个常用属性:","state生命周期","state类","state类;","static","statu","sting","stoprecordingifneeded();","stops,","stops:","stops;","store,就必须注册apple开发者计划,有关详情读者可以自行了解。","str","str,","str.split(\"\")","str1","stream","stream,","stream.fromfutures([","stream.periodic(duration(seconds:","stream.setcompleter(completer);","stream.setcompleter(imagecompleter);","stream:","stream;","streambuild","streambuilder(","streambuilder({","streambuilder使用代码如下:","streamcontrol","streamcontroller();","streamlisten","streamlistener);","streamsink类提供了给数据源同步或异步添加事件的一般方法。","streams”中选择’dart’复选框,并执行你想测量的功能。","stream处于激活状态(流上已经有数据传递了),对于futurebuilder没有该状态。","strict","string","string){","stringbuff","stringbuffer();","strokecap.butt","strokecap.round","strokecapround","strokecapround,","strokecapround:","strokecapround;","strokewidth","strokewidth));","strokewidth,","strokewidth:","strokewidth;","structur","studio","studio(或intellij)有几个插件,可以将json文件转成model类,但插件质量参差不齐,甚至还有一些沾染上了抄袭风波,故笔者在此不做优先推荐,读者有兴趣可以自行了解。但是,我们还是要了解一下ide插件和json_model的优劣:","studio>tools>android>avd","studio。","studio不仅可以管理android","studio中打开您的flutter应用的android部分:","studio会自动提供有关库导入的建议选项。导入后该行代码将会显示为灰色,表示导入的库尚未使用。","studio创建一个flutter项目,然后运行它,并体验“热重载”。","studio后插件生效。","studio和v","studio安装sdk并创建项目。","studio安装向导”。这将安装最新的android","studio工具栏,如图1","studio或v","studio是基于intellij","studio的全量安装。android","studio的磁盘空间).","studio的磁盘空间).","studio的编辑器视图中查看pubspec.yaml时(图2","studio问题","studio,下载地址:https://developer.android.com/studio/index.html","studio,在此不再赘述。","studio,然后执行“android","studio,读者可以先自行下载并安装android","studio:file>new>new","style'),","style,","style:","style:正在编辑的文本样式。","subtitle,","subtitle:","subtitle;","sudo","suffixicon:","super(child);","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.notifylisteners();","super.oncreate(savedinstancestate)","super.oncreate(savedinstancestate);","super.reassemble();","supportedlocal","supportedlocales)","supportedlocales:","supportedlocales也接收一个locale数组,表示我们的应用支持的语言列表,在本例中我们的应用只支持美国英语和中文简体两种语言。","sweepgradient(","swift","switch","switch(","switch(_tabcontroller.index){","switchandcheckboxtestrout","switch和checkbox属性比较简单,读者可以查看api文档,它们都有一个activecolor属性,用于设置激活态的颜色。至于大小,到目前为止,checkbox的大小是固定的,无法自定义,而switch只能定义宽度,高度也是固定的。值得一提的是checkbox有一个属性trist","symmetric({","synccall)","synchronouscall)","synchronousfuture(","synchronousfuture(this);","system","system'","t","t)","t.join();","t;","t[1]);","tab","tab(text:","tab({","tabbar","tabbar(","tabbarview","tabbarview(","tabcontrol","tabcontroller(length:","table),这样应用程序才知道哪个名字与哪个路由组件相对应。其实注册路由表就是给路由起名字,路由表的定义如下:","tabs.length,","tabs.map((e)","tabs:","tab组件有三个可选参数,除了可以指定文字外,还可以指定tab菜单图标,或者直接自定义组件样式。tab组件定义如下:","tag:","tag=\"\\$\";","tapboxa","tapboxa({key","tapboxb","tapboxb(","tapboxb({key","tapboxc","tapboxc(","tapboxc({key","tapboxc将其_active状态导出到其父组件中,但在内部管理其_highlight状态。这个例子有两个状态对象_parentwidgetstate和_tapboxcstate。","tapgesturerecogn","tapgesturerecognizer();","target","target)","target?.visitancestorelements(visitancestor);","targetheight)","targetplatform","targettype)","targettype,","targetwidth,","target设置页面中,确保在","task()","team","template=new","template=packag","termin","test","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(\"$index\"),);","text(\"1秒内连续按两次返回键退出\"),","text(\"a\")),","text(\"app","text(\"b\")),","text(\"box","text(\"contents:","text(\"cupertino","text(\"error:","text(\"hello","text(\"hi\"),","text(\"i","text(\"increment\"),","text(\"login\",","text(\"new","text(\"normal\"),","text(\"open","text(\"press\"),","text(\"send","text(\"submit\"),","text(\"text\");","text(\"thi","text(\"websocket(内容回显)\"),","text(\"world\"),","text(\"xxx\");","text(\"xxx\"*100)","text(\"your","text(\"主题测试\")),","text(\"你好\",","text(\"你好世界\",","text(\"你好世界\",style:","text(\"删除\"),","text(\"原图\"),","text(\"发送\"),","text(\"取消\"),","text(\"同时删除子目录?\"),","text(\"对话框1\"),","text(\"对话框2\"),","text(\"左上角200*100范围内非文本区域点击\")),","text(\"总价:","text(\"您确定要删除当前文件吗?\"),","text(\"打开提示页\"),","text(\"提示\"),","text(\"显示底部菜单列表\"),","text(\"正在加载,请稍后...\"),","text(\"添加\"),","text(\"添加商品\"),","text(\"滚动控制\")),","text(\"登录\"),","text(\"移动焦点\"),","text(\"获取百度首页\"),","text(\"话框3(复选框可点击)\"),","text(\"详情\"),","text(\"请选择\")),","text(\"返回\"),","text(\"逆时针旋转1/5圈\"),","text(\"隐藏键盘\"),","text(\"顺时针旋转1/5圈\"),","text('$_counter'),","text('+1',),","text('a')),","text('active:","text('add","text('and","text('apart","text('business')),","text('demo'),","text('domest","text('dump","text('error:","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('stream已关闭');","text('when","text('中文简体'),","text('文件操作')),","text('没有stream');","text('点击了","text('等待数据...');","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(e.fit.tostring())","text(e[\"full_name\"]))","text(gm.cancel),","text(gm.language),","text(gm.login)),","text(gm.login),","text(gm.logout),","text(gm.logouttip),","text(gm.theme),","text(gm.yes),","text(gmlocalizations.of(context).home),","text(gmlocalizations.of(context).login),","text(gmlocalizations.of(context).theme),","text(icons,","text(sharedatawidget","text(snapshot.error.tostring());","text(snapshot.hasdata","text(text),","text(text,","text(title),","text(widget.act","text(widget.repo.forks_count.tostring().padright(paddingwidth)),","text(widget.repo.languag","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:表示水平方向子组件的布局顺序(是从左往右还是从右往左),默认为系统当前locale环境的文本方向(如中文、英语都是从左往右,而阿拉伯语是从右往左)。","texteditingcontrol","texteditingcontroller();","textfield","textfield(","textfield(focusnode:","textfield({","textfield用于文本输入,它提供了很多属性,我们先简单介绍一下主要属性的作用,然后通过几个示例来演示一下关键属性的用法。","textformfield(","textinputact","textinputaction,","textinputaction:键盘动作按钮图标(即回车键位图标),它是一个枚举值,有多个可选值,全部的取值列表读者可以查看api文档,下面是当值为textinputaction.search时,原生android系统下键盘样式如图3","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属性代表该文本片段的样式和内容。","text用于显示简单样式文本,它包含一些控制文本显示样式的一些属性,一个简单的例子如下:","text,第一个text","text:该组件可让您创建一个带格式的文本。","theme","theme(","theme(colorswatch","theme(data:","theme)","theme,","theme.of(context)","theme.of(context).copywith(","theme.of(context).dividercolor,","theme.of(context).primarycolor,","theme.of(context).primarycolor;","theme.of(context).texttheme.display1,","theme.of(context);","theme.of(context,","theme.primarycolor];","theme.primarycolordark","theme:","themechangerout","themechangeroute(),","themedata","themedata(","themedata({","themedata.copywith(","themedata.icontheme.copywith(","themedatatween(themedata(brightness.light","themedata用于保存是materi","thememodel","thememodel()),","thememodel,","thememodel.theme,","themetestrout","theme组件可以为materi","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.borderradius,","this.bottom,","this.builder,","this.centertitle,","this.child","this.child,","this.color,","this.colorblendmode,","this.colorbrightness,//按钮主题,默认是浅色主题","this.colors,","this.content,","this.contentpad","this.contenttextstyle,//","this.control","this.controller,","this.count);","this.crossaxisalign","this.cursorcolor,","this.cursorradius,","this.cursorwidth","this.data,","this.direct","this.direction,","this.disabledcolor,//按钮禁用时的背景颜色","this.disabledelev","this.disabledtextcolor,","this.duration,","this.elev","this.elevation,//","this.email);","this.fit","this.fit,//缩放模式","this.flex","this.foregroundpainter,","this.future,","this.height,","this.heightfactor,","this.highlightcolor,","this.highlightelev","this.icon,","this.imageprovider,","this.initialdata,","this.initvalue:","this.iscomplex","this.keepscrolloffset","this.key","this.layoutbuild","this.leading,","this.left,","this.linkstyle,","this.maintainst","this.margin,//容器外补白,不属于decoration的装饰范围","this.maxheight","this.maxwidth","this.minheight","this.minwidth","this.onchanged,","this.onchanged})","this.onnotification,","this.onpointercancel,//触摸事件取消回调","this.onpointerdown,","this.onpointermove,","this.onpointerup,//手指抬起回调","this.onpressed,","this.opaqu","this.overflow","this.padding,","this.painter,","this.parent);","this.parent;","this.physics,","this.radius,","this.repeat","this.revers","this.reverseduration,//","this.right,","this.runalign","this.runspac","this.scrolldirect","this.semanticlabel,","this.shape,","this.siz","this.spac","this.spe","this.splashcolor,","this.stops,","this.strokecapround","this.strokecapround:","this.strokewidth","this.strokewidth:","this.switchincurv","this.switchoutcurv","this.text,","this.textcolor,","this.textdirection,","this.title,","this.title,//","this.titlepadding,","this.titletextstyle,","this.title})","this.top,","this.tot","this.totalangl","this.transform,","this.transformhittest","this.transitionbuild","this.transitiondur","this.turn","this.valu","this.value,","this.verticaldirect","this.viewportbuilder,","this.width,","this.widthfactor,","this.willchang","this.y)","this;","thought","throw","thrown","ticker","tickercancel","tickerprovid","tickerproviderstatemixin","time)代码仍有差距。","time),执行效率和aot(ahead","timeline.finishsync();","timeline.startsync('interest","timeline页面,在”record","timer.run(()","times:'","times:',","times:'。","times:”,第二个text","timestamp","timestamp)","timestamp;","time)即","time)即“即时编译”。aot程序的典型代表是用c/c++开发的应用,它们必须在执行前编译成机器码,而jit的代表则非常多,如javascript、python等,事实上,所有脚本语言都支持jit模式。但需要注意的是jit和aot指的是程序运行方式,和编程语言并非强关联的,有些语言既可以以jit方式运行也可以以aot方式运行,如java、python,它们可以在第一次执行时编译成中间字节码、然后在之后执行时可以直接执行字节码,也许有人会说,中间字节码并非机器码,在程序执行时仍然需要动态将字节码转为机器码,是的,这没有错,不过通常我们区分是否为aot的标准就是看代码在执行之前是否需要编译,只要需要编译,无论其编译产物是字节码还是机器码,都属于aot。在此,读者不必纠结于概念,概念就是为了传达精神而发明的,只要读者能够理解其原理即可,得其神忘其形。","tiprout","tiproute(","tiproute(text:","tiproute({","tiproute实现代码:","titl","title,","title:","title:text(\"form","title;","todo","tojson()","toolchain","tools;","tools>android>avd","tooltip:","top,","top:","top:80.0,","topright","tostring()","tostringshort()","total","total)","total);","total,","total:","total;","totalangle,","totalangle:","totalangle;","totalpric","touch),此属性会更有意义,如果手机不支持,则始终为1。","tour,就开始动手写flutter了。","trace","tracecode:","trail","trailing:","transfer","transform(","transform(doubl","transform.rotate(","transform.rotate可以对子组件进行旋转变换,如:","transform.scale(","transform.scale(scale:","transform.scale可以对子组件进行缩小或放大,如:","transform.translate(","transform.translate接收一个offset参数,可以在绘制时沿x、y轴对子组件平移指定的距离。","transform:","transformhittests,","transformhittests:","transformhittests;","transformlay","transform可以在其子组件绘制时对其应用一些矩阵变换来实现一些特效。matrix4是一个4d矩阵,通过它我们可以实现各种矩阵操作,下面是一个例子:","transform的变换是应用在绘制阶段,而并不是应用在布局(layout)阶段,所以无论对子组件应用何种变化,其占用空间的大小和在屏幕上的位置都是固定不变的,因为这些是在布局阶段就确定的。下面我们具体说明:","transientcallbacks:用于存放一些临时回调,一般存放动画回调。可以通过schedulerbinding.instance.scheduleframecallback","transitionbuilder,","transitionbuilder:","transitionduration,","transitionduration:","transitionduration;","translation:","translucent:当点击组件透明区域时,可以对自身边界内及底部可视区域都进行命中测试,这意味着点击顶部组件透明区域时,顶部组件和底部组件都可以接收到事件,例如:","transport","tree。","tree。本节我们将重点介绍一下renderobject的作用。","tri","trigger","true","true)","true),","true).push(_dialogroute(","true);","true)?.devicepixelratio","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.animate(animation),","tween=tween(begin:","tween对象不存储任何状态,相反,它提供了evaluate(anim","tween构造函数需要begin和end两个参数。tween的唯一职责就是定义从输入范围到输出范围的映射。输入范围通常为[0.0,1.0],但这不是必须的,我们可以自定义需要的范围。","tween继承自animatable,而不是继承自animation,animatable中主要定义动画值的映射规则。","type","type)","type:","typeddatawithbytes:","typeddatawithfloat64:","typeddatawithint32:","typeddatawithint64:","typedef","typedoth","typedother.scale;","typedother.url","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系统和flutt","ui系统和操作系统交互的这一部分原理,现在需要说一些它对应用开发者定义的开发标准。其实在前面的章节中,我们已经对这个标准非常熟悉了,","ui系统来根据新的状态来重新构建ui。","ui系统的基石。最后我们在分析一下flutter应用启动和运行的整体过程。","ui组件库。material是一种标准的移动端和web端的视觉设计语言,","ui绘制区域的大小","unauthozied给客户端,并且在响应header中添加一个","unbound","unconstrainedbox","unconstrainedbox(","unconstrainedbox不会对子组件产生任何限制,它允许其子组件按照其本身大小绘制。一般情况下,我们会很少直接使用此组件,但在\"去除\"多重限制的时候也许会有帮助,我们看下下面的代码:","underlineinputborder(","unmodifiablelistview","unmodifiablelistview(_items);","unreach","unzip","updat","update()","updatebadge()","updateshouldnotify(inheritedprovid","updateshouldnotify(sharedatawidget","updatetext(\"doubletap\"),","updatetext(\"longpress\"),","updatetext(\"tap\"),//点击","updatetext(str","upgrad","uploadfileinfo(new","upper=true]","upperbound:","uri","uri.base.resolve(key.url);","uri.parse(\"https://www.baidu.com\"));","uri=uri(scheme:","url","url)","url,","url:","url_launcher:","urllauncherplugin类。","url链接样式","us","usb调试","user","user();","user(this.name,","user(us","user)","user.dart","user.fromjson(map","user.fromjson(r.data);","user.fromjson(usermap);","user.g.dart","user;","userag","userinfo","userinfo);","userinfo){","usermap","usermodel","usermodel()),","usermodel,","usermodel.us","username,","user{","user实例","v","v)","v.trim().isnotempti","v8的javascript引擎在内存分配上也已经做的很好,事实上dart开发团队的很多成员都是来自chrome团队的,所以在内存分配上dart并不能作为超越javascript的优势,而对于flutter来说,它需要这样的特性,而dart也正好满足而已。","v;","val","validator,","validator:","valu","value)","value);","value,","value.islogin","value.user.login","value:","value;","valuechang","valuecolor,","valuecolor:","valuekey(_count),","valuekey(repo.id));","value:value表示当前的进度,取值范围为[0,1];如果value为null时则指示器会执行一个循环动画(模糊进度);当value不为null时,指示器为一个具体进度的进度条。","var","vary:","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","visitancestor(el","visitancestor会判断每一个遍历到的父级widget是否是notificationlistener,如果不是,则返回true继续向上遍历,如果是,则调用notificationlistener的_dispatch方法,我们看看_dispatch方法的源码:","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(目前只停留在lambda表达式),而dart目前真正的不足是生态,但笔者相信,随着flutter的逐渐火热,会回过头来反推dart生态加速发展,对于dart来说,现在需要的是时间。","vm,如dart","void","voidcallback","vs","vsync:","waiting,","walk()","warn","warning:","was...\",","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","whenev","widget","widget({","widget)","widget.act","widget.build(this);","widget.builder(context,","widget.channel.stream,","widget.child,","widget.data,","widget.data.addlistener(update);","widget.data.removelistener(update);","widget.imageprovider.resolve(createlocalimageconfiguration(context));","widget.onchanged(!widget.active);","widget.onchanged(v);","widget.repo.descript","widget.repo.description,","widget.repo.fork","widget.repo.full_nam","widget.repo.name,","widget.repo.open_issues_count","widget.repo.owner.avatar_url,","widget.repo.owner.login,","widget.repo.stargazers_count","widget.speed??200),","widget.turns)","widget.turns,","widget.turns;","widget.value;","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,都带有在其设计规范中定义的标准动画效果(但也可以自定义这些效果)。本章将详细介绍flutter的动画系统,并会通过几个小实例来演示,以帮助开发者迅速理解并掌握动画的开发流程与原理。","widget、用于app主题数据传递的theme等等,而原生开发中的控件通常只是指ui元素。在后面的内容中,我们在描述ui元素时可能会用到“控件”、“组件”这样的概念,读者心里需要知道他们就是widget,只是在不同场景的不同表述而已。由于flutter主要就是用于构建用户界面的,所以,在大多数时候,读者可以认为widget就是一个控件,不必纠结于概念。","widget。","widget。rawimage最终会通过renderimage来将图片绘制在屏幕上。如果继续跟进renderimage类,我们会发现renderimage的paint","widget上指定渲染图像的宽度和高度,那么imag","widget与el","widget中正是通过它来监听图片加载状态的(我们将在下面介绍imag","widget中,state对象也和statefulelement具有对应关系(一对一),所以在flutter的sdk文档中,可以经常看到“从树中移除state对象”或“插入state对象到树中”这样的描述。其实,无论哪种描述,其意思都是在描述“一棵构成用户界面的节点元素的树”,读者不必纠结于这些概念,还是那句话“得其神,忘其形”,因此,本书中出现的各种“树”,如果没有特别说明,读者都可抽象的认为它是“一棵构成用户界面的节点元素的树”。","widget主要接口","widget会以矩形的中心点作为坐标原点,即alignment(0.0,","widget创建的(如creator字段所描述的),","widget可以拥有状态,这些状态在widget生命周期中是可以变的,而stateless","widget同时插入到widget树的多个位置时,flutt","widget在渲染树的层中创建了一个renderrepaintboundary。这用于减少需要重绘的需求量。","widget实际上就是element的配置数据,widget树实际上是一个配置树,而真正的ui渲染树是由element构成;不过,由于element是通过widget生成的,所以它们之间有对应关系,在大多数场景,我们可以宽泛地认为widget树就是指ui控件树或ui渲染树。","widget将占用与主资源相同的屏幕空间大小。","widget层与engine的桥梁。","widget库","widget我们将在第三章”widget简介“一节自习介绍,现在我们只需简单认为有状态的组件(st","widget是不可变的。","widget有一个必选的image参数,它对应一个imageprovider。下面我们分别演示一下如何从asset和网络加载图片。","widget本身。本例中虽然是指定了居中对齐,但因为text文本内容宽度不足一行,text的宽度和文本内容长度相等,那么这时指定对齐方式是没有意义的,只有text宽度大于文本内容长度时指定此属性才有意义。下面我们指定一个较长的字符串:","widget来指定isrepaintboundari","widget来构建,语义话就不是很明确;如果我们能使用一个具有明确语义的widget,比如就叫consumer,这样最终的代码语义将会很明确,只要看到consumer,我们就知道它是依赖某个跨组件或全局的状态。","widget树中子widget可以通过发送通知(notification)与父(包括祖先)widget通信。父级组件可以通过notificationlistener组件来监听自己关注的通知,这种通信方式类似于web开发中浏览器的事件冒泡,我们在flutter中沿用“冒泡”这个术语,关于通知冒泡我们将在后面”事件处理与通知“一章中详细介绍。","widget树对应的element树。如果el","widget树的叶子节点,用于没有子节点的widget,通常基础组件都属于这一类,如text、image。","widget的一个实现细节","widget的源码已经没必要在花费篇章去介绍了,读者有兴趣可以自行去阅读。","widget的生命周期中可能会被多次调用。例如,当一个st","widget相关的状态,它在st","widget简介","widget管理子widget状态。","widget管理自己的状态。","widget管理自身状态","widget类继承自diagnosticabletree,diagnosticabletree即“诊断树”,主要作用是提供调试信息。","widget至少由两个类组成:","widget重新build时,是否调用load重新加载locale资源.","widget)","widget)。关于st","widget)有两点不同:","widget)滑动时就会分发滚动通知(scrollnotification),而scrollbar正是通过监听scrollnotification来确定滚动条位置的。","widget)用于显示列表和长布局。在本章中,我们先介绍一下常用的可滚动组件(如listview、gridview等),然后介绍一下scrollcontroller。可滚动组件都直接或间接包含一个scrollable组件,因此它们包括一些共同的属性,为了避免重复介绍,我们在此统一介绍一下:","widget,则可以使用debugpaintlayerbordersen","widget,它是flukit","widget,它表示与该state实例关联的widget实例,由flutt","widget,实现如下:","widget;我们将在后面章节中介绍。","width","width),","width,","width,//容器的宽度","width:","width;","widthfactor,","widthfactor:","widthfactor和heightfactor是用于确定align","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应用。","withtre","withtree,","wordpair","wordpair.random();","work","workspace.","world","world!","world!\"),","world!\";","world!\",然后我们在then中接收异步结果并打印结果,代码如下:","world\")","world\"),","world\");","world\")没有指定定位,并且alignment值为alignment.center,所以它会居中显示。第二个子文本组件text(\"i","world\",","world\",style:","world\";","world”。","wrap","wrap(","wrap({","wrapalignment.center,","wrapalignment.start,","wrapcrossalignment.start,","www","x","x)","x509certificate是证书的标准格式,包含了证书除私钥外所有信息,读者可以自行查阅文档。另外,上面的示例没有校验host,是因为只要服务器返回的证书内容和本地的保存一致就已经能证明是我们的服务器了(而不是中间人),host验证通常是为了防止证书和域名不匹配。","x86","x86_64","x86。","x;","xcode","xcodebuild","y","yaml","yaml是一种直观、可读性高并且容易被人类阅读的文件格式,它和xml或json相比,它语法简单并非常容易解析,所以yaml常用于配置文件,flutter也是用yaml文件作为其配置文件。flutter项目默认的配置文件是pubspec.yaml,我们看一个简单的示例:","yes;","you'),","yxxfisdjfisjfgijijg","zero:","zone","zone\";","zone,","zone.\");","zone.current.fork(...);","zonedeleg","zonespecif","zonespecification(","zonespecification,","zonespecification:","zonespecification:zone的一些配置,可以自定义一些代码行为,比如拦截日志输出行为等,举个例子:","zonevalues,","zonevalues:","zone中发生未捕获异常(无论同步还是异步)时都会调用开发者提供的回调,如:","zone内部发生的错误是不会跨越当前error","zone的边界的,如果想跨越error","zone边界去捕获异常,可以通过共同的“源”zone来捕获,如:","zone,该error","z沿垂直方向显示的例子,由于垂直方向空间会超过屏幕视口高度,所以我们使用singlechildscrollview:","{","{\"context\":","{\"range\":","{'howmany':","{...}","{bool","{howmany}","{map","{}","{}));","{}),","{});","{},","{};","|","|api名称","|s|","||","}","})","}));","}),","}).catcherror((e){","}).catcherror(handleerror);","}).then((data)","}).then((data){","}).then((e){","}).then((userinfo){","}).tolist()","}).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:","“唯有深入,方能浅出”。我非常认同这句话,对于一门技术,只有了解的深入,才能用最浅显、通俗的话语描述出。我在写作本书时,深入浅出就是一个主要目标。所以,本书的目标不仅是想告诉读者如何使用flutter,而且也非常关注各个知识点的底层实现以及设计思想。从本书章节划分上来看,入门篇为“浅出”,进阶篇则是“深入”。另外由于pc客户端开发、移动开发、web开发这些经验我都有,而flutter本质上是一个ui系统,而ui系统的设计和实现在”大前端“下有很多相通之处,所以在本书中的一些知识点我也会对比一些其他ui系统(主要是android或web)相应的实现,便于有相关开发经验的读者对比理解。","“平台特定”或“特定平台”中的平台指的就是flutter应用程序运行的平台,如android或ios。我们知道一个完整的flutter应用程序实际上包括原生代码和flutter代码两部分。由于flutter本身只是一个ui系统,它本身是无法提供一些系统能力,比如使用蓝牙、相机、gps等,因此要在flutt","“控制面板>用户帐户>用户帐户>更改我的环境变量”","“提前编译”;而解释执行的则是一句一句边翻译边运行,通常将这种类型称为jit(just","“组合”是自定义组件最简单的方法,在任何需要自定义组件的场景下,我们都应该优先考虑是否能够通过组合来实现。而自绘和通过实现renderobject的方法本质上是一样的,都需要开发者调用canva","”","”下入上出“怎么办?当然,我们可以分别修改上面的代码,但是这样每种动画都得单独定义一个”transition“,这很麻烦。本节将分装一个通用的slidetransitionx","•","…/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.","…},用于指定命名参数。例如:","…会输出这样的内容(精确的细节会根据框架的版本、设备的大小等等而变化):","←","→","⋯","│","└animatedtheme(duration:","└banner()","└checkedmodebanner()","└custompaint(renderobject:","└defaulttextstyle(inherit:","└localequery(null)","└materialapp(state:","└mediaquery(mediaquerydata(size:","└scrollconfiguration()","└semanticsnode(2;","└semanticsnode(3;","└semanticsnode(4;","└theme(themedata(brightness.light","└title(color:","└widgetsapp([globalobjectkey","└─child","└─child:","└──","├semanticsnode(1;","├─child","├──","▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀","▄▄▄▄▄▄▄▄","✔️","✗","、","、email","、indicatorcolor等也会受primaryswatch影响。","、layoutchangednotification等,flutter正是通过这种通知机制来使父元素可以在一些特定时机来做一些事情。","、right、","、window.ontextscalefactorchang","、反向播放","。","。x、y的值从","。也就是说,根据选择的曲线,curvedanimation的输出可以具有比输入更大的范围。例如,curves.elasticin等弹性曲线会生成大于或小于默认范围的值。","。在其build方法中分别构建了一个switch和checkbox,初始状态都为选中状态,当用户点击时,会将状态置反,然后回调用setstate()通知flutt","。如果tristate值为true时,value的值会增加一个状态null,读者可以自行了解。","。有两种主要方法允许从asset","。要测试软件包,请在test目录中添加unit","。该stream类是dart:async包中的一个基础类。它提供了一种方法来监听来自数据源的异步事件。与future返回单个异步响应不同,stream类可以随着时间推移传递很多事件。该streambuild","。详细说明可在android文档中找到。","。默认情况下,listview的会在滚动方向尽可能多的占用空间。当listview在一个无边界(滚动方向上)的容器中时,shrinkwrap必须为true。","一个","一个animationcontroller控制所有的动画对象。","一个app在实际开发中往往会依赖很多包,而这些包通常都有交叉依赖关系、版本依赖等,如果由开发者手动来管理应用中的依赖包将会非常麻烦。因此,各种开发生态或编程语言官方通常都会提供一些包管理工具,比如在android提供了gradle来管理依赖,ios用cocoapods或carthage来管理依赖,node中通过npm等。而在flutter开发中也有自己的包管理工具。本节我们主要介绍一下flutter如何使用配置文件pubspec.yaml(位于项目根目录)来管理第三方依赖包。","一个isrepaintboundari","一个pubspec.yaml文件:声明了package的名称、版本、作者等的元数据文件。","一个scrollcontroller虽然可以对应多个可滚动组件,但是有一些操作,如读取滚动位置offset,则需要一对一!但是我们仍然可以在一对多的情况下,通过其它方法读取滚动位置,举个例子,假设一个scrollcontroller同时被两个可滚动组件使用,那么我们可以通过如下方式分别读取他们的滚动位置:","一个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中声明。","一个完整的app,可能会涉及很多网络请求,为了便于管理、收敛请求入口,工程上最好的作法就是将所有网络请求放到同一个源码文件中。由于我们的接口都是请求的github","一个完整的主题theme包括很多选项,这些选项在themedata中定义。本实例为了简单起见,我们只配置主题颜色。我们提供几种默认预定义的主题色供用户选择,用户点击一种色块后则更新主题。主题选择页的实现代码如下:","一个完整的数路由页可能会包含导航栏、抽屉菜单(drawer)以及底部tab导航菜单等。如果每个路由页面都需要开发者自己手动去实现这些,这会是一件非常麻烦且无聊的事。幸运的是,flutt","一个对象是否可以响应事件,取决于其对命中测试的返回,当发生用户事件时,会从根节点(renderview)开始进行命中测试,下面是renderview的hittest()源码:","一个导航栏","一个导航栏骨架","一个建议是,如果所有请求都需要认证,那么应该在httpclient初始化时就调用addcredentials()来添加全局凭证,而不是去动态添加。","一个简单示例","一个通用的inheritedwidget,保存任需要跨组件共享的状态","一些工具类,如通用方法类、网络接口类、保存全局变量的静态类等","一图胜万言!","一定要注意,renderobject的parentdata","一旦你的flutter应用程序有一个文件位置的引用,你可以使用dart:ioapi来执行对文件系统的读/写操作。有关使用dart处理文件和目录的详细内容可以参考dart语言文档,下面我们看一个简单的例子。","一旦实现了一个包,我们可以在pub上发布它","一次完整的手势过程是指用户手指按下到抬起的整个过程,期间,用户按下手指后可能会移动,也可能不会移动。gesturedetector对于拖动和滑动事件是没有区分的,他们本质上是一样的。gesturedetector会将要监听的组件的原点(左上角)作为本次手势的原点,当用户在监听的组件上按下手指时,手势识别就会开始。下面我们看一个拖动圆形字母a的示例:","一次性生成","一次绘制过程,我们称其为一帧。flutter","一章。flutter还有一种通用的获取state对象的方法——通过globalkey来获取!","一般","一般来说,子widget很少会重写此方法,因为在依赖改变后framework也都会调用build()方法。但是,如果你需要在依赖改变后执行一些昂贵的操作,比如网络请求,这时最好的方式就是在此方法中执行,这样可以避免每次build()都执行这些昂贵操作。","一般格式为","上下文,并代理其build方法呢?我们照猫画虎,来封装一个statefulbuilder方法:","上例中的滚动通知如scrollstartnotification、scrollupdatenotification等都是继承自scrollnotification类,不同类型的通知子类会包含不同的信息,比如scrollupdatenotification有一个scrolldelta属性,它记录了移动的位移,其它通知属性读者可以自己查看sdk文档。","上例中,只有点击文本内容区域才会触发点击事件,因为","上例中,当注释掉最后一行代码后,在左上角200*100范围内非文本区域点击时(顶部组件透明区域),控制台只会打印“down0”,也就是说顶部组件没有接收到事件,而只有底部接收到了。当放开注释后,再点击时顶部和底部都会接收到事件,此时会打印:","上例中,我们通过notificationlistener来监听子listview的滚动通知的,notificationlistener定义如下:","上列中两个notificationlistener进行了嵌套,子notificationlistener的onnotification回调返回了false,表示不阻止冒泡,所以父notificationlistener仍然会受到通知,所以控制台会打印出通知信息;如果将子notificationlistener的onnotification回调的返回值改为true,则父notificationlistener便不会再打印通知了,因为子notificationlistener已经终止通知冒泡了。","上图中“0”从左侧滑出,而\"1\"从右侧滑入。可以看到,我们通过这种巧妙的方式实现了类似路由进场切换的动画,实际上flutter路由切换也正是通过animatedswitcher来实现的。","上图中“1”从底部滑出,而\"2\"从顶部滑入。读者可以尝试给slidetransitionx的direction取不同的值来查看运行效果。","上图是第一次点击“+1”按钮后切换动画的一帧,此时“0”正在逐渐缩小,而“1”正在“0”的中间,正在逐渐放大。","上手安卓最常遇见的问题之一,错误如图1","上文已经提到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变量,什么是","上面主要结合源码,探索了imageprovider的主要功能和原理,如果要用一句话来总结imageprovider功能,那么应该是:加载图片数据并进行缓存、解码。在此再次提醒读者,flutter的源码是非常好的第一手资料,建议读者多多探索,另外,在阅读源码学西的同时一定要有总结,这样才不至于在源码中迷失。","上面介绍的是非命名路由的传值方式,命名路由的传值方式会有所不同,我们会在下面介绍命名路由时介绍。","上面介绍的这些依赖方式是flutter开发中常用的,但还有一些其它依赖方式,完整的内容读者可以自行查看:https://www.dartlang.org/tools/pub/depend","上面代码a处就是处理缓存的主要代码,这里的paintingbinding.instance.imagecach","上面代码中addlistener()函数调用了setstate(),所以每次动画生成一个新的数字时,当前帧被标记为脏(dirty),这会导致widget的build()方法再次被调用,而在build()中,改变image的宽高,因为它的高度和宽度现在使用的是animation.valu","上面代码中build方法返回的仍然是一个widget,这是由于flutter框架中已经有了widget这一层,并且组件库都已经是以widget的形式提供了,如果在flutter框架中所有组件都像示例的homeview一样以element形式提供,那么就可以用纯element来构建ui了homeview的build方法返回值类型就可以是element了。","上面代码中我们在builder中根据当前异步任务状态connectionstate来返回不同的widget。connectionstate是一个枚举类,定义如下:","上面代码中我们用到了如下组件:","上面代码中,主页的标题(title)我们是通过gmlocalizations.of(context).home来获得,gmlocalizations是我们提供的一个localizations类,用于支持多语言,因此当app语言改变时,凡是使用gmlocalizations动态获取的文案都会是相应语言的文案,这在前面”国际化“一章中已经介绍过,读者可以前翻查阅。","上面代码中,如果没有中间的unconstrainedbox,那么根据上面所述的多重限制规则,那么最终将显示一个90×100的红色框。但是由于unconstrainedbox","上面代码中,我们每点一次按钮就会分发一个mynotification类型的通知,我们在widget根上监听通知,收到通知后我们将通知通过text显示在屏幕上。","上面代码中,我们通过textspan实现了一个基础文本片段和一个链接片段,然后通过text.rich","上面代码中,我们首先设置了一个默认的文本样式,即字体为20像素(逻辑像素)、颜色为红色。然后通过defaulttextstyl","上面代码中,由于需要维护switch和checkbox的选中状态,所以switchandcheckboxtestroute继承自statefulwidget","上面代码中:","上面代码即在android中运行后,flutt","上面代码执行后截取了其中的两帧,效果如图9","上面代码有两点需要注意:","上面代码比较简单,不再赘述,需要说明的是,本示例只是为了演示文件读写,而在实际开发中,如果要存储一些简单的数据,使用shared_preferences插件会比较简单。","上面代码注释很清楚:如果用户未登录,显示登录按钮;如果用户已登录,则展示项目列表。这里项目列表使用了infinitelistview","上面代码流程如下:","上面代码运行后便只会在滚动结束时在控制台打印出通知的信息。","上面代码运行后可以实现一样的效果。现在我们总结一下:alertdialog、simpledialog以及dialog是material组件库提供的三种对话框,旨在帮助开发者快速构建出符合material设计规范的对话框,但读者完全可以自定义对话框样式,因此,我们仍然可以实现各种样式的对话框,这样即带来了易用性,又有很强的扩展性。","上面代码运行后,demolocalizations.of(context).titl","上面代码运行后,效果如图5","上面代码逻辑很简单,唯一需要注意的是我们在build(…)方法里面定义了_buildlanguageitem(…)方法,它和在languageroute类中定义该方法的区别就在于:在build(…)内定义的方法可以共享build(...)方法上下文中的变量,本例中是共享了localemodel。当然,如果_buildlanguageitem(…)的实现复杂一些的话不建议这样做,此时最好是将其作为languageroute类的方法。该页面运行效果如图15","上面代码首先创建了一个tabcontrol","上面假定包位于git存储库的根目录中。如果不是这种情况,可以使用path参数指定相对位置,例如:","上面参数分为两组:第一组是可滚动组件的公共参数,本章第一节中已经介绍过,不再赘述;第二组是listview各个构造函数(listview有多个构造函数)的共同参数,我们重点来看看这些参数,:","上面只是pointerevent一些常用属性,除了这些它还有很多属性,读者可以查看api文档。","上面只是themedata的一小部分属性,完整的数据定义读者可以查看sdk。上面属性中需要说明的是primaryswatch,它是主题颜色的一个\"样本色\",通过这个样本色可以在一些条件下生成一些其它的属性,例如,如果没有指定primarycolor,并且当前主题不是深色主题,那么primarycolor就会默认为primaryswatch指定的颜色,还有一些相似的属性如accentcolor","上面我们介绍的gridview都需要一个widget数组作为其子元素,这些方式都会提前将所有子widget都构建好,所以只适用于子widget数量比较少时,当子widget比较多时,我们可以通过gridview.builder来动态创建子widget。gridview.build","上面我们有父子两个constrainedbox,他们的限制条件不同,运行后效果如图5","上面的build方法中的代码可以改为:","上面的代码中有一个迷惑的问题是,child看起来像被指定了两次。但实际发生的事情是:将外部引用child传递给animatedbuilder后animatedbuilder再将其传递给匿名构造器,","上面的代码中,我们将build()方法中依赖sharedatawidget的代码注释掉了,然后返回一个固定text,这样一来,当点击increment按钮后,sharedatawidget的data虽然发生变化,但由于__testwidgetstate并未依赖sharedatawidget,所以__testwidgetstate的didchangedependencies方法不会被调用。其实,这个机制很好理解,因为在数据发生变化时只对使用该数据的widget更新是合理并且性能友好的。","上面的代码依次会输出:","上面的代码在javascript是没有问题的,前端开发者需要注意一下,之所以有此差异是因为dart本身是一个强类型语言,任何变量都是有确定类型的,在dart中,当用var声明一个变量后,dart在编译时会根据第一次赋值数据的类型来推断其类型,编译结束后其类型就已经被确定,而javascript是纯粹的弱类型脚本语言,var只是变量的声明方式而已。","上面的代码有什么问题呢?我们前面说过在animatedswitcher的child切换时会分别对新child执行正向动画(forward),而对旧child执行反向动画(reverse),所以真正的效果便是:新child确实从屏幕右侧平移进入了,但旧child却会从屏幕右侧(而不是左侧)退出。其实也很容易理解,因为在没有特殊处理的情况下同一个动画的正向和逆向正好是相反(对称)的。","上面的代码运行后复选框也可以正常选中。可以看到,我们只用了一行代码便解决了这个问题!当然上面的代码并不是最优,因为我们只需要更新复选框的状态,而此时的context我们用的是对话框的根context,所以会导致整个对话框ui组件全部rebuild,因此最好的作法是将context的“范围”缩小,也就是说只将checkbox的element标记为dirty,优化后的代码为:","上面的代码还有一个性能问题,就在构建”添加按钮“的代码处:","上面的代码,实现了一个回显字符串的echo","上面的例子中并没有指定curve,所以放大的过程是线性的(匀速),下面我们指定一个curve,来实现一个类似于弹簧效果的动画过程,我们只需要将initstate中的代码改为下面这样即可:","上面的例子中手动指定了应用locale为美国英语,指定后即使设备当前语言是中文简体,应用中的locale也依然是美国英语。如果locale为null,则表示flutter未能获取到设备的locale信息,所以我们在使用locale之前一定要先判空。","上面的例子比较简单,不再赘述。我们现在思考一个问题,假如我们想通过websocket传输二进制数据应该怎么做(比如要从服务器接收一张图片)?我们发现streambuilder和stream都没有指定接收类型的参数,并且在创建websocket链接时也没有相应的配置,貌似没有什么办法……其实很简单,要接收二进制数据仍然使用streambuilder,因为websocket中所有发送的数据使用帧的形式发送,而帧是有固定格式,每一个帧的数据类型都可以通过opcode字段指定,它可以指定当前帧是文本类型还是二进制类型(还有其它类型),所以客户端在收到帧时就已经知道了其数据类型,所以flutter完全可以在收到数据后解析出正确的类型,所以就无需开发者去关心,当服务器传输的数据是指定为二进制时,streambuilder的snapshot.data的类型就是list,是文本时,则为string。","上面的方法有一个最大的问题就是要为每一个json写模板,这是比较枯燥的。如果有一个工具可以直接根据json文本生成模板,那我们就能彻底解放双手了。笔者自己用dart实现了一个脚本,它可以自动生成模板,并直接将json转为model类,下面我们看看怎么做:","上面的方法虽然能解决对话框状态更新的问题,但是有一个明显的缺点——对话框上所有需要会改变状态的组件都得单独封装在一个在内部管理状态statefulwidget中,这样不仅麻烦,而且复用性不大。因此,我们来想想能不能找到一种更简单的方法?上面的方法本质上就是将对话框的状态置于一个statefulwidget的上下文中,由statefulwidget在内部管理,那么我们有没有办法在不需要单独抽离组件的情况下创建一个statefulwidget的上下文呢?想到这里,我们可以从builder组件的实现获得灵感。在前面介绍过builder组件可以获得组件所在位置的真正的context,那它是怎么实现的呢,我们看看它的源码:","上面的示例我们实现了”左出右入“的动画,那如果要实现”右入左出“、”上入下出“或者","上面的资源都是flutter应用中的,这些资源只有在flutter框架运行之后才能使用,如果要给我们的应用设置app图标或者添加启动图,那我们必须使用特定平台的assets。","上面示例代码注释比较详细,在此不再赘述。但值得一提的是最后的两个row!它们通过align设置widthfactor为0.5后,图片的实际宽度等于60×0.5,即原宽度一半,但此时图片溢出部分依然会显示,所以第一个“你好世界”会和图片的另一部分重合,为了剪裁掉溢出部分,我们在第二个row中通过cliprect将溢出部分剪裁掉了。","上面示例演示了javascript调用原生api的过程,同样的,一般来说优秀的jsbridge也支持原生调用javascript,dsbridge也是支持的,如果您感兴趣,可以去github","上面表格中的的字段在color类中都有对应的属性,而color中的众多方法也就是操作这些属性的,由于大多比较简单,读者可以查看类定义了解。在此我们主要讨论两点:色值转换和亮度。","上面说过,我们可以通过animation的addstatuslistener()方法来添加动画状态改变监听器。flutter中,有四种动画状态,在animationstatus枚举类中定义,下面我们逐个说明:","上面这个小例子的输出结果如下所示:","下一节我们将使用dio实现一个分块下载器。","下滑线浅灰色,宽度1像素","下载包。在android","下载图片。","下载并安装","下载文件:","下载逻辑比较简单:通过httpclient从网上下载图片,另外下载请求会设置一些自定义的header,开发者可以通过networkimage的headers命名参数来传递。","下选择了你的开发团队。当你选择一个团队时,xcode会创建并下载开发证书,向你的设备注册你的帐户,并创建和下载配置文件(如果需要)。","下面代码在dart中会报错,因为变量t的类型已经确定为string,","下面我们主要介绍一下material库中的alertdialog组件,它的构造函数定义如下:","下面我们介绍一下materialpagerout","下面我们介绍一下常用的组件。","下面我们以android为例,实现一个获取手机型号的原生api供javascript调用。在这个示例中将展示javascript调用原生api的流程,读者可以直观的感受一下调用流程。我们选用笔者在github上开源的dsbridge作为jsbridge来进行通信。dsbridge是一个支持同步调用的跨平台的jsbridge,此示例中只使用其同步调用功能。","下面我们使用dio的download","下面我们在lib/i10n目录下新建一个“localization_intl.dart”的文件,文件内容如下:","下面我们来分别介绍一下它们。","下面我们来测试一下,为了尽可能多的展示gradientcircularprogressindicator的不同外观和用途,这个示例代码会比较长,并且添加了动画,建议读者将此示例运行起来观看实际效果,我们先看看其中的一帧动画的截图:","下面我们来看看各个回调函数:","下面我们测试一下turnbox的功能,测试代码如下:","下面我们演示一下最基础的动画实现方式:","下面我们看一下之前“计数器”示例应用程序的inheritedwidget版本。需要说明的是,本示例主要是为了演示inheritedwidget的功能特性,并不是计数器的推荐实现方式。","下面我们看一下完整实现:","下面我们看一个colortween将动画输入范围映射为两种颜色值之间过渡输出的例子:","下面我们看一个例子,实现一个柱状图增长的动画:","下面我们看一个例子:","下面我们看一个例子:奇数行添加一条蓝色下划线,偶数行添加一条绿色下划线。","下面我们看一个列子:实现一个计数器,然后再每一次自增的过程中,旧数字执行缩小动画隐藏,新数字执行放大动画显示,代码如下:","下面我们看一个完整的例子:","下面我们看一个弹出一个有30个列表项的对话框示例,运行效果如图7","下面我们看看imagecache类定义:","下面我们看看repaintboundary的原理,renderobject有一个isrepaintboundary属性,该属性决定这个renderobject重绘时是否独立于其父元素,如果该属性值为tru","下面我们看看statefulwidget的类定义:","下面我们通过“bottom”属性来添加一个导航栏底部tab按钮组,将要实现的效果如图5","下面我们通过一个五子棋游戏中棋盘和棋子的绘制来演示自绘ui的过程,首先我们看一下我们的目标效果,如图10","下面我们通过一个获取电池电量的插件来介绍一下flutter插件的开发流程。该插件中我们在dart中通过getbatterylevel","下面我将带领读者一步步来开发一个dart","下面是wrap的定义:","下面是一个不带可选参数调用这个函数的例子:","下面是一个将大写字母a","下面是一个监听可滚动组件滚动通知的例子:","下面是弹出对话框的代码:","下面是打开新路由tiproute的代码:","下面是拦截应用中所有调用print输出日志的行为。","下面是整体的流程:","下面是用第三个参数调用这个函数的例子:","下面是缓存处理的逻辑","下面测试一下myimage:","下面的代码使url_launcher插件的api在hello包中是可用的:","下面的例子将使用gesturedetector来识别点击事件,关于该gesturedetector的详细内容我们将在后面“事件处理”一章中介绍。","下面的示例主要展示了edgeinsets的不同用法,比较简单,源码如下:","下面看一个例子:","下面看一个示例子:","下面调整的角度的计算公式是通过数学几何知识得出,读者有兴趣可以研究一下为什么是这样","下面(图3","下面,我们监听listview的滚动通知,然后显示当前滚动进度百分比:","下面,我们逐一解释一下各个字段的意义:","下,接下来我们通过一个例子来演示一下如何添加、下载并使用第三方包。","不同的pagestoragekey,需要不同的值,这样才可以为不同可滚动组件保存其滚动位置。","不同的是,它可以接收多个异步操作的结果(成功或失败)。","不同的是,它可以接收多个异步操作的结果,它常用于会多次读取数据的异步任务场景,如网络内容下载、文件读写等。streambuilder正是用于配合stream来展示流上事件(数据)变化的ui组件。下面看一下streambuilder的默认构造函数:","不同,在","不是很好,只有0.1.1版本.","不用显式的去添加帧监听器,然后再调用setstate()","不能自适应子组件大小,必须通过指定父容器大小或实现testflowdelegate的getsize返回固定大小。","不要按“停止”按钮;","不足:","不过,flutter官方建议使用android","与c/c++、java类似,flutt","专门用于构建列表项ui。repoitem","业务需求变化快,开发成本变大;由于原生开发一般都要维护android、ios两个开发团队,版本迭代时,无论人力成本,还是测试成本都会变大。","两个方法的源码,可以发现前者主要是执行了transientcallbacks队列,而后者执行了","两个方法,在看这两个方法之前我们首先了解一下frame","两种方式相比,onchanged是专门用于监听文本变化,而controller的功能却多一些,除了能监听文本变化外,它还可以设置默认值、选择文本,下面我们看一个例子:","中","中,","中inheritedwidget发生了变化,那么此时inheritedwidget的子widget的didchangedependencies()回调都会被调用。典型的场景是当系统语言locale或应用主题改变时,flutt","中关联的widget","中包含了一个inheritedwidget,然后在之后的build()","中就确定了,在后面的","中提供了一个全局变量defaulttargetplatform来获取当前应用的平台信息,defaulttargetplatform定义在\"platform.dart\"中,它的类型是targetplatform,这是一个枚举类,定义如下:","中文简体","中没有提供去除背景的设置,假若我们需要去除背景,则可以通过将背景颜色设置为全透明来实现。对应上面的代码,便是将","中间的slivergrid:它用sliverpadding包裹以给slivergrid添加补白。slivergrid是一个两列,宽高比为4的网格,它有20个子组件。","中,勾选上","中,它被调用后会立即进行一次绘制(而不是等待\"vsync\"","中,有个size属性用来保存控件的宽和高。renderbox的layout是通过在组件树中从上往下传递boxconstraints对象的实现的。boxconstraints对象可以限制子节点的最大和最小宽高,子节点必须遵守父节点给定的限制条件。","临时目录:","为","为2也是可以达到同样的效果:","为flutter应用的首页,它也是一个widget。","为javascript提供运行环境。","为materi","为tapboxb","为true,则该renderobject拥有layer,直接绘制","为了优化这两个问题,我们可以封装一个consum","为了使用方便,我们定义一个myicons类,功能和icons类一样:将字体文件中的所有图标都定义成静态变量:","为了加强读者的理解,我们不直接去看provider包的源代码,相反,我会带着你根据上面描述的通过inheritedwidget实现的思路来一步一步地实现一个最小功能的provider。","为了将数据发送到服务器,我们会add消息给websocketchannel提供的sink。","为了尽可能小而且简单,flutter软件包中仅提供美国英语值的materiallocalizations和widgetslocalizations接口的实现。","为了支持多语言(本app中我们支持美国英语和中文简体两种语言)我们实现了一个gmlocalizationsdelegate,子widget中都可以通过gmlocalizations来动态获取app当前语言对应的文案。关于gmlocalizationsdelegate和gmlocalizations的实现方式读者可以参考”国际化“一章中的介绍,此处不再赘述。","为了方便使用,flutter提供了一个textformfield组件,它继承自formfield类,也是textfield的一个包装类,所以除了formfield定义的属性之外,它还包括textfield的属性。","为了方便开发者创建动画,不同的ui系统对动画都进行了一些抽象,比如在android中可以通过xml来描述一个动画然后设置给view。flutter中也对动画进行了抽象,主要涉及animation、curve、controller、tween这四个角色,它们一起配合来完成一个完整动画,下面我们一一来介绍它们。","为了方便示例,在本例中我们使用future.delay","为了更好的帮助中国开发者了解这门新技术,我在2018年初开始翻译flutter官网文档,同年4月份上线了flutter中文网,上线后反响很强烈,flutter中文网也很快被传播开,百度搜索排名迅速蹿升到前三,截止目前,flutter中文官网日pv在7万左右,每日独立访问人数近一万多。","为了更新显示画面,显示器是以固定的频率刷新(从gpu取数据),比如有一部手机屏幕的刷新频率是","为了简单起见,当app启动后,如果之前已登录了app,则显示该用户项目列表;如果之前未登录,则显示一个登录按钮,点击后跳转到登录页。另外,我们实现一个抽屉菜单,里面包含当前用户头像及app的菜单。下面我们先看看要实现的效果,如图15","为了避免用户误触返回按钮而导致app退出,在很多app中都拦截了用户点击返回键的按钮,然后进行一些防误触判断,比如当用户在某一个时间段内点击两次时,才会认为用户是要退出(而非误触)。flutter中可以通过willpopscope来实现返回按钮拦截,我们看看willpopscope的默认构造函数:","为了防止密码输入错误,密码框应该有开关可以看明文。","为了防止用户误触返回键退出,我们拦截返回事件。当用户在1秒内点击两次返回按钮时,则退出;如果间隔超过1秒则不退出,并重新记时。代码如下:","为事件触发的坐标(如果有的话),返回","为什么要将build方法放在state中,而不是放在statefulwidget中?","为什么要将这种可飞行的共享组件称为hero(英雄),有一种说法是说美国文化中的超人是可以飞的,那是美国人心中的大英雄,还有漫威中的超级英雄基本上都是会飞的,所以flutter开发人员就对这种”会飞的widget\"就起了一个富有浪漫主义的名字hero。当然这种说法并非官方解释,但却很有意思。","为保存屏幕右下角带“+”号按钮点击次数的状态。","为当前应用支持的locale列表,是开发者在materialapp中通过supportedlocales属性注册的。","为数据获取回调,该回调函数接收三个参数:","为此,materialapp","为确保迭代器顺序和对象插入时间一致顺序一致,我们使用linkedhashmap","为要模拟的android版本选择一个或多个系统印象,然后选择","主要缺点:","主资源默认对应于1.0倍的分辨率图片。看一个例子:","主轴(水平)方向间距","主轴和纵轴","主页","主题","主题改变后,通知其依赖项,新主题会立即生效","主题状态在用户更换app主题时更新、通知其依赖项,定义如下:","主题选择页","之所以如此,是由于textfield在绘制下划线时使用的颜色是主题色里面的hintcolor,但提示文本颜色也是用的hintcolor,","之所以将dart与java和javascript对比,是因为,这两者分别是强类型语言和弱类型语言的典型代表,并且dart","之类的终端模拟器设置代理之后,会导致”hot","也不做更改),换了之后的效果如图3","也可以具有边距(margins)、填充(padding)和应用于其大小的约束(constraints)。另外,","也就不用重新布局了。","也就是该文件大概233m多一点。","也就是说,在执行异步任务时,可以通过多次触发成功或失败事件来传递结果数据或错误异常。","也就是说,如果.../my_icon.png是72px乘72px,那么.../3.0x/my_icon.png应该是216px乘216px;","也是用于接收异步事件数据,和futur","也许你会说这和我们刚开始的示例差不了多少,其实它会带来三个好处:","也许你已经猜到flutter就属于这一类跨平台技术,没错,flutter正是实现一套自绘引擎,并拥有一套自己的ui布局系统。不过,自绘制引擎的思路并不是什么新概念,flutter并不是第一个尝试这么做的,在它之前有一个典型的代表,即大名鼎鼎的qt。","也需要被重新布局,那么到什么时候是个头呢?答案就是","了,这个好处和animatedwidget是一样的。","事件处理与通知","事件总线","事件总线通常用于组件之间状态共享,但关于组件之间状态共享也有一些专门的包如redux、以及前面介绍过的provider。对于一些简单的应用,事件总线是足以满足业务需求的,如果你决定使用状态管理包的话,一定要想清楚您的app是否真的有必要使用它,防止“化简为繁”、过度设计。","交织动画","交错动画","介绍","从asset中加载图片","从启动到显示","从异常信息中我们可以看到是因为listview高度边界无法确定引起,所以解决的办法也很明显,我们需要给listview指定边界,我们通过sizedbox指定一个列表高度看看是否生效:","从灰色变成蓝色","从网络加载图片","仔细检查命令行输出以获取可能需要安装的其他软件或进一步需要执行的任务。","他们的使用方法和上面“http请求认证”一节中介绍的addcredentials和authent","代理","代码中打开抽屉菜单的方法在scaffoldstate中,通过scaffold.of(context)可以获取父级最近的scaffold","代码中调用了cachednetworkimag","代码分为三部分:","代码大致逻辑是先判断自身是不是relayoutboundary,如果不是就继续向par","代码如下:","代码很简单,statefulbuilder获取了statefulwidget的上下文,并代理了其构建过程。下面我们就可以通过statefulbuilder来重构上面的代码了(变动只在dialogcheckbox部分):","代码很简单,关键地方都有注释,不再赘述,下面我们看一下运行效果,如图15","代码很简单,创建了一个同步的future,然后直接将自身做为key返回。因为map中在判断key(此时是networkimage对象)是否相等时会使用“==”运算符,那么定义key的逻辑就是networkimage的“==”运算符:","代码很简单,就不赘述了。","代码很简单,首先判断有无溢出,如果没有则调用defaultpaint(context,","代码更好维护;如果使用匿名路由,则必须在调用navigator.push的地方创建新路由页,这样不仅需要import新路由页的dart文件,而且这样的代码将会非常分散。","代码比较简单,读者可以参照代码中的注释理解,故不再赘述。需要说明的是,_retrievedata()的功能是模拟从数据源异步获取数据,我们使用english_words包的generatewordpairs()方法每次生成20个单词。","代码组织问题","代码解释:","代码说明已经包含在注释里,下面我们看看运行效果:","代码运行后,效果如图7","代码运行效果如图5","代码部分实现,而是在flutter","代码:","代表当前块的起始位置,end代表结束位置","代表当前是第几块","代表矩形的左侧顶点,而alignment(1.0,","以json_serializable的方式创建model类","以下步骤与上面使用object","以下示例构建了一个控制器、一条曲线和一个tween:","以启用","以在项目中使用这些新的依赖项.","以获得有关镜像服务器的最新动态。","任何0.4.x(x","任何appl","任意弧度;进度条可以不是整圆。","优化","优化后的url输入键盘;","优化后的日期输入键盘;android上会显示“:","优化后的电子邮件地址;会显示“@","优化后的电话号码输入键盘;会弹出数字键盘并显示\"*","会去子组件判断是否命中测试,而该例中子组件就是","会和一个祖先节点共用一个layer","会在widget树中从当前位置向上查找第一个类型为_inheritedtheme的widget。所以当局部使用theme后,其子树中theme.of()找到的第一个_inheritedtheme便是该theme的。","会显示“/","会被renderbox和它的子类使用.","会被置空,此时所有依赖usermodel的组件都会被rebuild,如主页会恢复成未登录的状态。","会输出targetplatform.io","传给它的","但如果未指定宽度和高度,它们都将渲染为72像素×72像素(以逻辑像素为单位)。","但是flutter中没有机制取消或停止”冒泡“过程,而浏览器的冒泡是可以停止的。注意,只有通过命中测试的组件才能触发事件。","但是,animationcontroller具有控制动画的其他方法,例如forward()方法可以启动正向动画,reverse()可以启动反向动画。在动画开始执行后开始生成动画帧,屏幕没刷新一次就是一个动画帧,在动画的每一帧,会随着根据动画的曲线来生成当前的动画值(animation.value),然后根据当前的动画值去构建ui,当所有动画帧依次触发时,动画值会依次改变,所以构建的ui也会依次变化,所以最终我们可以看到一个完成的动画。","但是,如果hello碰巧是一个插件包,其平台特定的代码需要访问url_launcher公开的特定于平台的api,那么我们还需要为特定于平台的构建文件添加合适的依赖声明,如下所示。","但是,读者请注意,unconstrainedbox对父组件限制的“去除”并非是真正的去除:上面例子中虽然红色区域大小是90×20,但上方仍然有80的空白空间。也就是说父限制的minheight(100.0)仍然是生效的,只不过它不影响最终子元素redbox的大小,但仍然还是占有相应的空间,可以认为此时的父constrainedbox是作用于子unconstrainedbox上,而redbox只受子constrainedbox限制,这一点请读者务必注意。","但近几年,随着物联网时代到来、移动互联网高歌猛进,日新月异,在很多业务场景中,传统的纯原生开发已经不能满足日益增长的业务需求。主要表现在:","体积小:可以减小安装包大小。","体验热重载","作为","作为分隔符.","作用","作者wendux,高级技术专家(前端方向)、掘金知名专栏作者、flutter中文网发起人、flutter中文社区开源项目发起人;github社区知名开发者,是dio、fly、dsbridge等多个知名开源项目作者。曾就职于百度、小赢科技等互联网公司,从事过pc桌面开发、移动端开发以及web开发,负责过多次核心技术攻关,现就职于字节跳动业务团队,目前闲暇时,主要关注大前端行业发展。","你会看到很多在你的应用源代码中没有出现的widget,因为它们是被框架中widget的build()函数插入的。例如,inkfeature是materi","你会立即在运行的应用程序中看到更新的字符串。","你可以使用","你可以通过向hello包的pubspec.yaml文件中添加依赖性覆盖声明来处理冲突,从而强制使用特定版本:","你可能多次看到过","使用","使用animatedwidget简化","使用async/await消除callback","使用center","使用dart:developer的timeline工具来包含你想测试的代码块,例如:","使用english_words包来生成随机字符串。","使用faderout","使用flatbutton也很简单,代码如下:","使用future消除callback","使用gradientbutton","使用ide插件生成model","使用inheritedwidget中的共享数据","使用intl包","使用intl包我们不仅可以非常轻松的实现国际化,而且也可以将字符串文本分离成单独的文件,方便开发人员和翻译人员分工协作。为了使用intl包我们需要添加两个依赖:","使用kotlin和使用java的步骤类似,首先在android","使用kotlin添加android平台特定的实现","使用materi","使用outlinebutton也很简单,代码如下:","使用raisedbutton非常简单,如:","使用socket","使用statefulbuilder方法","使用swift实现io","使用usb将手机插入电脑。如果设备出现调试授权提示,请授权你的电脑可以访问该设备。","使用watcher可以使我们的源代码生成的过程更加方便。它会监视我们项目中文件的变化,并在需要时自动构建必要的文件,我们可以通过flutt","使用websocket","使用xcode,您可以在ios设备或模拟器上运行flutter应用程序。","使用一些专门用于状态管理的包,如provider、redux,读者可以在pub上查看其详细信息。","使用复杂。","使用字体","使用对话框","使用平台通道在flutter(client)和原生(host)之间传递消息,如下图所示:","使用打包好的localizationsdeleg","使用文本样式","使用缩放动画","使用自定义字体图标","使用镜像","使用默认的","例如:","例如笔者flutter","例如,flutter中有一个动画widget的基类animatedwidget,它继承自statefulwidget类。animatedwidget中引入了一个抽象方法build(buildcontext","例如,iconbutton是一个图标按钮,但它是一个无状态的widget,因为我们认为父widget需要知道该按钮是否被点击来采取相应的处理。","例如,一个名为“fancy_backgrounds”的包,可能包含以下文件:","例如,下面代码创建一个animation对象(但不会启动动画):","例如,假设您的应用程序依赖于一个名为“my_icons”的包,它具有如下目录结构:","例如,在上面的转储中,您可以看到窗口大小,size(411.4,","例如,如果应用程序目录中有以下文件:","例如:","例子","依然使用checkbox组件","依赖git:你也可以依赖存储在git仓库中的包。如果软件包位于仓库的根目录中,请使用以下语法","依赖下面这些命令行工具.","依赖包中的资源图片","依赖改变时,图片的配置信息可能会发生改变","依赖本地包","依赖登录状态的页面:","便只会接收该参数类型的通知。举个例子,如果我们将上例子代码给为:","便实现了跨平台。","保存app中需要跨组件共享的状态类","保存当前列表数据的list","保存用户信息","信号),在此次绘制结束前,该方法会锁定事件分发,也就是说在本次绘制结束完成之前flutter将不会响应各种事件,这可以保证在绘制过程中不会再触发新的重绘。下面是schedulewarmupframe()","修改后在此运行上面的示例,我们会发现点击”添加商品“按钮后,控制台不会再输出\"raisedbutton","值为alignment.center,所以,我们可以认为center组件其实是对齐方式确定(alignment.center)了的align。","值得一提的是,dio内部仍然使用httpclient发起的请求,所以代理、请求认证、证书校验等和httpclient是相同的,我们可以在onhttpclientcreate回调中设置,例如:","值得注意的是,httpclient提供的这些属性和方法最终都会作用在请求header里,我们完全可以通过手动去设置header来实现,之所以提供这些方法,只是为了方便开发者而已。另外,http协议是一个非常重要的、使用最多的网络协议,每一个开发者都应该对http协议非常熟悉。","值得注意的是,在materi","值得注意的是,在第二步中,状态变化后react框架并不会立即去计算并渲染dom树的变化部分,相反,react会在dom的基础上建立一个抽象层,即虚拟dom树,对数据和状态所做的任何改动,都会被自动且高效的同步到虚拟dom,最后再批量同步到真实dom中,而不是每次改变都去操作一下dom。为什么不能每次改变都直接去操作dom树?这是因为在浏览器中每一次dom操作都有可能引起浏览器的重绘或回流:","值是否唯一,如图1","假如我们不想让某个子树响应pointerevent的话,我们可以使用ignorepointer和absorbpointer,这两个组件都能阻止子树接收指针事件,不同之处在于absorbpointer本身会参与命中测试,而ignorepointer本身不会参与,这就意味着absorbpointer本身是可以接收指针事件的(但其子树不行),而ignorepointer不可以。一个简单的例子如下:","假如我们需要要实现一个背景颜色和title可以自定义导航栏,并且背景色为深色时我们应该让title显示浅色;背景色为浅色时,title显示深色。要实现这个功能,我们就需要来计算背景色的亮度。color类中提供了一个computeluminance()方法,他可以返回一个[0","假设我们也想将上面路由传参示例中的tiproute路由页注册到路由表中,以便也可以通过路由名来打开它。但是,由于tiproute接受一个text","假设我们想在我们的hello包中使用some_package和other_package,并且这两个包都依赖url_launcher,但是依赖的是url_launcher的不同的版本。","假设我们的后台服务使用的是自签名证书,证书格式是pem格式,我们将证书的内容保存在本地字符串中,那么我们的校验逻辑如下:","假设我们要从数据源异步分批拉取一些数据,然后用listview展示,当我们滑动到列表末尾时,判断是否需要再去拉取数据,如果是,则去拉取,拉取过程中在表尾显示一个loading,拉取成功后将数据插入列表;如果不需要再去拉取,则在表尾提示\"没有更多\"。代码如下:","假设我们要开发一个电商app,当用户没有登录时可以看店铺、商品等信息,但交易记录、购物车、用户个人信息等页面需要登录后才能看。为了实现上述功能,我们需要在打开每一个路由页前判断用户登录状态!如果每次打开路由前我们都需要去判断一下将会非常麻烦,那有什么更好的办法吗?答案是有!","假设我们要给一段富文本(richtext)的不同部分分别添加点击事件处理器,但是textspan并不是一个widget,这时我们不能用gesturedetector,但textspan有一个recognizer属性,它可以接收一个gesturerecognizer。","假设我们需要从一个异步数据源(如网络)分批获取一些icon,然后用gridview来展示:","假设我们需要在点击时给文本变色:","假设我们项目中需要使用一个书籍图标和微信图标,我们打包下载后导入:","假设有两个路由a和b,他们的内容交互如下:","假设现在我们想实现一个类似路由平移切换的动画:旧页面屏幕中向左侧平移退出,新页面重屏幕右侧平移进入。如果要用animatedswitcher的话,我们很快就会发现一个问题:做不到!我们可能会写出下面的代码:","偏移在内部处理","做一些事,比如:","先判断图片数据有缓存,如果有,则直接返回imagestream。","先检测是否支持分块传输,如果不支持,则直接下载;若支持,则将剩余内容分块下载。","先画背景","先移除缓存,后再添加,可以让最新使用过的缓存在_map中的位置更近一些,清理时会lru来清除","先验证是否已经有缓存","全局事件总线","全局变量","全局变量及共享状态","全局状态管理","全局状态管理;语言、主题、登录态等都需要全局共享。","公开项目数","共享元素转换。下面我们通过一个示例来体验一下hero","共享状态","关于代码的解释都在注释中了,在此需要说明的是dio包的option.extra是专门用于扩展请求参数的,我们通过定义了“refresh”和“nocache”两个参数实现了”针对特定接口或请求决定是否启用缓存的机制“,这两个参数含义如下:","关于作者","关于动画相关内容我们将在本书后面章节介绍,下面内容读者可以先了解一下(不必深究),读者可以在学习完动画相关内容后再回头来看。","关于矩阵变换的相关内容属于线性代数范畴,本书不做讨论,读者有兴趣可以自行了解。本书中,我们把焦点放在flutter中一些常见的变换效果上。另外,由于矩阵变化时发生在绘制时,而无需重新布局和构建等过程,所以性能很好。","关于示例","关于路由参数的详细信息读者可以自行查阅api文档,比较简单,不再赘述。","关于随书源码","关闭client后,通过该client发起的所有请求都会中止。","关闭websocket连接","关闭websocket连接。","关闭对话框","其中\"basic\"为认证方式,realm为用户角色的分组,可以在后台添加分组。","其中childwidth为子元素的宽度,childheight为子元素高度。","其中itembuilder为子widget构建器。","其中m和n是数字标识符,对应于其中包含的图像的分辨率,也就是说,它们指定不同设备像素比例的图片。","其中style","其中大多数属性名都是自解释的,我们不赘述。下面我们通过一个示例来看看如何自定义按钮。","其它依赖方式","其它尺寸限制类容器","其它异常捕获与日志收集","其它状态管理包","其它的值","其它类型的对话框","其实context正是操作widget所对应的element的一个接口,由于widget树对应的element都是不同的,所以context也都是不同的,有关context的更多内容会在后面高级部分详细讨论。flutter中有很多“of(context)”这种方法,读者在使用时一定要注意context是否正确。","其实linearprogressindicator和circularprogressindicator都是取父容器的尺寸作为绘制的边界的。知道了这点,我们便可以通过尺寸限制类widget,如constrainedbox、sizedbox","其实loading框可以直接通过showdialog+alertdialog来自定义:","其实下载速度的主要瓶颈是取决于网络速度和服务器的出口速度,如果是同一个数据源,分块下载的意义并不大,因为服务器是同一个,出口速度确定的,主要取决于网速,而上面的例子正式同源分块下载,读者可以自己对比一下分块和不分块的的下载速度。如果有多个下载源,并且每个下载源的出口带宽都是有限制的,这时分块下载可能会更快一下,之所以说“可能”,是由于这并不是一定的,比如有三个源,三个源的出口带宽都为1g/s,而我们设备所连网络的峰值假设只有800m/s,那么瓶颈就在我们的网络。即使我们设备的带宽大于任意一个源,下载速度依然不一定就比单源单线下载快,试想一下,假设有两个源a和b,速度a源是b源的3倍,如果采用分块下载,两个源各下载一半的话,读者可以算一下所需的下载时间,然后再算一下只从a源下载所需的时间,看看哪个更快。","其实,无论是在javascript还是dart中,async/await都只是一个语法糖,编译器或解释器最终都会将其转化为一个promise(future)的调用链。","其实,这个问题在很多平台上都会遇到,而也早就有了好的解决方法即“json","内容固定,动态化弱,大多数情况下,有新功能更新时只能发版;","内容文本样式","再次强调,可滚动组件通过一个list来作为其children属性时,只适用于子组件较少的情况,这是一个通用规律,并非listview自己的特性,像gridview也是如此。","再画前景,应用渐变","写一个shell(mo.sh),将生成模板和生成model串起来:","写一个自动生成模板的脚本(mo.dart),它可以根据指定的json目录,遍历生成模板,在生成时我们定义一些规则:","几乎所有的ui系统都会提供一个自绘ui的接口,这个接口通常会提供一块2d画布canvas,canvas内部封装了一些基本绘制的api,开发者可以通过canvas绘制各种自定义图形。在flutter中,提供了一个custompaint","函数","函数作为参数传递","函数作为变量","函数内部。","函数声明","分别指定四个方向的补白","分发通知。","分块下载有什么实际的用处吗?","分块下载的最终速度受设备所在网络带宽、源出口速度、每个块大小、以及分块的数量等诸多因素影响,实际过程中很难保证速度最优。在实际开发中,读者可可以先测试对比后再决定是否使用。","分块下载真的能提高下载速度吗?","分块下载还有一个比较使用的场景是断点续传,可以将文件分为若干个块,然后维护一个下载状态文件用以记录每一个块的状态,这样即使在网络中断后,也可以恢复中断前的状态,具体实现读者可以自己尝试一下,还是有一些细节需要特别注意的,比如分块大小多少合适?下载到一半的块如何处理?要不要维护一个任务队列?","分析","分析器","分析器可以在代码运行前发现大多数问题。","分析器,因为在大多数时候,dart","切换语言后立即生效。","列表下拉刷新,需要删除缓存(拦截器中会读取这些信息)","列表中,参数","列表加载","列表项组件我们使用了simpledialogoption组件来包装了一下,它相当于一个flatbutton,只不过按钮文案是左对齐的,并且padding较小。上面示例运行后,用户选择一种语言后,控制台就会打印出它。","列表,可以看到此时的","则正是右侧顶点,即alignment.topright。为了使用方便,矩形的原点、四个顶点,以及四条边的终点在alignment类中都已经定义为了静态常量。","则表示有renderbox","创建","创建control","创建flutter平台客户端","创建flutter应用","创建flutter应用模板","创建一个controller:","创建一个element实例,记为el","创建一个httpclient:","创建一个新zone,主要是为了当发生错误时不会干扰mainzon","创建一个新的应用程序项目","创建一个新路由,命名“newroute”","创建了一个延时任务(实际场景会是一个真正的耗时任务,比如一次网络请求),即2秒后返回结果字符串\"hi","创建进度回调,后面实现","初始化flutter框架时.","初始化完成后才会加载ui(myapp),myapp","初始化数据","初识flutter","删除临时文件。","删除文件","判断当前locale是否为英语系国家,如果是直接返回locale('en',","刷新当前终端窗口。","刷新页面将在chrome的跟踪工具中显示应用按时间顺序排列的timeline记录。","前三个参数和linearprogressindicator相同,不再赘述。strokewidth","前后路由页的共享hero的tag必须是相同的,flutt","前景画笔,会显示在子节点前面","前面章节中我们介绍过image的基础用法,现在我们更深入一些,研究一下image是如何和imageprovider配合来获取最终解码后的数据,然后又如何将图片绘制到屏幕上的。","前面讲了material组件库如何支持国际化,本节我们将介绍一下我们自己的ui中如何支持多语言。根据上节所述,我们需要实现两个类:一个delegate类一个localizations类,下面我们通过一个实例说明。","前面说过可以通过valuecolor对进度条颜色做动画,关于动画我们将在后面专门的章节详细介绍,这里先给出一个例子,读者在了解了flutter动画一章后再回过头来看。","剪裁widget","剪裁子组件到实际占用的矩形大小(溢出部分剪裁)","剪裁(clip)","功能","功能型widget指的是不会影响ui布局及外观的widget,它们通常具有一定的功能,如事件监听、数据存储等,我们之前介绍过的focusscope(焦点控制)、pagestorage(数据存储)、notificationlistener(事件监听)都属于功能型widget。由于widget是flutter的一等公民,功能型widget非常多,我们不会去一一介绍,本章中主要介绍几种常用的功能型widget。","功能型widget简介","加载","加载图片","加载图片数据源的接口,不同的数据源的加载方法不同,每个imageprovider的子类必须实现它。比如networkimage类和assetimage类,它们都是imageprovider的子类,但它们需要从不同的数据源来加载图片数据:networkimage是从网络来加载图片数据,而assetimage则是从最终的应用包里来加载(加载打到应用安装包里的资源图片)。","加载文本asset","加载该图片","加载资源时,内部会自动处理分辨率等,这些处理对开发者来说是无感知的。","加载:建议使用","动态化","动态化内容需求增大;当需求发生变化时,纯原生应用需要通过版本升级来更新内容,但应用上架、审核是需要周期的,这对高速变化的互联网时代来说是很难接受的,所以,对应用动态化(不发版也可以更新应用内容)的需求就变的迫在眉睫。","动态化较好,支持热更新。","动态性不足;为了保证ui绘制性能,自绘ui系统一般都会采用aot模式编译其发布包,所以应用发布后,不能像hybrid和rn那些使用javascript(jit)作为开发语言的框架那样动态下发代码。","动画。","动画。例如,一个路由中显示待售商品的缩略图列表,选择一个条目会将其跳转到一个新路由,新路由中包含该商品的详细信息和“购买”按钮。","动画在终点停止","动画在起始点停止","动画基本结构","动画基本结构及状态监听","动画构建器","动画构建的范围缩小了,如果没有builder,setstate()将会在父组件上下文中调用,这将会导致父组件的build方法重新调用;而有了builder之后,只会导致动画widget自身的build重新调用,避免不必要的rebuild。","动画正在反向执行","动画正在正向执行","动画状态监听","动画结构","动画过程","动画过程可以是匀速的、匀加速的或者先加速后减速等。flutter中通过curve(曲线)来描述动画过程,我们把匀速动画称为线性的(curves.linear),而非匀速动画称为非线性的。","动画通知","动画重复的次数","匀减速","匀速的","包","包与插件","包主要包含了一些工具,它在开发阶段主要主要的作用是从代码中提取要国际化的字符串到单独的arb文件和根据arb文件生成对应语言的dart代码,而intl包主要是引用和加载intl_translation生成后的dart代码。下面我们将一步步来说明如何使用:","包也可以选择在其lib/文件夹中包含未在其pubspec.yaml文件中声明的资源。在这种情况下,对于要打包的图片,应用程序必须在pubspec.yaml中指定包含哪些图像。","包包含globalmateriallocalizations和globalwidgetslocalizations的本地化接口的多语言实现,","包名","包含一个子widget,如:constrainedbox、decoratedbox等","包含图片和设备的相关信息,如图片的大小、所在的assetbundle(只有打到安装包的图片存在)以及当前的设备平台、devicepixelratio(设备像素比等)。flutt","包含多个子widget,一般都有一个children参数,接受一个widget数组。如row、column、stack等","包含路由的配置信息,如路由名称、是否初始路由(首页)。","包提供了多种风格的模糊进度指示器,读者若是感兴趣,可以参考。","包方案","包管理","包装一组函数参数,用[]标记为可选的位置参数:","升级","升级flutter","单一方向拖动","单独封装一个内部管理选中状态的复选框组件","单独抽离出statefulwidget","单选开关和复选框","单选框和复选框","博客:随着flutter技术的推广,相信很快网上将会有很多flutter相关的文章、博客,读者可以多去浏览、阅读。","即\"漂浮\"按钮,它默认带有阴影和灰色背景。按下后,阴影会变大,如图3","即使some_package和other_package声明了不兼容的url_launcher版本,它仍然可能会和url_launcher以兼容的方式正常工作。","即可解决。","原始指针事件处理","原理","原理时详细介绍)。","原生应用程序是指某一个移动平台(比如ios或安卓)所特有的应用,使用相应平台支持的开发工具和语言,并直接调用系统提供的sdk","原生开发","原生开发与跨平台技术","原生控件渲染","原生根据布局信息通过对应的原生控件渲染控件树;","原生渲染,性能相比h5提高很多。","去flutter官网下载其最新可用的安装包,下载地址:https://flutter.io/sdk","去flutter官网下载其最新可用的安装包,官网地址:https://flutter.io/sdk","参数","参数app是一个widget,它是flutter应用启动后要展示的第一个widget。而widgetsflutterbinding正是绑定widget","参数locale的值为当前的当前的系统语言设置,当应用启动时或用户动态改变系统语言设置时此locale即为系统的当前locale。当开发者手动指定app的locale时,那么此locale参数代表开发者指定的locale,此时将忽略系统locale如:","参数名","参数是一个必选参数,它是imageprovider类型。下面我们便详细介绍一下imageprovider,imageprovider是一个抽象类,定义了图片数据获取和加载的相关接口。它的主要职责有两个:","参数来确定坐标原点,不同的alignment会对应不同原点,最终的偏移是需要通过alignment的转换公式来计算出。","参数都比较简单,不在赘述。下面我们看一个例子,假如我们要在删除文件事弹出一个确认对话框,该对话框如图7","参数,我们如何在不改变tiproute源码的前提下适配这种情况?其实很简单:","参数;由于align的构造函数中align","反向遍历需要重绘的renderobject","发布packag","发现build传递的参数是this,很明显!这个buildcontext就是statelesselement。同样,我们同样发现statefulwidget的context是statefulelement。但statelesselement和statefulelement本身并没有实现buildcontext接口,继续跟踪代码,发现它们间接继承自element类,然后查看element类定义,发现element类果然实现了buildcontext接口:","发起","发起一个","发起多个并发请求:","发送","发送平台消息","取代线性布局","变体(variant)","变换transform","变换(transform)","变量a不会报错,","变量b编译器会报错","变量只能被设置一次,两者区别在于:const","变量声明","变量是一个编译时常量,final变量在第一次使用时被初始化。被final或者const修饰的变量,变量类型可以省略,如:","另一种实现可能会将高亮状态导出到父组件,但同时保持_active状态为内部状态,但如果你要将该tapbox给其它人使用,可能没有什么意义。","另一种需要注意的是每个盒子描述的”relayoutsubtreeroot”部分,它告诉你有多少祖先以某种方式依赖于这个元素的大小。","另外widget类本身是一个抽象类,其中最核心的就是定义了createelement()接口,在flutter开发中,我们一般都不用直接继承widget类来实现一个新组件,相反,我们通常会通过继承statelesswidget或statefulwidget来间接继承widget类来实现。statelesswidget和statefulwidget都是直接继承自widget类,而这两个类也正是flutter中非常重要的两个抽象类,它们引入了两种widget模型,接下来我们将重点介绍一下这两个类。","另外在动画的每一帧,animation对象会调用其帧监听器,等动画状态发生改变时(如动画结束)会调用状态改变监听器。","另外需要注意,我们所有的网络请求是通过同一个dio实例(静态变量)发出的,在创建该dio实例时我们将github","另外,futurebuilder的builder函数签名和streambuilder的builder是相同的。","另外,material组件库也提供了一个pageview","另外,实际场景中,json对象很少会这么简单,嵌套的json对象并不罕见,如果有什么能为我们自动处理json序列化,那将会非常好。幸运的是,有!","另外,我们可以看到imagecache类中有设置缓存上限的setter,所以,如果我们可以自定义缓存上限:","另外,我们通过alignment.topright将flutterlogo定位在container的右上角。那alignment.topright是什么呢?通过源码我们可以看到其定义如下:","另外,我们需要注意的是,图片缓存是在内存中,并没有进行本地文件持久化存储,这也是为什么网络图片在应用重启后需要重新联网下载的原因。","另外,有些情况下热重载是不生效的,比如修改了main函数、修改了全局静态方法等,读者可以认为”hot","另外,还有一些关于路由管理的内容我们没有介绍,比如路由materialapp中还有navigatorobservers和onunknownroute两个回调属性,前者可以监听所有路由跳转动作,后者在打开一个不存在的命名路由时会被调用,由于这些功能并不常用,而且也比较简单,我们便不再花费篇幅来介绍了,读者可以自行查看api文档。","只会创建一次,后面会进行复用。那么buildowner是什么呢?其实他就是widget","只能通过父元素设置.","只要他们重绘时,这会使该层被一组旋转色所覆盖。","只要应用程序已经构建了至少一次(即在调用build()之后的任何时间),您可以在应用程序未处于构建阶段(即,不在build()方法内调用","只负责布局子节点。","只需将它们替换为适当大小的图片,保留原始文件名称。","只需按照android开发人员指南中的说明,","只需要在materialapp或widgetsapp的localizationsdelegates列表中添加我们的delegate实例即可完成注册:","可以使用","可以使用getapplicationdocumentsdirectory()来获取应用程序的文档目录,该目录用于存储只有自己可以访问的文件。只有当应用程序被卸载时,系统才会清除该目录。在ios上,这对应于nsdocumentdirectory。在android上,这是appdata目录。","可以发现要实现这样的一个进度条是无法通过现有组件组合而成的,所以我们通过自绘方式实现,代码如下:","可以发现,renderobject中最终也是通过canva","可以发现,setstate中调用了element的markneedsbuild()方法,我们前面说过,flutter是一个响应式框架,要更新ui只需改变状态后通知框架页面需要重构即可,而element的markneedsbuild()方法正是来实现这个功能的!markneedsbuild()方法会将当前的element对象标记为“dirty”(脏的),在每一个frame,flutter都会重新构建被标记为“dirty”element对象。既然如此,我们有没有办法获取到对话框内部ui的element对象,然后将其表姐为为“dirty”呢?答案是肯定的!我们可以通过context来得到element对象,至于element与context的关系我们将会在后面“flutter核心原理”一章中再深入介绍,现在只需要简单的认为:在组件树种,context实际上就是element对象的引用。知道这个后,那么解决的方案就呼之欲出了,我们可以通过如下方式来让复选框可以更新:","可以发现,子元素的大小是通过crossaxiscount和childaspectratio两个参数共同决定的。注意,这里的子元素指的是子组件的最大显示空间,注意确保子组件的实际大小不要超出子元素的空间。","可以发现,有些属性只是为了更方便的设置请求头,对于这些属性,你完全可以通过httpclientrequest直接设置header,不同的是通过httpclient设置的对整个httpclient都生效,而通过httpclientrequest设置的只对当前请求生效。","可以发现,直观的感觉就是margin的留白是在容器外部,而padding的留白是在容器内部,读者需要记住这个差异。事实上,container内margin和padding都是通过pad","可以发现,遮罩颜色比通过showdialog方法打开的对话框更深。另外对话框打开/关闭的动画已变为缩放动画了,读者可以亲自运行示例查看效果。","可以发送与方法调用相对应的消息。","可以同时对其新、旧子元素添加显示、隐藏动画。也就是说在animatedswitcher的子元素发生变化时,会对其旧元素和新元素,我们先看看animatedswitch","可以在flutter应用程序中使用不同的字体。例如,我们可能会使用设计人员创建的自定义字体,或者其它第三方的字体,如googl","可以将asset的请求逻辑映射到最接近当前设备像素比例(dpi)的asset。为了使这种映射起作用,必须根据特定的目录结构来保存asset:","可以将其子组件树对齐到屏幕中心。此例中,","可以应用文本样式:可以像文本一样改变字体图标的颜色、大小对齐等。","可以感受一下,如果业务逻辑中有大量异步依赖的情况,将会出现上面这种在回调里面套回调的情况,过多的嵌套会导致的代码可读性下降以及出错率提高,并且非常难维护,这个问题被形象的称为回调地狱(callback","可以指定一个模板参数,该模板参数类型必须是继承自notification;当显式指定模板参数时,notificationlisten","可以按比例“扩伸”","可以支持圆角","可以根据父容器宽高的百分比来设置子组件宽高等,由于这些容器使用起来都比较简单,我们便不再赘述,读者可以自行了解。","可以直接调用便捷方法","可以看main()函数只调用了一个runapp()方法,我们看看runapp()方法中都做了什么:","可以看出,当调用","可以看到_changenotifierproviderstate类的主要作用就是监听到共享状态(model)改变时重新构建widget树。注意,在_changenotifierproviderstate类中调用setstate()方法,widget.child始终是同一个,所以执行build时,inheritedprovider的child引用的始终是同一个子widget,所以widget.child并不会重新build,这也就相当于对child进行了缓存!当然如果changenotifierprovider父级widget重新build时,则其传入的child便有可能会发生变化。","可以看到_loadasync方法主要做了两件事:","可以看到center继承自align,它比align只少了一个align","可以看到container具备多种组件的功能,通过查看container源码,我们会很容易发现它正是前面我们介绍过的多种组件组合而成。在flutter中,container组件也正是组合优先于继承的实例。","可以看到gradientbutton是由decoratedbox、padding、center、inkwell等组件组合而成。当然上面的代码只是一个示例,作为一个按钮它还并不完整,比如没有禁用状态,读者可以根据实际需要来完善。","可以看到inheritfromelement方法中主要是注册了依赖关系!看到这里也就清晰了,调用inheritfromwidgetofexacttype()","可以看到layout方法需要传入两个参数,第一个为constraints,即","可以看到widgetsflutterbinding继承自bindingbas","可以看到window类包含了当前设备和系统的一些信息以及flutt","可以看到和futurebuilder的构造函数只有一点不同:前者需要一个future,而后者需要一个stream。","可以看到响应内容分两个部分,第一部分是响应头,第二部分是响应体,服务端可以根据请求信息动态来输出响应体。由于本示例请求头比较简单,所以响应体和浏览器中访问的会有差别,读者可以补充一些请求头(如user","可以看到它只是alignment的一个实例,下面我们介绍一下alignment。","可以看到左侧菜单已经替换成功。","可以看到我们主要的任务就是实现paintchildren,它的主要任务是确定每个子widget位置。由于flow不能自适应子widget的大小,我们通过在getsize返回一个固定大小来指定flow的大小。","可以看到我们在init()方法中,我们判断了是否是调试环境,然后做了一些针对调试环境的网络配置(设置代理和禁用证书校验)。而git.init()方法是应用启动时被调用的(global.init()方法中会调用git.init())。","可以看到我们的剪裁成功了,但是图片所占用的空间大小仍然是60×60(红色区域),这是因为剪裁是在layout完成后的绘制阶段进行的,所以不会影响组件的大小,这和transform原理是相似的。","可以看到此时initst","可以看到目前flutter只支持这三个平台。我们可以通过如下代码判断平台:","可以看到该方法中主要调用了handlebeginframe()","可以看到通过intl.plural方法可以在howmany值不同时输出不同的提示信息。","可以看到,align和stack/positioned都可以用于指定子元素相对于父元素的偏移,但它们还是有两个主要区别:","可以看到,boss字段已自动添加,并自动导入了“person.dart”。","可以看到,builder实际上只是继承了statelesswidget,然后在build方法中对获取当前context后将构建方法代理到了builder回调,builder实际上是获取了statelesswidget","可以看到,上面代码中没有控制打洞位置的属性,实际上,打洞的位置取决于floatingactionbutton的位置,上面floatingactionbutton的位置为:","可以看到,使用socket需要我们自己实现http协议(需要自己实现和服务器的通信过程),本例只是一个简单示例,没有处理重定向、cookie等。本示例完整代码参考示例demo,运行后效果如图11","可以看到,右边溢出部分报错。这是因为row默认只有一行,如果超出屏幕不会折行。我们把超出屏幕显示范围会自动折行的布局称为流式布局。flutter中通过wrap和flow来支持流式布局,将上例中的row换成wrap后溢出部分则会自动折行,下面我们分别介绍wrap和flow.","可以看到,在statefulwidget插入到widget树时首先initstate方法会被调用。","可以看到,在发生异常时,flutter默认的处理方式是弹一个errorwidget,但如果我们想自己捕获异常并上报到报警平台的话应该怎么做?我们进入_debugreportexception()方法看看:","可以看到,我们只需在路由表中注册一下myhomepage路由,然后将其名字作为materialapp的initialroute属性值即可,该属性决定应用的初始路由页是哪一个命名路由。","可以看到,我们期望的效果实现了,但是这种方法并不优雅,如果页面布局发生变化,比如表头布局调整导致表头高度改变,那么剩余空间的高度就得重新计算。那么有什么方法可以自动拉伸listview以填充屏幕剩余空间的方法吗?当然有!答案就是flex。前面已经介绍过在弹性布局中,可以使用expanded自动拉伸组件大小,并且我们也说过column是继承自flex的,所以我们可以直接使用column+expanded来实现,代码如下:","可以看到,我们虽然将container的高度设置为5像素,但是最终却是50像素,这正是constrainedbox的最小高度限制生效了。如果将container的高度设置为80像素,那么最终红色区域的高度也会是80像素,因为在此示例中,constrainedbox只限制了最小高度,并未限制最大高度。","可以看到,我们通过async/await将一个异步流用同步的代码表示出来了。","可以看到,现在没有触发异常并且列表已经显示出来了,但是我们的手机屏幕高度要大于400,所以底部会有一些空白。那如果我们要实现列表铺满除表头以外的屏幕空间应该怎么做?直观的方法是我们去动态计算,用屏幕高度减去状态栏、导航栏、表头的高度即为剩余屏幕高度,代码如下:","可以看到,由于第二个子文本组件没有定位,所以fit属性会对它起作用,就会占满stack。由于stack子元素是堆叠的,所以第一个子文本组件被第二个遮住了,而第三个在最上层,所以可以正常显示。","可以看到,绘制时我们需要提供前景或背景画笔,两者也可以同时提供。我们的画笔需要继承custompainter类,我们在画笔类中实现真正的绘制逻辑。","可以看到,返回了fadetransition对象,也就是说默认情况,animatedswitcher会对新旧child执行“渐隐”和“渐显”动画。","可以自动填充上次登录的用户名(如果有)。","可以自定义粗细、两端是否圆角等样式。","可以装饰一个boxdecoration,","可以触发所有监听器回调。","可以通过","可以通过findproxy来设置代理策略,例如,我们要将所有请求通过代理服务器(192.168.1.2:8888)发送出去:","可以通过ongenerateroute做一些全局的路由跳转前置处理逻辑。","可以通过textspan和文本混用。","可以通过局部主题覆盖全局主题,正如代码中通过theme为第二行图标指定固定颜色(黑色)一样,这是一种常用的技巧,flutter中会经常使用这种方法来自定义子树主题。那么为什么局部主题可以覆盖全局主题?这主要是因为widget中使用主题样式时是通过theme.of(buildcontext","可滚动widgets简介","可滚动组件在滚动时会发送scrollnotification类型的通知,scrollbar正是通过监听滚动通知来实现的。通过notificationlistener监听滚动事件和通过scrollcontroller有两个主要的不同:","可滚动组件的sliver版","可滚动组件的构造函数如果需要一个列表项builder,那么通过该构造函数构建的可滚动组件通常就是支持基于sliver的懒加载模型的,反之则不支持,这是个一般规律。我们在后面在介绍可滚动组件的构造函数时将不再专门说明其是否支持基于sliver的懒加载模型了。","可滚动组件简介","可见依赖发生变化后,其didchangedependencies()会被调用。但是读者要注意,如果_testwidget的build方法中没有使用sharedatawidget的数据,那么它的didchangedependencies()将不会被调用,因为它并没有依赖sharedatawidget。例如,我们将__testwidgetstate代码该为下面这样,didchangedependencies()将不会被调用:","可见复选框能选中了,点击“取消”或“删除”后,控制台就会打印出最终的确认状态。","可视化调试","可让您创建矩形视觉元素。contain","可访问平台全部功能(gps、摄像头);","可选命名参数在flutter中使用非常多。","可选的主题列表","可选的位置参数","可选的命名参数","右下角有一个悬浮的动作按钮","各个分块下载时保存到各自临时文件,等到所有分块下载完后合并临时文件。","各个属性名都是自解释的,详情读者可以查看api文档。下面我们实现一个带阴影的背景色渐变的按钮:","同一个host,同时允许建立连接的最大数量。","同一个包中的源码文件之间也可以使用相对路径来导入。","同时也意味着在应用生命周期内,如果缓存没有超过上限,相同u的图片只会被下载一次。","同时支持分析、检查堆等。有关observatory的更多信息请参考observatori","名称","名,已有","后面是一个future,表示等待该异步任务完成,异步完成后才会往下走;await必须出现在","向persistentcallbacks队列添加了一个回调","向父级递归查找","向购物车中添加新商品时总价更新","否则编译器会报错。如:","否则,配置文件中将出现的主要问题将是调试断言,以验证框架的各种不变量(请参阅下面的“调试模式断言”)。","含义","启动","启动android","启动屏幕将永远持续显示。","启动您的设备。","命中测试","命令","命令以查看是否都准备ok了:","命令以验证flutter识别您连接的android设备。","命令执行成功后,可以看到lib/models文件夹下会生成相应的dart","命令来下载依赖包。另外,需要注意dependencies和dev_dependencies的区别,前者的依赖包将作为app的源码的一部分参与编译,生成最终的安装包。而后者的依赖包只是作为开发阶段的一些工具包,主要是用于帮助我们提高开发、测试效率,比如flutter的自动化测试包等。","命令来创建:","命名路由","命名路由参数传递","和","和cupertino两种视觉风格的组件库。而我们flutter开发的大多数场景,只是和这两层打交道。","和didchangedependencies都没有被调用,而此时didupdatewidget被调用。","和fractionaloffset,读者需要理解这两种偏移类的区别及各自的坐标转化公式。另外,在此建议读者在需要制定一些精确的偏移时应优先使用fractionaloffset,因为它的坐标原点和布局系统相同,能更容易算出实际偏移。","和javascript中的async/await功能和用法是一模一样的,如果你已经了解javascript中的async/await的用法,可以直接跳过本节。","和statelesswidget一样,statefulwidget也是继承自widget类,并重写了createelement()方法,不同的是返回的el","和window一样,要在android设备上构建并运行flutter程序都需要先安装android","和上一节中介绍的相同,我们现在需要先注册demolocalizationsdelegate类,然后再通过demolocalizations.of(context)来动态获取当前locale文本。","和上一节中的步骤类似,我们仍然要实现localizations和delegate类,不同的是,现在我们在实现时要使用intl包的一些方法(有些是动态生成的)。","和其它地方的意义稍微有点区别,此处用于配合left、top","和包管理一样,flutter也使用pubspec.yaml文件来管理应用程序所需的资源,举个例子:","和微信小程序,值得一提的是微信小程序目前是在webview中渲染的,并非原生渲染,但将来有可能会采用原生渲染。","和无状态的组件(stateless","和服务器建立连接的超时,如果超过这个值则会抛出socketexception异常。","响应头","响应式的编程框架中都会有一个永恒的主题——“状态(state)管理”,无论是在react/vue(两者都是支持响应式编程的web开发框架)还是flutter中,他们讨论的问题和解决的思想都是一致的。所以,如果你对react/vue的状态管理有了解,可以跳过本节。言归正传,我们想一个问题,statefulwidget的状态应该被谁管理?widget本身?父widget?都会?还是另一个对象?答案是取决于实际情况!以下是管理状态的最常见的方法:","响应式编程","唯一不同的是","唯一的改动就是获取sharedatawidget对象的方式,把inheritfromwidgetofexacttype()方法换成了context.ancestorinheritedelementforwidgetofexacttype(sharedatawidget).widget,那么他们到底有什么区别呢,我们看一下这两个方法的源码(实现代码在element类中,context和element的关系我们将在后面专门介绍):","商品份数","回到runapp的实现中,当调用完attachrootwidget后,最后一行会调用","回调","回调中我们调用git(context).getrepos(...)来获取用户项目列表,同时指定每次请求获取20条。当获取成功时,首先要将新获取的项目数据添加到items中,然后根据本次请求的项目条数是否等于期望的20条来判断还有没有更多的数据。在此需要注意,git(context).getrepos(…)方法中需要refresh参数来判断是否使用缓存。","回调中打印日志:","回调地狱(callback","回调返回值是一个遵循浏览器pac脚本格式的字符串,详情可以查看api文档,如果不需要代理,返回\"direct\"即可。","回调,","回调,绑定framework手势子系统,是framework事件模型与底层事件的绑定入口。","因为flutterlogo的宽高为60,则align的最终宽高都为2*60=120。","因为登录页返回后,首页会build,所以我们传false,更新user后不触发更新","因此,renderparagraph有一个relayoutsubtreeroot=up8,这意味着当它renderparagraph被标及为”dirty”时,它的八个祖先也必须被标记为”dirty”,因为它们可能受到新尺寸的影响。","因此,可以看到其实dom树和控件树是等价的概念,只不过前者常用于web开发中,而后者常用于原生开发中。","国际化常见问题","国际化的应用程序必须按照本节开头说明的那样为这些类指定本地化delegate。","国际化相关的类都在此目录下","图中的白线以16ms增量沿纵轴显示;","图标","图标库中没有fork图标,所以我们在iconfont.cn上找了一个fork图标,然后根据”图片和icon“一节中介绍的使用自定义字体图标的方法集成到了我们的项目中。","图片","图片中的帧数(动态图会有多帧)","图片加载原理与缓存","图片及icon","图片和icon","图片的加载、缓存和绘制流程。其中imageprovider主要负责图片数据的加载和缓存,而绘制部分逻辑主要是由rawimage来完成。","图片还未加载成功,直接返回","圆形进度条直径指定为100","圆的半径","在","在2018年googl","在_myhomepagestate.build方法中的column的子widget中添加一个按钮(flatbutton)","在ab两个路由之间跳转的时候,用户头像会逐渐过渡到目标路由页的头像上,接下来我们先看看代码,然后再解析:","在android","在android设备上启用","在appdelegate类中添加以下新的方法:","在app中,我们经常会需要一个广播机制,用以跨页面事件通知,比如一个需要登录的app中,页面会关注用户登录或注销事件,来进行一些状态更新。这时候,一个事件总线便会非常有用,事件总线通常实现了订阅者模式,订阅者模式包含发布者和订阅者两种角色,可以通过事件总线来触发事件和监听事件,本节我们实现一个简单的全局事件总线,我们使用单例模式,代码如下:","在app开发中,很多时候我们需要抓包来调试,而抓包软件(如charles)就是一个代理,这时我们就可以将请求发送到我们的抓包软件,我们就可以在抓包软件中看到请求的数据了。","在asset中声明","在build中返回最终的富文本样式;","在dart中,所有的外部事件任务都在事件队列中,如io、计时器、点击、以及绘制事件等,而微任务通常来源于dart内部,并且微任务非常少,之所以如此,是因为微任务队列优先级高,如果微任务太多,执行时间总和就越久,事件队列任务的延迟也就越久,对于gui应用来说最直观的表现就是比较卡,所以必须得保证微任务队列不会太长。值得注意的是,我们可以通过future.microtask(…)方法向微任务队列插入一个任务。","在didupdatewidget中,我们判断要旋转的角度是否发生了变化,如果变了,则执行一个过渡动画。","在flutter中使用字体分两步完成。首先在pubspec.yaml中声明它们,以确保它们会打包到应用程序中。然后通过textstyle属性使用字体。","在flutter中将图片从一个路由“飞”到另一个路由称为hero动画,尽管相同的动作有时也称为","在flutter中我们可以通过多种方式来实现动画,下面通过一个图片逐渐放大示例的不同实现来演示flutter中动画的不同实现方式的区别。","在flutter中页面ui通常都是由一些低阶别的组件组合而成,当我们需要封装一些通用组件时,应该首先考虑是否可以通过组合其它组件来实现,如果可以,则应优先使用组合,因为直接通过现有组件拼装会非常简单、灵活、高效。","在flutter中,widget的功能是“描述一个ui元素的配置数据”,它就是说,widget其实并不是表示最终绘制在设备屏幕上的显示元素,而它只是描述显示元素的一个配置数据。","在flutter中,大多数东西都是widget(后同”组件“或”部件“),包括对齐(alignment)、填充(padding)和布局(layout)等,它们嗾使以widget的形式提供。","在flutter中,应该优先使用localelistresolutioncallback,当然你不必担心android系统的差异性,如果在低版本的android系统中,flutter会自动处理这种情况,这时locale列表只会包含一项。","在flutter中,我们可以创建一个websocketchannel连接到一台服务器:","在flutter中,组合的思想非常重要,flutter提供了非常多的基础组件,而我们的界面开发其实就是按照需要组合这些组件来实现各种不同的布局而已。","在flutter中,还有一些flutter没有为我们捕获的异常,如调用空对象方法异常、future中的异常。在dart中,异常分两类:同步异常和异步异常,同步异常可以通过try/catch捕获,而异步异常则比较麻烦,如下面的代码是捕获不了future的异常的:","在flutter发布之初,当时,我在看完flutter原理介绍后,就对它产生了浓厚的兴趣。当时笔者身边也一些人比较关注flutter,我也被经常问到关于flutter的一些问题,比如flutter怎么样?和rn有什么区别?flutter为什么要用dart?当时也听到了一些批评的声音,比如有些人说flutter只是重复造轮子,没啥亮点、flutter最大的缺点就是使用了dart语言等。在听到这些问题及论调后,我深知这是对flutter的不了解而造成的,这和当时国内缺乏flutter中文文档和教程有直接关系,很多人对flutter的了解都只停留在google的发布会介绍(有中文翻译)。","在flutter命令行运行如下命令来查看是否还需要安装其它依赖,如果需要,安装它们:","在flutter安装目录的flutter文件下找到flutter_console.bat,双击运行并启动flutter命令行,接下来,你就可以在flutter命令行运行flutter命令了。","在flutter应用调试过程中,dart","在flutter开发中,iconfont和图片相比有如下优势:","在flutter开发中,状态管理是一个永恒的话题。一般的原则是:如果状态是组件私有的,则应该由组件自己管理;如果状态要跨组件共享,则该状态应该由各个组件共同的父元素来管理。对于组件私有的状态管理很好理解,但对于跨组件共享的状态,管理的方式就比较多了,如使用全局事件总线eventbus(将在下一章中介绍),它是一个观察者模式的实现,通过它就可以实现跨组件状态同步:状态持有方(发布者)负责更新、发布状态,状态使用方(观察者)监听状态改变事件来执行一些操作。下面我们看一个登陆状态同步的简单示例:","在flutter当中有没有更好的跨组件状态管理方式了呢?答案是肯定的,那怎么做的?我们想想前面介绍的inheritedwidget,它的天生特性就是能绑定inheritedwidget与依赖它的子孙组件的依赖关系,并且当inheritedwidget数据发生变化时,可以自动更新依赖的子孙组件!利用这个特性,我们可以将需要跨组件共享的状态保存在inheritedwidget中,然后在子组件中引用inheritedwidget即可,flutter社区著名的provider包正是基于这个思想实现的一套跨组件状态共享解决方案,接下来我们便详细介绍一下provider的用法及原理。","在flutter最初的版本中,命名路由是不能传递参数的,后来才支持了参数;下面展示命名路由如何传递并获取路由参数:","在flutter框架加载时,flutter会使用本地平台机制绘制启动页。此启动页将持续到flutter渲染应用程序的第一帧时。","在flutter项目的根目录中,导航到.../android/app/src/main/res目录,里面包含了各种资源文件夹(如mipmap","在flutter项目的根目录中,导航到.../ios/runner。该目录中assets.xcassets/appicon.appiconset已经包含占位符图片(见图2","在hello/ios/hello.podspec:","在itembuilder中,如果显示到最后一个时,判断是否需要继续获取数据,然后返回一个icon。","在javascript中调用原生api","在java和object","在java目录下打开","在kotlin目录中打开mainactivity.kt。","在lib根目录下的“shelf.dart”中,导出了多个“lib/src”目录下的dart文件:","在macos上搭建flutter开发环境","在masos下可以同时进行android和ios设备的测试。","在pubspec.yaml中的flutter部分添加如下内容:","在pubspec.yaml的assets部分中指定asset路径时,构建过程中,会在相邻子目录中查找具有相同名称的任何文件。这些文件随后会与指定的asset一起被包含在asset","在renderbox","在renderparagraph中基于它的内容来决定其大小。","在runner","在state对象从树中一个位置移除后(会调用deactivate)又重新插入到树的其它位置之后。","在tiproute页中有两种方式可以返回到上一页;第一种方式时直接点击导航栏返回箭头,第二种方式是点击页面中的”返回“按钮。这两种返回方式的区别是前者不会返回数据给上一个路由,而后者会。下面是分别点击页面中的返回按钮和导航栏返回箭头后,routertestroute页中print方法在控制台输出的内容:","在widget","在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”的条目:","在一些非大陆行货渠道买的一些android和ios设备,会出现默认的locale不是中文简体的情况。这属于正常现象,但是为了防止设备获取的locale与实际的地区不一致,所有的支持多语言的app都必须提供一个手动选择语言的入口。","在一次绘制过程中,这三个回调队列会放在不同时机被执行:","在上一节中我们讲过通过stack和positioned,我们可以指定一个或多个子元素相对于父元素各个边的精确偏移,并且可以重叠。但如果我们只想简单的调整一个子元素在父元素中的位置的话,使用align组件会更简单一些。","在上一节我们说过每个element都对应一个renderobject,我们可以通过element.renderobject","在上面的代码中:","在上面的例子中,text的所有文本内容只能按同一种样式,如果我们需要对一个text内容的不同部分按照不同的样式显示,这时就可以使用textspan,它代表文本的一个“片段”。我们看看textspan的定义:","在下面tapboxc示例中,手指按下时,盒子的周围会出现一个深绿色的边框,抬起时,边框消失。点击完成后,盒子的颜色改变。","在下面的例子中,我们通过对几个text组件的定位来演示stack和positioned的特性:","在之前介绍statefulwidget时,我们提到state对象有一个didchangedependencies回调,它会在“依赖”发生变化时被flutt","在之前我们已经介绍过dart语言的相关特性,读者可以翻看一下,如果读者已经熟悉dart语法,可以跳过本节,如果你还不了解dart,也不用担心,按照笔者经验,如果你有过其他编程语言经验(尤其是java和javascript)的话会非常容易上手dart。当然,如果你是ios开发者,也不用担心,dart中也有一些与swift比较相似的特性,如命名参数等,笔者当时学习dart时,只是花了一个小时,看完dart官网的languag","在之前的章节中,我们已经简单介绍过statelesswidget,statelesswidget相对比较简单,它继承自widget类,重写了createelement()方法:","在事件循环中,当某个任务发生异常并没有被捕获时,程序并不会退出,而直接导致的结果是当前任务的后续代码就不会被执行了,也就是说一个任务中的异常是不会影响其它任务执行的。","在介绍flutter异常捕获之前必须先了解一下dart单线程模型,只有了解了dart的代码执行流程,我们才能知道该在什么地方去捕获异常。","在介绍row和colum时,如果子widget超出屏幕范围,则会报溢出错误,如:","在介绍主题前我们先了解一些flutter中的color类。color类中颜色以一个int值保存,我们知道显示器颜色是由红、绿、蓝三基色组成,每种颜色站8比特,存储结构如下:","在以下示例中,tapboxb通过回调将其状态导出到其父组件,状态由父组件管理,因此它的父组件为statefulwidget。但是由于tapboxb不管理任何状态,所以tapboxb为statelesswidget。","在任何系统的ui框架中,动画实现的原理都是相同的,即:在一段时间内,快速地多次改变ui外观;由于人眼会产生视觉暂留,所以最终看到的就是一个“连续”的动画,这和电影的原理是一样的。我们将ui的一次改变称为一个动画帧,对应一次屏幕刷新,而决定动画流畅度的一个重要指标就是帧率fps(fram","在你flutter项目目录中通过","在你的mac上,通过","在全球,随着flutter被越来越多的知名公司应用在自己的商业app中,flutter这门新技术也逐渐进入了移动开发者的视野,尤其是当google在2018年io大会上发布了第一个preview版本后,国内刮起来一股学习flutter的热潮。","在前几节中,我们介绍了flutter中常用的可滚动组件,也说过可以用scrollcontroller来控制可滚动组件的滚动位置,本节先介绍一下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文件,以确保其内容的完整性和正确性。然后,运行","在可滚动组件的坐标描述中,通常将滚动方向称为主轴,非滚动方向称为纵轴。由于可滚动组件的默认方向一般都是沿垂直方向,所以默认情况下主轴就是指垂直方向,水平方向同理。","在后面,我们又介绍了align组件和stack/positioned、center的关系,读者可以对比理解。","在命令行运行","在图片下载完成后调用了paintingbinding.instance.instantiateimagecodec(bytes)对图片进行解码,值得注意的是instantiateimagecodec(...)也是一个n","在大型复杂应用中,尤其是需要全局共享的状态非常多时,使用provider将会大大简化我们的代码逻辑,降低出错的概率,提高开发效率。","在大型应用程序中,不同模块或package可能会与自己的本地化值捆绑在一起。","在字体文件中,每一个字符都对应一个位码,而每一个位码对应一个显示字形,不同的字体就是指字形不同,即字符对应的字形是不同的。而在iconfont中,只是将位码对应的字形做成了图标,所以不同的字符最终就会渲染成不同的图标。","在实战中,后台接口往往会返回一些结构化数据,如json、xml等,如之前我们请求github","在实际开发中,当我们发现已经使用sizedbox或constrainedbox给子元素指定了宽高,但是仍然没有效果时,几乎可以断定:已经有父元素已经设置了限制!举个例子,如material组件库中的appbar(导航栏)的右侧菜单中,我们使用sizedbox指定了loading按钮的大小,代码如下:","在客户端,methodchannel","在宿主平台上,methodchannel","在工具栏中点击","在工程根目录下创建一个images目录,并将图片avatar.png拷贝到该目录。","在布局阶段,父节点会调用子节点的layout()方法,下面我们看看renderobject中layout()方法的大致实现(删掉了一些无关代码和异常捕获):","在开发实现materi","在很多布局系统中都有viewport的概念,在flutter中,术语viewport(视口),如无特别说明,则是指一个widget的实际显示区域。例如,一个listview的显示区域高度是800像素,虽然其列表项总高度可能远远超过800像素,但是其viewport仍然是800像素。","在您的项目根文件夹中运行","在我们使用websocket后,要关闭连接:","在打开路由时传递参数","在按下时添加绿色边框,当抬起时,取消高亮","在接下来例子中,我们将连接到由websocket.org提供的测试服务器。服务器将简单地返回我们发送给它的相同消息!","在接下来的小节中,我们先详细介绍一下element、renderobject,它们是组成flutt","在接下来的章节中我们逐个来看看这三类框架的原理及优缺点。","在接收到滚动事件时,参数类型为scrollnotification,它包括一个metrics属性,它的类型是scrollmetrics,该属性包含当前viewport及滚动位置等信息:","在搜索框输入","在本书中经常会出现“树“的概念,在不同的场景可能指不同的意思,在说“widget树”时它可以指widget结构树,但由于widget与element有对应关系(一可能对多),在有些场景(flutter的sdk文档中)也代指“ui树”的意思。而在st","在本书前面章节已经介绍过imag","在本书的前面章节中,我们多次提到\"ui系统\"这个概念,本书中所指的ui系统特指:基于一个平台,在此平台上实现gui的一个系统,这里的平台特指操作系统,如android、ios或者windows、macos。我们说过各个平台ui系统的原理是相通的,也就是说无论是android还是ios,他们将一个用户界面展示到屏幕的流程是相似的,所以,在介绍flutt","在本实例中,我们只用到了登录接口和获取用户项目的接口,所以在git类中只定义了login(…)和getrepos(…)方法,如果读者要在本实例的基础上扩充功能,读者可以将其它的接口请求方法添加到git类中,这样便实现了网络请求接口在代码层面的集中管理和维护。","在本示例中,我们在异步任务中抛出了一个异常,then的回调函数将不会被执行,取而代之的是","在本示例中,是可以朝任意方向拖动的,但是在很多场景,我们只需要沿一个方向来拖动,如一个垂直方向的列表,gesturedetector可以只识别特定方向的手势事件,我们将上面的例子改为只能沿垂直方向拖动:","在本章中,为了让读者对布局类widget有个快速的认识,所以我们并不会深入到renderobject的细节中去。在学习本章时,读者的重点是掌握不同布局组件的布局特点,具体原理和细节等我们对flutter整体入门后,感兴趣的话再去研究。","在本章接下来的小节中,我们将通过一些实例来详细介绍自定义ui的过程,由于后两种方法本质是相同的,并且flutter中很多基础组件都是通过renderobject的形式来实现的,所以后续我们只介绍custompaint和canvas的方式,读者如果对自定义renderobject的方法好奇,可以查看flutter中相关基础组件对应的renderobject的实现源码,如renderparagraph或renderimage。","在本篇中,我们看看最后一种跨平台技术:自绘ui+原生。这种技术的思路是,通过在不同平台实现一个统一接口的渲染引擎来绘制ui,而不依赖系统原生控件,所以可以做到不同平台ui的一致性。注意,自绘引擎解决的是ui的跨平台问题,如果涉及其它系统能力调用,依然要涉及原生开发。这种平台技术的优点如下:","在构建materialapp时,我们配置了app支持的语言列表,以及监听了系统语言改变事件;另外materialapp消费(依赖)了thememodel和localemodel,所以当app主题或语言改变时materialapp会重新构建","在构建期间,flutter将asset放置到称为","在构建项目拥有者头像时调用了gmavatar(…)方法,该方法是是一个全局工具函数,专门用于获取头像图片,实现如下:","在某些情况下,动画值可能会超出animationcontroller的[0.0,1.0]的范围,这取决于具体的曲线。例如,fling()函数可以根据我们手指滑动(甩出)的速度(velocity)、力量(force)等来模拟一个手指甩出动画,因此它的动画值可以在[0.0,1.0]范围之外","在此笔者不对这些包做推荐,读者有兴趣都可以研究一下,了解它们各自的思想。","在此,一定要确保global.init()方法不能抛出异常,否则","在移动互联网发展初期,业务场景并不复杂,原生开发还可以应对产品需求迭代。","在移动端,各个平台或ui系统的原始指针事件模型基本都是一致,即:一次完整的事件分为三个阶段:手指按下、手指移动、和手指抬起,而更高级别的手势(如点击、双击、拖动等)都是基于这些原始事件的。","在笔者深入的了解flutter后,深知flutter必将是一个会改变移动开发格局的里程碑级作品,它从设计之初就对性能和开发效率兼顾,并且借鉴了react(一个web开发框架)的响应式的ui框架设计思想等,总之,很难用一两句话说完flutter的优点,同时我也很快成为了flutter的路转粉。","在笔者看来,dart的设计目标应该是同时借鉴了java和javascript。dart在静态语法方面和java非常相似,如类型定义、函数声明、泛型等,而在动态特性方面又和javascript很像,如函数式特性、异步支持等。除了融合java和javascript语言之所长之外,dart也具有一些其它具有表现力的语法,如可选命名参数、..(级联运算符)和?.(条件成员访问运算符)以及??(判空赋值运算符)。其实,对编程语言了解比较多的读者会发现,在dart中其实看到的不仅有java和javascript的影子,它还具有其它编程语言中的身影,如命名参数在object","在终端中运行:","在终端中运行:flutter","在给","在网络请求过程中可能会需要使用当前的context信息,比如在请求失败时","在设备像素比率为1.8的设备上,.../2.0x/my_icon.png","在请求阶段弹出load","在调用didchangedependencies()之后。","在调用didupdatewidget()之后。","在调用initstate()之后。","在调用setstate()之后。","在调试模式下需要抓包调试,所以我们使用代理,并禁用https证书校验","在路由页通过routesetting对象获取路由参数:","在软件开放,很多时候有一些公共的库或sdk可能会被很多项目用到,因此,将这些代码单独抽到一个独立模块,然后哪个项目需要使用时再直接集成这个模块,便可大大提高开发效率。很多编程语言或开发工具都支持这种“模块共享”机制,如java语言中这种独立模块会被打成一个jar包,android中的aar包,web开发中的npm包等。为了方便表述,我们将这种可共享的独立模块统一称为“包”(","在较新的android系统中,用户可以设置一个语言列表,这样一来,支持多语言的应用就会得到这个列表,应用通常的处理方式就是按照列表的顺序依次尝试加载相应的locale,如果某一种语言加载成功则会停止。图13","在输入时,android","在运行应用程序前,请运行flutter","在这个示例中,主要dart代码是在","在这种情况下,一个单一的gesturedetector被列出,并且监听“tap”手势(“tap”是tapgesturedetector的tostringshort函数输出的)","在这种情况下,每个逻辑像素代表3.5个设备像素。","在这种情况下,由于应用程序本地定义了字体,所以在创建textstyle时可以不指定package参数:","在选择匹配当前设备分辨率的图片时,flutter会使用到asset变体(见下文),将来,flutter可能会将这种机制扩展到本地化、阅读提示等方面。","在项目中设置json_serializ","在项目目录中,您应用程序的代码位于","基于aot的发布包:","基于jit的快速开发周期:flutter在开发阶段采用,采用jit模式,这样就避免了每次改动都要进行编译,极大的节省了开发时间;","基于sliver的延迟构建","基于widgetsapp的应用程序类似,只是不需要globalmateriallocalizations.delegate。","基于以上三点,相信读者和笔者一样,flutter未来如何,心中自有定论。到现在为止,我们已经对移动端开发技术有了一个全面的了解,接下来我们便要进入本书的主题,你准备好了吗!","基于此四点,尽管qt是移动端开发跨平台自绘引擎的先驱,但却成为了烈士。","基于此,我们可以设计一个简单的多线程的文件分块下载器,实现的思路是:","基础widget","基础版本","基础组件","堆叠,","填充(padding)","声明","声明分辨率相关的图片","声明文本样式","处于迭代中,功能会逐渐完善,所以建议读者直接使用该包(而不是手动复制上面的代码)。","处理包的相互依赖","处理抬起事件","处理按下事件","复写父类的方法,主要是设置诊断树的一些特性。","复杂的json对象往往会出现嵌套,我们可以通过一个特殊标志来手动指定嵌套的对象(后面举例)。","复选框选中状态","外部存储目录:可以使用getexternalstoragedirectory()来获取外部存储目录,如sd卡;由于ios不支持外部目录,所以在ios下调用该方法会抛出unsupportederror异常,而在android下结果是android","多行文本,需和maxlines配合使用(设为null或大于1)","多语言和多主题","多语言支持我们使用第十三章”国际化“中介绍的方案,所以还需要在根目录下创建一个\"i10n\"文件夹,用于保存各国语言对应的arb文件。","多重限制","大会上,flutter","大会上,googl","大多数应用程序都是通过materialapp为入口,但根据低级别的widgetsapp类为入口编写的应用程序也可以使用相同的类和逻辑进行国际化。materialapp实际上也是widgetsapp的一个包装。","头像","头部sliverappbar:sliverappbar对应appbar,两者不同之处在于sliverappbar可以集成到customscrollview。sliverappbar可以结合flexiblespacebar实`materi","好","如","如,","如web开发中的色值通常是一个字符串如\"#dc380d\",它是一个rgb值,我们可以通过下面这些方法将其转为color类:","如之前所述,原生开发可以访问平台所有功能,而混合开发中,h5代码是运行在webview中,而webview实质上就是一个浏览器内核,其javascript依然运行在一个权限受限的沙箱中,所以对于大多数系统能力都没有访问权限,如无法访问文件系统、不能使用蓝牙等。所以,对于h5不能实现的功能,都需要原生去做。而混合框架一般都会在原生代码中预先实现一些访问系统能力的api,","如何为英语系的国家指定同一个local","如何决定使用哪种管理方法?下面是官方给出的一些原则可以帮助你做决定:","如何学习flutter","如何对应用标题进行国际化","如何将颜色字符串转成color对象","如何获取平台信息","如何设置isrepaintboundary属性呢?其实,如果使用了repaintboundary,其对应的renderrepaintboundary会自动将isrepaintboundary设为true的:","如果1、2验证都失败了,如果用户提供了badcertificatecallback回调,则会调用它,如果回调返回true,则允许继续链接,如果返回false,则终止链接。","如果behavior值改为hittestbehavior.opaque,则只会打印\"down1\"。","如果custompaint有子节点,为了避免子节点不必要的重绘并提高性能,通常情况下都会将子节点包裹在repaintboundary组件中,这样会在绘制时就会创建一个新的绘制层(layer),其子组件将在新的layer上绘制,而父组件将在原来layer上绘制,也就是说repaintboundari","如果dom只是外观风格发生变化,如颜色变化,会导致浏览器重绘界面。","如果dom树的结构发生变化,如尺寸、布局、节点隐藏等导致,浏览器就需要回流(及重新排版布局)。","如果element要重新插入到element树的其它位置,如element或element的祖先拥有一个globalkey(用于全局复用元素),那么framework会先将element从现有位置移除,然后再调用其activate方法,并将其renderobject重新attach到渲染树。","如果json文件名以下划线“_”开始,则忽略此json文件。","如果row里面嵌套row,或者column里面再嵌套column,那么只有对最外面的row或column会占用尽可能大的空间,里面row或column所占用的空间为实际大小,下面以column为例说明:","如果some_package声明了上面的依赖关系,other_package声明了url_launcher版本像’0.4.5’或’^0.4.0’,pub将能够自动解决问题。","如果xcode中的自动签名失败,请验证项目的","如果一切正常,","如果不是列表,则只删除uri相同的缓存","如果不足32位","如果不足64位","如果两端为圆角,则需要对起始位置进行调整,否则圆角部分会偏离起始位置","如果为true,则本次请求不使用缓存,但新的请求结果依然会被缓存","如果代码中有大量异步逻辑,并且出现大量异步任务依赖其它异步任务的结果时,必然会出现future.then回调中套回调情况。举个例子,比如现在有个需求场景是用户先登录,登录成功后会获得用户id,然后通过用户id,再去请求用户个人信息,获取到用户个人信息后,为了使用方便,我们需要将其缓存在本地文件系统,代码如下:","如果你一次输出太多,那么android有时会丢弃一些日志行。为了避免这种情况,您可以使用flutter的foundation库中的debugprint()。","如果你使用intellij的flutter插件,那么分析器在打开ide时就已经自动启用了,如果读者使用的是其它ide,强烈建议读者启用dart","如果你使用不同的文件名,那您还必须更新同一目录中的contents.json文件,图片的具体尺寸可以查看苹果官方的标准。","如果你使用终端是zsh,终端启动时","如果你想在windows系统自带命令行(而不是)运行flutter命令,需要添加以下环境变量到用户path:","如果你遇到包发布失败的情况,先检查是否因为众所周知的网络原因,如果是网络问题,可以使用vpn,这里需要注意的是一些代理只会代理部分app的网络请求,如浏览器的,它们可能并不能代理dart的网络请求,所以在这种情况下,即使开了代理也依然无法连接到pub,因此,在发布pub包时使用全局代理或全局vpn会保险些。如果网络没有问题,以管理员权限(sudo)运行发布命令重试。","如果冲突的依赖不是一个包,而是一个特定于android的库,比如guava,那么必须将依赖重写声明添加到gradle构建逻辑中。","如果发送的数据是formdata,则dio会将请求header的contenttype设为“multipart/form","如果图中超过这三条线之一,那么您的运行频率低于60hz。横轴代表帧。","如果在package包内部使用它自己定义的字体,也应该在创建文本样式时指定package参数,如上例所示。","如果在pubspec.yaml文件中声明了期望的资源,它将会打包到相应的package中。特别是,包本身使用的资源必须在pubspec.yaml中指定。","如果在上例中我们同时监听水平和垂直方向的拖动事件,那么我们斜着拖动时哪个方向会生效?实际上取决于第一次移动时两个轴上的位移分量,哪个轴的大,哪个轴在本次滑动事件竞争中就胜出。实际上flutter中的手势识别引入了一个arena的概念,arena直译为“竞技场”的意思,每一个手势识别器(gesturerecognizer)都是一个“竞争者”(gesturearenamember),当发生滑动事件时,他们都要在“竞技场”去竞争本次事件的处理权,而最终只有一个“竞争者”会胜出(win)。例如,假设有一个listview,它的第一个子组件也是listview,如果现在滑动这个子listview,父listview会动吗?答案是否定的,这时只有子listview会动,因为这时子listview会胜出而获得滑动事件的处理权。","如果在安装过程中遇到问题,可以先去flutter官网查看一下安装方式是否发生变化,或者在网上搜索一下解决方案。","如果子元素未超出当前边界,则绘制子元素","如果已安装git","如果已登录,则显示用户头像;若未登录,则显示默认头像","如果应用程序正在运行,请使用热重载按钮(⚡️图标)","如果异步任务发生错误,我们可以在catcherror中捕获错误,我们将上面示例改为:","如果您从未打算更改一个变量,那么使用","如果您使用observatory进行分析,请确保通过","如果您发现本书中的错误,欢迎点击右上角的”编辑按钮“,提pr。如果您想一起参与本书创作,可以参考《flutter实战》贡献指南。","如果您尝试调试合成图层,例如以确定是否以及在何处添加repaintboundari","如果您尝试调试合成问题,则可以使用debugdumplayertree()。对于上面的例子,它会输出:","如果您尝试调试布局问题,那么widgets层的树可能不够详细。在这种情况下,您可以通过调用debugdumprendertree()转储渲染树。","如果您现在按照size链继续往下查看,您会看到文本的大小是如何影响其按钮的框的宽度的,它们都是根据孩子的尺寸自行调整大小。","如果您编写自己的widget,则可以通过覆盖debugfillproperties()来添加信息。","如果您编写自己的渲染对象,则可以通过覆盖debugfillproperties()将信息添加到转储。","如果您重命名.png文件,则还必须在您androidmanifest.xml的标签的android:icon属性中更新名称。","如果想自定义路由切换动画,可以自己继承pageroute来实现,我们将在后面介绍动画时,实现一个自定义的路由组件。","如果想让flutter使用不同版本的android","如果我们tab页可以滑动切换的话,还需要在滑动过程中更新tabbar指示器的偏移!显然,要手动处理这些是很麻烦的,为此,material库提供了一个tabbarview组件,通过它不仅可以轻松的实现tab页,而且可以非常容易的配合tabbar来实现同步切换和滑动状态同步,示例如下:","如果我们使用flutter","如果我们嫌loading框太宽,想自定义对话框宽度,这时只使用sizedbox或constrainedbox是不行的,原因是showdialog中已经给对话框设置了宽度限制,根据我们在第五章“尺寸限制类容器”一节中所述,我们可以使用unconstrainedbox先抵消showdialog对宽度的限制,然后再使用sizedbox指定宽度,代码如下:","如果我们就是需要嵌套一个listview应该怎么做?这时,我们可以直接使用dialog类,如:","如果我们想剪裁子组件的特定区域,比如,在上面示例的图片中,如果我们只想截取图片中部40×30像素的范围应该怎么做?这时我们可以使用customclipper来自定义剪裁区域,实现代码如下:","如果我们想实现一个背景渐变的圆角按钮,按钮有没有相应的属性呢?答案是否定的,但是,我们可以通过其它方式来实现,我们将在后面\"自定义组件\"一章中实现。","如果我们想让整个300×150的矩形区域都能点击我们可以将behavior设为hittestbehavior.opaque。注意,该属性并不能用于在组件树中拦截(忽略)事件,它只是决定命中测试时的组件大小。","如果我们正在开发一个hello包,它依赖于另一个包,则需要将该依赖包添加到pubspec.yaml文件的dependencies部分。","如果我们正在本地开发一个包,包名为pkg1,我们可以通过下面方式依赖:","如果我们的flutter应用本身依赖某个包,我们需要将所依赖的包添加到depend","如果我们的应用要支持多种语言,那么我们需要“国际化”它。这意味着我们在开发时需要为应用程序支持的每种语言环境设置“本地化”的一些值,如文本和布局。flutter","如果我们直接修改hintcolor,那么下划线和提示文本的颜色都会变。值得高兴的是decoration中可以设置hintstyle,它可以覆盖hintcolor,并且主题中可以通过inputdecorationtheme来设置输入框默认的decoration。所以我们可以通过主题来自定义,代码如下:","如果我们需要将上面代码在现有flutter框架中跑起来,那么还是得提供一个”适配器“widget将homeview结合到现有框架中,下面customhome就相当于”适配器“:","如果接口返回的数量等于'page_size',则认为还有数据,反之则认为最后一页","如果是digest认证,可以创建digest认证凭据:","如果是fork的项目,则此字段表示fork的父项目信息","如果是post或put等可以携带请求体方法,可以通过httpclientrequest对象发送request","如果未在imag","如果某一个状态是不同widget共享的则最好由它们共同的父widget管理。","如果某一个组件有多个父级constrainedbox限制,那么最终会是哪个生效?我们看一个例子:","如果某个特定的arb中缺失某个属性,那么应用将会加载默认的arb文件(intl_messages.arb)中的相应属性,这是intl的托底策略。","如果每个项目都要构建一个上面这样的脚本显然很麻烦,为此,我们将上面脚本和生成模板封装了一个包,已经发布到了pub上,包名为json_model,开发者把该包加入开发依赖后,便可以用一条命令,根据json文件生成dart类。另外json_model","如果没有widget层,单靠element层是否可以搭建起一个可用的ui框架?如果可以应该是什么样子?","如果没有缓存策略,设置默认缓存策略","如果没有缓存,则调用load(t","如果状态是有关界面外观效果的,例如颜色、动画,那么状态最好由widget本身来管理。","如果状态是用户数据,如复选框的选中状态、滑块的位置,则该状态最好由父widget管理。","如果直到根节点也没找到一个layer,那么便需要绘制自身,因为没有其它节点可以绘制根节点。","如果第一步验证失败,但在创建httpclient时,已经通过securitycontext将证书添加到证书信任链中,那么当服务器返回的证书在信任链中的话,则验证通过。","如果系统的语言环境发生变化,widgetsapp将创建一个新的loc","如果给scaffold添加了抽屉菜单,默认情况下scaffold会自动将appbar的leading设置为菜单按钮(如上面截图所示),点击它便可打开抽屉菜单。如果我们想自定义菜单图标,可以手动来设置leading,如:","如果节点有子节点,它除了完成自身绘制逻辑之外,还要调用子节点的绘制方法。我们以renderflex对象为例说明:","如果要将父类状态暴露给子类,那么必须得有一种传递机制,而做这一套传递机制是无意义的,因为父子类之间状态的传递和子类本身逻辑是无关的。","如果要让里面的column占满外部column,可以使用expand","如果设备的locale区域设置发生更改,则loc","如果访问的路由页需要登录,但当前未登录,则直接返回登录页路由,","如果该条目不存在,创建一个新用户变量","如果该条目存在,","如果请求的https证书是可信ca颁发的,并且访问host包含在证书的domain列表中(或者符合通配规则)并且证书未过期,则验证通过。","如果这些命令中的任何一个失败并出现错误,请运行brew","如果通知监听器不为空,并且当前通知类型是该notificationlisten","如果遇到无法通过现有的组件来实现需要的ui时,我们可以通过自绘组件的方式来实现,例如我们需要一个颜色渐变的圆形进度条,而flutter提供的circularprogressindicator并不支持在显示精确进度时对进度条应用渐变色(其valuecolor","如果需要过滤uri,可以手动判断","如果需要,方法调用(消息传递)可以是反向的,即宿主作为客户端调用dart中实现的api。","如果需要,自定义命名策略也很容易。例如,如果我们正在使用的api返回带有snake_case的对象,但我们想在我们的模型中使用lowercamelcase,","如:android","子组件为正方形时剪裁为内贴圆形,为矩形时,剪裁为内贴椭圆","子组件是一个column","子组件的绘制将独立于父组件的绘制,repaintboundary会隔离其子节点和custompaint本身的绘制边界。示例如下:","字体","字体主题,包括标题、body等文字样式","字段,例如:","字符串内容超过一行,text宽度等于屏幕宽度,第二行文本便会居中显示。","存放所有路由页面类","它也没有定义坐标系统(如子节点定位是在笛卡尔坐标中还是极坐标?)和具体的布局协议(是通过宽高还是通过constraint和size?,或者是否由父节点在子节点布局之前或之后设置子节点的大小和位置等)。为此,flutter提供了一个renderbox类,它继承自`renderobject,布局坐标系统采用笛卡尔坐标系,这和android和ios原生坐标系是一致的,都是屏幕的top、left是原点,然后分宽高两个轴,大多数情况下,我们直接使用renderbox就可以了,除非遇到要自定义布局模型或坐标系统的情况,下面我们重点介绍一下renderbox。","它们可以如下方式获取到:","它实际上是一个imageprovider,有些时候你可能期望直接得到一个显示图片的widget,那么你可以使用image.asset()方法,如:","它是一个map,key为路由的名字,是个字符串;value是个builder回调函数,用于生成相应的路由widget。我们在通过路由名字打开新路由时,应用会根据路由名字在路由表中查找到对应的widgetbuilder回调函数,然后调用该回调函数生成路由widget并返回。","它是一个自动化的源代码生成器,可以在开发阶段为我们生成json序列化模板,这样一来,由于序列化代码不再由我们手写和维护,我们将运行时产生json序列化异常的风险降至最低。","它的返回值类型为布尔值,当返回值为true时,阻止冒泡,其父级widget将再也收不到该通知;当返回值为fals","安卓包配置问题","安装","安装android","安装flutter","安装flutter和dart插件","安装flutter插件","安装xcode","安装之后重新运行即可,如图1","安装步骤:","安装目录是“~/code/flutter_dir”,那么代码为:","安装遇到问题?","完成flutter框架初始化时.","完整代码:","完整的例子","完整的示例代码如下:","官网:阅读flutter官网的资源是快速入门的最佳方式,同时官网也是了解最新flutter发展动态的地方,由于目前flutter仍然处于快速发展阶段,所以建议读者还是时不时的去官网看看有没有新的动态。","定义_active:确定盒子的当前颜色的布尔值。","定义_handletap()函数,该函数在点击该盒子时更新_active,并调用setstate()更新ui。","定义一个\"模板的模板\",名为\"template.dart\":","定义一个controller:","定义一个item类,用于表示商品信息:","定义一个保存购物车内商品数据的cartmodel类:","定义一个背景蓝色,两边圆角的按钮。效果如图3","定义一个路由类faderout","定义一个通知类,要继承自notification类;","定义两个变量,用于保存用户名和密码,然后在onchange触发时,各自保存一下输入内容。","定义事件:","定义函数时,使用{param1,","定位到","定位到android","定位到您","定位参考系统不同;stack/positioned定位的的参考系可以是父容器矩形的四个顶点;而align则需要先通过align","定制进度指示器风格样式,可以通过custompaint","实例","实例方法","实例的","实例转化为一个map.","实例:http分块下载","实例:turnbox","实例:圆形渐变进度条","实例:无限加载列表","实现","实现_handletapboxchanged(),当盒子被点击时调用的方法。","实现delegate类","实现downloadchunk:","实现github账号登录、退出登录功能","实现local","实现localizations类","实现packag","实现renderobject","实现testflowdelegate:","实现widget的所有交互式行为。","实现一个全局的事件总线,将语言状态改变对应为一个事件,然后在app中依赖应用语言的组件的initst","实现一个计数器","实现代码如下:","实现代码很简单,不在赘述。唯一需要注意的是我们是通过navigator.of(context).pop(…)方法来关闭对话框的,这和路由返回的方式是一致的,并且都可以返回一个结果数据。现在,对话框我们已经构建好了,那么如何将它弹出来呢?还有对话框返回的数据如何应如何被接收呢?这些问题的答案都在showdialog()方法中。","实现代码省略","实现代码:","实现如下:","实现很简单,直接调用navigator的push方法打开了一个新的对话框路由_dialogroute,然后返回了push的返回值。可以对话框实际上正是通过路由的形式实现的,这也是为什么我们可以使用navigator的pop","实现快速的开发周期,热重载就是无需重启应用程序就能实时加载修改后的代码,并且不会丢失状态。简单的对代码进行更改,然后告诉ide或命令行工具你需要重新加载(点击reload按钮),你就会在你的设备或模拟器上看到更改。","实现的代码大致如下:","实现:","实际上alertdialog和simpledialog都使用了dialog类。由于alertdialog和simpledialog中使用了intrinsicwidth来尝试通过子组件的实际尺寸来调整自身尺寸,这就导致他们的子组件不能是延迟加载模型的组件(如listview、gridview","实际上sizedbox只是constrainedbox的一个定制,上面代码等价于:","实际上本示例只组合了rotationtransition一个组件,它是一个最简的组合类组件示例。另外,如果我们封装的是statefulwidget,那么一定要注意在组件更新时是否需要同步状态。比如我们要封装一个富文本展示组件myrichtext","实际上,flutter中真正代表屏幕上显示元素的类是element,也就是说widget只是描述element的配置数据!有关element的详细介绍我们将在本书后面的高级部分深入介绍,现在,读者只需要知道:widget只是ui元素的一个配置数据,并且一个widget可以对应多个element。这是因为同一个widget对象可以被添加到ui树的不同部分,而真正渲染时,ui树的每一个element节点都会对应一个widget对象。总结一下:","实际上,row和column都只会在主轴方向占用尽可能大的空间,而纵轴的长度则取决于他们最大子元素的长度。如果我们想让本例中的两个文本控件在整个手机屏幕中间对齐,我们有两种方法:","实际上,showdialog方法正是showgeneraldialog的一个封装,定制了material风格对话框的遮罩颜色和动画。material风格对话框打开/关闭动画是一个fade(渐隐渐显)动画,如果我们想使用一个缩放动画就可以通过transitionbuilder来自定义。下面我们自己封装一个showcustomdialog方法,它定制的对话框动画为缩放动画,并同时制定遮罩颜色为colors.black87:","实际上,这种方法本质上就是子组件通知父组件(statefulwidget)重新build子组件本身来实现ui更新的,读者可以对比代码理解。实际上statefulbuilder正是flutt","实际业务中,在正式向服务器提交数据前,都会对各个输入框数据进行合法性校验,但是对每一个textfield都分别进行校验将会是一件很麻烦的事。还有,如果用户想清除一组textfield的内容,除了一个一个清除有没有什么更好的办法呢?为此,flutter提供了一个form","实际偏移","实际开发中,我们经常会遇到切换ui元素的场景,比如tab切换、路由切换。为了增强用户体验,通常在切换时都会指定一个动画,以使切换过程显得平滑。flutt","实际运行效果如图4","实际运行结果如图4","客户端发送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位”。","对app当前语言进行高亮显示","对view的抽象也是一样的,他们都将操作系统api抽象成一个基础对象(如用于2d图形绘制的canvas),然后再定义一套规则来描述ui,如ui树结构,ui操作的单线程原则等。","对下载的图片数据进行解码。","对于android,当打开新页面时,新的页面会从屏幕底部滑动到屏幕顶部;当关闭页面时,当前页面会从屏幕顶部滑动到屏幕底部后消失,同时上一个页面会显示到屏幕上。","对于buildcontext读者现在可以先作了解,随着本书后面内容的展开,也会用到context的一些方法,读者可以通过具体的场景对其有个直观的认识。关于buildcontext更多的内容,我们也将在后面高级部分再深入介绍。","对于get请求我们可以将query参数通过对象来传递,上面的代码等同于:","对于ios,当打开页面时,新的页面会从屏幕右侧边缘一致滑动到屏幕左边,直到新页面全部显示到屏幕上,而上一个页面则会从当前屏幕滑动到屏幕左侧而消失;当关闭页面时,正好相反,当前页面会从屏幕右侧滑出,同时上一个页面会从屏幕左侧滑入。","对于一些复杂或不规则的ui,我们可能无法通过组合其它组件的方式来实现,比如我们需要一个正六边形、一个渐变的圆形进度条、一个棋盘等。当然,有时候我们可以使用图片来实现,但在一些需要动态交互的场景静态图片也是实现不了的,比如要实现一个手写输入面板,这时,我们就需要来自己绘制ui外观。","对于一些组件来说,混合管理的方式会非常有用。在这种情况下,组件自身管理一些内部状态,而父组件管理一些其他外部状态。","对于上面的例子,它会输出:","对于只包含一个表达式的函数,可以使用简写语法","对于大多数情况,当您想要使用最新版本的xcode时,这是正确的路径。如果您需要使用不同的版本,请指定相应路径。","对于所有终端会话永久修改此变量的步骤是和特定计算机系统相关的。通常,您会在打开新窗口时将设置环境变量的命令添加到执行的文件中。例如","对于接下来的示例,希望读者可以跟着笔者一起亲自动手来写一下,这样不仅可以加深印象,而且也会对介绍的概念与技术有一个真切的体会。如果你还不是很熟悉dart语言或者没有移动开发经验,不用担心,只要你熟悉面向对象和基本编程概念(如变量、循环和条件控制),则可以完成本示例。","对于父widget来说,管理状态并告诉其子widget何时更新通常是比较好的方式。","对于纯dart包,只需在主lib/.dart文件内或lib目录中的文件中添加功能即可","对于线性布局,有主轴和纵轴之分,如果布局是沿水平方向,那么主轴就是指水平方向,而纵轴即垂直方向;如果布局沿垂直方向,那么主轴就是指垂直方向,而纵轴就是水平方向。在线性布局中,有两个定义对齐方式的枚举类mainaxisalignment和crossaxisalignment,分别代表主轴对齐和纵轴对齐。","对于自签名的证书,我们也可以将其添加到本地证书信任链中,这样证书验证时就会自动通过,而不会再走到badcertificatecallback回调中:","对于问题1,答案当然是肯定的,因为我们之前说过widget树只是element树的映射,我们完全可以直接通过element来搭建一个ui框架。下面举一个例子:","对于问题2,答案当然也是肯定的,flutter","对前面章节所学内容的一个应用及总结。","对图片数据进行解码","对应事件的订阅者队列","对应的element","对应请求头中的content","对应请求头中的keep","对应请求头中的user","对新child,绑定的动画会正向指向(forward)","对旧child,绑定的动画会反向执行(reverse)","对此方法做了优化,使重新执行变的很快,所以你可以重新构建任何需要更新的东西,而无需分别去修改各个widget。","对话框ui的build","对话框内容组件","对话框外形","对话框实现原理","对话框打开/关闭的动画","对话框打开/关闭的动画时长","对话框打开动画及遮罩","对话框操作按钮组","对话框本质上也是ui布局,通常一个对话框会包含标题、内容,以及一些操作按钮,为此,material库中提提供了一些现成的对话框组件来用于快速的构建出一个完整的对话框。","对话框状态管理","对话框的阴影","对话框背景色","对话框详解","对象:","对象加载:每个flutter应用程序都有一个rootbundle对象,","对象并不相同;另外statefulwidget类中添加了一个新的接口createstate()。","对象:","对齐与相对定位(align)","对齐方式(来自widget如center和align)显示为黄色箭头.","导入包","导入包。","导入字体图标文件;这一步和导入字体文件相同,假设我们的字体图标文件保存在项目根目录下,路径为\"fonts/iconfont.ttf\":","导入并创建dio实例:","导航栏右侧菜单","导航栏右边有一个分享按钮","导航栏底部菜单,通常为tab按钮组","导航栏阴影","导航返回拦截","导航返回拦截(willpopscope)","封装网络请求","将","将`repo.id`作为repoitem的默认key","将column的宽度指定为屏幕宽度;这很简单,我们可以通过constrainedbox或sizedbox(我们将在后面章节中专门介绍着两个widget)来强制更改宽度限制,例如:","将diagnosticsproperty对象作为方法参数,并调用父类方法。","将diagnosticsproperty对象作为方法的参数,并调用父类方法。","将flutter添加到path中,可以在任何终端会话中运行flutter命令。","将json字符串转为list/map的方法比较简单,它没有外部依赖或其它的设置,对于小项目很方便。但当项目变大时,这种手动编写序列化逻辑可能变得难以管理且容易出错,例如有如下json:","将materi","将minwidth设为double.infinity,可以使宽度占用尽可能多的空间。","将“english_words”(3.1.3版本)添加到依赖项列表,如下:","将不会被加载,解决办法就是修改","将不能再被调用。","将以下新方法添加到appdelegate.swift底部:","将其替换为所需的资源,并遵守每种屏幕密度(dpi)的建议图标大小标准。","将原生api通过webview注册到jsbridge中","将在我们运行生成命令后自动生成","将子组件剪裁为圆角矩形","将字符串","将安装包zip解压到你想安装flutt","将数据发送到服务器","将数据发送到服务器。","将栈顶路由出栈,result为页面关闭时返回给上一个页面的数据。","将点击次数以字符串类型写到文件中","将给定的路由入栈(即打开新的页面),返回值是一个future对象,用以接收新路由出栈(即关闭)时的返回数据。","将虚拟dom布局信息传递给原生;","将被选择。对于2.7的设备像素比率,.../3.0x/my_icon.png将被选择。","将选中状态返回","将需要绘制的比特数据发给gpu","小结","小节","就可以确定了,即该节点的大小与它自身的属性和其子节点无关,比如如果一个控件永远充满","尺寸限制类容器","尺寸限制类容器用于限制容器大小,flutter中提供了多种这样的容器,如constrainedbox、sizedbox、unconstrainedbox、aspectratio等,本节将介绍一些常用的。","尽可能的利用好shouldrepaint返回值;在ui树重新build时,控件在绘制前都会先调用该方法以确定是否有必要重绘;假如我们绘制的ui不依赖外部状态,那么就应该始终返回false,因为外部状态改变导致重新build时不会影响我们的ui外观;如果绘制依赖外部状态,那么我们就应该在shouldrepaint中判断依赖的状态是否改变,如果已改变则应返回true来重绘,反之则应返回false不需要重绘。","尽管还有其他库可用,但在本书中,我们介绍一下官方推荐的json_serializ","层","层叠布局","层叠布局stack、posit","层叠布局和web中的绝对定位、android中的frame布局是相似的,子组件可以根据距父容器四个角的位置来确定自身的位置。绝对定位允许子组件堆叠起来(按照代码中声明的顺序)。flutter中使用stack和positioned这两个组件来配合实现绝对定位。stack允许子组件堆叠,而positioned用于根据stack的四个角来确定子组件的位置。","展示应用第一帧时.","属性","属性为crossaxisalignment.center,那么子项在column纵轴方向(此时为水平方向)会居中对齐。注意,在水平方向对齐是有边界的,总宽度为column占用空间的实际宽度,而实际的宽度取决于子项中宽度最大的widget。在本例中,column有两个子widget,而显示“world”的text宽度最大,所以column的实际宽度则为text(\"world\")","属性及外观","属性只支持执行旋转动画时变化indicator的颜色),这时最好的方法就是通过自定义组件来绘制出我们期望的外观。我们可以通过flutter中提供的custompaint和canvas来实现ui自绘。","嵌套json","工作原理","工具:","工具来为package生成文档,开发者需要做的就是遵守文档注释语法在代码中添加文档注释,最后使用dartdoc可以直接生成api文档(一个静态网站)。文档注释是使用三斜线\"///\"开始,如:","工具版本。","工欲善其事必先利其器,本节首先会分别介绍一下在windows和macos下flutt","已经创建过了,则将根element","布局","布局消息传递;","布局类widgets简介","布局类widget一般都需要接收一个widget数组(children),他们直接或间接继承自(或包含)multichildrenderobjectwidget","布局类widget是按照一定的排列方式来对其子widget进行排列;而容器类widget一般只是包装其子widget,对其添加一些修饰(补白或背景色等)、变换(旋转或剪裁等)、或限制(大小等)。","布局类组件就是指直接或间接继承(包含)multichildrenderobjectwidget的widget,它们一般都会有一个children属性用于接收子widget。我们看一下继承关系","布局类组件简介","布局类组件都会包含一个或多个子组件,不同的布局类组件对子组件排版(layout)方式不同。我们在前面说过element树才是最终的绘制树,element树是通过widget树来创建的(通过widget.createelement()),嗯widget其实就是element的配置数据。在flutter中,根据widget是否需要包含子节点将widget分为了三类,分别对应三种element,如下表:","布局过程","布局限制类容器constrainedbox、sizebox","带\"*\"号的分支即你本地的flutter","带图标的按钮","带领读者了解如何使用flutter来开发一个完整app,了解flutter应用开发流程及工程结构等。","常用于会多次读取数据的异步任务场景,如网络内容下载、文件读写等。举个例子:","常见配置问题","常规>设备管理","平台依赖、sdk版本等,而且它也是flutter开发推荐的ide之一(当然,你也可以使用其它编辑器或ide,我们将会在后面讨论)。","平台特定,开发成本高;不同平台必须维护不同代码,人力成本随之变大;","平台通道","平台通道使用标准消息编/解码器对消息进行编解码,它可以高效的对消息进行二进制序列化与反序列化。由于dart与原生平台之间数据类型有所差异,下面我们列出数据类型之间的映射关系。","平台通道数据类型支持","平台通道消息处理回调","平移","年","并信任您的证书。","并在每次收到消息时通知flutter重新构建界面。","并在那里创建一个。","并将一个widget放在通过new","并没有任何缓存,所以它也都会被重新构建,所以也会调用build()方法。","并混入了很多binding,在介绍这些binding之前我们先介绍一下window,下面是window的官方解释:","并用一个text来显示它们。","并选择","并非是一个widget,","广告:长期招聘前端、移动端高工,有意者请发简历到duwen32767@163.com","库中的按钮都有如下相同点:","库造成的,解决方法如下:","应用中main函数为应用程序的入口。main函数中调用了runapp","应用使用配置信息;没一个用户都应有自己的app配置信息,如主题、语言、以及数据缓存策略等。","应用入口。","应用或包的描述、简介。","应用的flutter部分通过平台通道(platform","应用程序中通常会包含一些贯穿app生命周期的变量信息,这些信息在app大多数地方可能都会被用到,比如当前用户信息、local信息等。在flutter中我们把需要全局共享的信息氛围两类:全局变量和共享状态。全局变量就是单纯指会贯穿整个app生命周期的变量,用于单纯的保存一些信息,或者封装一些全局工具和方法的对象。而共享状态则是指哪些需要跨组件或跨路由共享的信息,这些信息通常也是全局变量,而共享状态和全局变量的不同在于前者者发生改变时需要通知所有使用该状态的组件,而后者不需要。为此,我们将全局变量和共享状态分开单独管理。","应用结构。","应该在didchangedependencies()中做什么?","底下两层(foundation和animation、painting、gestures)在google的一些视频中被合并为一个dart","底部sliverfixedextentlist:它是一个所有子元素高度都为50像素的列表。","底部tab导航栏","底部导航","底部导航栏","底部导航栏打一个圆形的洞","底部菜单列表","建议使用","开发flutter插件","开发packag","开发人员只会关心该框是否处于active状态,而不在乎高亮显示是如何管理的,所以应该让tapbox内部处理这些细节。","开发人员选项","开发平台提供的api,所以我们定义一个git类,专门用于github","开发效率","开发效率低:qt使用c++作为其开发语言,而编程需要效率是直接会影响app开发效率的,c++作为一门静态语言,在ui开发方面灵活性不及javascript这样的动态语言,另外,c++需要开发者手动去管理内存分配,没有javascript及java中垃圾回收(gc)的机制。","开发效率高","开发效率;flutter的热重载可帮助开发者快速地进行测试、构建ui、添加功能并更快地修复错误。在ios和android模拟器或真机上可以实现毫秒级热重载,并且不会丢失状态。这真的很棒,相信我,如果你是一名原生开发者,体验了flutter开发流后,很可能就不想重新回去做原生了,毕竟很少有人不吐槽原生开发的编译速度。","开发者只需关注状态转移(数据),当状态发生变化,react框架会自动根据新的状态重新构建ui。","开发者可以根据实际需求来定制。","开头的任何内容都只能在调试模式下工作。","开始一直向父节点查找,直到找到","开始加速,后面减速","开始快,后面慢","开始慢,后面快","开始慢,然后加速,最后再减速","开始时高度从0增长到300像素,同时颜色由绿色渐变为红色;这个过程占据整个动画时间的60%。","异步ui更新(futurebuilder、streambuilder)","异步任务处于等待状态","异步任务已经终止.","异步支持","引入","引入dio:","引入english_words包。","引入pathprovider插件;在pubspec.yaml文件中添加如下声明:","引导用户登录;其它情况则正常打开路由。","弹出对话框","弹出底部菜单列表模态对话框","弹性布局flex","弹性布局允许子组件按照一定比例来分配父容器空间。弹性布局的概念在其它ui系统中也都存在,如h5中的弹性盒子布局,android中的flexboxlayout等。flutter中的弹性布局主要通过flex和expanded来配合实现。","弹性布局比较简单,唯一需要注意的就是row、column以及flex的关系。","弹性布局(flex)","强制使用","强制使用23.0版本的guava库,在hello/android/build.gradle中:","当animatedswitcher的child发生变化时(类型或key不同),旧child会执行隐藏动画,新child会执行执行显示动画。究竟执行何种动画效果则由transitionbuilder参数决定,该参数接受一个animatedswitchertransitionbuilder类型的builder,定义如下:","当app语言选为跟随系统(auto)时,在系通语言改变时,app语言会更新;当用户在app中选定了具体语言时(美国英语或中文简体),则app便会一直使用用户选定的语言,不会再随系统语言而变。语言状态类定义如下:","当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提供的现有组件无法满足我们的需求,或者我们为了共享代码需要封装一些通用组件,这时我们就需要自定义组件。在flutter中自定义组件有三种方式:通过组合其它组件、自绘和实现renderobject。本节我们先分别介绍一下这三种方式的特点,后面章节中则详细介绍它们的细节。","当layout结束后,每个节点的位置(相对于父节点的偏移)就已经确定了,renderobject就可以根据位置信息来进行最终的绘制。但是在layout过程中,节点的位置信息怎么保存?对于大多数renderbox子类来说如果子类只有一个子节点,那么子节点偏移一般都是offset.zero","当local","当scrollcontroller和可滚动组件关联时,可滚动组件首先会调用scrollcontroller的createscrollposition()方法来创建一个scrollposition来存储滚动位置信息,接着,可滚动组件会调用attach()方法,将创建的scrollposition添加到scrollcontroller的positions属性中,这一步称为“注册位置”,只有注册后animateto()","当text发生改变时,我们调用markneedsbuild()方法将当前element标记为dirty即可,标记为dirty的element会在下一帧中重建。实际上,state.setstate()在内部也是调用的markneedsbuild()方法。","当一个不可变的规则被违反时,它被报告给控制台,并带有一些上下文信息来帮助追踪问题的根源。","当一个路由中包含多个可滚动组件时,如果你发现在进行一些跳转或切换操作后,滚动位置不能正确恢复,这时你可以通过显式指定pagestoragekey来分别跟踪不同的可滚动组件的位置,如:","当使用dart","当创建一个animationcontroller时,需要传递一个vsync参数,它接收一个tickerprovider类型的对象,它的主要职责是创建ticker,定义如下:","当前没有异步任务,比如[futurebuilder]的[future]为null时","当前系统字体缩放比例。","当前系统默认的语言local","当前设备的dpi,即一个逻辑像素显示多少物理像素,数字越大,显示效果就越精细保真。","当前进度,取值范围","当前页号","当可滚动组件销毁时,会调用scrollcontroller的detach()方法,将其scrollposition对象从scrollcontroller的positions属性中移除,这一步称为“注销位置”,注销后animateto()","当同时监听ontap和ondoubletap事件时,当用户触发tap事件时,会有200毫秒左右的延时,这是因为当用户点击完之后很可能会再次点击以触发双击事件,所以gesturedetector会等一段时间来确定是否为双击事件。如果用户只监听了ontap(没有监听ondoubletap)事件时,则没有延时。","当在flutter中调用原生方法时,调用信息通过平台通道传递到原生,原生收到调用信息后方可执行指定的操作,如需返回数据,则原生会将数据再通过平台通道传递给flutter。值得注意的是消息传递是异步的,这确保了用户界面在消息传递时不会被挂起。","当在发送和接收值时,这些值在消息中的序列化和反序列化会自动进行。","当在调试模式设置为true时,它将覆盖这样一个网格。","当它被启用时,所有的盒子都会得到一个明亮的深青色边框,padding(来自widget如padding)显示为浅蓝色,子widget周围有一个深蓝色框,","当应用中需要一些跨组件(包括跨路由)的状态需要同步时,上面介绍的方法便很难胜任了。比如,我们有一个设置页,里面可以设置应用的语言,我们为了让设置实时生效,我们期望在语言状态发生改变时,app中依赖应用语言的组件能够重新build一下,但这些依赖应用语言的组件和设置页并不在一起,所以这种情况用上面的方法很难管理。这时,正确的做法是通过一个全局状态管理器来处理这种相距较远的组件之间的通信。目前主要有两种办法:","当您第一次attach真机设备进行ios开发时,需要同时信任你的mac和该设备上的开发证书。首次将ios设备连接到mac时,请在对话框中选择","当我们更改系统语言设置时,app中的localizations组件会重新构建,localizations.localeof(context)","当我们点击旋转按钮时,两个图标的旋转都会旋转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","当检测到点击时,它会通知父组件。","当点击时,将状态的改变传递给父组件。","当点击盒子并且_active状态改变时调用setstate()更新ui。","当然我们也可以创建自己curve,例如我们定义一个正弦曲线:","当然,parentdata并不仅仅可以用来存储偏移信息,通常所有和子节点特定的数据都可以存储到子节点的parentdata中,如containerbox的parentdata就保存了指向兄弟节点的previoussibling和nextsibling,element.visitchildren()方法也正是通过它们来实现对子节点的遍历。再比如keepal","当状态改变时,调用setstate()更新ui。","当组件内容超过当前显示视口(viewport)时,如果没有特殊处理,flutter则会提示overflow错误。为此,flutter提供了多种可滚动组件(scrol","当绘制区域大小改变回调","当缓存数量超过最大值或缓存的大小超过最大缓存容量,会调用此方法清理到缓存上限以内","当调试布局问题时,关键要看的是size和constraints字段。约束沿着树向下传递,尺寸向上传递。","当需要使用这个package时,我们可以通过\"package:\"指令来指定包的入口文件:","当需要绘制的内容大小溢出当前空间时,将会执行paintoverflowindicator()","很多人可能会问flutter中有没有像java开发中的gson/jackson一样的json序列化类库?答案是没有!因为这样的库需要使用运行时反射,这在flutter中是禁用的。运行时反射会干扰dart的tre","很多时候我们会依赖一些异步数据来动态更新ui,比如在打开一个页面时我们需要先从互联网上获取数据,在获取数据的过程中我们显式一个加载框,等获取到数据时我们再渲染页面;又比如我们想展示stream(比如文件流、互联网数据接收流)的进度。当然,通过statefulwidget我们完全可以实现上述这些功能。但由于在实际开发中依赖异步数据更新ui的这种场景非常常见,因此flutter专门提供了futurebuilder和streambuilder两个组件来快速实现这种功能。","很多时候我们需要给列表添加一个固定表头,比如我们想实现一个商品列表,需要在列表顶部添加一个“商品列表”标题,期望的效果如图6","很多时候,在路由跳转时我们需要带一些参数,比如打开商品详情页时,我们需要带一个商品id,这样商品详情页才知道展示哪个商品信息;又比如我们在填写订单时需要选择收获地址,打开地址选择页后,可以将用户选择的地址返回到订单页等等。下面我们通过一个简单的示例来演示新旧路由如何传参。","很明显了,独立绘制是通过在不同的layer(层)上绘制的。所以,很明显,正确使用isrepaintboundary属性可以提高绘制效率,避免不必要的重绘。具体原理是:和触发重新build和layout类似,renderobject也提供了一个markneedspaint()方法,其源码如下:","很明显,window正是flutt","很明显,由于flex本身没有需要绘制的东西,所以直接遍历其子节点,然后调用paintchild()来绘制子节点,同时将子节点parentdata中在layout阶段保存的offset加上自身偏移作为第二个参数传递给paintchild()。而如果子节点还有子节点时,paintchild()方法还会调用子节点的paint()方法,如此递归完成整个节点树的绘制,最终调用栈为:","很清晰,对于网络图片来说,会将其“url+缩放比例”作为缓存的key。也就是说如果两张图片的url或scale只要有一个不同,便会重新下载并分别缓存。","很简单吧,在上面的代码中,我们主要通过shape来指定其外形为一个圆角矩形。因为按钮背景是蓝色(深色),我们需要指定按钮主题colorbrightness为brightness.dark,这是为了保证按钮文字颜色为浅色。","微信图标","必须指定的参数有两个:","必须显式定义各种事件,不好管理","快应用","快应用是华为、小米、oppo、魅族等国内9大主流手机厂商共同制定的轻量级应用标准,目标直指微信小程序。它也是采用javascript语言开发,原生控件渲染,与react","快应用自身不支持vue或react语法,其采用原生javascript开发,其开发框架和微信小程序很像,值得一提的是小程序目前已经可以使用vue语法开发(mpvue),从原理上来讲,vue的语法也可以移植到快应用上。","快速内存分配","忽略pointerev","怎么样,很炫酷吧!gradientcircularprogressindicator已经被添加进了笔者维护的flukit组件库中了,读者如果有需要,可以直接依赖flukit包。","怎么样,是不是很简单,除了这些基本的用法,dio还支持请求配置、拦截器等,官方资料比较详细,故本书不再赘述,详情可以参考dio主页:https://github.com/flutterchina/dio","怎么样,通过boxdecoration我们实现了一个渐变按钮的外观,但此示例还不是一个标准的按钮,因为它还不能响应点击事件,我们将在后面“自定义组件”一章中实现一个完整功能的gradientbutton。另外,上面的例子中使用了lineargradient类,它用于定义线性渐变的类,flutter中还提供了其它渐变配置类,如radialgradient、sweepgradient,读者若有需要可以自行查看api文档。","思考","思考题:diff操作和dom批量更新难道不应该是浏览器的职责吗?第三方框架中去做合不合适?","思考题:flutter","思考题:为什么build方法的参数不定义成element对象,而要定义成buildcontext","思考题:使用transform对其子组件先进行平移然后再旋转和先旋转再平移,两者最终的效果一样吗?为什么?","思考题:在这个示例中,下划线颜色是固定的,所以获得焦点后颜色仍然为灰色,如何实现点击后下滑线也变色呢?","思考题:对于maxwidth和maxheight,多重限制的策略是什么样的呢?","思考题:既然stream可以接收多次事件,那能不能用stream来实现一个订阅者模式的事件总线?","性能","性能好;flow是一个对子组件尺寸以及位置调整非常高效的控件,flow用转换矩阵在对子组件进行位置调整的时候进行了优化:在flow定位过后,如果子组件的尺寸或者位置发生了变化,在flowdelegate中的paintchildren()方法中调用context.paintchild","性能问题","性能高;由于自绘引擎是直接调用系统api来绘制ui,所以性能和原生控件接近。","总结","总结一下,纯原生开发主要面临动态化和开发成本两个问题,而针对这两个问题,诞生了一些跨平台的动态化框架。","您也可以直接使用gridpaper组件将这种网格覆盖在非material应用程序上","您也可以通过使用","您也可以通过打开xcode完全自定义storyboard。在project","您也可以通过设置debugpaintsizeenabled为true以可视方式调试布局问题。","您可以通过android","您应该在您的设备或模拟器上会看到启动的应用程序:","您现在可以在hello/android/src源码中import","您现在可以在hello/ios/classes源码中","您现在就可以在android上运行该应用程序。如果您使用的是android模拟器,则可以通过工具栏中的\"...\"按钮访问extend","您的应用可以通过assetbundle对象访问其asset","您还可以调用debugdumpsemanticstree()获取语义树(呈现给系统可访问性api的树)的转储。","意为该节点的大小是否仅通过","感谢一直以来支持flutter中文网、flutter开源项目的人以及所有对本书提过pr的人,正是因为有你们,才有这本书。另外尤其感谢给本书打赏过的同学,你们的支持给了我很大的鼓励。","成功了!","我们decoratedbox可以支持背景色渐变和圆角,inkwell在手指按下有涟漪效果,所以我们可以通过组合decoratedbox和inkwell来实现gradientbutton,代码如下:","我们一般很少会使用flow,因为其过于复杂,需要自己实现子widget的位置转换,在很多场景下首先要考虑的是wrap是否满足需求。flow主要用于一些需要自定义布局策略或性能要求较高(如动画中)的场景。flow有如下优点:","我们上面实现的changenotifierprovider是有两个明显缺点:代码组织为题和性能问题,下面我们一一讨论。","我们之前介绍的http协议和websocket协议都属于应用层协议,除了它们,应用层协议还有很多如:smtp、ftp等,这些应用层协议的实现都是通过socket","我们之前已经介绍过rotatedbox,它可以旋转子组件,但是它有两个缺点:一是只能将其子节点以90度的倍数旋转;二是当旋转的角度发生变化时,旋转角度更新过程没有动画。","我们也可以使用自定义字体图标。iconfont.cn上有很多字体图标素材,我们可以选择自己需要的图标打包下载后,会生成一些不同格式的字体文件,在flutter中,我们使用ttf格式即可。","我们也可以在控制台,定位到当前工程目录,然后手动运行flutter","我们也知道,在很多时候我们都需要使用这个context","我们介绍一下scrollcontroller常用的属性和方法:","我们以networkimage为例,看看其load方法的实现:","我们以拖动手势为例,同时识别水平和垂直方向的拖动手势,当用户按下手指时就会触发竞争(水平方向和垂直方向),一旦某个方向“获胜”,则直到当次拖动手势结束都会沿着该方向移动。代码如下:","我们会发现右侧loading按钮大小并没有发生变化!这正是因为appbar中已经指定了actions按钮的限制条件,所以我们要自定义loading按钮大小,就必须通过unconstrainedbox来“去除”父元素的限制,代码如下:","我们使用shared_preferences包来对登录用户的profile信息进行持久化。shared_preferences是一个flutter插件,它通过android和ios平台提供的机制来实现数据持久化。由于shared_preferences的使用非常简单,读者可以自行查看其文档,在此不再赘述。","我们使用美元符“$”作为特殊标志符(如果与内容冲突,可以修改mo.dart中的tag常量,自定义标志符),脚本在遇到特殊标志符后会先把相应字段转为相应的对象或对象数组,对象数组需要在标志符后面添加数组符“[]”,符号后面接具体的类型名,此例中是person。其它类型同理,加入我们给user添加一个person类型的","我们使用返回的结果,在setstate中来更新用户界面状态batterylevel。","我们修改一下上面用户登录的示例,在提交之前校验:","我们先定义一个redbox,它是一个背景颜色为红色的盒子,不指定它的宽度和高度:","我们先来创建一个全新的flutter工程,命名为\"github_client_app\";创建新工程的步骤视读者使用的编辑器而定,都比较简单,在此不再赘述。创建完成后,工程结构如下:","我们先来看一下widget类的声明:","我们先来看一个简单的例子:","我们先来看看最终要实现的效果(图10","我们先注册一个路由:","我们先看一下material风格的日历选择器,如图7","我们先看一下构建显示总价text的代码:","我们先看一个示例,后面再单独讨论一下behavior属性。","我们先看看basic认证的基本过程:","我们先运行创建的工程,效果如图2","我们再看看renderbox默认的hittest()实现:","我们创建一个listview,当滚动位置发生变化时,我们先打印出当前滚动位置,然后判断当前位置是否超过1000像素,如果超过则在屏幕右下角显示一个“返回顶部”的按钮,该按钮点击后可以使listview恢复到初始位置;如果没有超过1000像素,则隐藏“返回顶部”按钮。代码如下:","我们创建一个tiproute路由,它接受一个提示文本参数,负责将传入它的文本显示在页面上,另外tiproute中我们添加一个“返回”按钮,点击后在返回上一个路由的同时会带上一个返回参数,下面我们看一下实现代码。","我们创建一个计时器的示例:每隔1秒,计数加1。这里,我们使用stream来实现每隔一秒生成一个数字:","我们发现onerror是fluttererror的一个静态属性,它有一个默认的处理方法","我们发现在调用rendererbinding.drawframe()方法前会调用","我们发现没有打印\"up\",这是因为在拖动时,刚开始按下手指时在没有移动时,拖动手势还没有完整的语义,此时tapdown手势胜出(win),此时打印\"down\",而拖动时,拖动手势会胜出,当手指抬起时,onhorizontaldragend","我们发现,错误是通过fluttererror.reporterror方法上报的,继续跟踪:","我们可以先想象一下运行效果:将alignment(2,0.0)带入上述坐标转换公式,可以得到flutterlogo的实际偏移坐标为(90,30)。实际运行如图4","我们可以发现linearprogressindicator和circularprogressindicator,并没有提供设置圆形进度条尺寸的参数;如果我们希望linearprogressindicator的现细一些,或者希望circularprogressindicator的圆大一些该怎么做?","我们可以发现使用provider,将会带来如下收益:","我们可以发现这些信息基本都是通过context来获取。","我们可以发现,通过观察者模式来实现跨组件状态共享有一些明显的缺点:","我们可以把对话框分为内部样式和外部样式两部分。内部样式指对话框中显示的具体内容,这部分内容我们已经在上面介绍过了;外部样式包含对话框遮罩样式、打开动画等,本节主要介绍如何自定义这些外部样式。","我们可以看到codec最终的结果是一个或多个(动图)帧,而这些帧最终会绘制到屏幕上。","我们可以看到element是flutt","我们可以看到notificationlistener的onnotification回调最终是在_dispatch方法中执行的,然后会根据返回值来确定是否继续向上冒泡。上面的源码实现其实并不复杂,通过阅读这些源码,一些额外的点读者可以注意一下:","我们可以看到pagebuild","我们可以看到wrap的很多属性在row(包括flex和column)中也有,如direction、crossaxisalignment、textdirection、verticaldirection等,这些参数意义是相同的,我们不再重复介绍,读者可以查阅前面介绍row的部分。读者可以认为wrap和flex(包括row和column)除了超出显示范围后wrap会折行外,其它行为基本相同。下面我们看一下wrap特有的几个属性:","我们可以看到,gridview和listview的大多数参数都是相同的,它们的含义也都相同的,如有疑惑读者可以翻阅listview一节,在此不再赘述。我们唯一需要关注的是griddelegate参数,类型是slivergriddelegate,它的作用是控制gridview子组件如何排列(layout)。","我们可以看到,inheritfromwidgetofexacttype()","我们可以看到,multiframeimagestreamcomplet","我们可以看到,在counterwidget从widget树中移除时,deactive和dispose会依次被调用。","我们可以看到,在绘制子节点时,如果child.isrepaintboundari","我们可以看到,实现hero动画只需要用hero组件将要共享的widget包装起来,并提供一个相同的tag即可,中间的过渡帧都是flutt","我们可以看到,无论是android","我们可以看到:","我们可以通过animation来监听动画每一帧以及执行状态的变化,animation有如下两个方法:","我们可以通过controller.positions.length来确定controller被几个可滚动组件使用。","我们可以通过curvedanimation来指定动画的曲线,如:","我们可以通过element.widget得到element节点对应的widget;我们已经反复讲过widget和element的对应关系,读者通过这些源码来加深理解。","我们可以通过intl.plural(...)来实现:","我们可以通过localeresolutioncallback或localelistresolutioncallback回调来监听locale改变的事件,我们先看看localeresolutioncallback的回调函数签名:","我们可以通过scaffold的bottomnavigationbar属性来设置底部导航,如本节开始示例所示,我们通过material组件库提供的bottomnavigationbar和bottomnavigationbaritem两种组件来实现material风格的底部导航栏。可以看到上面的实现代码非常简单,所以不再赘述,但是如果我们想实现如图5","我们可以通过调用addlistener()和removelistener()来添加、移除监听器(订阅者);通过调用notifylisteners()","我们可以通过调用json.decode方法来解码json","我们在“jsons”目录下创建一个“profile.json”文件,结构如下:","我们在“jsons”目录下创建一个“user.json”文件保存上述信息。","我们在“lib/common”目录下创建一个global类,它主要管理app的全局变量,定义如下:","我们在”lib/routes“下创建一个”home_page.dart“文件,实现如下:","我们在”事件处理与通知“一章中已经讲过flutter事件机制和命中测试流程,本节我们看一下其内部实现原理。","我们在上一节“计数器”示例的基础上,做如下修改:","我们在上面介绍了通知冒泡的现象及使用,现在我们更深入一些,介绍一下flutter框架中是如何实现通知冒泡的。为了搞清楚这个问题,就必须看一下源码,我们从通知分发的的源头出发,然后再顺腾摸瓜。由于通知是通过notification的dispatch(context)方法发出的,那我们先看看dispatch(context)方法中做了什么,下面是相关源码:","我们在前面的章节示例中多次用到过container组件,本节我们就详细介绍一下container组件。container是一个组合类容器,它本身不对应具体的renderobject,它是decoratedbox、constrainedbox、transform、padding、align等组件组合的一个多功能容器,所以我们只需通过一个container组件可以实现同时需要装饰、变换、限制的场景。下面是container的定义:","我们在前面章节的例子中已经使用过center组件来居中子元素了,现在我们正式来介绍一下它。通过查找sdk源码,我们看到center组件定义如下:","我们在用户选择删除一个文件时,会询问是否产出此文件;在用户选择一个文件夹是,应该再让用户确认是否删除子文件夹。为了在用户选择了文件夹时避免二次弹窗确认是否删除子目录,我们在确认对话框底部添加一个“同时删除子目录?”的复选框,如图7","我们在第二章”路由管理“一节中讲过:material组件库中提供了一个materialpageroute组件,它可以使用和平台风格一致的路由切换动画,如在ios上会左右滑动切换,而在android上会上下滑动切换。现在,我们如果在android上也想使用左右切换风格,该怎么做?一个简单的作法是可以直接使用cupertinopageroute,如:","我们在请求头中添加\"range:","我们如何收取消息并显示它们?在这个例子中,我们将使用一个streambuild","我们始终可以通过以下方式来获取应用的当前区域locale:","我们定义一个person.json内容修改为:","我们实现一个最小高度为50,宽度尽可能大的红色容器。","我们实现一个获取百度首页html的例子,示例效果如图11","我们实现一个路由换肤功能:","我们实现一个路由,当该路由打开时我们从网上获取数据,获取数据时弹一个加载框;获取结束时,如果成功则显示获取到的数据,如果失败则显示错误。由于我们还没有介绍在flutter中如何发起网络请求,所以在这里我们不真正去网络请求数据,而是模拟一下这个过程,隔3秒后返回一个字符串:","我们实现一个进度条在3秒内从灰色变成蓝色的动画:","我们实现一个页面,它包含:","我们对六个色块进行自定义流式布局:","我们将fractionaloffset(0.2,","我们将randomwordswidget","我们将上面图片放大的示例改为先放大再缩小再放大……这样的循环动画。要实现这种效果,我们只需要监听动画状态的改变即可,即:在动画正向执行结束时反转动画,在动画反向执行结束时再正向执行动画。代码如下:","我们将上面的例子改为:","我们将在介绍弹性布局时详细介绍expanded。","我们将执行动画的widget分离出来:","我们已经介绍过了showdialog方法,它是material组件库中提供的一个打开material风格对话框的方法。那如何打开一个普通风格的对话框呢(非material风格)?","我们已经在custompaint一节中介绍过repaintboundary,现在我们深入的了解一些。与","我们已经知道imag","我们已经知道localizations类中主要实现提供了本地化值,如文本:","我们已经知道对话框最终都是由showgeneraldialog方法打开的,我们来看看它的具体实现:","我们已经知道,statelesswidget和statefulwidget的build方法都会传一个buildcontext对象:","我们建议在通道名称前加一个唯一的“域名前缀”,例如samples.flutter.io/battery。","我们必须要翻译title和remainingemailsmessage字段,description是该字段的说明,通常给翻译人员看,代码中不会用到。","我们成功的自定义了下划线颜色和提问文字样式,细心的读者可能已经发现,通过这种方式自定义后,输入框在获取焦点时,labeltext不会高亮显示了,正如上图中的\"用户名\"本应该显示蓝色,但现在却显示为灰色,并且我们还是无法定义下划线宽度。另一种灵活的方式是直接隐藏掉textfield本身的下划线,然后通过container去嵌套定义样式,如:","我们按照之前经验,写出如下代码:","我们是通过组合rotationtransition和child来实现的旋转效果。","我们最终的异常捕获和上报代码大致如下:","我们来介绍一下scrollcontroller的另外三个方法:","我们根据\"@@locale\"字段可以看出这个arb对应的是中文简体的翻译,里面的title字段对应的正是我们应用标题的中文简体翻译。@title字段是对title的一些描述信息。","我们注册了命名路由表,以便在app中可以直接通过路由名跳转。","我们添加了一个打开新路由的按钮,并将按钮文字颜色设置为蓝色,点击该按钮后就会打开新的路由页面,效果如图2","我们点击”添加商品“按钮后,由于购物车商品总价会变化,所以显示总价的text更新是符合预期的,但是”添加商品“按钮本身没有变化,是不应该被重新build的。但是我们运行示例,每次点击”添加商品“按钮,控制台都会输出\"raisedbutton","我们的业务代码更关注数据了,只要更新model,则ui会自动更新,而不用在状态改变后再去手动调用setstate()来显式更新页面。","我们的根widget是multiprovider,它将主题、用户、语言三种状态绑定到了应用的根上,如此一来,任何路由中都可以通过provider.of()来获取这些状态,也就是说这三种状态是全局共享的!","我们看一个简单的例子:","我们看到“english_words”包最新的版本是3.1.3,并且支持flutter,接下来:","我们看到默认的实现里调用了hittestself()和hittestchildren()两个方法,这两个方法默认实现如下:","我们看到,load方法的返回值类型是imagestreamcomplet","我们看最后一行,通过addpersistentframecallback","我们看看custompaint构造函数:","我们看看edgeinsets提供的便捷方法:","我们看看imageprovider抽象类的详细定义:","我们看看themedata部分数据定义:","我们看看这些方法分别做了什么:","我们知道,在dart中stream","我们给上例中的stack指定一个fit属性,然后将三个子文本组件的顺序调整一下:","我们要实现的效果如图3","我们说过github有多种登录方式,为了简单起见,我们只实现通过用户名和密码登录。在实现登录页时有四点需要注意:","我们运行应用并打开该路由页面,在新路由页打开后,屏幕中央就会出现一个数字0,然后控制台日志输出:","我们还是以计数器为例,实现在应用退出重启后可以恢复点击次数。","我们通常会直接使用boxdecoration类,它是一个decoration的子类,实现了常用的装饰元素的绘制。","我们通过","我们通过container来实现如图5","我们通过gesturedetector对container进行手势识别,触发相应事件后,在container上显示事件名,为了增大点击区域,将container设置为200×100,代码如下:","我们通过github开放的api来请求flutterchina组织下的所有公开的开源项目,实现:","我们通过纯粹的element来模拟一个statefulwidget的功能,假设有一个页面,该页面有一个按钮,按钮的文本是一个9位数,点击一次按钮,则对9个数随机排一次序,代码如下:","我们通过读取响应流来获取服务器返回的数据,在读取时我们可以设置编码格式,这里是utf8。","我们队一个宽高相同的头像图片应用不同的fit值,效果如图3","我们需要实现一个显示购物车中所有商品总价的功能:","我是返回值","或","或animation。在动画的每一帧中,我们可以通过animation对象的value属性获取动画的当前状态值。","或事件处理器中调用它是最佳解决方案。","或以下命令找到模拟器:","或加微信demon","或更新的版本","或更高版本","或者点击","所以打洞位置在底部导航栏的正中间。","所有动画都由同一个animationcontroller驱动,无论动画需要持续多长时间,控制器的值必须在0.0到1.0之间,而每个动画的间隔(interval)也必须介于0.0和1.0之间。对于在间隔中设置动画的每个属性,需要分别创建一个tween","所有方向均使用相同数值的填充。","所有这些标志只能在调试模式下工作。通常,flutter框架中以“debug...”","所谓”命名路由“(name","所谓线性布局,即指沿水平或垂直方向排布子组件。flutter中通过row和column来实现线性布局,类似于android中的linearlayout控件。row和column都继承自flex,我们将在弹性布局一节中详细介绍flex。","手势冲突","手势冲突只是手势级别的,而手势是对原始指针的语义化的识别,所以在遇到复杂的冲突场景时,都可以通过listener直接识别原始指针事件来解决冲突。","手势竞争与冲突","手势识别","手指在蓝色矩形区域内移动即可看到当前指针偏移,当触发指针事件时,参数pointerdownevent、pointermoveevent、pointerupevent都是pointerevent的一个子类,pointerevent类中包括当前指针的一些信息,如:","手指按下时有涟漪效果","才会被调用,而","打包包中的","打开","打开(或创建)","打开`tiproute`,并等待返回结果","打开http连接,设置请求头:","打开lib/main.dart文件","打开lib/main.dart文件。","打开一个新路由,而打开新路由需要context信息。","打开抽屉菜单","打开插件首选项","打开终端并运行如下这些命令:","打开默认的xcode","执行intl.sh","执行上面代码,4秒后你会在控制台中看到“hello","执行删除操作","执行完后,消息循环机制便启动了。首先会按照先进先出的顺序逐个执行微任务队列中的任务,当所有微任务队列执行完后便开始执行事件队列中的任务,事件任务执行完毕后再去执行微任务,如此循环往复,生生不息。","执行效果如图,点击图9","找到下面这一部分,并加上","技术支持;现在google正在大力推广flutter,flutter的作者中很多人都是来自chromium团队,并且github上活跃度很高。另一个角度,从今年上半年flutter频繁的版本发布也可以看出google对flutter的投入的资源不小,所以在官方技术支持这方面,大可不必担心。","技术类型","抛出一个异常","抽屉菜单","抽屉菜单drawer","抽屉菜单分为两部分:顶部头像和底部功能菜单项。当用户未登录,则抽屉菜单顶部会显示一个默认的灰色占位图,若用户已登录,则会显示用户的头像。抽屉菜单底部有”换肤“和”语言“两个固定菜单,若用户已登录,则会多一个”注销“菜单。用户点击”换肤“和”语言“两个菜单项,会进入相应的设置页面。我们的抽屉菜单效果如图15","抽屉菜单通常将drawer组件作为根节点,它实现了material风格的菜单面板,mediaquery.removepadding可以移除drawer默认的一些留白(比如drawer默认顶部会留和手机状态栏等高的留白),读者可以尝试传递不同的参数来看看实际效果。抽屉菜单页由顶部和底部组成,顶部由用户头像和昵称组成,底部是一个菜单列表,用listview实现,关于listview我们将在后面“可滚动组件”一节详细介绍。","拖入图片,并命名为launchimage.png、launchimage@2x.png、launchimage@3x.png。","拖动、滑动","持久化profile信息","持久化存储;保存登录信息,用户信息等。","持续生成","指定","指定放置项目的位置,然后按蓝色的确定按钮","指示器的进度条颜色;值得注意的是,该值类型是animation,这允许我们对进度条的颜色也可以指定动画。如果我们不需要对进度条颜色执行动画,换言之,我们想对进度条应用一种固定的颜色,此时我们可以通过alwaysstoppedanimation来指定。","指针按下事件(以及该指针的后续事件)然后被分发到由命中测试发现的最内部的组件,然后从那里开始,事件会在组件树中向上冒泡,这些事件会从最内部的组件被分发到组件树根的路径上的所有组件,这和web开发中浏览器的事件冒泡机制相似,","按下时都会有“水波动画”(又称“涟漪动画”,就是点击时按钮上会出现水波荡漾的动画)。","按照惯例,widget的构造函数参数应使用命名参数,命名参数中的必要参数要添加@required标注,这样有利于静态代码分析器进行检查。另外,在继承widget时,第一个参数通常应该是key,另外,如果widget需要接收子widget,那么child或children参数通常应被放在参数列表的最后。同样是按照惯例,widget的属性应尽可能的被声明为final,防止被意外改变。","按钮","按钮外观可以通过其属性来定义,不同按钮属性大同小异,我们以flatbutton为例,介绍一下常见的按钮属性,详细的信息可以查看api文档。","按钮宽高","排行榜前","接下来实现mergetempfiles:","接下来就可以通过","接下来我们以materialapp类为入口的应用来说明如何支持国际化。","接下来我们可以在widget中使用locale值:","接下来我们在_myrichtextstate中要实现的功能有两个:","接下来我们来研究一下container组件margin和padding属性的区别:","接下来我们需要实现具体的缓存策略,由于我们使用的是dio","接下来,下载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这个包(如图2","接下来,我们将通过创建三个简单示例tapboxa、tapboxb和tapboxc来说明管理状态的不同方式。","接下来,我们添加java代码,使用android电池api来获取电池电量。此代码和在原生android应用中编写的代码完全相同。","接下来,我们添加kotlin代码,使用android电池api来获取电池电量,这和原生开发是一样的。","接下来,我们添加object","接下来,我们添加swift代码,使用ios电池api来获取电池电量,这和原生开发是相同的。","接下来,我们看看_myhomepagestate中都包含哪些东西:","接下来,我们调用通道上的方法,指定通过字符串标识符调用方法getbatterylevel。","接下来,执行整个任务流:","接下来,覆盖application方法并创建一个fluttermethodchannel绑定通道名称samples.flutter.io/battery:","接下来,让我们用android","接口决定是否重新剪裁。如果在应用中,剪裁区域始终不会发生变化时应该返回false,这样就不会触发重新剪裁,避免不必要的性能开销。如果剪裁区域会发生变化(比如在对剪裁区域执行一个动画),那么变化后应该返回true来重新执行剪裁。","接收一个text参数","接收图片数据","控制台输出:","控制焦点","提交前,先验证各个表单字段是否合法","提供了window.onmetricschang","提供了一个showgeneraldialog方法,签名如下:","提供了命令行转化方式,可以方便集成到ci等非ui环境的场景。","提供了我们需要连接到websocket服务器的工具。该package提供了一个websocketchannel允许我们既可以监听来自服务器的消息,又可以将消息发送到服务器的方法。","提供代码分析","提供四套可选主题色","提供图片数据源","提到原理,我们要从屏幕显示图像的基本原理谈起。我们知道显示器(屏幕)是由一个个物理显示单元组成,每一个单元我们可以称之为一个物理像素点,而每一个像素点可以发出多种颜色,显示器成相的原理就是在不同的物理像素点上显示不同的颜色,最终构成完整的图像。","提示文案”我是提示xxxx“是通过tiproute的text参数传递给新路由页的。我们可以通过等待navigator.push(…)返回的future来获取新路由的返回数据。","提示语","插件包:一种专用的dart包,其中包含用dart代码编写的api,以及针对android(使用java或kotlin)和针对ios(使用oc或swift)平台的特定实现,也就是说插件包括原生代码,一个具体的例子是battery插件包。","插件并点击","插件开发:android端api实现","插件开发:ios端api实现","插件开发:实现android端api","插件开发:实现ios端api","插件开发:平台通道简介","插件提供了一种平台透明的方式来访问设备文件系统上的常用位置。该类当前支持访问两个文件系统位置:","插槽(slot),所谓插槽,就是指预留的一个接口或位置,这个接口和位置是由其它对象来接入或占据的,这个接口或位置在软件中通常用预留变量来表示,而parentdata正是一个预留变量,它正是由par","搭建flutter开发环境","操作系统:","操作系统绘制api的封装","支持flutter开发工作流","支持国际化","支持国际化、intl包的使用","支持多种背景渐变色。","支持多语言","支持换肤","支持文件数组上传","收到滚动事件后获得的信息不同;notificationlistener在收到滚动事件时,通知中会携带当前滚动位置和viewport的一些信息,而scrollcontroller只能获取当前滚动位置。","收集日志","效果如图3","效果如图5","数字;会弹出数字键盘","数据保存的地方有了,那么接下来我们需要做的就是在数据发生变化的时候来重新构建inheritedprovider,那么现在就面临两个问题:","数据共享","数据共享(inheritedwidget)","数据发生变化怎么通知?","数据持久化","数据改变的消息传递被屏蔽了,我们无需手动去处理状态改变事件的发布和订阅了,这一切都被封装在provider中了。这真的很棒,帮我们省掉了大量的工作!","文件中,下面是它的源码:","文件夹","文件夹:包括包中公开的(public)代码,最少应有一个.dart文件","文件对缩进严格,所以必须严格按照每一层两个空格的方式进行缩进,此处assets前面应有两个空格。","文件操作","文本、字体样式","文本及样式","文本字符串","文本输入键盘","文档.","文档对象模型(document","文档目录:","新child显示动画时长","新child显示的动画曲线","新添加的依赖","新路由继承自statelesswidget,界面很简单,在页面中间显示一句\"thi","方法","方法,","方法。setstate方法的作用是通知flutter框架,有状态发生了改变,flutter框架收到通知后,会执行build方法来根据新的状态重新构建界面,","方法下方:","方法中将不会再被修改了,这种情况下","方法中构建的,而是通过showdialog单独构建的,所以调用在_dialogroutestate的context中调用setstate是无法影响通过showdialog构建的ui的。另外,我们可以从另外一个角度来理解这个现象,前面说过动画框也是通过路由的方式来实现的,那么上面的代码实际上就等同于企图在父路由中调用setstate来让子路由更新,这显然是不行的!简尔言之,根本原因就是context不对。那如何让复选框可点击呢?通常有如下三种方法:","方法中订阅语言改变的事件。当用户在设置页切换语言后,我们发布语言改变事件,而订阅了此事件的组件就会收到通知,收到通知后调用setstate(...)方法重新build一下自身即可。","方法中调用了paintimage方法,而paintimage方法中通过canvas的drawimagerect(…)、drawimagenine(...)等方法来完成最终的绘制。","方法中除了完成自身布局,也必须完成子节点的布局,这是因为只有父子节点全部完成后布局流程才算真正完成。所以最终的调用栈将会变成:layout()","方法内部生成的。每次热更新时,build方法都会被执行,运行效果如图2","方法将textspan","方法时,会从当前","方法来移除它,移除后element.renderobject也会被从渲染树中移除,然后framework会调用element.deactiv","方法来退出对话框的原因。关于对话框的样式定制在_dialogroute中,没有什么新的东西,读者可以自行查看。","方法用来判断该renderobject","方法的部分实现(省略了无关代码):","方法,以生成封装了一系列本地化值的对象。通常这些对象为每个本地化值定义一个方法。","方法,可以给执行对象指定一个zone。zone表示一个代码执行的环境范围,为了方便理解,读者可以将zone类比为一个代码执行沙箱,不同沙箱的之间是隔离的,沙箱可以捕获、拦截或修改一些代码行为,如zone中可以捕获日志输出、timer创建、微任务调度的行为,同时zone也可以捕获所有未处理的异常。下面我们看看runzoned(...)方法定义:","方法,它的功能是启动flutter应用。runapp它接受一个widget参数,在本示例中它是一个myapp对象,myapp()是flutter应用的根组件。","方法,该方法的实现在schedulerbind","方法,这时element状态变为“inactive”状态。","旋转","无法连接,如图1","无论是materialpageroute、cupertinopageroute,还是pageroutebuilder,它们都继承自pageroute类,而pageroutebuilder其实只是pageroute的一个包装,我们可以直接继承pageroute类来实现自定义路由,上面的例子可以通过如下方式实现:","无论是做flutter中文网,还是写gitme,主要目标都是帮助开发者学习flutter,同时消除围观开发者疑虑。但当开发者们真正开始动手时,flutter的生态问题就变得尤为突出。由于在2018年初flutter刚起步时,很多基础的包和库都是空白,少数已有的一些库也大都是预览版(未到1.0),存在很多bug。这个状况不是一两个人花一两天能搞定的,这是需要聚整个flutter开发者社群之力,耗费数年时间才可能有所改善。因此,在2018年4月份,我以flutter中文网名义发起了flutter开源计划,该计划主要是开发一些常用的包来丰富flutter生态,帮助开发者提高开发效率。自在github建立flutter中文开发者社区账号以来,前后开源了dio、cookiejar、flukit等多个项目,而dio在开源两周后,就迅速成为flutter第三方包中star排名第一的开源库。","既然是context不对,那么直接的思路就是将复选框的选中逻辑单独封装成一个statefulwidget,然后其再内部管理复选状态。我们先来看看这种方法,下面是实现代码:","日历选择","日志:","旧child隐藏的动画时长","旧child隐藏的动画曲线","时你会注意到有与缩放相关的参数)","时便会重新build,这时renderobject便会重新布局,我们是通过调用","时则不会。","时继续向上冒泡通知。","时(如widget树结构发生了变化,导致element对应的widget被移除),这时该祖先element就会调用deactivatechild","时,performresize()","时,才会触发重绘,这样便可以实现局部重绘。当","映射为原生控件树。","是","是bloc模式的flutter实现","是cached_network_image包中提供的一个widget,它不仅可以在图片加载过程中指定一个占位图,而且还可以对网络请求的图片进行缓存,更多详情读者可以自行查阅其文档。","是dart所有对象的根基类,也就是说所有类型都是object的子类(包括function和null),所以任何类型的数据都可以赋值给object声明的对象.","是flutter","是flutter应用的首页,它继承自statefulwidget类,表示它是一个有状态的组件(st","是javascript与原生应用之间通信的桥梁,作用和jsbridge一样,事实上,在ios中,很多jsbridge的实现都是基于","是material库中提供的flutt","是material库中提供的页面脚手架,它包含导航栏和body以及floatingactionbutton(如果需要的话)。","是material组件库提供的组件,它可以针对不同平台,实现与平台页面切换动画风格一致的路由切换动画:","是react","是web开发中react生态链中mobx包的flutter实现","是web开发中react生态链中redux包的flutter实现","是一个javascript解释器,它在react","是一个widgetbuilder类型的回调函数,它的作用是构建路由页面的具体内容,返回值是一个widget。我们通常要实现此回调,返回新路由的实例。","是一个抽象类,主要定义了图片数据获取的接口load(),从不同的数据源获取图片需要实现不同的imageprovid","是一个抽象类,它有两个常用的子类:alignment和","是不是很优雅!","是不是有质感了!之所以会这样,是因为raisedbutton默认有配置阴影:","是会报错的,原因是localizations.of会从当前的context沿着widget树向顶部查找demolocalizations,但是我们在materialapp中设置完demolocalizationsdelegate后,实际上demolocalizations是在当前context的子树中的,所以demolocalizations.of(context)会返回null,报错。那么我们该如何处理这种情况呢?其实很简单,我们只需要设置一个ongeneratetitle回调即可:","是使用","是否为release版","是否使用materialapp完全是可选的,但是使用它是一个很好的做法。在之前的示例中,我们已经使用过多个materi","是否启用缓存","是否在被点击的范围内,同时负责将被点击的","是否是下拉刷新触发","是否有设置代理。删除后问题即可解决。","是否私有项目","是否自动获取焦点。","是处理图片编解码的类的一个handler,实际上,它只是一个flutt","是安卓系统,do","是应用的入口widget,实现如下:","是必选的,它不支持通过其它方式创建组件,所以学习","是每次布局都会被调用的。sizedbypar","是芯片系列,如","显示_counter状态的数值。","显示固定文本","显示效果如图4","显示效果如图7","显示进度条","更多","更多的配置属性读者可以参考paint类定义。","更改为","更新flutter应用程序启动图标的方式与在本机android或ios应用程序中更新启动图标的方式相同。","更新locale后materialapp会重新build","更新到了","更新后会rebuild,此时会创建一个rawimag","更新启动页","更新应用在gpu上的渲染,此方法会直接调用flutt","更新正在运行的应用程序。每次单击热重载或保存项目时,都会在正在运行的应用程序中随机选择不同的单词对。","更新状态。","更新环境变量","替换为","最内部renderpositionedbox再次松开约束,这次是将按钮中的文本居中。","最后","最后一步就是根据arb生成dart文件:","最后一步:添加多语言支持","最后,就是使用:","最后,我们创建一个按钮,每点击一次,就将sharedatawidget的值自增:","最后,我们在build创建包含一个小字体显示电池状态和一个用于刷新值的按钮的用户界面。","最后,我们完成之前添加的onmethodcall方法。我们需要处理平台方法名为getbatterylevel的调用消息,所以我们需要先在call参数判断调用的方法是否为getbatterylevel。","最后,我们完成之前添加的setmethodcallhandler方法。我们需要处理的平台方法名为getbatterylevel,所以我们在call参数中需要先判断是否为getbatterylevel。","最后,知识是应该付费的,创作不易,开源不等于免费,如果您是本书读者并手头宽裕,可以点击下面打赏按钮打赏;当然,如果您囊中羞涩,您也可以阅读本书,但我对您有个小小的要求,希望您在阅读的过程中能积极参与到本书的纠错以及未完成内容的创作上来,也算是有所付出。","最大缓存数","最好在应用程序启动时只设置一次。如果您在运行中更改它,尤其是在动画运行时将其值减小,则框架的观察时可能会倒退,这可能会导致断言并且通常会干扰您的工作。","最终效果如图5","最终显示效果是宽90,高60,也就是说是子constrainedbox的minwidth生效,而minheight是父constrainedbox生效。单凭这个例子,我们还总结不出什么规律,我们将上例中父子限制条件换一下:","最终的显示效果仍然是90,高60,效果相同,但意义不同,因为此时minwidth生效的是父constrainedbox,而minheight是子constrainedbox生效。","最终的绘制由rawimage来完成。","有renderobject","有一个animation参数,这是flutter路由管理器提供的,在路由切换时pagebuilder在每个动画帧都会被回调,因此我们可以通过animation对象来自定义过渡动画。","有一个debugshowmaterialgrid参数,","有一个onpressed属性来设置点击回调,当按钮按下时会执行该回调,如果不提供该回调则按钮会处于禁用状态,禁用状态不响应用户点击。","有一个底部导航","有一个抽屉菜单","有两点需要说明:","有了ongenerateroute回调,要实现上面控制页面权限的功能就非常容易:我们放弃使用路由表,取而代之的是提供一个ongenerateroute回调,然后在该回调中进行统一的权限控制,如:","有了上面的设置,源码生成器将生成用于序列化name和email字段的json代码。","有了全局变量,我们还需要考虑如何跨组件共享状态。当然,如果我们将要共享的状态全部用全局变量替代也是可以的,但是这在flutter开发中并不是一个好主意,因为组件的状态是和ui相关,而在状态改变时我们会期望依赖该状态的ui组件会自动更新,如果使用全局变量,那么我们必须得去手动处理状态变动通知、接收机制以及变量和组件依赖关系。因此,本实例中,我们使用前面介绍过的provider包来实现跨组件状态共享,因此我们需要定义相关的provider。在本实例中,需要共享的状态有登录用户信息、app主题信息、app语言信息。由于这些信息改变后都要立即通知其它依赖的该信息的widget更新,所以我们应该使用changenotifierprovider,另外,这些信息改变后都是需要更新profile信息并进行持久化的。综上所述,我们可以定义一个profilechangenotifier基类,然后让需要共享的model继承自该类即可,profilechangenotifier定义如下:","有了资料和社区后,对于我们学习者自身来说,最重要的还是要多动手、多实践,在本书后面的章节中,希望读者能够亲自动手写一下示例。准备好了吗,下一章中,我们将正式进入flutter的世界!","有些时候我们可能会需要一些复杂的动画,这些动画可能由一个动画序列或重叠的动画组成,比如:有一个柱状图,需要在高度增长的同时改变颜色,等到增长到最大高度后,我们需要在x轴上平移一段距离。可以发现上述场景在不同阶段包含了多种动画,要实现这种效果,使用交织动画(stagger","有些时候,我们会遇到无论异步任务执行成功或失败都需要做一些事的场景,比如在网络请求前弹出加载对话框,在请求结束后关闭对话框。这种场景,有两种方法,第一种是分别在then或catch中关闭一下对话框,第二种就是使用future的whencomplete回调,我们将上面示例改一下:","有些时候,我们需要等待多个异步任务都执行结束后才进行一些操作,比如我们有一个界面,需要先分别从两个网络接口获取数据,获取成功后,我们需要将两个接口数据进行特定的处理后再显示到ui界面上,应该怎么做?答案是future.wait,它接受一个future数组参数,只有数组中所有future都执行成功后,才会触发then的成功回调,只要有一个future执行失败,就会触发错误回调。下面,我们通过模拟future.delay","有些读者可能会觉得这个点也很简单,是的,的确很简单,之所以要在这里反复强调是因为这个点在实际开发中很容易被忽略,它虽然简单,但却很重要。总之,当我们在state中会缓存某些依赖widget参数的数据时,一定要注意在组件更新时是否需要同步状态。","有关key和widget复用的细节将会在本书后面高级部分深入讨论,读者现在只需知道,为widget显式添加key的话可能(但不一定)会使ui在重新构建时变的高效,读者目前可以先忽略此参数。本书后面的示例中,只会在构建列表项ui时会显式指定key。","有关上述步骤的详细信息,请参阅","有各种各样的工具和功能来帮助调试flutter应用程序。","有异常时则弹出错误提示","有时代理服务器也启用了身份验证,这和http协议的认证是相似的,httpclient提供了对应的proxy认证方法和属性:","有缓存则使用缓存,没有缓存则调用load方法加载图片,加载成功后:","有缓存,继续往下走","服务器会返回一个401","服务器验证用户凭据,如果通过就返回资源内容。","未读邮件数","本书不适合做为编程的入门读物。","本书后面示例中,路由默认都是通过scaffold创建。","本书官网访问量较大,由于服务器配置有限,所以某些时段访问本站可能略有延迟,如果延迟较久,读者可以直接在github上阅读本书。","本书将在\"功能型组件\"一章中介绍provider包的实现原理及用法,同时也将会在\"事件处理与通知\"一章中实现一个全局事件总线,读者有需要可以直接翻看。","本书是第一本系统介绍flutter技术的中文书籍,它是flutter中文社区发起的开源项目之一,旨在帮助开发者入门,系统地、循序渐进的了解flutter。","本书特色","本书读者对象","本地化值由localizations的","本地化的代理类","本实例app中语言和主题都是可以设置的,而两者都是通过changenotifierprovider来实现的:我们在main函数中使用了consumer2,依赖了thememodel和localemodel,因此,当我们在语言和主题设置页更该当前的配置后,consumer2的builder都会重新执行,构建一个新的materialapp,所以修改会立即生效。下面看一下语言和主题设置页的实现。","本小节我们介绍了app入口materialapp的一些配置,然后实现了app的首页。后面我们将展示登录页、换肤页、语言切换页。","本次请求禁用缓存,请求结果也不会被缓存。","本示例是对单个路由换肤,如果相对整个应用换肤,可以去修改materialapp的theme属性。","本章主要介绍了目前移动开发中三种跨平台技术,现在我们从框架角度对比一下:","本章先介绍了flutter中路由管理、传参的方式,然后又着重介绍了命名路由相关内容。在此需要说明一点,由于命名路由只是一种可选的路由管理方式,在实际开发中,读者可能心中会犹豫到底使用哪种路由管理方式。在此,根据笔者经验,建议读者最好统一使用命名路由的管理方式,这将会带来如下好处:","本章后面章节的示例中会使用一些布局类组件,如scaffold、row、column等,这些组件将在后面“布局类组件”一章中详细介绍,读者可以先不用关注。","本章将通过一些简单的示例来一步步介绍flutter的开发流程.","本章新建一个flutter工程,实现一个简单的github客户端。这个实例的主要目标有两个:","本章目录","本篇主要介绍一下","本节主要介绍了flutter","本节主要介绍了listview的一些公共参数以及常用的构造函数。不同的构造函数对应了不同的列表项生成模型,如果需要自定义列表项生成模型,可以通过listview.custom来自定义,它需要实现一个sliverchilddelegate用来给listview生成列表项组件,更多详情请参考api文档。","本节主要介绍了一下flutter的特点,如果你感到有些点还不是很好理解,不用着急,随着日后对flutter细节的了解,再回过头来看,相信你会有更深的体会。","本节主要解答一下在国际化中常见的问题。","本节介绍一下flutter中常用的一些基础widget,由于大多数widget的属性都比较多,我们在介绍widget时会着重介绍常用的属性,而不会像api文档一样所有属性都介绍,关于属性详细的信息请参考flutt","本节介绍了flutter","本节介绍了flutter中包管理、引用、下载的整体流程,我们将在后面的章节中介绍如果开发并发布我们自己的包。","本节先介绍一些flutter中用于处理手势的gesturedetector和gesturerecognizer,然后再仔细讨论一下手势竞争与冲突问题。","本节先来介绍一下原始指针事件(pointer","本节将主要介绍一下移动开发技术的进化历程,主要是想让读者知道flutter技术出现的背景。笔者认为,了解一门新技术出现的背景是非常重要的,因为只有了解之前是什么样的,才能理解为什么会是现在这样。","本节将详细介绍一下flutter中话框对话框的使用方式、实现原理、样式定制及状态管理。","本节将通过一个“http分块下载”的示例演示一下dio的具体用法。","本节我们主要介绍一下flutter从启动到显示的过程。","本节我们介绍了renderobject主要的功能和方法,理解这些内容可以帮助我们更好的理解flutt","本节我们会基于前面介绍过的dio网络库封装app中用到的网络请求接口,并同时应用一个简单的缓存策略。下面我们先介绍一下网络接口缓存原来,然后再封装app的业务请求接口。","本节我们先对flutter的框架做一个整体介绍,旨在让读者心中有一个整体的印象,这对初学者来说非常重要。如果一下子便深入到flutter中,就会像是一个在沙漠中没有地图的人,即使可以找到一个绿洲,但是他也不会知道下一个绿洲在哪。因此,无论学什么技术,都要现有一张清晰的“地图”,而我们的学习过程就是“按图索骥”,这样我们才不会陷于细节而“目无全牛”。言归正传,我们看一下flutter官方提供的flutter框架图,如图1","本节我们先梳理一下app中将用到的数据,然后生成相应的dart","本节我们学习了animatedswitcher的详细用法,同时也介绍了打破animatedswitcher动画对称性的方法。我们可以发现:在需要切换新旧ui元素的场景,animatedswitcher将十分实用。","本节我们实现一个圆形背景渐变进度条,它支持:","本节我们将实现一个turnbox组件,它不仅可以以任意角度来旋转其子节点,而且可以在角度发生变化时执行一个动画以过渡到新状态,同时,我们可以手动指定动画速度。","本节我们接着上一节\"获取电池电量\"插件的示例,来完成android端api的实现。以下步骤是使用java的示例,如果您更喜欢kotlin,可以直接跳到后面kotlin部分。","本节我们接着之前\"获取电池电量\"插件的示例,来完成ios端api的实现。以下步骤使用object","本节我们通过一个简单的示例说明了flutter应用国际化的基本过程及原理。但是上面的实例还有一个严重的不足就是我们需要在demolocalizations类中获取title时手动的判断当前语言locale,然后返回合适的文本。试想一下,当我们要支持的语言不是两种而是8种甚至20几种时,如果为每个文本属性都要分别去判断到底是哪种locale从而获取相应语言的文本将会是一件非常复杂的事。还有,通常情况下翻译人员并不是开发人员,能不能像i18n或i10n标准那样可以将翻译单独保存为一个arb文件交由翻译人员去翻译,翻译好之后开发人员再通过工具将arb文件转为代码。答案是肯定的!我们将在下一节介绍如何通过dart","本节换一个思路,我们先不去直接看image的源码,而根据已经掌握的知识来实现一个简版的“image组件”","本节来介绍一下app入口及首页。","本节给大家一些学习建议,分享一下笔者在学习flutter中的一些心得,希望可以帮助你提高学习效率,避免不必要的坑。","本节详细的介绍了element的生命周期,以及它widget、buildcontext的关系,也介绍了element在flutt","本节通过介绍事件总线在跨组件共享中的一些缺点引出了通过inheritedwidget来实现状态的共享的思想,然后基于该思想实现了一个简单的provider,在实现的过程中也更深入的探索了inheritedwidget与其依赖项的注册机制和更新机制。通过本节的学习,读者应该达到两个目标,首先是对inheritedwidget彻底吃透,其次是provider的设计思想。","本节重点介绍了align组件及两种偏移类align","权益","来保存子节的keepalive状态。","来创建一个package工程,如图12","来定位他们相对于stack的上下左右四条边的位置。stacks是基于web开发中的绝对定位(absolut","来实现flutter全局状态共享。","来实现这种”出入滑动动画“,代码如下:","来实现,该方法可以根据json字符串具体内容将其转为list或map,这样我们就可以通过他们来查找所需的值,如:","来执行","来更新ui这一步其实是通用的,如果每个动画中都加这么一句是比较繁琐的。animatedwidget类封装了调用setstate()的细节,并允许我们将widget分离出来,重构后的代码如下:","来标记element为dirty的。在renderobject中有一个类似的markneedslayout()方法,它会将renderobject的布局状态标记为","来模拟两个数据获取的异步任务,等两个异步任务都执行成功时,将两个异步任务的结果拼接打印出来,代码如下:","来演示如何缓存,以及如何利用inheritedwidget","来监听新消息,","来管理。","来绘制溢出部分提示,这个就是我们经常看到的溢出提示,如图14","来自定义绘制逻辑,实际上linearprogressindicator和circularprogressindicator也正是通过custompainter来实现外观绘制的。关于custompainter,我们将在后面“自定义widget”一章中详细介绍。","来获取widget树中默认的focusscopenode。下面看一个示例,在此示例中创建两个textfield,第一个自动获取焦点,然后创建两个按钮:","来获取。并且我们也说过renderobject的主要职责是layout和绘制,所有的renderobject会组成一棵渲染树rend","来获取临时目录;","来获取当前buildcontext的assetbundle。","来赋值的,parent通常会通过子renderobject的parentdata存储一些和子元素相关的数据,如在stack布局中,renderstack就会将子元素的偏移数据存储在子元素的parentdata中(具体可以查看positioned实现)。","来通知订阅者,然后由订阅者来重新构建inheritedprovider,这也是第二个问题的答案!接下来我们便实现这个订阅者类:","构建ui界面","构建ui界面的逻辑在build方法中,当myhomepage第一次创建时,_myhomepagestate类会被创建,当初始化完成后,flutter框架会调用widget的build方法来构建widget树,最终将widget树渲染到设备屏幕上。所以,我们看看_myhomepagestate的build方法中都干了什么事:","构建主页面","构建卡片底部信息","构建时输出日志","构建菜单项","构建过程支持“asset变体”的概念:不同版本的asset可能会显示在不同的上下文中。","构建错误信息","构建项目标题和简介","构造函数","构造函数,","构造函数的各个参数的意义:","构造函数,通过它可以轻松创建带图标的按钮,如图3","枚举值","查找,一直向上查找到是","查看“output”窗口中的输出是否有问题","标志,","标注,对于可选参数在特定场景需要判空或设置默认值等。这是由于使用者大多时候可能不了解组件的内部细节,所以为了保证代码健壮性,我们需要在用户错误地使用组件时能够兼容或报错提示(使用assert断言函数)。","标题填充","树中使用的一些类也具有tostringdeep,从该点返回整个子树的多行描述。已一些具有详细信息tostring的类会实现一个tostringshort,它只返回对象的类型或其他非常简短的(一个或两个单词)描述。","校验用户名","校验用户名(不能为空)","根据animation对象的控制方式,动画可以正向运行(从起始状态开始,到终止状态结束),也可以反向运行,甚至可以在中间切换方向。animation还可以生成除double之外的其他类型值,如:anim","根据你电脑屏幕大小,模拟高清屏ios设备可能会溢出屏幕。可以在模拟器的","根部的变换是应用设备像素比的变换;","框架为我们在很多关键的方法进行了异常捕获。这里举一个例子,当我们布局发生越界或不合规范时,flutter就会自动弹出一个错误界面,这是因为flutter已经在执行build方法时添加了异常捕获,最终的源码如下:","框架代表","框架和flutter","检查renderobject是否需要重绘,然后更新renderobject.needscompositing属性,如果该属性值被标记为true则需要重绘。","概念","模板中的“%t”、“%s”为占位符,将在脚本运行时动态被替换为合适的导入头和类名。","模糊进度条(会执行一个动画)","模糊进度条(会执行一个旋转动画)","次'),","正如debugdumpapp(),除布局或绘制阶段外,您可以随时调用此函数。作为一般规则,从fram","正如上文所述,","此代码只能暂时针对当前命令行窗口设置path环境变量,要想永久将flutter添加到path中请参考下面更新环境变量","此例中column子组件是两个","此处需要有一张插图","此外,可以使用专门的binarycodec、stringcodec和","此方法会直接调用flutter","此时context为对话框ui的根element,我们","此时context在localizations的子树中","此示例只展示了textstyle的部分属性,它还有一些其它属性,属性名基本都是自解释的,在此不再赘述,读者可以查阅sdk文档。值得注意的是:","此示例运行后,每次拖动只会沿一个方向移动(水平或垂直),而竞争发生在手指按下后首次移动(move)时,此例中具体的“获胜”条件是:首次移动时的位移在水平和垂直方向上的分量大的一个获胜。","此类由flutter","此行代码作用是导入了materi","此镜像为临时镜像,并不能保证一直可用,读者可以参考https://flutter.io/community/china","步骤","步骤分两步:","每个asset都通过相对于pubspec.yaml文件所在的文件系统路径来标识自身的路径。asset的声明顺序是无关紧要的,asset的实际目录可以是任意文件夹(在本示例中是assets文件夹)。","每个person都有nam","每个委托必须定义一个异步load()","每当渲染盒被要求重新布局和重新绘制时,这些都会将堆栈跟踪记录到控制台。如果这种方法对您有用,您可以使用services库中的debugprintstack()方法按需打印堆栈痕迹。","每次滚动结束,可滚动组件都会将滚动位置offset存储到pagestorage中,当可滚动组件重新创建时再恢复。如果scrollcontroller.keepscrolloffset为false,则滚动位置将不会被存储,可滚动组件重新创建时会使用scrollcontroller.initialscrolloffset;scrollcontroller.keepscrolloffset为true时,可滚动组件在第一次创建时,会滚动到initialscrolloffset处,因为这时还没有存储过滚动位置。在接下来的滚动中就会存储、恢复滚动位置,而initialscrolloffset会被忽略。","每次点击”添加商品“按钮,总价就会增加20,我们期望的功能实现了!可能有些读者会疑惑,我们饶了一大圈实现这么简单的功能有意义么?其实,就这个例子来看,只是更新同一个路由页中的一个状态,我们使用changenotifierprovider的优势并不明显,但是如果我们是做一个购物app呢?由于购物车数据是通常回事整个app共享的数据,会跨路由共享,如果我们将changenotifierprovider放在整个应用的widget树的根上,那么整个app就可以共享购物车的数据了,这时changenotifierprovider的优势将会非常明显。","每次运行提取命令时,intl_messages.arb都会根据代码重新生成,但其他arb文件不会,所以当要添加新的字段或方法时,其他arb文件是增量的,不用担心会覆盖。","每点击一次按钮,计数器就会自增,控制台就会打印一句日志:","比","比如navigator.push(buildcontext","没有自己的layer,","注册命名路由表","注册我们的deleg","注册路由表","注册,注意,不要在此类回调中再触发新的frame,这可以会导致循环刷新。","注意","注意:","注意animate()返回的是一个animation,而不是一个animatable。","注意,assetimag","注意,connectionstate.active只在streambuilder中才会出现。","注意,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","注意,ongenerateroute只会对命名路由生效。","注意,onhttpclientcreate会在当前dio实例内部需要创建httpclient时调用,所以通过此回调配置httpclient会对整个dio实例生效,如果你想针对某个应用请求单独的代理或证书校验策略,可以创建一个新的dio实例即可。","注意,”本地化的值和资源“是指我们针对不同语言准备的不同资源,这些资源一般是指文案(字符串),当然也会有一些其他的资源会根据不同语言地区而不同,比如我们需要显示一个app上架地的国旗图片,那么不同locale区域我们就需要提供不同的的国旗图片。","注意,代码中的有renderview和renderviewelement两个变量,renderview是一个renderobject,它是渲染树的根,而renderviewelement是renderview对应的element对象,可见该方法主要完成了根widget到根","注意,使用不同的框架或技术选型会对代码有不同的组织方式,因此,本节介绍的代码组织结构并不是固定或者“最佳”的,在实战中,读者可以自己根据情况调整源码结构。但是无论采取何种源码组织结构,但清晰和解耦是一个通用原则,我们应该让自己的代码结构清晰,以便交流和维护。","注意,如果circularprogressindicator显示空间的宽高不同,则会显示为椭圆。如:","注意,如果将上面示例中sharedatawidget.of()方法实现改成调用ancestorinheritedelementforwidgetofexacttype(),运行示例后,点击\"increment\"按钮,会发现__testwidgetstate的didchangedependencies()方法确实不会再被调用,但是其build()仍然会被调用!造成这个的原因其实是,点击\"increment\"按钮后,会调用_inheritedwidgettestroutestate的setstate()方法,此时会重新构建整个页面,由于示例中,__testwidget","注意,登录按钮的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插件的版本变化而变化,本例中会介绍计数器示例的全部代码,所以不会对本示例产生影响。","注意:","注意:animatedswitcher的新旧child,如果类型相同,则key必须不相等。","注意:dart中实现单例模式的标准做法就是使用static变量+工厂构造函数的方式,这样就可以保证new","注意:http协议中虽然可以通过keep","注意:materi","注意:一个路由中包含多个可滚动组件时,如果要分别跟踪它们的滚动位置,并非一定就得给他们分别提供pagestoragekey。这是因为scrollable本身是一个statefulwidget,它的状态中也会保存当前滚动位置,所以,只要可滚动组件本身没有被从树上detach掉,那么其state就不会销毁(dispose),滚动位置就不会丢失。只有当widget发生结构变化,导致可滚动组件的state销毁或重新构建时才会丢失状态,这种情况就需要显式指定pagestoragekey,通过pagestorage来存储滚动位置,一个典型的场景是在使用tabbarview时,在tab发生切换时,tab页中的可滚动组件的state就会销毁,这时如果想恢复滚动位置就需要指定pagestoragekey。","注意:上面这些参数并非listview特有,在本章后面介绍的其它可滚动组件也可能会拥有这些参数,它们的含义是相同的。","注意:代码中注释的部分是不能正常工作的,因为这个context是根context,而notificationlistener是监听的子树,所以我们通过builder来构建raisedbutton,来获得按钮位置的context。","注意:使用gesturerecognizer后一定要调用其dispose()方法来释放资源(主要是取消内部的计时器)。","注意:包在使用本身的资源时也应该加上package参数来获取。","注意:在继承statefulwidget重写其方法时,对于包含@mustcallsuper标注的父类方法,都要在子类方法中先调用父类方法。","注意:在这里需要提醒读者,在登录场景中,保护用户账号安全是一个非常重要且永恒的话题,在实际开发中应严格杜绝直接明文存储用户账密的行为。","注意:如果alertdialog的内容过长,内容将会溢出,这在很多时候可能不是我们期望的,所以如果对话框内容过长时,可以用singlechildscrollview将内容包裹起来。","注意:存在这样的一种情况,当你根据上述步骤设置了之后,依旧无法解决这个问题,并有类似于","注意:本节介绍的安装方式随着flutter的升级可能会发生变化,如果下面介绍的内容在您安装flutter时已经失效,请访问flutter官网,按照官网最新的安装教程安装。","注意:由于本书并非专门介绍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","测试代码如下:","测试代码运行后效果如图10","深入了解inheritedwidget","混合应用的优点是动态内容是h5,web技术栈,社区及资源丰富,缺点是性能不好,对于复杂用户界面或动画,webview不堪重任。","混合开发技术点","混合状态管理","混合管理(父widget和子widget都管理状态)。","添加flutter相关工具到path中:","添加以下路径:","添加到","添加到text中,之所以可以这样做,是因为text其实就是richtext的一个包装,而richtext是可以显示多种样式(富文本)的widget。","添加到购物车。这是唯一一种能从外部改变购物车的方法。","添加后,执行flutter","添加回调。","添加固定列表头","添加缓存插件","清除所有缓存","清除指定key对应的图片缓存","渐变色数组","渐变色的终止点,对应colors属性","渲染","渲染和绘制逻辑在rendererbinding中实现,查看其源发,发现在其initinstances()方法中有如下代码:","渲染层","渲染时需要javascript和原生之间通信,在有些场景如拖动可能会因为通信频繁导致卡顿。","源码及注释:源码注释应作为学习flutter的第一文档,flutt","源码可以看出只有","源码很简单,该方法主要任务是更新了所有被标记为“dirty”的renderobject的布局信息。主要的动作发生在node._layoutwithoutresize()方法中,该方法中会调用performlayout()进行重新布局。","源码:","滚动位置恢复","滚动监听","滚动监听及控制","滚动监听及控制scrollcontrol","漂浮按钮","灵活、组件库易维护、ui外观保真度和一致性高;由于ui渲染不依赖原生控件,也就不需要根据不同平台的控件单独维护一套组件库,所以代码容易维护。由于组件库是同一套代码、同一个渲染引擎,所以在不同平台,组件显示外观可以做到高保真和高一致性;另外,由于不依赖原生控件,也就不会受原生布局系统的限制,这样布局系统会非常灵活。","灵活;由于我们需要自己实现flowdelegate的paintchildren()方法,所以我们需要自己计算每一个组件的位置,因此,可以自定义布局策略。","点击","点击container时,由于它在absorbpointer的子树上,所以不会响应指针事件,所以日志不会输出\"in\",但absorbpointer本身是可以接收指针事件的,所以会输出\"up\"。如果将absorbpointer换成ignorepointer,那么两个都不会输出。","点击“获取百度首页”按钮后,会请求百度首页,请求成功后,我们将返回内容显示出来并在控制台打印响应header,代码如下:","点击、双击、长按","点击其它主题色块后,app主题色立马切换生效。","点击或指针事件回调","点击按钮则按钮文本会随机排序。","点击按钮,弹出该对话框:","点击第一个按钮可以将焦点从第一个textfield挪到第二个textfield。","点击第二个按钮可以关闭键盘。","热重载失效问题","热重载应用,再次点击“open","热重载按钮","热重载(hot","焦点可以通过focusnode和focusscopenode来控制,默认情况下,焦点由focusscope来管理,它代表焦点控制范围,可以在这个范围内可以通过focusscopenode在输入框之间移动焦点、设置默认焦点等。我们可以通过focusscope.of(context)","然后pubspec.yaml文件中只需包含:","然后加载图像,使用:","然后将该对象用作其子对象。最终的结果是animatedbuilder返回的对象插入到widget树中。","然后我们可以通过如下方式使用它:","然后我们实现一个子组件_testwidget,在其build方法中引用sharedatawidget中的数据。同时,在其didchangedependencies()","然后我们将调用部分代码改为:","然后我们点击⚡️按钮热重载,控制台输出日志如下:","然后打开你应用程序的observatori","然后按回车键","然后授予执行权限:","然后暴露给webview以供javascript调用,这样一来,webview就成为了javascript与原生api之间通信的桥梁,主要负责javascript与原生之间传递调用消息,而消息的传递必须遵守一个标准的协议,它规定了消息的格式与含义,我们把依赖于webview的用于在javascript与原生之间通信并实现了某种消息传输协议的工具称之为webview","然后点击","然后热重载,日志如下:","然后设置输入框controller:","然后访问","然后调用","然后运行,发现并没有出现我们期望的效果,相反触发了一个异常;","然后选择","然后选择里面的","然后,将下面的新方法添加到activity类中的,位于oncr","然后,应用程序可以声明一个字体,如下面的示例所示:","然后,当我们运行上面的代码时我们会发现复选框根本选不中!为什么会这样呢?其实原因很简单,我们知道setstate方法只会针对当前context的子树重新build,但是我们的对话框并不是在_dialogroutestate的build","然后,我们通过cliprect来执行剪裁,为了看清图片实际所占用的位置,我们设置一个红色背景:","然后,转到ios设备上的设置菜单,选择","父widget管理子widget的状态","父节点对子节点大小的限制,该值根据父节点的布局逻辑确定。另外一个参数是","版本。","版本号可能随着时间推移会发生变化,读者可以使用最新版。","特定平台","特殊情况","状态。","状态管理","状态访问不便","环境变量设置为相应的sdk安装目录。","现在flutter社区已经有很多专门用于状态管理的包了,在此我们列出几个相对评分比较高的:","现在可以在hello中import","现在可以在ios上运行应用程序,如果使用的是ios模拟器,请注意,它不支持电池api,因此应用程序将显示“电池信息不可用”。","现在可以在ios上运行该应用程序了,如果使用的是ios模拟器,请注意,它不支持电池api,因此应用程序将显示“电池信息不可用”。","现在可以进行分块下载了:","现在在图片上双指张开、收缩就可以放大、缩小图片。本示例比较简单,实际中我们通常还需要一些其它功能,如双击放大或缩小一定倍数、双指张开离开屏幕时执行一个减速放大动画等,读者可以在学习完后面”动画“一章中的内容后自己来尝试实现一下。","现在如果我们想实现各种”滑动出入动画\"\"便非常容易,只需给direction传递不同的方向值即可,比如要实现”上入下出“,则:","现在就可以在android上运行该应用程序了,如果使用的是android模拟器,则可以通过工具栏中的\"...\"按钮访问extend","现在就可以将customhome添加到widget树了,我们在一个新路由页创建它,最终效果如下如图14","现在就有一个问题:如何管理复选框的选中状态?习惯上,我们会在路由页的state中来管理选中状态,我们可能会写出如下这样的代码:","现在工程目录变为:","现在我们再看看上面的示例,我们将alignment(1.0,","现在我们可以在demolocalizations类中添加需要国际化的属性或方法,如上面示例代码中的title属性,这时我们就要用到intl库提供的一些方法,这些方法可以帮我们轻松实现不同语言的一些语法特性,如复数语境,举个例子,比如我们有一个电子邮件列表页,我们需要在顶部显示未读邮件的数量,在未读数量不同事,我们展示的文本可能会不同:","现在我们可以通intl_translation包的工具来提取代码中的字符串到一个arb文件,运行如下命名:","现在我们就完成了路由表的注册。上面的代码中home路由并没有使用命名路由,如果我们也想将home注册为命名路由应该怎么做呢?其实很简单,直接看代码:","现在我们建立了连接,我们可以监听来自服务器的消息,在我们发送消息给测试服务器之后,它会返回相同的消息。","现在我们所需要的各个工具类都已完成,下面我们通过一个购物车的例子来看看怎么使用上面的这些类。","现在我们按住圆形“a”拖动然后抬起手指,控制台日志如下:","现在我们来介绍一下dart线程运行过程,如上图中所示,入口函数","现在我们看一下缓存的key,因为map中相同key的值会被覆盖,也就是说key是图片缓存的一个唯一标识,只要是不同key,那么图片数据就会分别缓存(即使事实上是同一张图片)。那么图片的唯一标识是什么呢?跟踪源码,很容易发现key正是imageprovider.obtainkey()方法的返回值,而此方法需要imageprovider子类去重写,这也就意味着不通的imageprovider对key的定义逻辑会不同。其实也很好理解,比如对于networkimage,将图片的url作为key会很合适,而对于assetimage,则应该将“包名+路径”作为唯一的key。下面我们以networkimage为例,看一下它的obtainkey()实现:","现在我们看看flutter为什么选择dart语言?笔者根据官方解释以及自己对flutter的理解总结了以下几条(由于其它跨平台框架都将javascript作为其开发语言,所以主要将dart和javascript做一个对比):","现在来思考一下,如果我们只想在__testwidgetstate中引用sharedatawidget数据,但却不希望在sharedatawidget发生变化时调用__testwidgetstate的didchangedependencies()方法应该怎么办?其实答案很简单,我们只需要将sharedatawidget.of()的实现改一下即可:","现在画布有了,我们最后还缺一个画笔,flutter提供了paint类来实现画笔。在paint中,我们可以配置画笔的各种属性如粗细、颜色、样式等。如:","现在请读者自行查看handlebeginframe()","现在,序列化逻辑移到了模型本身内部。采用这种新方法,我们可以非常容易地反序列化user.","现在,想必imag","现在,我们使用showcustomdialog打开文件删除确认对话框,代码如下:","现在,我们回头来看一下,混合应用无非就是在第一步中预先实现一系列api供javascript调用,让javascript有访问系统的能力,看到这里,我相信你也可以自己实现一个混合开发框架了。","现在,我们回答之前提出的问题,为什么build()方法房在state(而不是statefulwidget)中","现在,我们将整个计数器执行流程串起来:当右下角的floatingactionbutton按钮被点击之后,会调用_incrementcounter方法。在_incrementcounter方法中,首先会自增_counter计数器(状态),然后setstate会通知flutter框架状态发生变化,接着,flutter框架会调用build方法以新的状态重新构建ui,最终显示在设备屏幕上。","现在,我们将要共享的状态放到一个model类中,然后让它继承自changenotifier,这样当共享的状态改变时,我们只需要调用notifylisteners()","现在,我们己经介绍完了alertdialog、simpledialog以及dialog。上面的示例中,我们在调用showdialog时,在builder中都是构建了这三个对话框组件的一种,可能有些读者会惯性的以为在builder中只能返回这三者之一,其实这不是必须的!就拿dialog的示例来距离,我们完全可以用下面的代码来替代dialog:","现在,我们来和qt","现在,我们重点来介绍一下behavior属性,它决定子组件如何响应命中测试,它的值类型为hittestbehavior,这是一个枚举类,有三个枚举值:","现在,我们需要的json数据已经定义完毕,现在只需要运行json_model","现在,无论是点击导航栏tab菜单还是在页面上左右滑动,tab页面都会切换,并且tab菜单的状态和tab页面始终保持同步!那它们是如何实现同步的呢?细心的读者可能已经发现,上例中tabbar和tabbarview的controller是同一个!正是如此,tabbar和tabbarview正是通过同一个controller来实现菜单切换和滑动状态同步的,有关tabcontroller的详细信息,我们不再本书做过多介绍,使用时读者直接查看sdk即可。","现在,目前已经确定,在接下来章节中,我们将分模块一步一步实现上述功能。","理解state的生命周期对flutter开发非常重要,为了加深读者印象,本节我们通过一个实例来演示一下state的生命周期。在接下来的示例中,我们实现一个计数器widget,点击它可以使计数器加1,由于要保存计数器的数值状态,所以我们应继承statefulwidget,代码如下:","理论上可以使用任何文本编辑器与命令行工具来构建flutter应用程序。","生态系统得以快速增长,由此可见,flutter在开发者中受到了热烈的欢迎,其未来发展值得期待!","生态;从github上来看,目前flutter活跃用户正在高速增长。从stackoverflow上提问来看,flutter社区现在已经很庞大。flutter的文档、资源也越来越丰富,开发过程中遇到的很多问题都可以在stackoverflow或其github","生成dart","生成文档","生成缓存key,后面会根据此key来检测是否有缓存","生成随机字符串","生效了!","用android","用animatedbuilder重构","用animatedwidget可以从动画中分离出widget,而动画的渲染过程(即设置宽高)仍然在animatedwidget中,假设如果我们再添加一个widget透明度变化的动画,那么我们需要再实现一个animatedwidget,这样不是很优雅,如果我们能把渲染过程也抽象出来,那就会好很多,而animatedbuilder正是将渲染逻辑分离出来,","用于从一个map构造出一个","用于保存购物车中商品列表","用于创建和state","用于指定最大宽高、fractionallysizedbox","用于指定该属性的开始值和结束值。也就是说0.0到1.0代表整个动画过程,我们可以给不同动画指定不同的起始点和终止点来决定它们的开始时间和终止时间。","用于绑定平台消息通道(messag","用户信息","用户信息(profile)应包括如下信息:","用户名不能为空,如果为空则提示“用户名不能为空”。","用户名或密码字段在调用登录接口前有本地合法性校验(比如不能为空)。","用户所处地理位置","用户手指按下:offset(26.3,","用户改变app语言后,通知依赖项更新,新语言会立即生效","用户注销登录后,为了便于用户在退出app前再次登录,我们需要记住上次登录的用户名。","用户点击”注销“,usermodel.us","用户状态","用户状态在登录状态发生变化时更新、通知其依赖项,我们定义如下:","用户简介","用途","由于","由于android","由于app主页要显示其所有项目信息,我们在“jsons”目录下创建一个“repo.json”文件保存项目信息。通过参考github","由于dart是类型安全的语言,支持静态类型检测,所以可以在编译前发现一些类型的错误,并排除潜在问题,这一点对于前端开发者来说可能会更具有吸引力。与之不同的,javascript是一个弱类型语言,也因此前端社区出现了很多给javascript代码添加静态类型检测的扩展语言和工具,如:微软的typescript以及facebook的flow。相比之下,dart本身就支持静态类型,这是它的一个重要优势。","由于flutter","由于flutter会同时构建android和ios两个平台的发布包,所以flutter同时依赖android","由于github服务器在国内访问速度较慢,我们对github","由于globalkey要保持全局唯一性,我们使用静态变量存储","由于json.decode()仅返回一个map,这意味着直到运行时我们才知道值的类型。","由于rn和react原理相通,并且flutter也是受react启发,很多思想也都是相通的,万丈高楼平地起,我们有必要深入了解一下react原理。react是一个响应式的web框架,我们先了解一下两个重要的概念:dom树与响应式编程。","由于rotatedbox是作用于layout阶段,所以子组件会旋转90度(而不只是绘制的内容),decoration会作用到子组件所占用的实际空间上,所以最终就是上图的效果,读者可以和前面transform.rotate示例对比理解。","由于不同平台有它们各自的交互规范,flutter","由于列表项高度为50像素,当滑动到第20个列表项后,右下角“返回顶部”按钮会显示,点击该按钮,listview会在返回顶部的过程中执行一个滚动动画,动画时间是200毫秒,动画曲线是curves.ease,关于动画的详细内容我们将在后面“动画”一章中详细介绍。","由于在国内访问flutter有时可能会受到限制,flutter官方为中国开发者搭建了临时镜像,大家可以将如下环境变量加入到用户环境变量中:","由于在国内访问github服务器速度较慢,所以我们应用一些简单的缓存策略:将请求的url作为key,对请求的返回值在一个指定时间段类进行缓存,另外设置一个最大缓存数,当超过最大缓存数后移除最早的一条缓存。但是也得提供一种针对特定接口或请求决定是否启用缓存的机制,这种机制可以指定哪些接口或那次请求不应用缓存,这种机制是很有必要的,比如登录接口就不应该缓存,又比如用户在下拉刷新时就不应该再应用缓存。在实现缓存之前我们先定义保存缓存信息的cacheobject类:","由于在网络数据传输和持久化时,我们需要通过json来传输、保存数据;但是在应用开发时我们又需要将json转成dart","由于我们指定了","由于我们没有指定column的mainaxissize,所以使用默认值mainaxissize.max,则column会在垂直方向占用尽可能多的空间,此例中为屏幕高度。","由于我们的dart代码都在“lib”文件夹下,笔者根据技术选型和经验在lib文件下创建了如下目录:","由于我们需要使用外部图片和icon资源,所以我们在项目根目录下分别创建”imgs“和”fonts“文件件,前者用于保存图片,后者用于保存icon文件。关于图片和icon,读者可以参考第三章中相应的内容。","由于手势竞争最终只有一个胜出者,所以,当有多个手势识别器时,可能会产生冲突。假设有一个widget,它可以左右拖动,现在我们也想检测在它上面手指按下和抬起的事件,代码如下:","由于最终的图形计算和绘制都是由相应的硬件来完成,而直接操作硬件的指令通常都会有操作系统屏蔽,应用开发者通常不会直接面对硬件,操作系统屏蔽了这些底层硬件操作后会提供一些封装后的api供操作系统之上的应用调用,但是对于应用开发者来说,直接调用这些操作系统提供的api是比较复杂和低效的,因为操作系统提供的api往往比较基础,直接调用需要了解api的很多细节。正是因为这个原因,几乎所有用于开发gui程序的编程语言都会在操作系统之上再封装一层,将操作系统原生api封装在一个编程框架和模型中,然后定义一种简单的开发规则来开发gui应用程序,而这一层抽象,正是我们所说的“ui”系统,如android","由于本身功能较多,这里我们只介绍其常用的api及特性。还有,请记住,futur","由于渲染依赖原生控件,不同平台的控件需要单独维护,并且当系统更新时,社区控件可能会滞后;除此之外,其控件系统也会受到原生ui系统限制,例如,在android中,手势冲突消歧规则是固定的,这在使用不同人写的控件嵌套时,手势冲突问题将会变得非常棘手。","由于矩阵变化只会作用在绘制阶段,所以在某些场景下,在ui需要变化时,可以直接通过矩阵变化来达到视觉上的ui改变,而不需要去重新触发build流程,这样会节省layout的开销,所以性能会比较好。如之前介绍的flow组件,它内部就是用矩阵变换来更新ui,除此之外,flutter的动画组件中也大量使用了transform以提高性能。","由于第一个text应用变换(放大)后,其在绘制时会放大,但其占用的空间依然为红色部分,所以第二个text会紧挨着红色部分,最终就会出现文字重合。","由于第一个子文本组件text(\"hello","由于篇幅所限,本书中大多数示例代码都只是部分核心代码,读者可以去这里查看下载。","由于解析文本字符串,构建出textspan是一个耗时操作,为了不在每次build的时候都解析一次,所以我们在initstate中对解析的结果进行了缓存,然后再build中直接使用解析的结果_textspan。这看起来很不错,但是上面的代码有一个严重的问题,就是父组件传入的text发生变化时(组件树结构不变),那么myrichtext显示的内容不会更新,原因就是initstate只会在state创建时被调用,所以在text发生变化时,parsetext没有重新执行,导致_textspan任然是旧的解析值。要解决这个问题也很简单,我们只需添加一个didupdatewidget回调,然后再里面重新调用parsetext即可:","画图像","画圆","画圆弧","画椭圆","画点","画矩形","画笔paint","画线","画路径","登录github后,我们需要获取当前登录者的github账号信息,github","登录后可以查看自己的项目主页","登录成功后需更新用户信息。","登录按钮","登录接口,登录成功后返回用户信息","登录状态可以持久化;","登录状态改变后发布状态改变事件","登录用户的token(oauth)或密码","登录页","登录页代码大致如下:","的","的column的子widget中。","的materi","的pushnamed方法:","的。这样来看它的作用就比较明显了,意思就是当一个控件的大小被改变时可能会影响到它的","的上下文。那我们能否用相同的方法获取statefulwidget","的全路径作为它的值.","的包装类,也就是说图片的编解码逻辑不是在dart","的坐标原点为矩形的左侧顶点,这和布局系统的一致,所以理解起来会比较容易。fractionaloffset的坐标转换公式为:","的大小了,于是","的大小,那么","的定义:","的宽度,所以居中对齐后text(\"hi\")会显示在text(\"world\")的中间部分。","的必要基础。而react","的所有api的返回值仍然是一个future对象,所以可以很方便的进行链式调用”","的所有api的返回值仍然是一个future对象,所以可以很方便的进行链式调用。","的报错信息,请检查","的桥梁。","的概念:","的特殊存档中,应用程序可以在运行时读取它们(但不能修改)。","的私有数据,可以通过实例zone[key]获取,可以理解为每个“沙箱”的私有数据。","的职责都是相同的,它们只是语言载体和底层的系统不同而已。那么可不可以实现这么一个ui系统:可以使用同一种编程语言开发,然后针对不同操作系统api抽象一个对上接口一致,对下适配不同操作系统的的中间层,然后在打包编译时再使用相应的中间层代码?如果可以做到,那么我们就可以使用同一套代码编写跨平台的应用了。而flutter的原理正是如此,它提供了一套dart","监听文本变化","监听文本变化也有两种方式:","监听来自服务器的消息","监听来自服务器的消息。","监听滚动通知","监听焦点变化","监听焦点状态改变事件","监听的通知类型,则调用当前notificationlistener的onnotif","监听系统语言切换","目前android","目前混合开发框架的典型代表有:cordova、ion","目前,程序主要有两种运行方式:静态编译与动态解释。静态编译的程序在执行前全部被翻译为机器码,通常将这种类型称为aot","目录","直接将对话框ui对应的element标记为dirti","相似,repaintboundary是用于在确定重绘边界的,与relayoutboundary不同的是,这个绘制边界需要由开发者通过repaintboundari","相反,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的一个包装类,spacer的源码如下:","示例代码:","示例运行后,我们点击对话框“取消”按钮或遮罩,控制台就会输出\"取消删除\",如果点击“删除”按钮,控制台就会输出\"已确认删除\"。","示例:","示例:javascript调用原生api获取手机型号","示例:五子棋/盘","示例:登录输入框","示例:自定义渐变按钮","社区","禁止改变购物车里的商品信息","禁用时的阴影","移动开发技术简介","移除model的监听器","空白(如没有任何子节点的container)以灰色显示。","竞争","笔者在大学时读过候捷(真名侯俊杰)写的一些c++相关书籍,在他的《深入浅出mfc》一书中,有一句话我映像非常深","第一个进度条会执行旋转动画,而第二个进度条是静止的,它停在50%的位置。","第一个进度条在执行循环动画:蓝色条一直在移动,而第二个进度条是静止的,停在50%的位置。","第一个问题其实很好解决,我们当然可以使用之前介绍的eventbus来进行事件通知,但是为了更贴近flutter开发,我们使用flutter中sdk中提供的changenotifier类","第一次运行flutter命令(如flutt","第一步:创建dart包","第一步:创建必要目录","第一种方式比较简单,不在举例,我们来重点看一下第二种方式,我们以用户名输入框举例:","第一章:起步","第一:qt移动开发社区太小,学习资料不足,生态不好。","第七章:功能型组件","第三步:添加需要国际化的属性","第三章:基础组件","第三:移动端发力较晚,市场已被其它动态化框架占领(hybrid和rn)。","第九章:动画","第二层为手势,描述由一个或多个指针移动组成的语义动作,如拖动、缩放、双击等。本章将先分别介绍如何处理这两种事件,最后再介绍一下flutter中重要的notification机制。","第二步:实现localizations和delegate类","第二章中已经讲过如何使用package(包),我们知道通过package可以创建共享的模块化代码,本节将重点讲一下如何开发并发布我们自己的package。一个最小的package包括:","第二章:第一个flutter应用","第二:官方推广不利,支持不够。","第五步:生成dart代码","第五章:容器类组件","第八章:事件处理与通知","第六章:可滚动组件","第十一章:文件操作与网络请求","第十三章:国际化","第十二章:包与插件","第十五章:一个完整的flutter应用","第十四章:flutter核心原理","第十章:自定义组件","第四步:生成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回调队列,","类中还定义了许多其它的曲线,在此便不一一介绍,读者可以自行查看curves类定义。","类似于javascript中的var,它可以接收任何类型的变量,但最大的不同是dart中var变量一旦赋值,类型便会确定,则不能再改变其类型,如:","类似于原生开发,flutter也可以为当前设备加载适合其分辨率的图像。","类型","类型,","类型一旦确定后则不能再更改其类型。","类型安全","类是一个预置的枚举类,定义了许多常用的曲线,下面列几种常用的:","精妙的解法","精心设计的动画会让用户界面感觉更直观、流畅,能改善用户体验。","系统可随时清除的临时目录(缓存)。在ios上,这对应于nstemporarydirectory()","系统字体缩放变化回调","系统要求","红色","约束条件为","纵轴(垂直)方向间距","线性布局row、column","线性布局(row和column)","线性进度条高度指定为3","组件","组件一般位于widget树中其它业务组件的顶部,它的作用是定义区域locale以及设置子树依赖的本地化资源。","组件中;典型地,在一个懒加载列表中,如果将列表项包裹在automatickeepalive中,在该列表项滑出视口时它也不会被gc(垃圾回收),它会使用keepalivenotification来保存其状态。如果列表项自己维护其keepalive状态,那么此参数必须置为false。","组件了,如:scaffold、appbar、flatbutton等。要使用materi","组件会自动加载新区域的locale值,然后重新build使用(依赖)了它们的组件,之所以会这样,是因为localizations内部使用了inheritedwidget","组件可以调整子组件的位置,并且可以根据子组件的宽高来确定自身的的宽高,定义如下:","组件名称","组件将连接到一个stream,","组件并重建它,这样子树中通过localizations.localeof(context)","组件库中提供了material风格的单选开关switch和复选框checkbox,它们都是继承自statelesswidget,所以它们本身不会保存当前选择状态,因此它们的选中状态都是由父组件来管理的。当switch或checkbox被点击时,会触发它们的onchanged回调,我们可以在此回调中处理选中状态改变逻辑。下面看一个简单的例子:","组件库中提供了两种进度指示器:linearprogressindicator和circularprogressindicator,它们都可以同时用于精确的进度指示和模糊的进度指示。精确进度通常用于任务进度可以计算和预估的情况,比如文件下载;而模糊进度则用户任务进度无法准确获得的情况,如下拉刷新,数据提交等。","组件库中提供了多种按钮组件如raisedbutton、flatbutton、outlinebutton等,它们都是直接或间接对rawmaterialbutton组件的包装定制,所以他们大多数属性都和rawmaterialbutton一样。在介绍各个按钮时我们先介绍其默认外观,而按钮的外观大都可以通过属性来自定义,我们在后面统一介绍这些属性。另外,所有materi","组件库中有一些组件可以根据实际运行平台来切换表现风格,比如materialpageroute,在路由切换时,如果是android系统,它将会使用android系统默认的页面切换动画(从底向上);如果是ios系统,它会使用ios系统默认的页面切换动画(从右向左)。由于在前面的示例中还没有cupertino组件的示例,下面我们实现一个简单的cupertino组件风格的页面:","组件库中,我们会在很多组件中见到elevation相关的属性,它们都是用来控制阴影的,这是因为阴影在material设计风格中是一种很重要的表现形式,以后在介绍其它组件时,便不再赘述。","组件库提供的本地化的字符串和其他值,它可以使materi","组件库的主题数据,material组件需要遵守相应的设计规范,而这些规范可自定义部分都定义在themedata中了,所以我们可以通过themedata来自定义应用主题。在子组件中,我们可以通过theme.of方法来获取当前的themedata。","组件库的本地化字符串由materiallocalizations类定义,此类的实例由materialapp类提供的localizationdelegate创建,","组件开始,","组件支持多语言。","组件本身宽高的属性;它们是两个缩放因子,会分别乘以子元素的宽、高,最终的结果就是align","组件来实现的,上面的示例代码实际上等价于:","组件的imag","组件的state对象,原理可以参考本书后面“element与buildcontext”","组件的宽高。","组件的简单演示应用程序。","组件自己指定,如:","组件那么丰富,但是它仍在不断的完善中。值得一提的是在materi","组件,center","组件,column的作用是将其所有子组件沿屏幕垂直方向依次排列;","组件,它使用keepaliveparentdatamixin(继承自parentdata)","组件,它可以和floatingactionbutton配合实现这种“打洞”效果,源码如下:","组件,它可以对输入框进行分组,然后进行一些统一操作,如输入内容校验、输入框重置以及输入内容保存。","组件,它可以结合画笔custompainter来实现自定义图形绘制。","组件,它和tabbarview功能相似,读者可以自行了解一下。","组件,它是material组件库提供的material风格的tab菜单。","组件,并提到flutter框架对加载过的图片是有缓存的(内存),默认最大缓存数量是1000,最大缓存空间为100m。本节便详细介绍image的原理及图片缓存机制,下面我们先看看imageprovid","组件,需要先引入它:","组件:","组合其它widget","组合实例:turnbox","组合现有组件","细心的读者可能会发现这个按钮没有阴影(点击之后也没有),这样会显得没有质感。其实这也很容易,将上面的flatbutton换成raisedbutton就行,其它代码不用改(这里","细心的读者可能已经发现上面示例中通过addlistener()和setstate()","绘制","绘制前回调,一般会受显示器的垂直同步信号vsync驱动,当屏幕刷新时就会被调用","绘制回调","绘制尽可能多的分层;在上面五子棋的示例中,我们将棋盘和棋子的绘制放在了一起,这样会有一个问题:由于棋盘始终是不变的,用户每次落子时变的只是棋子,但是如果按照上面的代码来实现,每次绘制棋子时都要重新绘制一次棋盘,这是没必要的。优化的方法就是将棋盘单独抽为一个组件,并设置其shouldrepaint回调值为false,然后将棋盘组件作为背景。然后将棋子的绘制放到另一个组件中,这样每次落子时只需要绘制棋子。","绘制是比较昂贵的操作,所以我们在实现自绘控件时应该考虑到性能开销,下面是两条关于性能优化的建议:","绘制的很频繁或很复杂时,可以通过repaintboundari","绘制过程","给model添加监听器","给子节点创建一个layer","给每一个动画对象指定时间间隔(interval)","给目标statefulwidget添加globalkey。","统计应用启动时间","继承statefulwidget不便","继承statelesswidget类,因为所有状态都由其父组件处理。","继承自","继承自statelesswidget类,所以它可以直接嵌套到widget树中。","综上所述,可以发现,对于statefulwidget,将build方法放在state中,可以给开发带来很大的灵活性。","综上所述,我们的证书校验其实就是提供一个badcertificatecallback回调,下面通过一个示例来说明。","综上所述,笔者比较建议使用命名路由,当然这并不是什么金科玉律,读者可以根据自己偏好或实际情况来决定。","综上所述,笔者还是很看好dart语言的将来,之所以表这个态,是因为在新技术发展初期,很多人可能还有所摇摆,有所犹豫,所以有必要给大家打一剂强心针,当然,这是一个见仁见智的问题,大家可以各抒己见。","绿色","缓存上限设置的setter","缓存创建时间","缓存图片","缓存容量上限","缓存数量上限(1000)","缓存的处理逻辑在这里,记为a,下面详细介绍","缓存的最长时间,单位(秒)","缓存策略信息,结构见\"cacheconfig.json\"","缓存队列","缘起","缩放","缺少依赖库问题","缺点:","网络接口缓存","网络缓存对象","网络请求封装","网络请求;需要请求github","美国英语","而boxconstraints.tightfor(width:","而changenotifierprovider则会重新构建子树,所以inheritedprovider将会更新,此时依赖它的子孙widget就会被重新构建。","而dynamic与object相同之处在于,他们声明的变量可以在后期改变赋值类型。","而image正是连接起imageprovider和rawimag","而object声明的对象只能使用object的属性与方法,","而package中主要的功能的源码都在src目录下。shelf","而rn中将虚拟dom映射为原生控件的过程中分两步:","而在dart中几乎是完全平移了javascript中的这两者:future相当于promise,而async/await连名字都没改。接下来我们看看通过future和async/await如何消除上面示例中的嵌套问题。","而实际上constrainedbox和sizedbox都是通过renderconstrainedbox来渲染的,我们可以看到constrainedbox和sizedbox的createrenderobject()方法都返回的是一个renderconstrainedbox对象:","而浏览器的重绘和回流都是比较昂贵的操作,如果每一次改变都直接对dom进行操作,这会带来性能问题,而批量操作只会触发一次dom更新。","耗时操作:解析文本字符串,构建出textspan。","背景支持渐变色","背景画笔,会显示在子节点后面;","背景色","背景装饰","脚本我们通过dart来写,源码如下:","自动化生成模板","自动填充上次登录的用户名,填充后将焦点定位到密码输入框","自动生成model","自定义widget方法简介","自定义尺寸","自定义按钮外观","自定义样式","自定义组件方法简介","自定义组件样式","自定义编解码器","自定义路由切换动画","自定义路由过渡动画","自定义进度指示器样式","自定义通知","自定义遮罩颜色","自绘","自绘ui+原生","自绘ui+原生(qt","自绘实例:圆形背景渐变进度条","自绘控件非常强大,理论上可以实现任何2d图形外观,实际上flutter提供的所有组件最终都是通过调用canvas绘制出来的,只不过绘制的逻辑被封装起来了,读者有兴趣可以查看具有外观样式的组件源码,找到其对应的renderobject对象,如text对应的renderparagraph对象最终会通过canvas实现文本绘制逻辑。下一节我们会再通过一个自绘的圆形背景渐变进度条的实例来帮助读者加深印象。","自绘组件","至此flutter部分的测试代码写好了,接下来我们需要实现android和ios平台下的api,由于平台api实现部分篇幅较大,我们将在接下来的两节中,分别介绍android和ios端api的实现。","至此我们便实现了一个迷你的provider,它具备pub上provid","至此真相大白,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类了:","致谢","英语系的国家非常多,如美国、英国、澳大利亚等,这些英语系国家虽然说的都是英语,但也会有一些区别。如果我们的app只想提供一种英语(如美国英语)供所有英语系国家使用,我们可以在前面介绍的localelistresolutioncallback中来做兼容:","获取flutter","获取formstate后,","获取一下,","获取下一个动画帧","获取应用目录","获取当前locale的字符串表示","获取当前主题,如果为设置主题,则默认使用蓝色主题","获取当前区域local","获取当前用户的app语言配置locale类,如果为null,则语言跟随系统语言","获取的locale就会更新。","获取的locale就会更新,最终界面会重新build达到切换语言的效果。但是这个过程是隐式完成的,我们并没有主动去监听系统语言切换,但是有时我们需要在系统语言发生改变时做一些事,比如系统语言切换为一种我们app不支持的语言时,我们需要设置一个默认的语言,这时我们就需要监听locale改变事件。","获取输入内容","获取输入内容有两种方式:","获取项目信息的api文档,定义出最终的“repo.json”文件结构,如下:","获取项目所有依赖包的最新版本。","获得焦点时focusnode.hasfocus值为true,失去焦点时为false。","菜单下设置设备比例。","菜单中的设置,确保模拟器正在使用64位设备(iphon","菜单图标","菜单文本","蓝色","虽然flutter中文网给中国开发者提供了很好的第一手了解flutter的资料,但是笔者还会经常遇到一些对flutter技术处于围观而不愿尝试的开发者。这主要是因为当时flutter在国内没有成功案例,再加上新技术都有学习成本,所以即使有文档,也会有一些开发者犹豫是否来学习。为了解决这部分开发者的疑虑,我就想如果能用flutter开发一个完整的app发布到应用商店,这样开发者就可以在犹豫的时候可以先实际感受一下flutter应用,这样有个直观的了解后,就会容易做出判断,为此,我开发了gitme,它是一个github客户端,它支持了源码浏览、issue、label等github的大多数功能,到目前为止,通过gitme登录过github账号的用户有8000多人,日活用户有1000人。更重要的是,有很多人正是用了gitme后,才来学flutter的。","虽然上面的两种方法都可以实现自定义切换动画,但实际使用时应优先考虑使用pageroutebuilder,这样无需定义一个新的路由类,使用起来会比较方便。但是有些时候pageroutebuilder是不能满足需求的,例如在应用过渡动画时我们需要读取当前路由的一些属性,这时就只能通过继承pageroute的方式了,举个例子,假如我们只想在打开新路由时应用动画,而在返回时不使用动画,那么我们在构建过渡动画时就必须判断当前路由isactive属性是否为true,代码如下:","虽然上面的例子比较简单,但它却将provider的原理和流程体现的很清楚,图7","虽然做的事情已经够多了,但是仍有一些很有必要去做的事情,由于时间原因,一直被搁置。","虽然我们可以通过decoration属性来定义输入框样式,但是有一些样式如下划线默认颜色及宽度都是不能直接自定义的,下面的代码没有效果:","虽然这非常方便,但如果我们不需要每次在model类中进行更改时都要手动运行构建命令的话会更好。","表单form","表示只执行一次","表示圆形进度条的粗细。示例如下:","表示循环执行","装饰容器decoratedbox","要为ios开发flutter应用程序,您需要xcod","要了解您的应用程序导致重新布局或重新绘制的原因,您可以分别设置debugprintmarkneedslayoutstacks和","要使用flutter_localizations包,首先需要添加依赖到pubspec.yaml文件中:","要使用package中定义的字体,必须提供package参数。例如,假设上面的字体声明位于my_package包中。然后创建textstyle的过程如下:","要使用tween对象,需要调用其animate()方法,然后传入一个控制器对象。例如,以下代码在500毫秒内生成从0到255的整数值。","要使用此功能,必须首先启用辅助功能,例如启用系统辅助工具或semanticsdebugg","要使用由localizationsdelegate的load方法之一产生的对象,可以指定一个buildcontext和对象的类型来找到它。例如,materi","要关闭调试模式并使用发布模式,请使用flutter","要准备在android模拟器上运行并测试flutter应用,请按照以下步骤操作:","要准备在android设备上运行并测试flutter应用,需要android","要准备在ios模拟器上运行并测试flutter应用,请按以下步骤操作:","要创建交织动画,需要使用多个动画对象(animation)。","要加载依赖包中的图像,必须给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","要查更改,请调用","要查看您的更改,请调用","要确认这个问题,我们就得先想想ui是怎么更新的,我们知道在调用setstate方法后statefulwidget就会重新build,那setstate方法做了什么呢?我们能不能从中找到方法?顺着这个思路,我们就得看一下setstate的核心源码:","要获得应用程序性能图,请将materialapp构造函数的showperformanceoverlay参数设置为true。","要调用debugdumprendertree(),您需要添加import'package:flutter/rendering.dart';到您的源文件。","要转储widgets库的状态,请调用debugdumpapp()。","要通过路由名称来打开新路由,可以使用navig","观其发展,在2018年5月份,flutter","解决依赖冲突","解压安装包到你想安装的目录,如:","解析文本字符串“text”,生成textspan缓存起来;","解释","解释:","解释:第一个row很简单,默认为居中对齐;第二个row,由于mainaxissize值为mainaxissize.min,row的宽度等于两个text的宽度和,所以对齐是无意义的,所以会从左往右显示;第三个row设置textdirection值为textdirection.rtl,所以子组件会从右向左的顺序排列,而此时mainaxisalignment.end表示左对齐,所以最终显示结果就是图中第三行的样子;第四个row测试的是纵轴的对齐方式,由于两个子text字体不一样,所以其高度也不同,我们指定了verticaldirection值为verticaldirection.up,即从低向顶排列,而此时crossaxisalignment值为crossaxisalignment.start表示底对齐。","计数器应用示例","订阅者必须需显式注册状态改变回调,也必须在组件销毁时手动去解绑回调以避免内存泄露。","订阅者模式,changenotifier定义大致如下:","让app支持多语言","让您的应用继续运行.","让您的应用继续运行。","让我们看看如何将我们的user类转换为一个json_serializable。为了简单起见,我们使用前面示例中的简化json","讲到这里,读者可能发现flutter","设为false,不建立依赖关系","设为新的,由此可以看出element","设置app图标","设置controller:","设置deleg","设置onchange回调,如:","设置其孩子的约束为:boxconstraints(0.0flatbutton定义的一部分,它在其内容上设置最小宽度为88像素,并且设置高度为36.0像素(这是materi","设置它的最简单方法是在void","设置状态的自增函数。","设置用户token(可能为null,代表未登录)","设置给了子树column节点处,这样一来column的所有子孙text默认都会继承该样式,除非text显示指定不继承样式,如代码中注释2。示例运行效果如图3","设置默认值,并从第三个字符开始选中后面的字符","设计规范中有些是不能自定义的,如导航栏高度,themedata只包含了可自定义部分。","证书校验","试想一下,如果我们的statefulwidget有很多状态,而每次状态改变都要调用build方法,由于状态是保存在state中的,如果build方法在statefulwidget中,那么build方法和状态分别在两个类中,那么构建时读取状态将会很不方便!试想一下,如果真的将build方法放在statefulwidget中的话,由于构建用户界面过程需要依赖state,所以build方法将必须加一个state参数,大概是下面这样:","该builder在animatedswitcher的child切换时会分别对新、旧child绑定动画:","该函数是该tostring方法用来填充小部件描述信息的。","该命令会同时更新flutter","该命令检查你的环境并在命令行窗口中显示报告。dart","该图仅在应用程序绘制时更新,因此如果它处于空闲状态,该图将停止移动。","该子类实现了一个横轴为固定数量子元素的layout算法,其构造函数为:","该子类实现了一个横轴子元素为固定最大长度的layout算法,其构造函数为:","该对话框样式代码如下:","该应用的state类拥有当前的应用状态。我们需要延长这一点以保持当前的电量","该接口主要是为了配合实现图片缓存,imageprovider从数据源加载完数据后,会在全局的imagecache中缓存图片数据,而图片数据缓存是一个map,而map的key便是调用此方法的返回值,不同的key代表不同的图片数据缓存。","该方法只有两个参数,含义见注释。该方法返回一个future,它正是用于接收对话框的返回值:如果我们是通过点击对话框遮罩关闭的,则future的值为null,否则为我们通过navigator.of(context).pop(result)返回的result值,下面我们看一下整个示例:","该方法用于在dart中获取模板类型","该方法用于添加用户凭据,如:","该方法直接调用了rendererbinding的drawframe()方法:","该方法负责创建根element,即renderobjecttowidgetelement,并且将element与widget","该方法进行了最终的绘制,可以看出它不是重绘了所有","该标志用橙色或轮廓线标出每个层的边界,或者使用debugrepaintrainbowenabled标志,","该用户关注的人数","该类继承statefulwidget,然后定义了一个of()静态方法供子类方便获取widget树中的inheritedprovider中保存的共享状态(model),下面我们实现该类对应的_changenotifierproviderstate类:","该组件在应用程序的根部创建了一些必要的组件,比如theme组件,它用于配置应用的主题。","该组件的状态。由于我们只需要维护一个点击次数计数器,所以定义一个_counter状态:","该计数器示例中,每点击一次右下角带“+”号的悬浮按钮,屏幕中央的数字就会加1。","该调用可能失败(平台不支持平台api,例如在模拟器中运行时),所以我们将invokemethod调用包装在tri","该项目是否为fork的项目","该项目的开源许可证","详细的文档语法请参考dartdoc","语义","语义化","语义化不明确;由于changenotifierprovider是订阅者,那么依赖cartmodel的widget自然就是订阅者,其实也就是状态的消费者,如果我们用build","语义化即semantics,主要是提供给读屏软件的接口,也是实现辅助功能的基础,通过语义化接口可以让机器理解页面上的内容,对于有视力障碍用户可以使用读屏软件来理解ui内容。如果一个renderobject要支持语义化接口,可以实现","语义化更明确。","语义化标签(用于读屏软件)","语法中很多地方也都借鉴了java和javascript。","语法是基于","语法而创造。与","语言选择页","请导航至.../android/app/src/main。在res/drawable/launch_background.xml,通过自定义drawable来实现自定义启动界面(你也可以直接换一张图片)。","请求","请求:","请求失败,显示错误","请求头","请求已结束","请求成功,显示数据","请求未结束,显示load","请求结束后,如果请求失败,则展示错误信息;如果成功,则将项目名称列表展示出来。","请求结束,关闭httpclient:","请确保运行flutter","请阅读下面代码,先想象一下运行的结果:","读取响应内容:","读取点击次数(以字符串)","读者可以自己运行本示例查看运行结果。注意,本示例只是为了演示streambuilder的使用,在实战中,凡是ui会依赖多个异步数据而发生变化的场景都可以使用streambuilder。","读者可以运行示例看看效果。","读者在此只需要知道帧监听器和状态监听器的区别,在后面的章节中我们将会举例说明。","读者应该将这两点牢记在心中。","读者最好接触过pc客户端、移动开发或web前端开发中的一种。","读者至少熟悉一种编程语言。","谁来重新构建inheritedprovider?","调度","调度frame,该方法执行后,onbeginframe和ondrawframe将紧接着会在合适时机被调用,","调用","调用android","调用imageprovider.resolve方法,获得imagestream。","调用validate()方法校验用户名密码是否合法,校验","调用widget.createel","调用函数时,可以使用指定命名参数。例如:paramname:","调用时,将slidetransition替换成myslidetransition即可:","调用系统api渲染","调试flutter","调试flutter应用","调试动画","调试动画最简单的方法是减慢它们的速度。为此,请将timedilation变量(在scheduler库中)设置为大于1.0的数字,例如50.0。","调试应用程序层","调试性能问题","调试模式断言","账号信息更新时间","账号创建时间","购物车中商品的总价","购物车示例","资源","资源管理","起初,我没有出版实体书的打算,当时我以为开发者直接通过在线访问本书官网即方便又不用付费,何乐而不为。但在本书上线后,很多读者来添加微信好友,表示非常有收益,很期待出版纸质书,甚至有比较热心的读者想提前付定金预定!我理解,这是大家对我所做之事的认可和鼓励。考虑到,确实有一部分读者,尤其是还没毕业的同学,可能更喜欢通过书籍去学习,为此,我已经和机械工业出版社合作,目前本书纸质版正在出版中,敬请关注。","跟踪dart代码性能","跟踪的分支,要切换分支,可以使用flutter","跟踪输出保存为start_up_info.json,在flutter工程目录在build目录下。输出列出了从应用程序启动到这些跟踪事件(以微秒捕获)所用的时间:","跨平台技术简介","跨平台自绘引擎","跨组件状态共享(provider)","路径可以是相对的,也可以是绝对的。","路由(route)在移动开发中通常指页面(page),这跟web开发中单页应用的route概念意义是相同的,route在android中通常指一个activity,在ios中指一个viewcontroller。所谓路由管理,就是管理页面之间如何跳转,通常也可被称为导航管理。flutter中的路由管理和原生开发类似,无论是android还是ios,导航管理都会维护一个路由栈,路由入栈(push)操作对应打开一个新页面,路由出栈(pop)操作对应页面关闭操作,而路由管理主要是指如何来管理路由栈。","路由a","路由b:","路由传值","路由参数","路由生成钩子","路由管理","路由表","路由表的注册方式很简单,我们回到之前“计数器”的示例,然后在myapp类的build方法中找到materialapp,添加routes属性,代码如下:","路由返回值:","转到","输入","输入框内编辑文本在水平方向的对齐方式。","输入框及表单","输入框和表单","输入项目名称","运行","运行上面两个示例,图片加载成功后如图3","运行上面代码,点击routertestroute页的”打开提示页“按钮,会打开tiproute页,运行效果如图2","运行代码生成程序","运行后效果如图3","运行后效果如图5","运行后效果如图6","运行后效果如图7","运行后效果如图8","运行后点击右下角悬浮按钮则可以切换主题,如图7","运行后界面如图7","运行后,一切都将自动执行,现在好多了,不是吗?","运行后,和上图一样,完美实现了!","运行后,就可以在任意方向拖动了,运行效果如图8","运行后,我截取动画执行过程中的一帧,如图9","运行后,效果如图3","运行启动你应用程序","运行应用程序","运行效果如下图6","运行效果如图14","运行效果如图15","运行效果如图3","运行效果如图4","运行效果如图5","运行效果如图6","运行效果如图7","运行效果如图8","运行效果如图:","运行效果见图4","运行效果:","运行此命令后,会将我们之前通过intl","运行示例代码,当点击“+1”按钮时,原先的数字会逐渐缩小直至隐藏,而新数字会逐渐放大,我截取了动画执行过程的一帧,如图9","运行示例后效果如图7","运行结果如图6","运行结果如图7","近来在网上发现很多原封不动复制本书的镜像网站和大量复制或引用了本书但未注明出处的博客、文章甚至书籍;对此,笔者在此声明,本书著作权归wendux所有,任何组织或个人在未经授权的情况下复制、拷贝、抄袭本书用于商业目的,笔者保留追究其法律责任的权利。如果是非商业目的的转载和引用,请注明出处并附上本书网址。另外如有出版机构愿意为本书出版实体书或者想转载本书内容,亦或是想合作,请加微信demon","返回","返回1","返回2","返回值决定是否继续向上遍历","返回值是一个locale,此locale为flutt","返回值类型为bool,为true时表示还有数据,为false时则表示后续没有数据了。onretrievedata","返回的值。在android上,这是getcachedir())返回的值。","返回的是一个control","还有一个问题,通过repaintboundari","还有很多其它方法,如navigator.replace、navigator.popuntil等,详情请参考api文档或sdk源码注释,在此不再赘述。下面我们还需要介绍一下路由相关的另一个概念“命名路由”。","还有,熟悉web开发的同学可能会发现align组件的特性和web开发中相对定位(position:","这一步可以使用任意http","这一步和windows下步骤一致,不再赘述。","这一步完成后,请求信息就已经发送给服务器了,返回一个httpclientresponse对象,它包含响应头(header)和响应流(响应体的stream),接下来就可以通过读取响应流来获取响应内容。","这一类问题是由于无法连接到","这与在flutter应用程序或任何其他dart项目中引用软件包没有什么不同。","这两个包都是基于inheritedwidget的,原理相似","这个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,这是你获得的树)。","这是一个便捷类,会获得当前context和指定数据类型的provid","这是一个封装print,它将输出限制在一个级别,避免被android内核丢弃。","这是一个很有意思,但也很有争议的问题,在了解flutter为什么选择了","这是一个纯","这是一种写法","这是一种常用的缩小`context`范围的方式","这是因为单词对是在","这是来自rendering库的布尔值。它可以在任何时候启用,并在为true时影响绘制。","这是根layer的tostringdeep输出的。","这是根renderobject对象的tostringdeep函数的输出。","这是由于要去google下载android","这是第二种写法","这样一下,便实现了对新、旧child的动画绑定。animatedswitcher的默认值是animatedswitcher.defaulttransitionbuild","这样一来,我们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,","这段代码有两点可以优化:","这种方式是通过拼装其它组件来组合成一个新的组件。例如我们之前介绍的container就是一个组合组件,它是由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在重绘时使用了转换矩阵,并没有实际调整组件位置。","进阶","连接android模拟器","连接android真机设备","连接ios模拟器","连接ios真机设备","连接不上android","连接到websocket服务器","连接到websocket服务器。","连接的设备名是","连接设备运行flutter应用","追加","适配","选择","选择一个设备并选择","选择一个运行该应用的android设备。如果没有列出可用,请选择","通常可滚动组件的子组件可能会非常多、占用的总高度也会非常大;如果要一次性将子组件全部构建出将会非常昂贵!为此,flutter中提出一个sliver(中文为”薄片“的意思)概念,如果一个可滚动组件支持sliver模型,那么该滚动可以将子组件分成好多个”薄片“(sliver),只有当sliver出现在视口中时才会去构建它,这种模型也称为”基于sliver的延迟构建模型“。可滚动组件中有很多都支持基于sliver的延迟构建模型,如listview、gridview,但是也有不支持该模型的,如singlechildscrollview。","通常我们会将singletickerproviderstatemixin添加到state的定义中,然后将state对象作为vsync的值,这在后面的例子中可以见到。","通常,可以使用defaultassetbundle.of()在应用运行时来间接加载asset(例如json文件),而在widget上下文之外,或其它assetbundle句柄不可用时,可以使用rootbundle直接加载这些asset,例如:","通用\"切换动画\"组件(animatedswitcher)","通知notif","通知冒泡原理","通知冒泡和web开发中浏览器事件冒泡原理是相似的,都是事件从出发源逐层向上传递,我们可以在上层节点任意位置来监听通知/事件,也可以终止冒泡过程,终止冒泡后,通知将不会再向上传递。","通知冒泡的流程和原理,便于读者加深理解和学习flutter的框架设计思想,在此,再次建议读者在平时学习中能多看看源码,定会受益匪浅。","通知监听器(订阅者),重新构建inheritedprovider,","通知(notification)是flutter中一个重要的机制,在widget树中,每一个节点都可以分发通知,通知会沿着当前节点向上传递,所有父节点都可以通过notificationlistener来监听通知。flutter中将这种由子向父的传递通知的机制称为通知冒泡(notif","通过","通过_formkey.currentst","通过android","通过animatedbuilder可以封装常见的过渡效果来复用动画。下面我们通过封装一个growtransition来说明,它可以对子widget实现放大动画:","通过builder来获取raisedbutton所在widget树的真正context(element)","通过builder来获得构建checkbox的`context`,","通过context.canvas可以取到canvas对象,接下来就可以调用canva","通过controller监听,如:","通过controller直接获取。","通过controller获取输入框内容","通过formdata上传多个文件:","通过future回调中再返回future的方式虽然能避免层层嵌套,但是还是有一层回调,有没有一种方式能够让我们可以像写同步代码那样来执行异步任务而不使用回调的方式?答案是肯定的,这就要使用async/await了,下面我们先直接看代码,然后再解释,代码如下:","通过globalkey来获取state对象","通过httpclientrequest可以设置请求header,如:","通过httpclient发起http请求","通过imageprovider.resolve方法可以得到一个imagestream(图片数据流),然后监听imagestream的变化。当图片数据源发生变化时,imagestream会触发相应的事件,而本例中我们只设置了图片成功的监听器_updateimage,而_updateimage中只更新了_imageinfo。值得注意的是,如果是静态图,imagestream只会触发一次时间,如果是动态图,则会触发多次事件,每一次都会有一个解码后的图片帧。","通过json.decode()","通过notificationlistener可以在从可滚动组件到widget树根之间任意位置都能监听。而scrollcontroller只能和具体的可滚动组件关联后才可以。","通过rootbundl","通过switch和checkbox我们可以看到,虽然它们本身是与状态(是否选中)关联的,但它们却不是自己来维护状态,而是需要父组件来管理状态,然后当用户点击时,再通过事件通知给父组件,这样是合理的,因为switch和checkbox是否选中本就和用户数据关联,而这些用户数据也不可能是它们的私有状态。我们在自定义组件时也应该思考一下哪种状态的管理方式最为合理。","通过tabbar我们只能生成一个静态的菜单,真正的tab页还没有实现。由于tab菜单和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即可。","通过检查模拟器","通过第一个分块请求检测服务器是否支持分块传输","通过组合现有widget实现","通过组合的方式定义组件和我们之前写界面并无差异,不过在抽离出单独的组件时我们要考虑代码规范性,如必要参数要用@requir","通过路由名打开新路由页","通过这个示例可以看到,使用图标就像使用文本一样,但是这种方式需要我们提供每个图标的码点,这并对开发者不友好,所以,flutter封装了icondata和icon来专门显示字体图标,上面的例子也可以用如下方式实现:","通过这种方法,我们失去了大部分静态类型语言特性:类型安全、自动补全和最重要的编译时异常。这样一来,我们的代码可能会变得非常容易出错。例如,当我们访问name或email字段时,我们输入的很快,导致字段名打错了。但由于这个json在map结构中,所以编译器不知道这个错误的字段名,所以编译时不会报错。","通过这种组件组合的方式,也可以定义背景圆角等。一般来说,优先通过decoration来自定义样式,如果decoration实现不了,再用widget组合的方式。","通道的客户端和宿主通过通道构造函数中传递的通道名称进行连接。单个应用中使用的所有通道名称必须是唯一的;","速度快、性能高、可以实现复杂动画及绘制,整体用户体验好;","遮罩颜色","遵循xcode签名流程来配置您的项目:","那么buildcontext到底是什么呢,查看其定义,发现其是一个抽象接口类:","那么我们可以使用@jsonkey标注:","那么我们的代码就不会通过编译,而不是在运行时崩溃。","那么有什么方法可以彻底去除父constrainedbox的限制吗?答案是否定的!所以在此提示读者,在定义一个通用的组件时,如果要对子组件指定限制,那么一定要注意,因为一旦指定限制条件,子组件如果要进行相关自定义大小时将可能非常困难,因为子组件在不更改父组件的代码的情况下无法彻底去除其限制条件。","那么这两个graphics/background.png和graphics/dark/background.png","那么问题来了,难道就不能用animatedswitcher了?答案当时是否定的!仔细想想这个问题,究其原因,就是因为同一个animation正向(forward)和反向(reverse)是对称的。所以如果我们可以打破这种对称性,那么便可以实现这个功能,下面我们来封装一个myslidetransition,它和slidetransition唯一的不同就是对动画的反向执行进行了(从左边滑出隐藏):","那么,现在就带来了一个问题:实际上,我们只想更新子树中依赖了sharedatawidget的组件,而现在只要调用_inheritedwidgettestroutestate的setstate()方法,所有子节点都会被重新build,这很没必要,那么有什么办法可以避免呢?答案是缓存!一个简单的作法就是通过封装一个statefulwidget,将子widget树缓存起来,具体作法下一节我们将通过实现一个provid","那我们就有潜在的冲突。避免这种情况的最好方法是在指定依赖关系时,程序包作者使用版本范围而不是特定版本。","那这个context对象对应的实现类到底是谁呢?我们顺藤摸瓜,发现build调用是发生在statelesswidget和statefulwidget对应的statelesselement和statefulelement的build方法中,以statelesselement为例:","邮箱","部分。","都将包含在您的asset","配置xcode命令行工具以使用新安装的xcode版本","配置与使用","采用dart语言开发","采用web开发技术栈,社区庞大、上手快、开发成本相对较低。","重启android","重启windows以应用此更改.","重新启动","重新运行mo.sh,生成的user.dart如下:","重绘","针对原生开发面临问题,人们一直都在努力寻找好的解决方案,而时至今日,已经有很多跨平台框架(注意,本书中所指的“跨平台”若无特殊说明,即特指android和ios两个平台),根据其原理,主要分为三类:","锁定事件","问题的原因搞清楚了,那么我们如何避免这不必要重构呢?既然按钮重新被build是因为按钮和inheritedwidget建立了依赖关系,那么我们只要打破或解除这种依赖关系就可以了。那么如何解除按钮和inheritedwidget的依赖关系呢?我们上一节介绍inheritedwidget时已经讲过了:调用inheritfromwidgetofexacttype()","间接继承自element类,与statefulwidget相对应(作为其配置数据)。statefulelement中可能会多次调用createstate()来创建状态(state)对象。","间接继承自element类,与statelesswidget相对应(作为其配置数据)。","队列。","阻止冒泡","除了flutter内部通知,我们也可以自定义通知,下面我们看看如何实现自定义通知:","除了pushnamed方法,还有pushreplacementnamed等其他管理命名路由的方法,读者可以自行查看api文档。接下来我们通过路由名来打开新的路由页,修改flatbutton的onpressed回调代码,改为:","除了上一节我们介绍过的可滚动组件的通用属性外,我们重点看一下reverse和primary两个属性:","除了上面介绍的这些常用的尺寸限制类容器外,还有一些其他的尺寸限制类容器,比如aspectratio,它可以指定子组件的长宽比、limitedbox","除了上面列举的,","除了上面提到的methodchannel,还可以使用basicmessagechannel,它支持使用自定义消息编解码器进行基本的异步消息传递。","随着学习flutter的人越来越多,一部分开发者通过查看官网的文档就能入门,但也有很多开发者感觉学习时仍然有些吃力,主要原因有两个,首先官网的文档主要是为了引导开发者快速上手的,讲的并不是很细;其次是我们虽然翻译了官方文档,但是对于flutt","隐藏loading框","需子类实现","需要一个alignmentgeometry类型的值,表示子组件在父组件中的起始位置。alignmentgeometri","需要一个codec参数,该参数类型为future。codec","需要安装两个插件:","需要显式调用changenotifierprovider.of,当app内部依赖cartmodel很多时,这样的代码将很冗余。","需要注意的是,scrollcontroller的animateto()","需要注意的是,由于github本身功能非常多,我们的焦点并不是去实现github的所有业务功能。因此,我们只需要实现一个app的骨架,能达到上面这两点即可。下面对我们要实现的功能如下:","需要注意的是,目前github有三种登录方式,分别是账号密码登录、oauth授权登录、二次认证登录;这三种登录方式的安全性依次加强,但是在本示例中,为了简单起见,我们使用账号密码登录,因此我们需要保存用户的密码。","需要注意的是,通常singlechildscrollview只应在期望的内容不会超过屏幕太多时使用,这是因为singlechildscrollview不支持基于sliver的延迟实例化模型,所以如果预计视口可能包含超出屏幕尺寸太多的内容时,那么使用singlechildscrollview将会非常昂贵(性能差),此时应该使用一些支持sliver延迟加载的可滚动组件,如listview。","需要注意的是:由于rendererbinding只是一个mixin,而with它的是widgetsbinding,所以我们需要看看widgetsbinding中是否重写该方法,查看widgetsbinding的drawframe()方法源码:","需要注意的有三点:","需要说明:","页面标题","项目下提issue。","项目信息","项目信息列表项","项目占用的存储大小","项目拥有者,结构见\"user.json\"","颜色","颜色亮度","颜色和主题","颜色固定黑色\")","颜色跟随主题\")","首先创建一个新的应用程序:","首先在android","首先在原生中实现获取手机型号的api","首先打开xcode中flutter应用程序的ios部分:","首先,在项目根目录下创建一个i10n","首先,我们构建通道。我们使用methodchannel调用一个方法来返回电池电量。","首先,我们通过继承inheritedwidget,将当前计数器点击次数保存在sharedatawidget的data属性中:","首先,我们需要一个保存需要共享的数据inheritedwidget,由于具体业务数据类型不可预期,为了通用性,我们使用泛型,定义一个通用的inheritedprovider类,它继承自inheritedwidget:","首先,添加需要导入的依赖。","首先,自定义一个customclipper:","首次推出了一款新的用于创建跨平台、高性能的移动应用框架——flutter。","首页","验证avd配置是否正确,然后选择","验证“flutter/bin”是否已在path中:","验证无误后,我们就可以运行发布命令了:","验证配置","高","高度增长到300后,开始沿x轴向右平移100像素;这个过程占用整个动画时间的40%。","高性能","默认不支持","默认复选框不选中","默认情况下,animationcontroller对象值的范围是[0.0,1.0]。如果我们需要构建ui的动画值在不同的范围或不同的数据类型,则可以使用tween来添加映射以生成不同的范围或数据类型的值。例如,像下面示例,tween生成[","默认情况下,flutter","默认情况下,flutter使用的android","默认情况下,模板支持使用java编写android代码,或使用object","默认构造函数","默认构造函数有一个children参数,它接受一个widget列表(list)。这种方式适合只有少量的子组件的情况,因为这种方式需要将所有children都提前创建好(这需要做大量工作),而不是等到子widget真正显示的时候再创建,也就是说通过默认构造函数构建的listview没有应用基于sliver的懒加载模型。实际上通过此方式创建的listview和使用singlechildscrollview+column的方式没有本质的区别。下面是一个例子:","默认的样式风格,我们使用material作为本路由的根。","默认语言区域不对","!=","(ahead","(custompaint与canvas)","(react","(下面讨论)。","(主资源),后者被认为是一种变体(variant)。","(如果已经安装了brew,跳过此步骤)。","(我们将在后面容器类组件一章中介绍)来指定尺寸,如:","(或者更具体地说,如果您不调用window.render去响应window.ondrawframe)的话,","(非首次绘制),该方法会将被标记为“dirty”",")",")widget,所以当添加完商品后,cartmodel发生变化,会通知changenotifierprovider,",")是google官方的dart",")的任何时间调用此方法(在调用runapp()之后)。",",mount方法中首先调用element所对应widget的createrenderobject方法创建与element相关联的renderobject对象,然后调用element.attachrenderobject方法将element.renderobject添加到渲染树中插槽指定的位置(这一步不是必须的,一般发生在element树结构发生变化时才需要重新attach)。插入到渲染树后的element就处于“active”状态,处于“active”状态后就可以显示在屏幕上了(可以隐藏)。",",下面命名路由相关的方法也是一样的。",",也就是说1x中没有的话会在2x中找,2x中还没有的话就在3x中找。",",也正因如此,customscrollview才可以将多个sliver\"粘\"在一起,这些sliver共用customscrollview的scrollable,所以最终才实现了统一的滑动效果。",",使用json字符串作为参数:",",其中",",则独立绘制,反之则一起绘制。那独立绘制是怎么实现的呢?",",在其中添加:sourc",",在搜索结果列表中选择",",如assetimage是实现了从asset中加载图片的imageprovider,而networkimage实现了从网络加载图片的imageprovider。",",如果一个应用的大多数功能都是h5实现的话,我们称其为web",",如果在then中返回的是一个future的话,该future会执行,执行结束后会触发后面的then回调,这样依次向下,就避免了层层嵌套。",",如果有多个子节点,则每个子节点的偏移就可能不同。而子节点在父节点的偏移数据正是通过renderobject的parentdata属性来保存的。在renderbox中,其parentdata属性默认是一个boxparentdata对象,该属性只能通过父节点的setupparentdata()方法来设置:",",如此递归完成整个ui的布局。",",它可以自动处理url链接,定义如下:",",它实现了一个交错gridview的布局模型,可以很轻松的实现这种布局,详情读者可以自行了解。",",它是一个抽象类,定义了管理图片加载过程的一些接口,imag",",它是用于控制/监听tab菜单切换的。接下来通过tabbar生成了一个底部菜单栏,tabbar的tabs属性接受一个widget数组,表示每一个tab子菜单,我们可以自定义,也可以像示例中一样直接使用tab",",它继承自listenable,也实现了一个flutter风格的发布者",",当盒子被点击时调用。",",我们在介绍该组件时讲过:当子组件的build函数引用了inheritedwidget时,会创建对inheritedwidget的隐式依赖关系。因此,当inheritedwidget发生更改时,即localizations的locale设置发生更改时,将重建所有依赖它的子组件。",",我们正是通过这种方式来将动画和动画执行的曲线关联起来的。我们指定动画的曲线为curves.easein,它表示动画开始时比较慢,结束时比较快。",",所以就会逐渐放大。值得注意的是动画完成时要释放控制器(调用dispose()方法)以防止内存泄漏。",",打开appdelegate.m",",比如我们可以通过snapshot.connectionstate获取异步任务的状态信息、通过snapshot.haserror判断异步任务是否有错误等等,完整的定义读者可以查看asyncsnapshot类定义。",",灰色为false,如图3",",然后再上面绘制子节点",",然后将",",然后打开appdelegate.swift",",至今每天有3000多人在线浏览本书。那为什么不直接出版?如果直接出版,不仅有稿费,而且也能保护知识产权,而直接开源,不就就只能当雷锋了?其实,无论是做中文网、写gitme、做flutter开源项目,我的出发点都是为了能帮助中国开发者了解、学习flutter,而这是一件非常有意义的事,只要坚持做对别人有价值的事,那么上帝迟早会奖赏你;当然我们也在网站中留了打赏的按钮,如果读者觉得有帮助,可以扫码打赏,请笔者喝一杯咖啡。另外由于成书比较仓促,当时书中也有很多错误,开源后,有很多读者提pr来纠正书中的错别字,时至今日,有78名开发者为本书提过pr,我在此,衷心的感谢你们。",",表示是否为三态,其默认值为fals",",这时checkbox有两种状态即“选中”和“不选中”,对应的value值为true和fals",",这样其他开发者就可以轻松使用它。",",采用混合模式开发的app我们称之为混合应用或hybrid",",重启",":",":maxlength代表输入框文本的最大长度,设置后输入框右下角会显示输入的文本计数。maxlengthenforced决定当输入文本长度超过maxlength时是否阻止输入,为true时会阻止输入,为false时不会阻止输入但输入框会变红。",":子组件数组。",":由于不同平台默认支持的字体集不同,所以在手动指定字体时一定要先在不同平台测试一下。",";而容器类widget一般只需要接收一个子widget(child),他们直接或间接继承自(或包含)singlechildrenderobjectwidget。","?这主要是为了提高开发的灵活性。如果将build()方法在statefulwidget中则会有两个问题:","~/.bash_profil","~/.zshrc"],"pipeline":["stopWordFilter","stemmer"]},"store":{"./":{"url":"./","title":"缘起","keywords":"","body":"\n简介\n本书是第一本系统介绍Flutter技术的中文书籍,它是Flutter中文社区发起的开源项目之一,旨在帮助开发者入门,系统地、循序渐进的了解Flutter。\n\n本书官网访问量较大,由于服务器配置有限,所以某些时段访问本站可能略有延迟,如果延迟较久,读者可以直接在Github上阅读本书。\n\n关于作者\n作者wendux,高级技术专家(前端方向)、掘金知名专栏作者、Flutter中文网发起人、Flutter中文社区开源项目发起人;Github社区知名开发者,是dio、fly、dsBridge等多个知名开源项目作者。曾就职于百度、小赢科技等互联网公司,从事过PC桌面开发、移动端开发以及Web开发,负责过多次核心技术攻关,现就职于字节跳动业务团队,目前闲暇时,主要关注大前端行业发展。\n\n广告:长期招聘前端、移动端高工,有意者请发简历到duwen32767@163.com 或加微信Demons-du,期待和你做同事!\n\n缘起\n在全球,随着Flutter被越来越多的知名公司应用在自己的商业APP中,Flutter这门新技术也逐渐进入了移动开发者的视野,尤其是当Google在2018年IO大会上发布了第一个Preview版本后,国内刮起来一股学习Flutter的热潮。\n在Flutter发布之初,当时,我在看完Flutter原理介绍后,就对它产生了浓厚的兴趣。当时笔者身边也一些人比较关注Flutter,我也被经常问到关于Flutter的一些问题,比如Flutter怎么样?和RN有什么区别?Flutter为什么要用Dart?当时也听到了一些批评的声音,比如有些人说Flutter只是重复造轮子,没啥亮点、Flutter最大的缺点就是使用了Dart语言等。在听到这些问题及论调后,我深知这是对Flutter的不了解而造成的,这和当时国内缺乏Flutter中文文档和教程有直接关系,很多人对Flutter的了解都只停留在Google的发布会介绍(有中文翻译)。\n在笔者深入的了解Flutter后,深知Flutter必将是一个会改变移动开发格局的里程碑级作品,它从设计之初就对性能和开发效率兼顾,并且借鉴了React(一个Web开发框架)的响应式的UI框架设计思想等,总之,很难用一两句话说完Flutter的优点,同时我也很快成为了Flutter的路转粉。\n为了更好的帮助中国开发者了解这门新技术,我在2018年初开始翻译Flutter官网文档,同年4月份上线了Flutter中文网,上线后反响很强烈,Flutter中文网也很快被传播开,百度搜索排名迅速蹿升到前三,截止目前,Flutter中文官网日PV在7万左右,每日独立访问人数近一万多。\n虽然Flutter中文网给中国开发者提供了很好的第一手了解Flutter的资料,但是笔者还会经常遇到一些对Flutter技术处于围观而不愿尝试的开发者。这主要是因为当时Flutter在国内没有成功案例,再加上新技术都有学习成本,所以即使有文档,也会有一些开发者犹豫是否来学习。为了解决这部分开发者的疑虑,我就想如果能用Flutter开发一个完整的APP发布到应用商店,这样开发者就可以在犹豫的时候可以先实际感受一下Flutter应用,这样有个直观的了解后,就会容易做出判断,为此,我开发了Gitme,它是一个Github客户端,它支持了源码浏览、Issue、Label等Github的大多数功能,到目前为止,通过Gitme登录过Github账号的用户有8000多人,日活用户有1000人。更重要的是,有很多人正是用了Gitme后,才来学Flutter的。\n无论是做Flutter中文网,还是写Gitme,主要目标都是帮助开发者学习Flutter,同时消除围观开发者疑虑。但当开发者们真正开始动手时,Flutter的生态问题就变得尤为突出。由于在2018年初Flutter刚起步时,很多基础的包和库都是空白,少数已有的一些库也大都是预览版(未到1.0),存在很多bug。这个状况不是一两个人花一两天能搞定的,这是需要聚整个Flutter开发者社群之力,耗费数年时间才可能有所改善。因此,在2018年4月份,我以Flutter中文网名义发起了Flutter开源计划,该计划主要是开发一些常用的包来丰富Flutter生态,帮助开发者提高开发效率。自在github建立Flutter中文开发者社区账号以来,前后开源了dio、cookieJar、flukit等多个项目,而dio在开源两周后,就迅速成为Flutter第三方包中Star排名第一的开源库。\n虽然做的事情已经够多了,但是仍有一些很有必要去做的事情,由于时间原因,一直被搁置。\n随着学习Flutter的人越来越多,一部分开发者通过查看官网的文档就能入门,但也有很多开发者感觉学习时仍然有些吃力,主要原因有两个,首先官网的文档主要是为了引导开发者快速上手的,讲的并不是很细;其次是我们虽然翻译了官方文档,但是对于Flutter SDK文档并没有翻译,而在开发中遇到的一些具体问题通常都得去查看SDK文档。所以,要解决这两个问题,必须得有一个系统化的Flutter教程,它不仅可以快速引导开发者入门,而且也能触及到一些细节和原理,最好也能提供一些学习和研究Flutter的方法。因此,如果能有一本能系统地介绍Flutter的书籍便是便是非常棒的!但是,当时没有一本关于Flutter的中文书籍,因此,我便计划写一本能由浅入深、系统介绍Flutter的书。2018年12月,《Flutter实战》完成初稿,并在Github上开源,同时上线了《Flutter实战》电子书官网 ,至今每天有3000多人在线浏览本书。那为什么不直接出版?如果直接出版,不仅有稿费,而且也能保护知识产权,而直接开源,不就就只能当雷锋了?其实,无论是做中文网、写Gitme、做Flutter开源项目,我的出发点都是为了能帮助中国开发者了解、学习Flutter,而这是一件非常有意义的事,只要坚持做对别人有价值的事,那么上帝迟早会奖赏你;当然我们也在网站中留了打赏的按钮,如果读者觉得有帮助,可以扫码打赏,请笔者喝一杯咖啡。另外由于成书比较仓促,当时书中也有很多错误,开源后,有很多读者提PR来纠正书中的错别字,时至今日,有78名开发者为本书提过PR,我在此,衷心的感谢你们。\n起初,我没有出版实体书的打算,当时我以为开发者直接通过在线访问本书官网即方便又不用付费,何乐而不为。但在本书上线后,很多读者来添加微信好友,表示非常有收益,很期待出版纸质书,甚至有比较热心的读者想提前付定金预定!我理解,这是大家对我所做之事的认可和鼓励。考虑到,确实有一部分读者,尤其是还没毕业的同学,可能更喜欢通过书籍去学习,为此,我已经和机械工业出版社合作,目前本书纸质版正在出版中,敬请关注。\n本书特色\n笔者在大学时读过候捷(真名侯俊杰)写的一些C++相关书籍,在他的《深入浅出MFC》一书中,有一句话我映像非常深 “唯有深入,方能浅出”。我非常认同这句话,对于一门技术,只有了解的深入,才能用最浅显、通俗的话语描述出。我在写作本书时,深入浅出就是一个主要目标。所以,本书的目标不仅是想告诉读者如何使用Flutter,而且也非常关注各个知识点的底层实现以及设计思想。从本书章节划分上来看,入门篇为“浅出”,进阶篇则是“深入”。另外由于PC客户端开发、移动开发、Web开发这些经验我都有,而Flutter本质上是一个UI系统,而UI系统的设计和实现在”大前端“下有很多相通之处,所以在本书中的一些知识点我也会对比一些其他UI系统(主要是Android或Web)相应的实现,便于有相关开发经验的读者对比理解。\n本书读者对象\n\n读者至少熟悉一种编程语言。\n读者最好接触过PC客户端、移动开发或Web前端开发中的一种。\n本书不适合做为编程的入门读物。\n\n关于随书源码\n由于篇幅所限,本书中大多数示例代码都只是部分核心代码,读者可以去这里查看下载。\n致谢\n感谢一直以来支持Flutter中文网、Flutter开源项目的人以及所有对本书提过PR的人,正是因为有你们,才有这本书。另外尤其感谢给本书打赏过的同学,你们的支持给了我很大的鼓励。\n权益\n最后,知识是应该付费的,创作不易,开源不等于免费,如果您是本书读者并手头宽裕,可以点击下面打赏按钮打赏;当然,如果您囊中羞涩,您也可以阅读本书,但我对您有个小小的要求,希望您在阅读的过程中能积极参与到本书的纠错以及未完成内容的创作上来,也算是有所付出。\n近来在网上发现很多原封不动复制本书的镜像网站和大量复制或引用了本书但未注明出处的博客、文章甚至书籍;对此,笔者在此声明,本书著作权归wendux所有,任何组织或个人在未经授权的情况下复制、拷贝、抄袭本书用于商业目的,笔者保留追究其法律责任的权利。如果是非商业目的的转载和引用,请注明出处并附上本书网址。另外如有出版机构愿意为本书出版实体书或者想转载本书内容,亦或是想合作,请加微信Demons-du.\n最后\n如果您发现本书中的错误,欢迎点击右上角的”编辑按钮“,提PR。如果您想一起参与本书创作,可以参考《Flutter实战》贡献指南。\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":"1.1:移动开发技术简介","keywords":"","body":"1.1 移动开发技术简介\n本节将主要介绍一下移动开发技术的进化历程,主要是想让读者知道Flutter技术出现的背景。笔者认为,了解一门新技术出现的背景是非常重要的,因为只有了解之前是什么样的,才能理解为什么会是现在这样。\n1.1.1 原生开发与跨平台技术\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在接下来的章节中我们逐个来看看这三类框架的原理及优缺点。\n1.1.2 Hybrid技术简介\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不堪重任。\n1.1.3 React 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(Domain Specific Language) 语法是基于 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(Just In Time),执行效率和AOT(Ahead Of Time)代码仍有差距。\n由于渲染依赖原生控件,不同平台的控件需要单独维护,并且当系统更新时,社区控件可能会滞后;除此之外,其控件系统也会受到原生UI系统限制,例如,在Android中,手势冲突消歧规则是固定的,这在使用不同人写的控件嵌套时,手势冲突问题将会变得非常棘手。\n\n1.1.4 QT Mobile\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开发效率低:QT使用C++作为其开发语言,而编程需要效率是直接会影响APP开发效率的,C++作为一门静态语言,在UI开发方面灵活性不及JavaScript这样的动态语言,另外,C++需要开发者手动去管理内存分配,没有JavaScript及Java中垃圾回收(GC)的机制。\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是移动端开发跨平台自绘引擎的先驱,但却成为了烈士。\n1.1.5 Flutter出世\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。而今天(2019年5月29日),已经有65K的Star。经历了短短2年多的时间,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未来如何,心中自有定论。到现在为止,我们已经对移动端开发技术有了一个全面的了解,接下来我们便要进入本书的主题,你准备好了吗!\n1.1.6 小节\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":"1.2:初识Flutter","keywords":"","body":"1.2 初识Flutter\n1.2.1 Flutter简介\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作为其绘图引擎。\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细节的了解,再回过头来看,相信你会有更深的体会。\n1.2.2 Flutter框架结构\n本节我们先对Flutter的框架做一个整体介绍,旨在让读者心中有一个整体的印象,这对初学者来说非常重要。如果一下子便深入到Flutter中,就会像是一个在沙漠中没有地图的人,即使可以找到一个绿洲,但是他也不会知道下一个绿洲在哪。因此,无论学什么技术,都要现有一张清晰的“地图”,而我们的学习过程就是“按图索骥”,这样我们才不会陷于细节而“目无全牛”。言归正传,我们看一下Flutter官方提供的Flutter框架图,如图1-1所示:\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。\n1.2.3 如何学习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技术的推广,相信很快网上将会有很多Flutter相关的文章、博客,读者可以多去浏览、阅读。\n\n总结\n有了资料和社区后,对于我们学习者自身来说,最重要的还是要多动手、多实践,在本书后面的章节中,希望读者能够亲自动手写一下示例。准备好了吗,下一章中,我们将正式进入Flutter的世界!\n"},"chapter1/install_flutter.html":{"url":"chapter1/install_flutter.html","title":"1.3:搭建Flutter开发环境","keywords":"","body":"1.3 搭建Flutter开发环境\n工欲善其事必先利其器,本节首先会分别介绍一下在Windows和macOS下Flutter SDK的安装,然后再介绍一下配IDE和模拟器的使用。\n1.3.1 安装Flutter\n由于Flutter会同时构建Android和IOS两个平台的发布包,所以Flutter同时依赖Android SDK和iOS SDK,在安装Flutter时也需要安装相应平台的构建工具和SDK。下面我们分别介绍一下Windows和macOS下的环境搭建。\n\n注意:本节介绍的安装方式随着Flutter的升级可能会发生变化,如果下面介绍的内容在您安装Flutter时已经失效,请访问Flutter官网,按照官网最新的安装教程安装。\n\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/,打开后如图1-2所示:\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、stable,其中stable分支为稳定分支(日后有新的稳定版本发布后可能也会有新的稳定分支,如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 \n1.3.2 IDE配置与使用\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工具栏,如图1-3所示:\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\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\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你会立即在运行的应用程序中看到更新的字符串。\n1.3.3 连接设备运行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,如图1-5:\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 值是否唯一,如图1-7所示:\n\n\n运行 flutter run启动flutter应用程序。\n\n\n\n\n1.3.4 常见配置问题\nAndroid Studio问题\n缺少依赖库问题\n上手安卓最常遇见的问题之一,错误如图1-8所示,此时点击超链接即可自动跳转到安装页面\n\n安装之后重新运行即可,如图1-9:\n\n连接不上Android Repository\n这也是最常见的问题之一,当你发现自己无法下载部分依赖的时候,请优先考虑这种情况。进入 File -> Settings -> Appearance & Behavior -> System Settings -> Android SDK -> SDK Update Sites 列表,可以看到此时的 Android Repository 无法连接,如图1-10所示:\n\n这是由于要去Google下载Android SDK,但在国内目前无法访问Google所致,因此,我们可以配置代理或使用vpn。\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 maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' } //添加这一句\n }\n}\n\n进入 File/ Settings/ Build, Execution, Deployment/ BuildTools/ 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\nHot Reload 热重载失效问题\n在给 Terminal 之类的终端模拟器设置代理之后,会导致”Hot Reload“重载失效,此时调用 Save (cmd-s / ctrl-s)将不会进行热重载,热重载按钮 (带有闪电⚡️图标的按钮)也不会显示,将代理移除即可解决。\n另外,有些情况下热重载是不生效的,比如修改了main函数、修改了全局静态方法等,读者可以认为”Hot Reload“只会重新构建整个widget树,如果变动不在构建widget树的过程中,”Hot Reload“就不会起作用。\n"},"chapter1/dart.html":{"url":"chapter1/dart.html","title":"1.4:Dart语言简介","keywords":"","body":"1.4 Dart语言简介\n在之前我们已经介绍过Dart语言的相关特性,读者可以翻看一下,如果读者已经熟悉Dart语法,可以跳过本节,如果你还不了解Dart,也不用担心,按照笔者经验,如果你有过其他编程语言经验(尤其是Java和JavaScript)的话会非常容易上手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\n1.4.1 变量声明\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\n Object 是Dart所有对象的根基类,也就是说所有类型都是Object的子类(包括Function和Null),所以任何类型的数据都可以赋值给Object声明的对象.\n dynamic与var一样都是关键词,声明的变量可以赋值任意对象。\n 而dynamic与Object相同之处在于,他们声明的变量可以在后期改变赋值类型。\n dynamic t;\n Object x;\n t = \"hi world\";\n x = 'Hello Object';\n //下面代码没有问题\n t = 1000;\n x = 1000;\n\ndynamic与Object不同的是,dynamic声明的对象编译器会提供所有可能的组合,\n而Object声明的对象只能使用Object的属性与方法, 否则编译器会报错。如:\n dynamic a;\n Object b;\n main() {\n a = \"\";\n b = \"\";\n printLengths();\n } \n\n printLengths() {\n // no warning\n print(a.length);\n // warning:\n // The getter 'length' is not defined for the class 'Object'\n print(b.length);\n }\n\n变量a不会报错, 变量b编译器会报错\ndynamic的这个特性与Objective-C中的id作用很像.\ndynamic的这个特点使得我们在使用它时需要格外注意,这很容易引入一个运行时错误.\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\n1.4.2 函数\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\n1.4.3 异步支持\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\n1.4.4 Stream\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\n1.4.5 Dart和Java及JavaScript对比\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(目前只停留在Lambda表达式),而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":"2.1:计数器示例","keywords":"","body":"2.1 计数器应用示例\n用Android Studio和VS Code创建的Flutter应用模板默认是一个简单的计数器示例。本节先仔细讲解一下这个计数器Demo的源码,让读者对Flutter应用程序结构有个基本了解,然后在随后的小节中将会基于此示例,一步一步添加一些新的功能来介绍Flutter应用的其它概念与技术。\n对于接下来的示例,希望读者可以跟着笔者一起亲自动手来写一下,这样不仅可以加深印象,而且也会对介绍的概念与技术有一个真切的体会。如果你还不是很熟悉Dart语言或者没有移动开发经验,不用担心,只要你熟悉面向对象和基本编程概念(如变量、循环和条件控制),则可以完成本示例。\n2.1.1 创建Flutter应用模板\n通过Android Studio或VS Code创建一个新的Flutter工程,命名为\"first_flutter_app\"。创建好后,就会得到一个计数器应用的Demo。\n\n注意,默认Demo示例可能随着编辑器Flutter插件的版本变化而变化,本例中会介绍计数器示例的全部代码,所以不会对本示例产生影响。\n\n我们先运行创建的工程,效果如图2-1所示:\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(MyApp());\n\n\n与C/C++、Java类似,Flutter 应用中main函数为应用程序的入口。main函数中调用了runApp 方法,它的功能是启动Flutter应用。runApp它接受一个Widget参数,在本示例中它是一个MyApp对象,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\n在Flutter中,大多数东西都是widget(后同”组件“或”部件“),包括对齐(alignment)、填充(padding)和布局(layout)等,它们嗾使以widget的形式提供。\n\nFlutter在构建页面时,会调用组件的build方法,widget的主要工作是提供一个build()方法来描述如何构建UI界面(通常是通过组合、拼装其它基础widget)。\n\nMaterialApp 是Material库中提供的Flutter APP框架,通过它可以设置应用的名称、主题、语言、首页及路由列表等。MaterialApp也是一个widget。\n\nScaffold 是Material库中提供的页面脚手架,它包含导航栏和Body以及FloatingActionButton(如果需要的话)。 本书后面示例中,路由默认都是通过Scaffold创建。\n\nhome 为Flutter应用的首页,它也是一个widget。\n\n\n\n\n2.1.2 首页\n class 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\n class _MyHomePageState extends State {\n ...\n }\n\nMyHomePage 是Flutter应用的首页,它继承自StatefulWidget类,表示它是一个有状态的组件(Stateful widget)。关于Stateful widget我们将在第三章”Widget简介“一节自习介绍,现在我们只需简单认为有状态的组件(Stateful widget) 和无状态的组件(Stateless widget)有两点不同:\n\nStateful widget可以拥有状态,这些状态在widget生命周期中是可以变的,而Stateless widget是不可变的。\n\nStateful widget至少由两个类组成:\n\n一个StatefulWidget类。\n一个 State类; StatefulWidget类本身是不变的,但是State类中持有的状态在widget生命周期中可能会发生变化。\n\n_MyHomePageState类是MyHomePage类对应的状态类。看到这里,读者可能已经发现:和MyApp 类不同, MyHomePage类中并没有build方法,取而代之的是,build方法被挪到了_MyHomePageState方法中,至于为什么这么做,先留个疑问,在分析完完整代码后再来解答。\n\n\nState类\n接下来,我们看看_MyHomePageState中都包含哪些东西:\n\n该组件的状态。由于我们只需要维护一个点击次数计数器,所以定义一个_counter状态:\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树(后同”组件树“或”部件树“)的body属性。组件树可以很复杂。\nbody的组件树中包含了一个Center 组件,Center 可以将其子组件树对齐到屏幕中心。此例中, Center 子组件是一个Column 组件,Column的作用是将其所有子组件沿屏幕垂直方向依次排列; 此例中Column子组件是两个 Text,第一个Text 显示固定文本 “You have pushed the button this many times:”,第二个Text 显示_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试想一下,如果我们的StatefulWidget有很多状态,而每次状态改变都要调用build方法,由于状态是保存在State中的,如果build方法在StatefulWidget中,那么build方法和状态分别在两个类中,那么构建时读取状态将会很不方便!试想一下,如果真的将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":"2.2:路由管理","keywords":"","body":"2.2 路由管理\n路由(Route)在移动开发中通常指页面(Page),这跟web开发中单页应用的Route概念意义是相同的,Route在Android中通常指一个Activity,在iOS中指一个ViewController。所谓路由管理,就是管理页面之间如何跳转,通常也可被称为导航管理。Flutter中的路由管理和原生开发类似,无论是Android还是iOS,导航管理都会维护一个路由栈,路由入栈(push)操作对应打开一个新页面,路由出栈(pop)操作对应页面关闭操作,而路由管理主要是指如何来管理路由栈。\n2.2.1 一个简单示例\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 MaterialPageRoute(builder: (context) {\n return NewRoute();\n }));\n },\n ),\n ],\n )\n\n我们添加了一个打开新路由的按钮,并将按钮文字颜色设置为蓝色,点击该按钮后就会打开新的路由页面,效果如图2-2和2-3所示。\n \n\n\n2.2.2 MaterialPageRoute\nMaterialPageRoute继承自PageRoute类,PageRoute类是一个抽象类,表示占有整个屏幕空间的一个模态路由页面,它还定义了路由构建及切换时过渡动画的相关接口及属性。MaterialPageRoute 是Material组件库提供的组件,它可以针对不同平台,实现与平台页面切换动画风格一致的路由切换动画:\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来实现,我们将在后面介绍动画时,实现一个自定义的路由组件。\n\n2.2.3 Navigator\nNavigator是一个路由管理的组件,它提供了打开和退出路由页方法。Navigator通过一个栈来管理活动路由集合。通常当前屏幕显示的页面就是栈顶的路由。Navigator提供了一系列方法来管理路由栈,在此我们只介绍其最常用的两个方法:\nFuture push(BuildContext context, Route route)\n将给定的路由入栈(即打开新的页面),返回值是一个Future对象,用以接收新路由出栈(即关闭)时的返回数据。\nbool pop(BuildContext context, [ result ])\n将栈顶路由出栈,result为页面关闭时返回给上一个页面的数据。\nNavigator 还有很多其它方法,如Navigator.replace、Navigator.popUntil等,详情请参考API文档或SDK源码注释,在此不再赘述。下面我们还需要介绍一下路由相关的另一个概念“命名路由”。\n实例方法\nNavigator类中第一个参数为context的静态方法都对应一个Navigator的实例方法, 比如Navigator.push(BuildContext context, Route route)等价于Navigator.of(context).push(Route route) ,下面命名路由相关的方法也是一样的。\n2.2.4 路由传值\n很多时候,在路由跳转时我们需要带一些参数,比如打开商品详情页时,我们需要带一个商品id,这样商品详情页才知道展示哪个商品信息;又比如我们在填写订单时需要选择收获地址,打开地址选择页后,可以将用户选择的地址返回到订单页等等。下面我们通过一个简单的示例来演示新旧路由如何传参。\n示例\n我们创建一个TipRoute路由,它接受一个提示文本参数,负责将传入它的文本显示在页面上,另外TipRoute中我们添加一个“返回”按钮,点击后在返回上一个路由的同时会带上一个返回参数,下面我们看一下实现代码。\nTipRoute实现代码:\nclass TipRoute extends StatelessWidget {\n TipRoute({\n Key key,\n @required this.text, // 接收一个text参数\n }) : super(key: key);\n final String text;\n\n @override\n Widget build(BuildContext context) {\n return Scaffold(\n appBar: AppBar(\n title: Text(\"提示\"),\n ),\n body: Padding(\n padding: EdgeInsets.all(18),\n child: Center(\n child: Column(\n children: [\n Text(text),\n RaisedButton(\n onPressed: () => Navigator.pop(context, \"我是返回值\"),\n child: Text(\"返回\"),\n )\n ],\n ),\n ),\n ),\n );\n }\n}\n\n下面是打开新路由TipRoute的代码:\nclass RouterTestRoute extends StatelessWidget {\n @override\n Widget build(BuildContext context) {\n return Center(\n child: RaisedButton(\n onPressed: () async {\n // 打开`TipRoute`,并等待返回结果\n var result = await Navigator.push(\n context,\n MaterialPageRoute(\n builder: (context) {\n return TipRoute(\n // 路由参数\n text: \"我是提示xxxx\",\n );\n },\n ),\n );\n //输出`TipRoute`路由返回结果\n print(\"路由返回值: $result\");\n },\n child: Text(\"打开提示页\"),\n ),\n );\n }\n}\n\n运行上面代码,点击RouterTestRoute页的”打开提示页“按钮,会打开TipRoute页,运行效果如图2-4所示下:\n\n需要说明:\n\n提示文案”我是提示xxxx“是通过TipRoute的text参数传递给新路由页的。我们可以通过等待Navigator.push(…)返回的Future来获取新路由的返回数据。\n\n在TipRoute页中有两种方式可以返回到上一页;第一种方式时直接点击导航栏返回箭头,第二种方式是点击页面中的”返回“按钮。这两种返回方式的区别是前者不会返回数据给上一个路由,而后者会。下面是分别点击页面中的返回按钮和导航栏返回箭头后,RouterTestRoute页中print方法在控制台输出的内容:\nI/flutter (27896): 路由返回值: 我是返回值\nI/flutter (27896): 路由返回值: null\n\n\n上面介绍的是非命名路由的传值方式,命名路由的传值方式会有所不同,我们会在下面介绍命名路由时介绍。\n2.2.5 命名路由\n所谓”命名路由“(Named Route)即有名字的路由,我们可以先给路由起一个名字,然后就可以通过路由名字直接打开新的路由了,这为路由管理带来了一种直观、简单的方式。\n路由表\n要想使用命名路由,我们必须先提供并注册一个路由表(routing table),这样应用程序才知道哪个名字与哪个路由组件相对应。其实注册路由表就是给路由起名字,路由表的定义如下:\nMap routes;\n\n它是一个Map,key为路由的名字,是个字符串;value是个builder回调函数,用于生成相应的路由widget。我们在通过路由名字打开新路由时,应用会根据路由名字在路由表中查找到对应的WidgetBuilder回调函数,然后调用该回调函数生成路由widget并返回。\n注册路由表\n路由表的注册方式很简单,我们回到之前“计数器”的示例,然后在MyApp类的build方法中找到MaterialApp,添加routes属性,代码如下:\nMaterialApp(\n title: 'Flutter Demo',\n theme: ThemeData(\n primarySwatch: Colors.blue,\n ),\n //注册路由表\n routes:{\n \"new_page\":(context)=>NewRoute(),\n ... // 省略其它路由注册信息\n } ,\n home: MyHomePage(title: 'Flutter Demo Home Page'),\n);\n\n现在我们就完成了路由表的注册。上面的代码中home路由并没有使用命名路由,如果我们也想将home注册为命名路由应该怎么做呢?其实很简单,直接看代码:\nMaterialApp(\n title: 'Flutter Demo',\n initialRoute:\"/\", //名为\"/\"的路由作为应用的home(首页)\n theme: ThemeData(\n primarySwatch: Colors.blue,\n ),\n //注册路由表\n routes:{\n \"new_page\":(context)=>NewRoute(),\n \"/\":(context)=> MyHomePage(title: 'Flutter Demo Home Page'), //注册首页路由\n } \n);\n\n可以看到,我们只需在路由表中注册一下MyHomePage路由,然后将其名字作为MaterialApp的initialRoute属性值即可,该属性决定应用的初始路由页是哪一个命名路由。\n通过路由名打开新路由页\n要通过路由名称来打开新路由,可以使用Navigator 的pushNamed方法:\nFuture pushNamed(BuildContext context, String routeName,{Object arguments})\n\nNavigator 除了pushNamed方法,还有pushReplacementNamed等其他管理命名路由的方法,读者可以自行查看API文档。接下来我们通过路由名来打开新的路由页,修改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在Flutter最初的版本中,命名路由是不能传递参数的,后来才支持了参数;下面展示命名路由如何传递并获取路由参数:\n我们先注册一个路由:\n routes:{\n \"new_page\":(context)=>EchoRoute(),\n } ,\n\n在路由页通过RouteSetting对象获取路由参数:\nclass EchoRoute extends StatelessWidget {\n\n @override\n Widget build(BuildContext context) {\n //获取路由参数 \n var args=ModalRoute.of(context).settings.arguments\n //...省略无关代码\n }\n}\n\n在打开路由时传递参数\nNavigator.of(context).pushNamed(\"new_page\", arguments: \"hi\");\n\n适配\n假设我们也想将上面路由传参示例中的TipRoute路由页注册到路由表中,以便也可以通过路由名来打开它。但是,由于TipRoute接受一个text 参数,我们如何在不改变TipRoute源码的前提下适配这种情况?其实很简单:\nMaterialApp(\n ... //省略无关代码\n routes: {\n \"tip2\": (context){\n return TipRoute(text: ModalRoute.of(context).settings.arguments);\n },\n }, \n);\n\n2.2.6 路由生成钩子\n假设我们要开发一个电商APP,当用户没有登录时可以看店铺、商品等信息,但交易记录、购物车、用户个人信息等页面需要登录后才能看。为了实现上述功能,我们需要在打开每一个路由页前判断用户登录状态!如果每次打开路由前我们都需要去判断一下将会非常麻烦,那有什么更好的办法吗?答案是有!\nMaterialApp有一个onGenerateRoute属性,它在打开命名路由时会可能会被调用,之所以说可能,是因为当调用Navigator.pushNamed(...)打开命名路由时,如果指定的路由名在路由表中已注册,则会调用路由表中的builder函数来生成路由组件;如果路由表中没有注册,才会调用onGenerateRoute来生成路由。onGenerateRoute回调签名如下:\nRoute Function(RouteSettings settings)\n\n有了onGenerateRoute回调,要实现上面控制页面权限的功能就非常容易:我们放弃使用路由表,取而代之的是提供一个onGenerateRoute回调,然后在该回调中进行统一的权限控制,如:\nMaterialApp(\n ... //省略无关代码\n onGenerateRoute:(RouteSettings settings){\n return MaterialPageRoute(builder: (context){\n String routeName = settings.name;\n // 如果访问的路由页需要登录,但当前未登录,则直接返回登录页路由,\n // 引导用户登录;其它情况则正常打开路由。\n }\n );\n }\n);\n\n\n注意,onGenerateRoute只会对命名路由生效。\n\n2.2.7 总结\n本章先介绍了Flutter中路由管理、传参的方式,然后又着重介绍了命名路由相关内容。在此需要说明一点,由于命名路由只是一种可选的路由管理方式,在实际开发中,读者可能心中会犹豫到底使用哪种路由管理方式。在此,根据笔者经验,建议读者最好统一使用命名路由的管理方式,这将会带来如下好处:\n\n语义化更明确。\n代码更好维护;如果使用匿名路由,则必须在调用Navigator.push的地方创建新路由页,这样不仅需要import新路由页的dart文件,而且这样的代码将会非常分散。\n可以通过onGenerateRoute做一些全局的路由跳转前置处理逻辑。\n\n综上所述,笔者比较建议使用命名路由,当然这并不是什么金科玉律,读者可以根据自己偏好或实际情况来决定。\n另外,还有一些关于路由管理的内容我们没有介绍,比如路由MaterialApp中还有navigatorObservers和onUnknownRoute两个回调属性,前者可以监听所有路由跳转动作,后者在打开一个不存在的命名路由时会被调用,由于这些功能并不常用,而且也比较简单,我们便不再花费篇幅来介绍了,读者可以自行查看API文档。\n"},"chapter2/flutter_package_mgr.html":{"url":"chapter2/flutter_package_mgr.html","title":"2.3:包管理","keywords":"","body":"2.3 包管理\n在软件开放,很多时候有一些公共的库或SDK可能会被很多项目用到,因此,将这些代码单独抽到一个独立模块,然后哪个项目需要使用时再直接集成这个模块,便可大大提高开发效率。很多编程语言或开发工具都支持这种“模块共享”机制,如Java语言中这种独立模块会被打成一个jar包,Android中的aar包,Web开发中的npm包等。为了方便表述,我们将这种可共享的独立模块统一称为“包”( Package)。\n一个APP在实际开发中往往会依赖很多包,而这些包通常都有交叉依赖关系、版本依赖等,如果由开发者手动来管理应用中的依赖包将会非常麻烦。因此,各种开发生态或编程语言官方通常都会提供一些包管理工具,比如在Android提供了Gradle来管理依赖,iOS用Cocoapods或Carthage来管理依赖,Node中通过npm等。而在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发布我们的包和插件。我们将在后面的章节中介绍如何向Pub发布我们的包和插件。\n示例\n接下来,我们实现一个显示随机字符串的widget。有一个名为“english_words”的开源软件包,其中包含数千个常用的英文单词以及一些实用功能。我们首先在pub上找到english_words这个包(如图2-5所示),确定其最新的版本号和是否支持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下载包。在Android Studio的编辑器视图中查看pubspec.yaml时(图2-6),单击右上角的 Packages get 。\n\n这会将依赖包安装到您的项目。我们可以在控制台中看到以下内容:\nflutter packages get\nRunning \"flutter packages get\" in flutter_in_action...\nProcess finished with exit code 0\n\n我们也可以在控制台,定位到当前工程目录,然后手动运行flutter packages get 命令来下载依赖包。另外,需要注意dependencies和dev_dependencies的区别,前者的依赖包将作为APP的源码的一部分参与编译,生成最终的安装包。而后者的依赖包只是作为开发阶段的一些工具包,主要是用于帮助我们提高开发、测试效率,比如flutter的自动化测试包等。\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 添加到 _MyHomePageState.build 的Column的子widget中。\nColumn(\n mainAxisAlignment: MainAxisAlignment.center,\n children: [\n ... //省略无关代码\n RandomWordsWidget(),\n ],\n)\n\n\n如果应用程序正在运行,请使用热重载按钮(⚡️图标) 更新正在运行的应用程序。每次单击热重载或保存项目时,都会在正在运行的应用程序中随机选择不同的单词对。 这是因为单词对是在 build 方法内部生成的。每次热更新时,build方法都会被执行,运行效果如图2-7所示。\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上面介绍的这些依赖方式是Flutter开发中常用的,但还有一些其它依赖方式,完整的内容读者可以自行查看:https://www.dartlang.org/tools/pub/dependencies 。\n总结\n本节介绍了Flutter中包管理、引用、下载的整体流程,我们将在后面的章节中介绍如果开发并发布我们自己的包。\n"},"chapter2/flutter_assets_mgr.html":{"url":"chapter2/flutter_assets_mgr.html","title":"2.4:资源管理","keywords":"","body":"2.4 资源管理\nFlutter APP安装包中会包含代码和 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\n\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”,见图2-8)。 只需按照Android开发人员指南中的说明, 将其替换为所需的资源,并遵守每种屏幕密度(dpi)的建议图标大小标准。\n\n\n注意: 如果您重命名.png文件,则还必须在您AndroidManifest.xml的标签的android:icon属性中更新名称。\n\n\niOS\n在Flutter项目的根目录中,导航到.../ios/Runner。该目录中Assets.xcassets/AppIcon.appiconset已经包含占位符图片(见图2-9), 只需将它们替换为适当大小的图片,保留原始文件名称。\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进行自定义,如图2-11所示。\n\n"},"chapter2/flutter_app_debug.html":{"url":"chapter2/flutter_app_debug.html","title":"2.5:调试Flutter APP","keywords":"","body":"2.5 调试Flutter应用\n有各种各样的工具和功能来帮助调试Flutter应用程序。\nDart 分析器\n在运行应用程序前,请运行flutter analyze测试你的代码。这个工具是一个静态代码检查工具,它是dartanalyzer工具的一个包装,主要用于分析代码并帮助开发者发现可能的错误,比如,Dart分析器大量使用了代码中的类型注释来帮助追踪问题,避免var、无类型的参数、无类型的列表文字等。\n 如果你使用IntelliJ的Flutter插件,那么分析器在打开IDE时就已经自动启用了,如果读者使用的是其它IDE,强烈建议读者启用Dart 分析器,因为在大多数时候,Dart 分析器可以在代码运行前发现大多数问题。\nDart Observatory (语句级的单步调试和分析器)\n如果我们使用flutter run启动应用程序,那么当它运行时,我们可以打开Observatory工具的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}\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应用调试过程中,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))\n... #省略剩余内容\n\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)\n... # 省略\n\n这是根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\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\n跟踪Dart代码性能\n要执行自定义性能跟踪和测量Dart任意代码段的wall/CPU时间(类似于在Android上使用systrace)。 使用dart:developer的Timeline工具来包含你想测试的代码块,例如:\nTimeline.startSync('interesting function');\n// iWonderHowLongThisTakes();\nTimeline.finishSync();\n\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您也可以直接使用GridPaper组件将这种网格覆盖在非Material应用程序上 。\n"},"chapter2/thread_model_and_error_report.html":{"url":"chapter2/thread_model_and_error_report.html","title":"2.6:Dart线程模型及异常捕获","keywords":"","body":"2.6 Flutter异常捕获\n在介绍Flutter异常捕获之前必须先了解一下Dart单线程模型,只有了解了Dart的代码执行流程,我们才能知道该在什么地方去捕获异常。\n2.6.1 Dart单线程模型\n在Java和Objective-C(以下简称“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在事件循环中,当某个任务发生异常并没有被捕获时,程序并不会退出,而直接导致的结果是当前任务的后续代码就不会被执行了,也就是说一个任务中的异常是不会影响其它任务执行的。\n2.6.2 Flutter异常捕获\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":"第三章:基础组件","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":"3.1:Widget简介","keywords":"","body":"3.1 Widget简介\n3.1.1 概念\n在前面的介绍中,我们知道在Flutter中几乎所有的对象都是一个Widget。与原生开发中“控件”不同的是,Flutter中的Widget的概念更广泛,它不仅可以表示UI元素,也可以表示一些功能性的组件如:用于手势检测的 GestureDetector widget、用于APP主题数据传递的Theme等等,而原生开发中的控件通常只是指UI元素。在后面的内容中,我们在描述UI元素时可能会用到“控件”、“组件”这样的概念,读者心里需要知道他们就是widget,只是在不同场景的不同表述而已。由于Flutter主要就是用于构建用户界面的,所以,在大多数时候,读者可以认为widget就是一个控件,不必纠结于概念。\n3.1.2 Widget与Element\n在Flutter中,Widget的功能是“描述一个UI元素的配置数据”,它就是说,Widget其实并不是表示最终绘制在设备屏幕上的显示元素,而它只是描述显示元素的一个配置数据。\n实际上,Flutter中真正代表屏幕上显示元素的类是Element,也就是说Widget只是描述Element的配置数据!有关Element的详细介绍我们将在本书后面的高级部分深入介绍,现在,读者只需要知道:Widget只是UI元素的一个配置数据,并且一个Widget可以对应多个Element。这是因为同一个Widget对象可以被添加到UI树的不同部分,而真正渲染时,UI树的每一个Element节点都会对应一个Widget对象。总结一下:\n\nWidget实际上就是Element的配置数据,Widget树实际上是一个配置树,而真正的UI渲染树是由Element构成;不过,由于Element是通过Widget生成的,所以它们之间有对应关系,在大多数场景,我们可以宽泛地认为Widget树就是指UI控件树或UI渲染树。\n一个Widget对象可以对应多个Element对象。这很好理解,根据同一份配置(Widget),可以创建多个实例(Element)。\n\n读者应该将这两点牢记在心中。\n3.1.3 Widget主要接口\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类来实现一个新组件,相反,我们通常会通过继承StatelessWidget或StatefulWidget来间接继承Widget类来实现。StatelessWidget和StatefulWidget都是直接继承自Widget类,而这两个类也正是Flutter中非常重要的两个抽象类,它们引入了两种Widget模型,接下来我们将重点介绍一下这两个类。\n3.1.4 StatelessWidget\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需要接收子Widget,那么child或children参数通常应被放在参数列表的最后。同样是按照惯例,Widget的属性应尽可能的被声明为final,防止被意外改变。\n\n然后我们可以通过如下方式使用它:\nWidget build(BuildContext context) {\n return Echo(text: \"hello world\");\n}\n\n运行后效果如图3-1所示:\n\n3.1.5 StatefulWidget\n和StatelessWidget一样,StatefulWidget也是继承自Widget类,并重写了createElement()方法,不同的是返回的Element 对象并不相同;另外StatefulWidget类中添加了一个新的接口createState()。\n下面我们看看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\n3.1.6 State\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 Scaffold(\n body: Center(\n child: FlatButton(\n child: Text('$_counter'),\n //点击后计数器自增\n onPressed:()=>setState(()=> ++_counter,\n ),\n ),\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\nStatefulWidget生命周期如图3-2所示:\n\n注意:在继承StatefulWidget重写其方法时,对于包含@mustCallSuper标注的父类方法,都要在子类方法中先调用父类方法。\n3.1.7 Flutter SDK内置组件库介绍\nFlutter提供了一套丰富、强大的基础组件,在基础组件库之上Flutter又提供了一套Material风格(Android默认的视觉风格)和一套Cupertino风格(iOS视觉风格)的组件库。要使用基础组件库,需要先导入:\nimport 'package:flutter/widgets.dart';\n\n下面我们介绍一下常用的组件。\n基础组件\n\nText:该组件可让您创建一个带格式的文本。\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组件\nFlutter提供了一套丰富的Material组件,它可以帮助我们构建遵循Material Design设计规范的应用程序。Material应用程序以MaterialApp 组件开始, 该组件在应用程序的根部创建了一些必要的组件,比如Theme组件,它用于配置应用的主题。 是否使用MaterialApp完全是可选的,但是使用它是一个很好的做法。在之前的示例中,我们已经使用过多个Material 组件了,如:Scaffold、AppBar、FlatButton等。要使用Material 组件,需要先引入它:\nimport 'package:flutter/material.dart';\n\nCupertino组件\nFlutter也提供了一套丰富的Cupertino风格的组件,尽管目前还没有Material 组件那么丰富,但是它仍在不断的完善中。值得一提的是在Material 组件库中有一些组件可以根据实际运行平台来切换表现风格,比如MaterialPageRoute,在路由切换时,如果是Android系统,它将会使用Android系统默认的页面切换动画(从底向上);如果是iOS系统,它会使用iOS系统默认的页面切换动画(从右向左)。由于在前面的示例中还没有Cupertino组件的示例,下面我们实现一个简单的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下面(图3-3)是在iPhoneX上页面效果截图:\n\n关于示例\n本章后面章节的示例中会使用一些布局类组件,如Scaffold、Row、Column等,这些组件将在后面“布局类组件”一章中详细介绍,读者可以先不用关注。\n总结\nFlutter提供了丰富的组件,在实际的开发中你可以根据需要随意使用它们,而不必担心引入过多组件库会让你的应用安装包变大,这不是web开发,dart在编译时只会编译你使用了的代码。由于Material和Cupertino都是在基础组件库之上的,所以如果我们的应用中引入了这两者之一,则不需要再引入flutter/widgets.dart了,因为它们内部已经引入过了。\n"},"chapter3/state_manage.html":{"url":"chapter3/state_manage.html","title":"3.2:状态管理","keywords":"","body":"3.2 状态管理\n响应式的编程框架中都会有一个永恒的主题——“状态(State)管理”,无论是在React/Vue(两者都是支持响应式编程的Web开发框架)还是Flutter中,他们讨论的问题和解决的思想都是一致的。所以,如果你对React/Vue的状态管理有了解,可以跳过本节。言归正传,我们想一个问题,StatefulWidget的状态应该被谁管理?Widget本身?父Widget?都会?还是另一个对象?答案是取决于实际情况!以下是管理状态的最常见的方法:\n\nWidget管理自己的状态。\nWidget管理子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,如图3-4所示。\n下面的例子将使用GestureDetector来识别点击事件,关于该GestureDetector的详细内容我们将在后面“事件处理”一章中介绍。\n3.2.1 Widget管理自身状态\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\n3.2.2 父Widget管理子Widget的状态\n对于父Widget来说,管理状态并告诉其子Widget何时更新通常是比较好的方式。 例如,IconButton是一个图标按钮,但它是一个无状态的Widget,因为我们认为父Widget需要知道该按钮是否被点击来采取相应的处理。\n在以下示例中,TapboxB通过回调将其状态导出到其父组件,状态由父组件管理,因此它的父组件为StatefulWidget。但是由于TapboxB不管理任何状态,所以TapboxB为StatelessWidget。\nParentWidgetState 类:\n\n为TapboxB 管理_active状态。\n实现_handleTapboxChanged(),当盒子被点击时调用的方法。\n当状态改变时,调用setState()更新UI。\n\nTapboxB 类:\n\n继承StatelessWidget类,因为所有状态都由其父组件处理。\n当检测到点击时,它会通知父组件。\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\n3.2.3 混合状态管理\n对于一些组件来说,混合管理的方式会非常有用。在这种情况下,组件自身管理一些内部状态,而父组件管理一些其他外部状态。\n在下面TapboxC示例中,手指按下时,盒子的周围会出现一个深绿色的边框,抬起时,边框消失。点击完成后,盒子的颜色改变。 TapboxC将其_active状态导出到其父组件中,但在内部管理其_highlight状态。这个例子有两个状态对象_ParentWidgetState和_TapboxCState。\n_ParentWidgetStateC类:\n\n管理_active 状态。\n实现 _handleTapboxChanged() ,当盒子被点击时调用。\n当点击盒子并且_active状态改变时调用setState()更新UI。\n\n_TapboxCState 对象:\n\n管理_highlight 状态。\nGestureDetector监听所有tap事件。当用户点下时,它添加高亮(深绿色边框);当用户释放时,会移除高亮。\n当按下、抬起、或者取消点击时更新_highlight状态,调用setState()更新UI。\n当点击时,将状态的改变传递给父组件。\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 @override\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 @override\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另一种实现可能会将高亮状态导出到父组件,但同时保持_active状态为内部状态,但如果你要将该TapBox给其它人使用,可能没有什么意义。 开发人员只会关心该框是否处于Active状态,而不在乎高亮显示是如何管理的,所以应该让TapBox内部处理这些细节。\n3.3.4 全局状态管理\n当应用中需要一些跨组件(包括跨路由)的状态需要同步时,上面介绍的方法便很难胜任了。比如,我们有一个设置页,里面可以设置应用的语言,我们为了让设置实时生效,我们期望在语言状态发生改变时,APP中依赖应用语言的组件能够重新build一下,但这些依赖应用语言的组件和设置页并不在一起,所以这种情况用上面的方法很难管理。这时,正确的做法是通过一个全局状态管理器来处理这种相距较远的组件之间的通信。目前主要有两种办法:\n\n实现一个全局的事件总线,将语言状态改变对应为一个事件,然后在APP中依赖应用语言的组件的initState 方法中订阅语言改变的事件。当用户在设置页切换语言后,我们发布语言改变事件,而订阅了此事件的组件就会收到通知,收到通知后调用setState(...)方法重新build一下自身即可。\n使用一些专门用于状态管理的包,如Provider、Redux,读者可以在pub上查看其详细信息。\n\n本书将在\"功能型组件\"一章中介绍Provider包的实现原理及用法,同时也将会在\"事件处理与通知\"一章中实现一个全局事件总线,读者有需要可以直接翻看。\n"},"chapter3/text.html":{"url":"chapter3/text.html","title":"3.3:文本、字体样式","keywords":"","body":"3.3 文本及样式\n3.3.1 Text\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运行效果如图3-5所示:\n\n\ntextAlign:文本的对齐方式;可以选择左对齐、右对齐还是居中。注意,对齐的参考系是Text widget本身。本例中虽然是指定了居中对齐,但因为Text文本内容宽度不足一行,Text的宽度和文本内容长度相等,那么这时指定对齐方式是没有意义的,只有Text宽度大于文本内容长度时指定此属性才有意义。下面我们指定一个较长的字符串:\nText(\"Hello world \"*6, //字符串重复六次\n textAlign: TextAlign.center,\n);\n\n运行效果如图3-6所示:\n\n\n\n​ 字符串内容超过一行,Text宽度等于屏幕宽度,第二行文本便会居中显示。\n\nmaxLines、overflow:指定文本显示的最大行数,默认情况下,文本是自动折行的,如果指定此参数,则文本最多不会超过指定的行。如果有多余的文本,可以通过overflow来指定截断方式,默认是直接截断,本例中指定的截断方式TextOverflow.ellipsis,它会将多余文本截断后以省略符“...”表示;TextOverflow的其它截断方式请参考SDK文档。\ntextScaleFactor:代表文本相对于当前字体大小的缩放因子,相对于去设置文本的样式style属性的fontSize,它是调整字体大小的一个快捷方式。该属性的默认值可以通过MediaQueryData.textScaleFactor获得,如果没有MediaQuery,那么会默认值将为1.0。\n\n3.3.2 TextStyle\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效果如图3-7所示:\n\n此示例只展示了TextStyle的部分属性,它还有一些其它属性,属性名基本都是自解释的,在此不再赘述,读者可以查阅SDK文档。值得注意的是:\n\nheight:该属性用于指定行高,但它并不是一个绝对值,而是一个因子,具体的行高等于fontSize*height。\n\nfontFamily :由于不同平台默认支持的字体集不同,所以在手动指定字体时一定要先在不同平台测试一下。\n\nfontSize:该属性和Text的textScaleFactor都用于控制字体大小。但是有两个主要区别:\n\nfontSize可以精确指定字体大小,而textScaleFactor只能通过缩放比例来控制。\ntextScaleFactor主要是用于系统字体大小设置改变时对Flutter应用字体进行全局调整,而fontSize通常用于单个文本,字体大小不会跟随系统字体大小变化。\n\n\n\n3.3.3 TextSpan\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用于对该文本片段上用于手势进行识别处理。下面我们看一个效果(图3-8),然后用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\n3.3.4 DefaultTextStyle\n在Widget树中,文本的样式默认是可以被继承的(子类文本类组件未指定具体样式时可以使用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。示例运行效果如图3-9:\n\n3.3.5 字体\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":"3.4:按钮","keywords":"","body":"3.4 按钮\n3.4.1 Material组件库中的按钮\nMaterial 组件库中提供了多种按钮组件如RaisedButton、FlatButton、OutlineButton等,它们都是直接或间接对RawMaterialButton组件的包装定制,所以他们大多数属性都和RawMaterialButton一样。在介绍各个按钮时我们先介绍其默认外观,而按钮的外观大都可以通过属性来自定义,我们在后面统一介绍这些属性。另外,所有Material 库中的按钮都有如下相同点:\n\n按下时都会有“水波动画”(又称“涟漪动画”,就是点击时按钮上会出现水波荡漾的动画)。\n有一个onPressed属性来设置点击回调,当按钮按下时会执行该回调,如果不提供该回调则按钮会处于禁用状态,禁用状态不响应用户点击。\n\nRaisedButton\nRaisedButton 即\"漂浮\"按钮,它默认带有阴影和灰色背景。按下后,阴影会变大,如图3-10所示:\n\n使用RaisedButton非常简单,如:\nRaisedButton(\n child: Text(\"normal\"),\n onPressed: () {},\n);\n\nFlatButton\nFlatButton即扁平按钮,默认背景透明并不带阴影。按下后,会有背景色,如图3-11所示:\n\n使用FlatButton也很简单,代码如下:\nFlatButton(\n child: Text(\"normal\"),\n onPressed: () {},\n)\n\nOutlineButton\nOutlineButton默认有一个边框,不带阴影且背景透明。按下后,边框颜色会变亮、同时出现背景和阴影(较弱),如图3-12所示:\n\n使用OutlineButton也很简单,代码如下:\nOutlineButton(\n child: Text(\"normal\"),\n onPressed: () {},\n)\n\nIconButton\nIconButton是一个可点击的Icon,不包括文字,默认没有背景,点击后会出现背景,如图3-13所示:\n\n代码如下:\nIconButton(\n icon: Icon(Icons.thumb_up),\n onPressed: () {},\n)\n\n带图标的按钮\nRaisedButton、FlatButton、OutlineButton都有一个icon 构造函数,通过它可以轻松创建带图标的按钮,如图3-14所示:\n\n代码如下:\nRaisedButton.icon(\n icon: Icon(Icons.send),\n label: Text(\"发送\"),\n onPressed: _onPressed,\n),\nOutlineButton.icon(\n icon: Icon(Icons.add),\n label: Text(\"添加\"),\n onPressed: _onPressed,\n),\nFlatButton.icon(\n icon: Icon(Icons.info),\n label: Text(\"详情\"),\n onPressed: _onPressed,\n),\n\n3.4.2 自定义按钮外观\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定义一个背景蓝色,两边圆角的按钮。效果如图3-15所示:\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,这是为了保证按钮文字颜色为浅色。\nFlutter 中没有提供去除背景的设置,假若我们需要去除背景,则可以通过将背景颜色设置为全透明来实现。对应上面的代码,便是将 color: Colors.blue 替换为 color: Color(0x000000)。\n细心的读者可能会发现这个按钮没有阴影(点击之后也没有),这样会显得没有质感。其实这也很容易,将上面的FlatButton换成RaisedButton就行,其它代码不用改(这里 color 也不做更改),换了之后的效果如图3-16所示:\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 组件库中,我们会在很多组件中见到elevation相关的属性,它们都是用来控制阴影的,这是因为阴影在Material设计风格中是一种很重要的表现形式,以后在介绍其它组件时,便不再赘述。\n如果我们想实现一个背景渐变的圆角按钮,按钮有没有相应的属性呢?答案是否定的,但是,我们可以通过其它方式来实现,我们将在后面\"自定义组件\"一章中实现。\n"},"chapter3/img_and_icon.html":{"url":"chapter3/img_and_icon.html","title":"3.5:图片和Icon","keywords":"","body":"3.5 图片及ICON\n3.5.1 图片\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.yaml中的flutter部分添加如下内容:\n assets:\n - images/avatar.png\n\n\n注意: 由于 yaml 文件对缩进严格,所以必须严格按照每一层两个空格的方式进行缩进,此处assets前面应有两个空格。\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运行上面两个示例,图片加载成功后如图3-17所示:\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一图胜万言! 我们队一个宽高相同的头像图片应用不同的fit值,效果如图3-18所示:\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运行效果如图3-19所示(彩色):\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运行后效果如图3-20所示:\n\n\n\n完整的示例代码如下:\nimport 'package:flutter/material.dart';\n\nclass ImageAndIconRoute extends StatelessWidget {\n @override\n Widget build(BuildContext context) {\n var img=AssetImage(\"imgs/avatar.png\");\n return SingleChildScrollView(\n child: Column(\n children: [\n Image(\n image: img,\n height: 50.0,\n width: 100.0,\n fit: BoxFit.fill,\n ),\n Image(\n image: img,\n height: 50,\n width: 50.0,\n fit: BoxFit.contain,\n ),\n Image(\n image: img,\n width: 100.0,\n height: 50.0,\n fit: BoxFit.cover,\n ),\n Image(\n image: img,\n width: 100.0,\n height: 50.0,\n fit: BoxFit.fitWidth,\n ),\n Image(\n image: img,\n width: 100.0,\n height: 50.0,\n fit: BoxFit.fitHeight,\n ),\n Image(\n image: img,\n width: 100.0,\n height: 50.0,\n fit: BoxFit.scaleDown,\n ),\n Image(\n image: img,\n height: 50.0,\n width: 100.0,\n fit: BoxFit.none,\n ),\n Image(\n image: img,\n width: 100.0,\n color: Colors.blue,\n colorBlendMode: BlendMode.difference,\n fit: BoxFit.fill,\n ),\n Image(\n image: img,\n width: 100.0,\n height: 200.0,\n repeat: ImageRepeat.repeatY ,\n )\n ].map((e){\n return Row(\n children: [\n Padding(\n padding: EdgeInsets.all(16.0),\n child: SizedBox(\n width: 100,\n child: e,\n ),\n ),\n Text(e.fit.toString())\n ],\n );\n }).toList()\n ),\n );\n }\n}\n\nImage缓存\nFlutter框架对加载过的图片是有缓存的(内存),默认最大缓存数量是1000,最大缓存空间为100M。关于Image的详细内容及原理我们将会在后面进阶部分深入介绍。\n3.5.2 ICON\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运行效果如图3-21所示:\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运行后效果如图3-22所示:\n\n\n\n"},"chapter3/radio_and_checkbox.html":{"url":"chapter3/radio_and_checkbox.html","title":"3.6:单选框和复选框","keywords":"","body":"3.6 单选开关和复选框\nMaterial 组件库中提供了Material风格的单选开关Switch和复选框Checkbox,它们都是继承自StatelessWidget,所以它们本身不会保存当前选择状态,因此它们的选中状态都是由父组件来管理的。当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()通知Flutter framework重新构建UI。\n\n属性及外观\nSwitch和Checkbox属性比较简单,读者可以查看API文档,它们都有一个activeColor属性,用于设置激活态的颜色。至于大小,到目前为止,Checkbox的大小是固定的,无法自定义,而Switch只能定义宽度,高度也是固定的。值得一提的是Checkbox有一个属性tristate ,表示是否为三态,其默认值为false ,这时Checkbox有两种状态即“选中”和“不选中”,对应的value值为true和false 。如果tristate值为true时,value的值会增加一个状态null,读者可以自行了解。\n总结\n通过Switch和Checkbox我们可以看到,虽然它们本身是与状态(是否选中)关联的,但它们却不是自己来维护状态,而是需要父组件来管理状态,然后当用户点击时,再通过事件通知给父组件,这样是合理的,因为Switch和Checkbox是否选中本就和用户数据关联,而这些用户数据也不可能是它们的私有状态。我们在自定义组件时也应该思考一下哪种状态的管理方式最为合理。\n"},"chapter3/input_and_form.html":{"url":"chapter3/input_and_form.html","title":"3.7:输入框和表单","keywords":"","body":"3.7 输入框及表单\nMaterial组件库中提供了输入框组件TextField和表单组件Form。下面我们分别介绍一下。\n3.7.1 TextField\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系统下键盘样式如图3-24所示:\n\n\nstyle:正在编辑的文本样式。\n\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运行后,效果如图3-25所示:\n\n获取输入内容\n获取输入内容有两种方式:\n\n定义两个变量,用于保存用户名和密码,然后在onChange触发时,各自保存一下输入内容。\n通过controller直接获取。\n\n第一种方式比较简单,不在举例,我们来重点看一下第二种方式,我们以用户名输入框举例:\n定义一个controller:\n//定义一个controller\nTextEditingController _unameController = 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\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 = TextEditingController();\n\n设置默认值,并从第三个字符开始选中后面的字符\n_selectionController.text=\"hello world!\";\n_selectionController.selection=TextSelection(\n baseOffset: 2,\n extentOffset: _selectionController.text.length\n);\n\n设置controller:\nTextField(\n controller: _selectionController,\n)\n\n运行效果如图3-26所示:\n\n控制焦点\n焦点可以通过FocusNode和FocusScopeNode来控制,默认情况下,焦点由FocusScope来管理,它代表焦点控制范围,可以在这个范围内可以通过FocusScopeNode在输入框之间移动焦点、设置默认焦点等。我们可以通过FocusScope.of(context) 来获取Widget树中默认的FocusScopeNode。下面看一个示例,在此示例中创建两个TextField,第一个自动获取焦点,然后创建两个按钮:\n\n点击第一个按钮可以将焦点从第一个TextField挪到第二个TextField。\n点击第二个按钮可以关闭键盘。\n\n我们要实现的效果如图3-27所示:\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运行效果如图3-28所示:\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通过这种组件组合的方式,也可以定义背景圆角等。一般来说,优先通过decoration来自定义样式,如果decoration实现不了,再用widget组合的方式。\n\n思考题:在这个示例中,下划线颜色是固定的,所以获得焦点后颜色仍然为灰色,如何实现点击后下滑线也变色呢?\n\n3.7.2 表单Form\n实际业务中,在正式向服务器提交数据前,都会对各个输入框数据进行合法性校验,但是对每一个TextField都分别进行校验将会是一件很麻烦的事。还有,如果用户想清除一组TextField的内容,除了一个一个清除有没有什么更好的办法呢?为此,Flutter提供了一个Form 组件,它可以对输入框进行分组,然后进行一些统一操作,如输入内容校验、输入框重置以及输入内容保存。\nForm\nForm继承自StatefulWidget对象,它对应的状态类为FormState。我们先看看Form类的定义:\nForm({\n @required Widget child,\n bool autovalidate = false,\n WillPopCallback onWillPop,\n VoidCallback onChanged,\n})\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组件,它继承自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 Scaffold(\n appBar: AppBar(\n title:Text(\"Form Test\"),\n ),\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运行后效果如图3-29所示:\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"},"chapter3/progress.html":{"url":"chapter3/progress.html","title":"3.8:进度指示器","keywords":"","body":"3.8 进度指示器\nMaterial 组件库中提供了两种进度指示器:LinearProgressIndicator和CircularProgressIndicator,它们都可以同时用于精确的进度指示和模糊的进度指示。精确进度通常用于任务进度可以计算和预估的情况,比如文件下载;而模糊进度则用户任务进度无法准确获得的情况,如下拉刷新,数据提交等。\nLinearProgressIndicator\nLinearProgressIndicator是一个线性、条状的进度条,定义如下:\nLinearProgressIndicator({\n double value,\n Color backgroundColor,\n Animation valueColor,\n ...\n})\n\n\nvalue:value表示当前的进度,取值范围为[0,1];如果value为null时则指示器会执行一个循环动画(模糊进度);当value不为null时,指示器为一个具体进度的进度条。\nbackgroundColor:指示器的背景色。\nvalueColor: 指示器的进度条颜色;值得注意的是,该值类型是Animation,这允许我们对进度条的颜色也可以指定动画。如果我们不需要对进度条颜色执行动画,换言之,我们想对进度条应用一种固定的颜色,此时我们可以通过AlwaysStoppedAnimation来指定。\n\n示例\n// 模糊进度条(会执行一个动画)\nLinearProgressIndicator(\n backgroundColor: Colors.grey[200],\n valueColor: AlwaysStoppedAnimation(Colors.blue),\n),\n//进度条显示50%\nLinearProgressIndicator(\n backgroundColor: Colors.grey[200],\n valueColor: AlwaysStoppedAnimation(Colors.blue),\n value: .5, \n)\n\n运行效果如图3-30所示:\n\n第一个进度条在执行循环动画:蓝色条一直在移动,而第二个进度条是静止的,停在50%的位置。\nCircularProgressIndicator\nCircularProgressIndicator是一个圆形进度条,定义如下:\n CircularProgressIndicator({\n double value,\n Color backgroundColor,\n Animation valueColor,\n this.strokeWidth = 4.0,\n ... \n})\n\n前三个参数和LinearProgressIndicator相同,不再赘述。strokeWidth 表示圆形进度条的粗细。示例如下:\n// 模糊进度条(会执行一个旋转动画)\nCircularProgressIndicator(\n backgroundColor: Colors.grey[200],\n valueColor: AlwaysStoppedAnimation(Colors.blue),\n),\n//进度条显示50%,会显示一个半圆\nCircularProgressIndicator(\n backgroundColor: Colors.grey[200],\n valueColor: AlwaysStoppedAnimation(Colors.blue),\n value: .5,\n),\n\n运行效果如图3-31所示:\n\n第一个进度条会执行旋转动画,而第二个进度条是静止的,它停在50%的位置。\n自定义尺寸\n我们可以发现LinearProgressIndicator和CircularProgressIndicator,并没有提供设置圆形进度条尺寸的参数;如果我们希望LinearProgressIndicator的现细一些,或者希望CircularProgressIndicator的圆大一些该怎么做?\n其实LinearProgressIndicator和CircularProgressIndicator都是取父容器的尺寸作为绘制的边界的。知道了这点,我们便可以通过尺寸限制类Widget,如ConstrainedBox、SizedBox (我们将在后面容器类组件一章中介绍)来指定尺寸,如:\n// 线性进度条高度指定为3\nSizedBox(\n height: 3,\n child: LinearProgressIndicator(\n backgroundColor: Colors.grey[200],\n valueColor: AlwaysStoppedAnimation(Colors.blue),\n value: .5,\n ),\n),\n// 圆形进度条直径指定为100\nSizedBox(\n height: 100,\n width: 100,\n child: CircularProgressIndicator(\n backgroundColor: Colors.grey[200],\n valueColor: AlwaysStoppedAnimation(Colors.blue),\n value: .7,\n ),\n),\n\n运行效果如图3-32所示:\n\n注意,如果CircularProgressIndicator显示空间的宽高不同,则会显示为椭圆。如:\n// 宽高不等\nSizedBox(\n height: 100,\n width: 130,\n child: CircularProgressIndicator(\n backgroundColor: Colors.grey[200],\n valueColor: AlwaysStoppedAnimation(Colors.blue),\n value: .7,\n ),\n),\n\n运行效果如图3-33所示:\n\n进度色动画\n前面说过可以通过valueColor对进度条颜色做动画,关于动画我们将在后面专门的章节详细介绍,这里先给出一个例子,读者在了解了Flutter动画一章后再回过头来看。\n我们实现一个进度条在3秒内从灰色变成蓝色的动画:\nimport 'package:flutter/material.dart';\n\nclass ProgressRoute extends StatefulWidget {\n @override\n _ProgressRouteState createState() => _ProgressRouteState();\n}\n\nclass _ProgressRouteState extends State\n with SingleTickerProviderStateMixin {\n AnimationController _animationController;\n\n @override\n void initState() {\n //动画执行时间3秒 \n _animationController =\n new AnimationController(vsync: this, duration: Duration(seconds: 3));\n _animationController.forward();\n _animationController.addListener(() => setState(() => {}));\n super.initState();\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: Column(\n children: [\n Padding(\n padding: EdgeInsets.all(16),\n child: LinearProgressIndicator(\n backgroundColor: Colors.grey[200],\n valueColor: ColorTween(begin: Colors.grey, end: Colors.blue)\n .animate(_animationController), // 从灰色变成蓝色\n value: _animationController.value,\n ),\n );\n ],\n ),\n );\n }\n}\n\n自定义进度指示器样式\n定制进度指示器风格样式,可以通过CustomPainter Widget 来自定义绘制逻辑,实际上LinearProgressIndicator和CircularProgressIndicator也正是通过CustomPainter来实现外观绘制的。关于CustomPainter,我们将在后面“自定义Widget”一章中详细介绍。\n\nflutter_spinkit 包提供了多种风格的模糊进度指示器,读者若是感兴趣,可以参考。\n\n"},"chapter4/":{"url":"chapter4/","title":"第四章:布局类组件","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":"4.1:布局类组件简介","keywords":"","body":"4.1 布局类组件简介\n布局类组件都会包含一个或多个子组件,不同的布局类组件对子组件排版(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,通常基础组件都属于这一类,如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布局类组件就是指直接或间接继承(包含)MultiChildRenderObjectWidget的Widget,它们一般都会有一个children属性用于接收子Widget。我们看一下继承关系 Widget > RenderObjectWidget > (Leaf/SingleChild/MultiChild)RenderObjectWidget 。\nRenderObjectWidget类中定义了创建、更新RenderObject的方法,子类必须实现他们,关于RenderObject我们现在只需要知道它是最终布局、渲染UI界面的对象即可,也就是说,对于布局类组件来说,其布局算法都是通过对应的RenderObject对象来实现的,所以读者如果对接下来介绍的某个布局类组件的原理感兴趣,可以查看其对应的RenderObject的实现,比如Stack(层叠布局)对应的RenderObject对象就是RenderStack,而层叠布局的实现就在RenderStack中。\n在本章中,为了让读者对布局类Widget有个快速的认识,所以我们并不会深入到RenderObject的细节中去。在学习本章时,读者的重点是掌握不同布局组件的布局特点,具体原理和细节等我们对Flutter整体入门后,感兴趣的话再去研究。\n"},"chapter4/row_and_column.html":{"url":"chapter4/row_and_column.html","title":"4.2:线性布局(Row、Column)","keywords":"","body":"4.2 线性布局(Row和Column)\n所谓线性布局,即指沿水平或垂直方向排布子组件。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:表示水平方向子组件的布局顺序(是从左往右还是从右往左),默认为系统当前Locale环境的文本方向(如中文、英语都是从左往右,而阿拉伯语是从右往左)。\nmainAxisSize:表示Row在主轴(水平)方向占用的空间,默认是MainAxisSize.max,表示尽可能多的占用水平方向的空间,此时无论子widgets实际占用多少水平空间,Row的宽度始终等于水平方向的最大宽度;而MainAxisSize.min表示尽可能少的占用水平空间,当子组件没有占满水平剩余空间,则Row的实际宽度等于所有子组件占用的的水平空间;\nmainAxisAlignment:表示子组件在Row所占用的水平空间内对齐方式,如果mainAxisSize值为MainAxisSize.min,则此属性无意义,因为子组件的宽度等于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:表示子组件在纵轴方向的对齐方式,Row的高度等于子组件中最高的子元素高度,它的取值和MainAxisAlignment一样(包含start、end、 center三个值),不同的是crossAxisAlignment的参考系是verticalDirection,即verticalDirection值为VerticalDirection.down时crossAxisAlignment.start指顶部对齐,verticalDirection值为VerticalDirection.up时,crossAxisAlignment.start指底部对齐;而crossAxisAlignment.end和crossAxisAlignment.start正好相反;\nchildren :子组件数组。\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实际运行结果如图4-1所示:\n\n解释:第一个Row很简单,默认为居中对齐;第二个Row,由于mainAxisSize值为MainAxisSize.min,Row的宽度等于两个Text的宽度和,所以对齐是无意义的,所以会从左往右显示;第三个Row设置textDirection值为TextDirection.rtl,所以子组件会从右向左的顺序排列,而此时MainAxisAlignment.end表示左对齐,所以最终显示结果就是图中第三行的样子;第四个Row测试的是纵轴的对齐方式,由于两个子Text字体不一样,所以其高度也不同,我们指定了verticalDirection值为VerticalDirection.up,即从低向顶排列,而此时crossAxisAlignment值为CrossAxisAlignment.start表示底对齐。\nColumn\nColumn可以在垂直方向排列其子组件。参数和Row一样,不同的是布局方向为垂直,主轴纵轴正好相反,读者可类比Row来理解,下面看一个例子:\nimport 'package:flutter/material.dart';\n\nclass CenterColumnRoute extends StatelessWidget {\n @override\n Widget build(BuildContext context) {\n return Column(\n crossAxisAlignment: CrossAxisAlignment.center,\n children: [\n Text(\"hi\"),\n Text(\"world\"),\n ],\n );\n }\n}\n\n运行效果如图4-2所示:\n\n解释:\n\n由于我们没有指定Column的mainAxisSize,所以使用默认值MainAxisSize.max,则Column会在垂直方向占用尽可能多的空间,此例中为屏幕高度。\n由于我们指定了 crossAxisAlignment 属性为CrossAxisAlignment.center,那么子项在Column纵轴方向(此时为水平方向)会居中对齐。注意,在水平方向对齐是有边界的,总宽度为Column占用空间的实际宽度,而实际的宽度取决于子项中宽度最大的Widget。在本例中,Column有两个子Widget,而显示“world”的Text宽度最大,所以Column的实际宽度则为Text(\"world\") 的宽度,所以居中对齐后Text(\"hi\")会显示在Text(\"world\")的中间部分。\n\n实际上,Row和Column都只会在主轴方向占用尽可能大的空间,而纵轴的长度则取决于他们最大子元素的长度。如果我们想让本例中的两个文本控件在整个手机屏幕中间对齐,我们有两种方法:\n\n将Column的宽度指定为屏幕宽度;这很简单,我们可以通过ConstrainedBox或SizedBox(我们将在后面章节中专门介绍着两个Widget)来强制更改宽度限制,例如:\nConstrainedBox(\n constraints: BoxConstraints(minWidth: double.infinity), \n child: Column(\n crossAxisAlignment: CrossAxisAlignment.center,\n children: [\n Text(\"hi\"),\n Text(\"world\"),\n ],\n ),\n);\n\n将minWidth设为double.infinity,可以使宽度占用尽可能多的空间。\n\n使用Center Widget;我们将在后面章节中介绍。\n\n\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运行效果如图4-3所示:\n\n如果要让里面的Column占满外部Column,可以使用Expanded 组件:\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运行效果如图4-4所示:\n\n我们将在介绍弹性布局时详细介绍Expanded。\n"},"chapter4/flex.html":{"url":"chapter4/flex.html","title":"4.3:弹性布局(Flex)","keywords":"","body":"4.3 弹性布局(Flex)\n弹性布局允许子组件按照一定比例来分配父容器空间。弹性布局的概念在其它UI系统中也都存在,如H5中的弹性盒子布局,Android中的FlexboxLayout等。Flutter中的弹性布局主要通过Flex和Expanded来配合实现。\nFlex\nFlex组件可以沿着水平或垂直方向排列子组件,如果你知道主轴方向,使用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子组件所占用的空间。\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运行效果如图4-5所示:\n\n示例中的Spacer的功能是占用指定比例的空间,实际上它只是Expanded的一个包装类,Spacer的源码如下:\nclass Spacer extends StatelessWidget {\n const Spacer({Key key, this.flex = 1})\n : assert(flex != null),\n assert(flex > 0),\n super(key: key);\n\n final int flex;\n\n @override\n Widget build(BuildContext context) {\n return Expanded(\n flex: flex,\n child: const SizedBox.shrink(),\n );\n }\n}\n\n小结\n弹性布局比较简单,唯一需要注意的就是Row、Column以及Flex的关系。\n"},"chapter4/wrap_and_flow.html":{"url":"chapter4/wrap_and_flow.html","title":"4.4:流式布局(Wrap、Flow)","keywords":"","body":"4.4 流式布局\n在介绍Row和Colum时,如果子widget超出屏幕范围,则会报溢出错误,如:\nRow(\n children: [\n Text(\"xxx\"*100)\n ],\n);\n\n运行效果如图4-6所示:\n\n可以看到,右边溢出部分报错。这是因为Row默认只有一行,如果超出屏幕不会折行。我们把超出屏幕显示范围会自动折行的布局称为流式布局。Flutter中通过Wrap和Flow来支持流式布局,将上例中的Row换成Wrap后溢出部分则会自动折行,下面我们分别介绍Wrap和Flow.\n4.4.1 Wrap\n下面是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运行效果如图4-7所示:\n\n4.4.2 Flow\n我们一般很少会使用Flow,因为其过于复杂,需要自己实现子widget的位置转换,在很多场景下首先要考虑的是Wrap是否满足需求。Flow主要用于一些需要自定义布局策略或性能要求较高(如动画中)的场景。Flow有如下优点:\n\n性能好;Flow是一个对子组件尺寸以及位置调整非常高效的控件,Flow用转换矩阵在对子组件进行位置调整的时候进行了优化:在Flow定位过后,如果子组件的尺寸或者位置发生了变化,在FlowDelegate中的paintChildren()方法中调用context.paintChild 进行重绘,而context.paintChild在重绘时使用了转换矩阵,并没有实际调整组件位置。\n灵活;由于我们需要自己实现FlowDelegate的paintChildren()方法,所以我们需要自己计算每一个组件的位置,因此,可以自定义布局策略。\n\n缺点:\n\n使用复杂。\n不能自适应子组件大小,必须通过指定父容器大小或实现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运行效果见图4-8:\n\n可以看到我们主要的任务就是实现paintChildren,它的主要任务是确定每个子widget位置。由于Flow不能自适应子widget的大小,我们通过在getSize返回一个固定大小来指定Flow的大小。\n"},"chapter4/stack.html":{"url":"chapter4/stack.html","title":"4.5:层叠布局(Stack、Positioned)","keywords":"","body":"4.5 层叠布局 Stack、Positioned\n层叠布局和Web中的绝对定位、Android中的Frame布局是相似的,子组件可以根据距父容器四个角的位置来确定自身的位置。绝对定位允许子组件堆叠起来(按照代码中声明的顺序)。Flutter中使用Stack和Positioned这两个组件来配合实现绝对定位。Stack允许子组件堆叠,而Positioned用于根据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)或部分定位的子组件。所谓部分定位,在这里特指没有在某一个轴上定位:left、right为横轴,top、bottom为纵轴,只要包含某个轴上的一个定位属性就算在该轴上有定位。\ntextDirection:和Row、Wrap的textDirection功能一样,都用于确定alignment对齐的参考系,即:textDirection的值为TextDirection.ltr,则alignment的start代表左,end代表右,即从左往右的顺序;textDirection的值为TextDirection.rtl,则alignment的start代表右,end代表左,即从右往左的顺序。\nfit:此参数用于确定没有定位的子组件如何去适应Stack的大小。StackFit.loose表示使用子组件的大小,StackFit.expand表示扩伸到Stack的大小。\noverflow:此属性决定如何显示超出Stack显示空间的子组件;值为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用于指定需要定位元素的宽度和高度。注意,Positioned的width、height 和其它地方的意义稍微有点区别,此处用于配合left、top 、right、 bottom来定位组件,举个例子,在水平方向时,你只能指定left、right、width三个属性中的两个,如指定left和width后,right会自动算出(left+width),如果同时指定三个属性则会报错,垂直方向同理。\n示例\n在下面的例子中,我们通过对几个Text组件的定位来演示Stack和Positioned的特性:\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运行效果见图4-9:\n\n由于第一个子文本组件Text(\"Hello world\")没有指定定位,并且alignment值为Alignment.center,所以它会居中显示。第二个子文本组件Text(\"I am Jack\")只指定了水平方向的定位(left),所以属于部分定位,即垂直方向上没有定位,那么它在垂直方向的对齐方式则会按照alignment指定的对齐方式对齐,即垂直方向居中。对于第三个子文本组件Text(\"Your friend\"),和第二个Text原理一样,只不过是水平方向没有定位,则水平方向居中。\n我们给上例中的Stack指定一个fit属性,然后将三个子文本组件的顺序调整一下:\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显示效果如图4-10所示:\n\n可以看到,由于第二个子文本组件没有定位,所以fit属性会对它起作用,就会占满Stack。由于Stack子元素是堆叠的,所以第一个子文本组件被第二个遮住了,而第三个在最上层,所以可以正常显示。\n"},"chapter4/alignment.html":{"url":"chapter4/alignment.html","title":"4.6:对齐与相对定位(Align)","keywords":"","body":"4.6 对齐与相对定位(Align)\n在上一节中我们讲过通过Stack和Positioned,我们可以指定一个或多个子元素相对于父元素各个边的精确偏移,并且可以重叠。但如果我们只想简单的调整一个子元素在父元素中的位置的话,使用Align组件会更简单一些。\n4.6.1 Align\nAlign 组件可以调整子组件的位置,并且可以根据子组件的宽高来确定自身的的宽高,定义如下:\nAlign({\n Key key,\n this.alignment = Alignment.center,\n this.widthFactor,\n this.heightFactor,\n Widget child,\n})\n\n\nalignment : 需要一个AlignmentGeometry类型的值,表示子组件在父组件中的起始位置。AlignmentGeometry 是一个抽象类,它有两个常用的子类:Alignment和 FractionalOffset,我们将在下面的示例中详细介绍。\nwidthFactor和heightFactor是用于确定Align 组件本身宽高的属性;它们是两个缩放因子,会分别乘以子元素的宽、高,最终的结果就是Align 组件的宽高。\n\n示例\n我们先来看一个简单的例子:\nContainer(\n height: 120.0,\n width: 120.0,\n color: Colors.blue[50],\n child: Align(\n alignment: Alignment.topRight,\n child: FlutterLogo(\n size: 60,\n ),\n ),\n)\n\n运行效果如图4-11所示:\n\nFlutterLogo 是Flutter SDK提供的一个组件,内容就是Flutter的商标。在上面的例子中,我们显式指定了Container的宽、高都为120。如果我们不显式指定宽高,而通过同时指定widthFactor和heightFactor 为2也是可以达到同样的效果:\nAlign(\n widthFactor: 2,\n heightFactor: 2,\n alignment: Alignment.topRight,\n child: FlutterLogo(\n size: 60,\n ),\n),\n\n因为FlutterLogo的宽高为60,则Align的最终宽高都为2*60=120。\n另外,我们通过Alignment.topRight将FlutterLogo定位在Container的右上角。那Alignment.topRight是什么呢?通过源码我们可以看到其定义如下:\n//右上角\nstatic const Alignment topRight = Alignment(1.0, -1.0);\n\n可以看到它只是Alignment的一个实例,下面我们介绍一下Alignment。\nAlignment\nAlignment继承自AlignmentGeometry,表示矩形内的一个点,他有两个属性x、y,分别表示在水平和垂直方向的偏移,Alignment定义如下:\nAlignment(this.x, this.y)\n\nAlignment Widget会以矩形的中心点作为坐标原点,即Alignment(0.0, 0.0) 。x、y的值从-1到1分别代表矩形左边到右边的距离和顶部到底边的距离,因此2个水平(或垂直)单位则等于矩形的宽(或高),如Alignment(-1.0, -1.0) 代表矩形的左侧顶点,而Alignment(1.0, 1.0)代表右侧底部终点,而Alignment(1.0, -1.0) 则正是右侧顶点,即Alignment.topRight。为了使用方便,矩形的原点、四个顶点,以及四条边的终点在Alignment类中都已经定义为了静态常量。\nAlignment可以通过其坐标转换公式将其坐标转为子元素的具体偏移坐标:\n(Alignment.x*childWidth/2+childWidth/2, Alignment.x*childHeight+childHeight/2)\n其中childWidth为子元素的宽度,childHeight为子元素高度。\n现在我们再看看上面的示例,我们将Alignment(1.0, -1.0)带入上面公式,可得FlutterLogo的实际偏移坐标正是(60,0)。下面再看一个例子:\n Align(\n widthFactor: 2,\n heightFactor: 2,\n alignment: Alignment(2,0.0),\n child: FlutterLogo(\n size: 60,\n ),\n)\n\n我们可以先想象一下运行效果:将Alignment(2,0.0)带入上述坐标转换公式,可以得到FlutterLogo的实际偏移坐标为(90,30)。实际运行如图4-12所示:\n\nFractionalOffset\nFractionalOffset 继承自 Alignment,它和 Alignment唯一的区别就是坐标原点不同!FractionalOffset 的坐标原点为矩形的左侧顶点,这和布局系统的一致,所以理解起来会比较容易。FractionalOffset的坐标转换公式为:\n实际偏移 = (FractionalOffse.x * childWidth, FractionalOffse.y * childHeight)\n下面看一个例子:\nContainer(\n height: 120.0,\n width: 120.0,\n color: Colors.blue[50],\n child: Align(\n alignment: FractionalOffset(0.2, 0.6),\n child: FlutterLogo(\n size: 60,\n ),\n ),\n)\n\n实际运行效果如图4-13所示下:\n\n我们将FractionalOffset(0.2, 0.6)带入坐标转换公式得FlutterLogo实际偏移为(12,36),和实际运行效果吻合。\n4.6.2 Align和Stack对比\n可以看到,Align和Stack/Positioned都可以用于指定子元素相对于父元素的偏移,但它们还是有两个主要区别:\n\n定位参考系统不同;Stack/Positioned定位的的参考系可以是父容器矩形的四个顶点;而Align则需要先通过alignment 参数来确定坐标原点,不同的alignment会对应不同原点,最终的偏移是需要通过alignment的转换公式来计算出。\nStack可以有多个子元素,并且子元素可以堆叠,而Align只能有一个子元素,不存在堆叠。\n\n4.6.3 Center组件\n我们在前面章节的例子中已经使用过Center组件来居中子元素了,现在我们正式来介绍一下它。通过查找SDK源码,我们看到Center组件定义如下:\nclass Center extends Align {\n const Center({ Key key, double widthFactor, double heightFactor, Widget child })\n : super(key: key, widthFactor: widthFactor, heightFactor: heightFactor, child: child);\n}\n\n可以看到Center继承自Align,它比Align只少了一个alignment 参数;由于Align的构造函数中alignment 值为Alignment.center,所以,我们可以认为Center组件其实是对齐方式确定(Alignment.center)了的Align。\n总结\n本节重点介绍了Align组件及两种偏移类Alignment 和FractionalOffset,读者需要理解这两种偏移类的区别及各自的坐标转化公式。另外,在此建议读者在需要制定一些精确的偏移时应优先使用FractionalOffset,因为它的坐标原点和布局系统相同,能更容易算出实际偏移。\n在后面,我们又介绍了Align组件和Stack/Positioned、Center的关系,读者可以对比理解。\n还有,熟悉Web开发的同学可能会发现Align组件的特性和Web开发中相对定位(position: relative)非常像,是的!在大多数时候,我们可以直接使用Align组件来实现Web中相对定位的效果,读者可以类比记忆。\n"},"chapter5/":{"url":"chapter5/","title":"第五章:容器类组件","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":"5.1:填充(Padding)","keywords":"","body":"5.1 填充(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示例\n下面的示例主要展示了EdgeInsets的不同用法,比较简单,源码如下:\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运行效果如图5-1所示:\n\n"},"chapter5/constrainedbox_and_sizebox.html":{"url":"chapter5/constrainedbox_and_sizebox.html","title":"5.2:尺寸限制类容器(ConstrainedBox等)","keywords":"","body":"5.2 尺寸限制类容器\n尺寸限制类容器用于限制容器大小,Flutter中提供了多种这样的容器,如ConstrainedBox、SizedBox、UnconstrainedBox、AspectRatio等,本节将介绍一些常用的。\n5.2.1 ConstrainedBox\nConstrainedBox用于对子组件添加额外的约束。例如,如果你想让子组件的最小高度是80像素,你可以使用const BoxConstraints(minHeight: 80.0)作为子组件的约束。\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运行效果如图5-2所示:\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文档。\n5.2.2 SizedBox\nSizedBox用于给子元素指定固定的宽高,如:\nSizedBox(\n width: 80.0,\n height: 80.0,\n child: redBox\n)\n\n运行效果如图5-3所示:\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\n5.2.3 多重限制\n如果某一个组件有多个父级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,他们的限制条件不同,运行后效果如图5-4所示:\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运行效果如图5-5所示:\n\n最终的显示效果仍然是90,高60,效果相同,但意义不同,因为此时minWidth生效的是父ConstrainedBox,而minHeight是子ConstrainedBox生效。\n通过上面示例,我们发现有多重限制时,对于minWidth和minHeight来说,是取父子中相应数值较大的。实际上,只有这样才能保证父限制与子限制不冲突。\n\n思考题:对于maxWidth和maxHeight,多重限制的策略是什么样的呢?\n\n5.2.4 UnconstrainedBox\nUnconstrainedBox不会对子组件产生任何限制,它允许其子组件按照其本身大小绘制。一般情况下,我们会很少直接使用此组件,但在\"去除\"多重限制的时候也许会有帮助,我们看下下面的代码:\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)仍然是生效的,只不过它不影响最终子元素redBox的大小,但仍然还是占有相应的空间,可以认为此时的父ConstrainedBox是作用于子UnconstrainedBox上,而redBox只受子ConstrainedBox限制,这一点请读者务必注意。\n那么有什么方法可以彻底去除父ConstrainedBox的限制吗?答案是否定的!所以在此提示读者,在定义一个通用的组件时,如果要对子组件指定限制,那么一定要注意,因为一旦指定限制条件,子组件如果要进行相关自定义大小时将可能非常困难,因为子组件在不更改父组件的代码的情况下无法彻底去除其限制条件。\n在实际开发中,当我们发现已经使用SizedBox或ConstrainedBox给子元素指定了宽高,但是仍然没有效果时,几乎可以断定:已经有父元素已经设置了限制!举个例子,如Material组件库中的AppBar(导航栏)的右侧菜单中,我们使用SizedBox指定了loading按钮的大小,代码如下:\n AppBar(\n title: Text(title),\n actions: [\n SizedBox(\n width: 20, \n height: 20,\n child: CircularProgressIndicator(\n strokeWidth: 3,\n valueColor: AlwaysStoppedAnimation(Colors.white70),\n ),\n )\n ],\n)\n\n上面代码运行后,效果如图5-7所示:\n\n我们会发现右侧loading按钮大小并没有发生变化!这正是因为AppBar中已经指定了actions按钮的限制条件,所以我们要自定义loading按钮大小,就必须通过UnconstrainedBox来“去除”父元素的限制,代码如下:\nAppBar(\n title: Text(title),\n actions: [\n UnconstrainedBox(\n child: SizedBox(\n width: 20,\n height: 20,\n child: CircularProgressIndicator(\n strokeWidth: 3,\n valueColor: AlwaysStoppedAnimation(Colors.white70),\n ),\n ),\n )\n ],\n)\n\n运行后效果如图5-8所示:\n\n生效了!\n5.2.4 其它尺寸限制类容器\n除了上面介绍的这些常用的尺寸限制类容器外,还有一些其他的尺寸限制类容器,比如AspectRatio,它可以指定子组件的长宽比、LimitedBox 用于指定最大宽高、FractionallySizedBox 可以根据父容器宽高的百分比来设置子组件宽高等,由于这些容器使用起来都比较简单,我们便不再赘述,读者可以自行了解。\n"},"chapter5/decoratedbox.html":{"url":"chapter5/decoratedbox.html","title":"5.3:装饰容器(DecoratedBox)","keywords":"","body":"5.3 装饰容器DecoratedBox\nDecoratedBox可以在其子组件绘制前(或后)绘制一些装饰(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:在子组件之后绘制,即背景装饰。\nforeground:在子组件之上绘制,即前景。\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运行后效果如图5-9所示:\n\n怎么样,通过BoxDecoration我们实现了一个渐变按钮的外观,但此示例还不是一个标准的按钮,因为它还不能响应点击事件,我们将在后面“自定义组件”一章中实现一个完整功能的GradientButton。另外,上面的例子中使用了LinearGradient类,它用于定义线性渐变的类,Flutter中还提供了其它渐变配置类,如RadialGradient、SweepGradient,读者若有需要可以自行查看API文档。\n"},"chapter5/transform.html":{"url":"chapter5/transform.html","title":"5.4:变换(Transform)","keywords":"","body":"5.4 变换(Transform)\nTransform可以在其子组件绘制时对其应用一些矩阵变换来实现一些特效。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运行效果如图5-10所示:\n\n\n关于矩阵变换的相关内容属于线性代数范畴,本书不做讨论,读者有兴趣可以自行了解。本书中,我们把焦点放在Flutter中一些常见的变换效果上。另外,由于矩阵变化时发生在绘制时,而无需重新布局和构建等过程,所以性能很好。\n\n平移\nTransform.translate接收一个offset参数,可以在绘制时沿x、y轴对子组件平移指定的距离。\nDecoratedBox(\n decoration:BoxDecoration(color: Colors.red),\n //默认原点为左上角,左移20像素,向上平移5像素 \n child: Transform.translate(\n offset: Offset(-20.0, -5.0),\n child: Text(\"Hello world\"),\n ),\n)\n\n效果如图5-11所示:\n\n旋转\nTransform.rotate可以对子组件进行旋转变换,如:\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效果如图5-12所示:\n\n缩放\nTransform.scale可以对子组件进行缩小或放大,如:\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效果如图5-13所示:\n\n注意\n\nTransform的变换是应用在绘制阶段,而并不是应用在布局(layout)阶段,所以无论对子组件应用何种变化,其占用空间的大小和在屏幕上的位置都是固定不变的,因为这些是在布局阶段就确定的。下面我们具体说明:\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运行效果如图5-14所示:\n\n由于第一个Text应用变换(放大)后,其在绘制时会放大,但其占用的空间依然为红色部分,所以第二个Text会紧挨着红色部分,最终就会出现文字重合。\n\n由于矩阵变化只会作用在绘制阶段,所以在某些场景下,在UI需要变化时,可以直接通过矩阵变化来达到视觉上的UI改变,而不需要去重新触发build流程,这样会节省layout的开销,所以性能会比较好。如之前介绍的Flow组件,它内部就是用矩阵变换来更新UI,除此之外,Flutter的动画组件中也大量使用了Transform以提高性能。\n\n\n\n思考题:使用Transform对其子组件先进行平移然后再旋转和先旋转再平移,两者最终的效果一样吗?为什么?\n\nRotatedBox\nRotatedBox和Transform.rotate功能相似,它们都可以对子组件进行旋转变换,但是有一点不同:RotatedBox的变换是在layout阶段,会影响在子组件的位置和大小。我们将上面介绍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效果如图5-15所示:\n\n由于RotatedBox是作用于layout阶段,所以子组件会旋转90度(而不只是绘制的内容),decoration会作用到子组件所占用的实际空间上,所以最终就是上图的效果,读者可以和前面Transform.rotate示例对比理解。\n"},"chapter5/container.html":{"url":"chapter5/container.html","title":"5.5:Container容器","keywords":"","body":"5.5 Container\n我们在前面的章节示例中多次用到过Container组件,本节我们就详细介绍一下Container组件。Container是一个组合类容器,它本身不对应具体的RenderObject,它是DecoratedBox、ConstrainedBox、Transform、Padding、Align等组件组合的一个多功能容器,所以我们只需通过一个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\nContainer的大多数属性在介绍其它容器时都已经介绍过了,不再赘述,但有两点需要说明:\n\n容器的大小可以通过width、height属性来指定,也可以通过constraints来指定;如果它们同时存在时,width、height优先。实际上Container内部会根据width、height来生成一个constraints。\ncolor和decoration是互斥的,如果同时设置它们则会报错!实际上,当指定color时,Container内会自动创建一个decoration。\n\n实例\n我们通过Container来实现如图5-16所示的卡片:\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具备多种组件的功能,通过查看Container源码,我们会很容易发现它正是前面我们介绍过的多种组件组合而成。在Flutter中,Container组件也正是组合优先于继承的实例。\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 组件来实现的,上面的示例代码实际上等价于:\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":"5.6:Scaffold、TabBar、底部导航","keywords":"","body":"5.6 Scaffold、TabBar、底部导航\nMaterial组件库提供了丰富多样的组件,本节介绍一些常用的组件,其余的读者可以自行查看文档或Flutter Gallery中Material组件部分的示例。\n\nFlutter Gallery是Flutter官方提供的Flutter Demo,源码位于flutter源码中的examples目录下,笔者强烈建议用户将Flutter Gallery示例跑起来,它是一个很全面的Flutter示例应用,是非常好的参考Demo,也是笔者学习Flutter的第一手资料。\n\n5.6.1 Scaffold\n一个完整的数路由页可能会包含导航栏、抽屉菜单(Drawer)以及底部Tab导航菜单等。如果每个路由页面都需要开发者自己手动去实现这些,这会是一件非常麻烦且无聊的事。幸运的是,Flutter Material组件库提供了一些现成的组件来减少我们的开发任务。Scaffold是一个路由页的骨架,我们使用它可以很容易地拼装出一个完整的页面。\n示例\n我们实现一个页面,它包含:\n\n一个导航栏\n导航栏右边有一个分享按钮\n有一个抽屉菜单\n有一个底部导航\n右下角有一个悬浮的动作按钮\n\n最终效果如图5-18、图5-19所示:\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上面代码中我们用到了如下组件:\n\n\n\n组件名称\n解释\n\n\n\n\nAppBar\n一个导航栏骨架\n\n\nMyDrawer\n抽屉菜单\n\n\nBottomNavigationBar\n底部导航栏\n\n\nFloatingActionButton\n漂浮按钮\n\n\n\n下面我们来分别介绍一下它们。\n5.6.2 AppBar\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代码运行效果如图5-20所示:\n\n可以看到左侧菜单已经替换成功。\n代码中打开抽屉菜单的方法在ScaffoldState中,通过Scaffold.of(context)可以获取父级最近的Scaffold 组件的State对象,原理可以参考本书后面“Element与BuildContext” 一章。Flutter还有一种通用的获取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按钮组,将要实现的效果如图5-21所示:\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\n上面代码首先创建了一个TabController ,它是用于控制/监听Tab菜单切换的。接下来通过TabBar生成了一个底部菜单栏,TabBar的tabs属性接受一个Widget数组,表示每一个Tab子菜单,我们可以自定义,也可以像示例中一样直接使用Tab 组件,它是Material组件库提供的Material风格的Tab菜单。\nTab组件有三个可选参数,除了可以指定文字外,还可以指定Tab菜单图标,或者直接自定义组件样式。Tab组件定义如下:\nTab({\n Key key,\n this.text, // 菜单文本\n this.icon, // 菜单图标\n this.child, // 自定义组件样式\n})\n\n开发者可以根据实际需求来定制。\nTabBarView\n通过TabBar我们只能生成一个静态的菜单,真正的Tab页还没有实现。由于Tab菜单和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组件,通过它不仅可以轻松的实现Tab页,而且可以非常容易的配合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运行后效果如图5-22所示:\n\n现在,无论是点击导航栏Tab菜单还是在页面上左右滑动,Tab页面都会切换,并且Tab菜单的状态和Tab页面始终保持同步!那它们是如何实现同步的呢?细心的读者可能已经发现,上例中TabBar和TabBarView的controller是同一个!正是如此,TabBar和TabBarView正是通过同一个controller来实现菜单切换和滑动状态同步的,有关TabController的详细信息,我们不再本书做过多介绍,使用时读者直接查看SDK即可。\n另外,Material组件库也提供了一个PageView 组件,它和TabBarView功能相似,读者可以自行了解一下。\n5.6.3 抽屉菜单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 //移除抽屉菜单顶部默认留白\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默认的一些留白(比如Drawer默认顶部会留和手机状态栏等高的留白),读者可以尝试传递不同的参数来看看实际效果。抽屉菜单页由顶部和底部组成,顶部由用户头像和昵称组成,底部是一个菜单列表,用ListView实现,关于ListView我们将在后面“可滚动组件”一节详细介绍。\n5.6.4 FloatingActionButton\nFloatingActionButton是Material设计规范中的一种特殊Button,通常悬浮在页面的某一个位置作为某种常用动作的快捷入口,如本节示例中页面右下角的\"➕\"号按钮。我们可以通过Scaffold的floatingActionButton属性来设置一个FloatingActionButton,同时通过floatingActionButtonLocation属性来指定其在页面中悬浮的位置,这个比较简单,不再赘述。\n5.6.5 底部Tab导航栏\n我们可以通过Scaffold的bottomNavigationBar属性来设置底部导航,如本节开始示例所示,我们通过Material组件库提供的BottomNavigationBar和BottomNavigationBarItem两种组件来实现Material风格的底部导航栏。可以看到上面的实现代码非常简单,所以不再赘述,但是如果我们想实现如图5-23所示效果的底部导航栏应该怎么做呢?\n\nMaterial组件库中提供了一个BottomAppBar 组件,它可以和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\n所以打洞位置在底部导航栏的正中间。\nBottomAppBar的shape属性决定洞的外形,CircularNotchedRectangle实现了一个圆形的外形,我们也可以自定义外形,比如,Flutter Gallery示例中就有一个”钻石“形状的示例,读者感兴趣可以自行查看。\n"},"chapter5/clip.html":{"url":"chapter5/clip.html","title":"5.7:剪裁(Clip)","keywords":"","body":"5.7 剪裁(Clip)\nFlutter中提供了一些剪裁函数,用于对组件进行剪裁。\n\n\n\n剪裁Widget\n作用\n\n\n\n\nClipOval\n子组件为正方形时剪裁为内贴圆形,为矩形时,剪裁为内贴椭圆\n\n\nClipRRect\n将子组件剪裁为圆角矩形\n\n\nClipRect\n剪裁子组件到实际占用的矩形大小(溢出部分剪裁)\n\n\n\n下面看一个例子:\nimport 'package:flutter/material.dart';\n\nclass ClipTestRoute extends StatelessWidget {\n @override\n Widget build(BuildContext context) {\n // 头像 \n Widget avatar = Image.asset(\"imgs/avatar.png\", width: 60.0);\n return Center(\n child: Column(\n children: [\n avatar, //不剪裁\n ClipOval(child: avatar), //剪裁为圆形\n ClipRRect( //剪裁为圆角矩形\n borderRadius: BorderRadius.circular(5.0),\n child: avatar,\n ), \n Row(\n mainAxisAlignment: MainAxisAlignment.center,\n children: [\n Align(\n alignment: Alignment.topLeft,\n widthFactor: .5,//宽度设为原来宽度一半,另一半会溢出\n child: avatar,\n ),\n Text(\"你好世界\", style: TextStyle(color: Colors.green),)\n ],\n ),\n Row(\n mainAxisAlignment: MainAxisAlignment.center,\n children: [\n ClipRect(//将溢出部分剪裁\n child: Align(\n alignment: Alignment.topLeft,\n widthFactor: .5,//宽度设为原来宽度一半\n child: avatar,\n ),\n ),\n Text(\"你好世界\",style: TextStyle(color: Colors.green))\n ],\n ),\n ],\n ),\n );\n }\n}\n\n运行效果如图5-24所示:\n\n上面示例代码注释比较详细,在此不再赘述。但值得一提的是最后的两个Row!它们通过Align设置widthFactor为0.5后,图片的实际宽度等于60×0.5,即原宽度一半,但此时图片溢出部分依然会显示,所以第一个“你好世界”会和图片的另一部分重合,为了剪裁掉溢出部分,我们在第二个Row中通过ClipRect将溢出部分剪裁掉了。\nCustomClipper\n如果我们想剪裁子组件的特定区域,比如,在上面示例的图片中,如果我们只想截取图片中部40×30像素的范围应该怎么做?这时我们可以使用CustomClipper来自定义剪裁区域,实现代码如下:\n首先,自定义一个CustomClipper:\nclass MyClipper extends CustomClipper {\n @override\n Rect getClip(Size size) => Rect.fromLTWH(10.0, 15.0, 40.0, 30.0);\n\n @override\n bool shouldReclip(CustomClipper oldClipper) => false;\n}\n\n\ngetClip()是用于获取剪裁区域的接口,由于图片大小是60×60,我们返回剪裁区域为Rect.fromLTWH(10.0, 15.0, 40.0, 30.0),及图片中部40×30像素的范围。\nshouldReclip() 接口决定是否重新剪裁。如果在应用中,剪裁区域始终不会发生变化时应该返回false,这样就不会触发重新剪裁,避免不必要的性能开销。如果剪裁区域会发生变化(比如在对剪裁区域执行一个动画),那么变化后应该返回true来重新执行剪裁。\n\n然后,我们通过ClipRect来执行剪裁,为了看清图片实际所占用的位置,我们设置一个红色背景:\nDecoratedBox(\n decoration: BoxDecoration(\n color: Colors.red\n ),\n child: ClipRect(\n clipper: MyClipper(), //使用自定义的clipper\n child: avatar\n ),\n)\n\n运行效果如图5-25所示:\n\n可以看到我们的剪裁成功了,但是图片所占用的空间大小仍然是60×60(红色区域),这是因为剪裁是在layout完成后的绘制阶段进行的,所以不会影响组件的大小,这和Transform原理是相似的。\n"},"chapter6/":{"url":"chapter6/","title":"第六章:可滚动组件","keywords":"","body":"本章目录\n\n可滚动Widgets简介\nSingleChildScrollView\nListView\nGridView \nCustomScrollView \n滚动监听及控制ScrollController \n\n"},"chapter6/intro.html":{"url":"chapter6/intro.html","title":"6.1:可滚动组件简介","keywords":"","body":"6.1 可滚动组件简介\n当组件内容超过当前显示视口(ViewPort)时,如果没有特殊处理,Flutter则会提示Overflow错误。为此,Flutter提供了多种可滚动组件(Scrollable Widget)用于显示列表和长布局。在本章中,我们先介绍一下常用的可滚动组件(如ListView、GridView等),然后介绍一下ScrollController。可滚动组件都直接或间接包含一个Scrollable组件,因此它们包括一些共同的属性,为了避免重复介绍,我们在此统一介绍一下:\nScrollable({\n ...\n this.axisDirection = AxisDirection.down,\n this.controller,\n this.physics,\n @required this.viewportBuilder, //后面介绍\n})\n\n\naxisDirection滚动方向。\nphysics:此属性接受一个ScrollPhysics类型的对象,它决定可滚动组件如何响应用户操作,比如用户滑动完抬起手指后,继续执行动画;或者滑动到边界时,如何显示。默认情况下,Flutter会根据具体平台分别使用不同的ScrollPhysics对象,应用不同的显示效果,如当滑动到边界时,继续拖动的话,在iOS上会出现弹性效果,而在Android上会出现微光效果。如果你想在所有平台下使用同一种效果,可以显式指定一个固定的ScrollPhysics,Flutter SDK中包含了两个ScrollPhysics的子类,他们可以直接使用:\nClampingScrollPhysics:Android下微光效果。\nBouncingScrollPhysics:iOS下弹性效果。\n\n\ncontroller:此属性接受一个ScrollController对象。ScrollController的主要作用是控制滚动位置和监听滚动事件。默认情况下,Widget树中会有一个默认的PrimaryScrollController,如果子树中的可滚动组件没有显式的指定controller,并且primary属性值为true时(默认就为true),可滚动组件会使用这个默认的PrimaryScrollController。这种机制带来的好处是父组件可以控制子树中可滚动组件的滚动行为,例如,Scaffold正是使用这种机制在iOS中实现了点击导航栏回到顶部的功能。我们将在本章后面“滚动控制”一节详细介绍ScrollController。\n\nScrollbar\nScrollbar是一个Material风格的滚动指示器(滚动条),如果要给可滚动组件添加滚动条,只需将Scrollbar作为可滚动组件的任意一个父级组件即可,如:\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基于Sliver的延迟构建\n通常可滚动组件的子组件可能会非常多、占用的总高度也会非常大;如果要一次性将子组件全部构建出将会非常昂贵!为此,Flutter中提出一个Sliver(中文为”薄片“的意思)概念,如果一个可滚动组件支持Sliver模型,那么该滚动可以将子组件分成好多个”薄片“(Sliver),只有当Sliver出现在视口中时才会去构建它,这种模型也称为”基于Sliver的延迟构建模型“。可滚动组件中有很多都支持基于Sliver的延迟构建模型,如ListView、GridView,但是也有不支持该模型的,如SingleChildScrollView。\n主轴和纵轴\n在可滚动组件的坐标描述中,通常将滚动方向称为主轴,非滚动方向称为纵轴。由于可滚动组件的默认方向一般都是沿垂直方向,所以默认情况下主轴就是指垂直方向,水平方向同理。\n"},"chapter6/single_child_scrollview.html":{"url":"chapter6/single_child_scrollview.html","title":"6.2:SingleChildScrollView","keywords":"","body":"6.2 SingleChildScrollView\nSingleChildScrollView类似于Android中的ScrollView,它只能接收一个子组件。定义如下:\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时,那么滑动方向就是从右往左。其实此属性本质上是决定可滚动组件的初始滚动位置是在“头”还是“尾”,取false时,初始滚动位置在“头”,反之则在“尾”,读者可以自己试验。\nprimary:指是否使用widget树中默认的PrimaryScrollController;当滑动方向为垂直方向(scrollDirection值为Axis.vertical)并且没有指定controller时,primary默认为true.\n\n需要注意的是,通常SingleChildScrollView只应在期望的内容不会超过屏幕太多时使用,这是因为SingleChildScrollView不支持基于Sliver的延迟实例化模型,所以如果预计视口可能包含超出屏幕尺寸太多的内容时,那么使用SingleChildScrollView将会非常昂贵(性能差),此时应该使用一些支持Sliver延迟加载的可滚动组件,如ListView。\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运行效果如图6-1所示:\n\n"},"chapter6/listview.html":{"url":"chapter6/listview.html","title":"6.3:ListView","keywords":"","body":"6.3 ListView\nListView是最常用的可滚动组件之一,它可以沿一个方向线性排布所有子组件,并且它也支持基于Sliver的延迟构建模型。我们看看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上面参数分为两组:第一组是可滚动组件的公共参数,本章第一节中已经介绍过,不再赘述;第二组是ListView各个构造函数(ListView有多个构造函数)的共同参数,我们重点来看看这些参数,:\n\nitemExtent:该参数如果不为null,则会强制children的”长度“为itemExtent的值;这里的”长度“是指滚动方向上子组件的长度,也就是说如果滚动方向是垂直方向,则itemExtent代表子组件的高度;如果滚动方向为水平方向,则itemExtent就代表子组件的宽度。在ListView中,指定itemExtent比让子组件自己决定自身长度会更高效,这是因为指定itemExtent后,滚动系统可以提前知道列表的长度,而无需每次构建子组件时都去再计算一下,尤其是在滚动位置频繁变化时(滚动系统需要频繁去计算列表高度)。\nshrinkWrap:该属性表示是否根据子组件的总长度来设置ListView的长度,默认值为false 。默认情况下,ListView的会在滚动方向尽可能多的占用空间。当ListView在一个无边界(滚动方向上)的容器中时,shrinkWrap必须为true。\naddAutomaticKeepAlives:该属性表示是否将列表项(子组件)包裹在AutomaticKeepAlive 组件中;典型地,在一个懒加载列表中,如果将列表项包裹在AutomaticKeepAlive中,在该列表项滑出视口时它也不会被GC(垃圾回收),它会使用KeepAliveNotification来保存其状态。如果列表项自己维护其KeepAlive状态,那么此参数必须置为false。\naddRepaintBoundaries:该属性表示是否将列表项(子组件)包裹在RepaintBoundary组件中。当可滚动组件滚动时,将列表项包裹在RepaintBoundary中可以避免列表项重绘,但是当列表项重绘的开销非常小(如一个颜色块,或者一个较短的文本)时,不添加RepaintBoundary反而会更高效。和addAutomaticKeepAlive一样,如果列表项自己维护其KeepAlive状态,那么此参数必须置为false。\n\n\n注意:上面这些参数并非ListView特有,在本章后面介绍的其它可滚动组件也可能会拥有这些参数,它们的含义是相同的。\n\n默认构造函数\n默认构造函数有一个children参数,它接受一个Widget列表(List)。这种方式适合只有少量的子组件的情况,因为这种方式需要将所有children都提前创建好(这需要做大量工作),而不是等到子widget真正显示的时候再创建,也就是说通过默认构造函数构建的ListView没有应用基于Sliver的懒加载模型。实际上通过此方式创建的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再次强调,可滚动组件通过一个List来作为其children属性时,只适用于子组件较少的情况,这是一个通用规律,并非ListView自己的特性,像GridView也是如此。\n\nListView.builder\nListView.builder适合列表项比较多(或者无限)的情况,因为只有当子组件真正显示的时候才会被创建,也就说通过该构造函数创建的ListView是支持基于Sliver的懒加载模型的。下面看一下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\n可滚动组件的构造函数如果需要一个列表项Builder,那么通过该构造函数构建的可滚动组件通常就是支持基于Sliver的懒加载模型的,反之则不支持,这是个一般规律。我们在后面在介绍可滚动组件的构造函数时将不再专门说明其是否支持基于Sliver的懒加载模型了。\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运行效果如图6-2所示:\n\nListView.separated\nListView.separated可以在生成的列表项之间添加一个分割组件,它比ListView.builder多了一个separatorBuilder参数,该参数是一个分割组件生成器。\n下面我们看一个例子:奇数行添加一条蓝色下划线,偶数行添加一条绿色下划线。\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 super.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运行后效果如图6-4、6-5所示:\n\n代码比较简单,读者可以参照代码中的注释理解,故不再赘述。需要说明的是,_retrieveData()的功能是模拟从数据源异步获取数据,我们使用english_words包的generateWordPairs()方法每次生成20个单词。\n添加固定列表头\n很多时候我们需要给列表添加一个固定表头,比如我们想实现一个商品列表,需要在列表顶部添加一个“商品列表”标题,期望的效果如图6-6所示:\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运行效果如图6-7所示:\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运行效果如下图6-8所示:\n\n可以看到,我们期望的效果实现了,但是这种方法并不优雅,如果页面布局发生变化,比如表头布局调整导致表头高度改变,那么剩余空间的高度就得重新计算。那么有什么方法可以自动拉伸ListView以填充屏幕剩余空间的方法吗?当然有!答案就是Flex。前面已经介绍过在弹性布局中,可以使用Expanded自动拉伸组件大小,并且我们也说过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总结\n本节主要介绍了ListView的一些公共参数以及常用的构造函数。不同的构造函数对应了不同的列表项生成模型,如果需要自定义列表项生成模型,可以通过ListView.custom来自定义,它需要实现一个SliverChildDelegate用来给ListView生成列表项组件,更多详情请参考API文档。\n"},"chapter6/gridview.html":{"url":"chapter6/gridview.html","title":"6.4:GridView","keywords":"","body":"6.4 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子组件如何排列(layout)。\nSliverGridDelegate是一个抽象类,定义了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两个参数共同决定的。注意,这里的子元素指的是子组件的最大显示空间,注意确保子组件的实际大小不要超出子元素的空间。\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)内的话,子元素最终实际长度都为112.5,而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":"6.5:CustomScrollView","keywords":"","body":"6.5 CustomScrollView\nCustomScrollView是可以使用Sliver来自定义滚动模型(效果)的组件。它可以包含多种滚动模型,举个例子,假设有一个页面,顶部需要一个GridView,底部需要一个ListView,而要求整个页面的滑动效果是统一的,即它们看起来是一个整体。如果使用GridView+ListView来实现的话,就不能保证一致的滑动效果,因为它们的滚动效果是分离的,所以这时就需要一个\"胶水\",把这些彼此独立的可滚动组件\"粘\"起来,而CustomScrollView的功能就相当于“胶水”。\n可滚动组件的Sliver版\nSliver在前面讲过,有细片、薄片之意,在Flutter中,Sliver通常指可滚动组件子元素(就像一个个薄片一样)。但是在CustomScrollView中,需要粘起来的可滚动组件就是CustomScrollView的Sliver了,如果直接将ListView、GridView作为CustomScrollView是不行的,因为它们本身是可滚动组件而并不是Sliver!因此,为了能让可滚动组件能和CustomScrollView配合使用,Flutter提供了一些可滚动组件的Sliver版,如SliverList、SliverGrid等。实际上Sliver版的可滚动组件和非Sliver版的可滚动组件最大的区别就是前者不包含滚动模型(子身不能再滚动),而后者包含滚动模型 ,也正因如此,CustomScrollView才可以将多个Sliver\"粘\"在一起,这些Sliver共用CustomScrollView的Scrollable,所以最终才实现了统一的滑动效果。\n\nSliver系列Widget比较多,我们不会一一介绍,读者只需记住它的特点,需要时再去查看文档即可。上面之所以说“大多数“Sliver都和可滚动组件对应,是由于还有一些如SliverPadding、SliverAppBar等是和可滚动组件无关的,它们主要是为了结合CustomScrollView一起使用,这是因为CustomScrollView的子组件必须都是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个子组件。\n底部SliverFixedExtentList:它是一个所有子元素高度都为50像素的列表。\n\n运行效果如图:\n\n"},"chapter6/scroll_controller.html":{"url":"chapter6/scroll_controller.html","title":"6.6:滚动监听及控制(ScrollController)","keywords":"","body":"6.6 滚动监听及控制\n在前几节中,我们介绍了Flutter中常用的可滚动组件,也说过可以用ScrollController来控制可滚动组件的滚动位置,本节先介绍一下ScrollController,然后以ListView为例,展示一下ScrollController的具体用法。最后,再介绍一下路由切换时如何来保存滚动位置。\n6.6.1 ScrollController\nScrollController构造函数如下:\nScrollController({\n double initialScrollOffset = 0.0, //初始滚动位置\n this.keepScrollOffset = true,//是否保存滚动位置\n ...\n})\n\n我们介绍一下ScrollController常用的属性和方法:\n\noffset:可滚动组件当前的滚动位置。\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是一个用于保存页面(路由)相关数据的组件,它并不会影响子树的UI外观,其实,PageStorage是一个功能型组件,它拥有一个存储桶(bucket),子树中的Widget可以通过指定不同的PageStorageKey来存储各自的数据或状态。\n每次滚动结束,可滚动组件都会将滚动位置offset存储到PageStorage中,当可滚动组件重新创建时再恢复。如果ScrollController.keepScrollOffset为false,则滚动位置将不会被存储,可滚动组件重新创建时会使用ScrollController.initialScrollOffset;ScrollController.keepScrollOffset为true时,可滚动组件在第一次创建时,会滚动到initialScrollOffset处,因为这时还没有存储过滚动位置。在接下来的滚动中就会存储、恢复滚动位置,而initialScrollOffset会被忽略。\n当一个路由中包含多个可滚动组件时,如果你发现在进行一些跳转或切换操作后,滚动位置不能正确恢复,这时你可以通过显式指定PageStorageKey来分别跟踪不同的可滚动组件的位置,如:\nListView(key: PageStorageKey(1), ... );\n...\nListView(key: PageStorageKey(2), ... );\n\n不同的PageStorageKey,需要不同的值,这样才可以为不同可滚动组件保存其滚动位置。\n\n注意:一个路由中包含多个可滚动组件时,如果要分别跟踪它们的滚动位置,并非一定就得给他们分别提供PageStorageKey。这是因为Scrollable本身是一个StatefulWidget,它的状态中也会保存当前滚动位置,所以,只要可滚动组件本身没有被从树上detach掉,那么其State就不会销毁(dispose),滚动位置就不会丢失。只有当Widget发生结构变化,导致可滚动组件的State销毁或重新构建时才会丢失状态,这种情况就需要显式指定PageStorageKey,通过PageStorage来存储滚动位置,一个典型的场景是在使用TabBarView时,在Tab发生切换时,Tab页中的可滚动组件的State就会销毁,这时如果想恢复滚动位置就需要指定PageStorageKey。\n\nScrollPosition\nScrollPosition是用来保存可滚动组件的滚动位置的。一个ScrollController对象可以同时被多个可滚动组件使用,ScrollController会为每一个可滚动组件创建一个ScrollPosition对象,这些ScrollPosition保存在ScrollController的positions属性中(List)。ScrollPosition是真正保存滑动位置信息的对象,offset只是一个便捷属性:\ndouble get offset => position.pixels;\n\n一个ScrollController虽然可以对应多个可滚动组件,但是有一些操作,如读取滚动位置offset,则需要一对一!但是我们仍然可以在一对多的情况下,通过其它方法读取滚动位置,举个例子,假设一个ScrollController同时被两个可滚动组件使用,那么我们可以通过如下方式分别读取他们的滚动位置:\n...\ncontroller.positions.elementAt(0).pixels\ncontroller.positions.elementAt(1).pixels\n...\n\n我们可以通过controller.positions.length来确定controller被几个可滚动组件使用。\nScrollPosition的方法\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和可滚动组件关联时,可滚动组件首先会调用ScrollController的createScrollPosition()方法来创建一个ScrollPosition来存储滚动位置信息,接着,可滚动组件会调用attach()方法,将创建的ScrollPosition添加到ScrollController的positions属性中,这一步称为“注册位置”,只有注册后animateTo() 和 jumpTo()才可以被调用。\n当可滚动组件销毁时,会调用ScrollController的detach()方法,将其ScrollPosition对象从ScrollController的positions属性中移除,这一步称为“注销位置”,注销后animateTo() 和 jumpTo() 将不能再被调用。\n需要注意的是,ScrollController的animateTo() 和 jumpTo()内部会调用所有ScrollPosition的animateTo() 和 jumpTo(),以实现所有和该ScrollController关联的可滚动组件都滚动到指定的位置。\n6.6.2 滚动监听\nFlutter Widget树中子Widget可以通过发送通知(Notification)与父(包括祖先)Widget通信。父级组件可以通过NotificationListener组件来监听自己关注的通知,这种通信方式类似于Web开发中浏览器的事件冒泡,我们在Flutter中沿用“冒泡”这个术语,关于通知冒泡我们将在后面”事件处理与通知“一章中详细介绍。\n可滚动组件在滚动时会发送ScrollNotification类型的通知,ScrollBar正是通过监听滚动通知来实现的。通过NotificationListener监听滚动事件和通过ScrollController有两个主要的不同:\n\n通过NotificationListener可以在从可滚动组件到widget树根之间任意位置都能监听。而ScrollController只能和具体的可滚动组件关联后才可以。\n收到滚动事件后获得的信息不同;NotificationListener在收到滚动事件时,通知中会携带当前滚动位置和ViewPort的一些信息,而ScrollController只能获取当前滚动位置。\n\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运行结果如图6-16所示:\n\n在接收到滚动事件时,参数类型为ScrollNotification,它包括一个metrics属性,它的类型是ScrollMetrics,该属性包含当前ViewPort及滚动位置等信息:\n\npixels:当前滚动位置。\nmaxScrollExtent:最大可滚动长度。\nextentBefore:滑出ViewPort顶部的长度;此示例中相当于顶部滑出屏幕上方的列表长度。\nextentInside:ViewPort内部长度;此示例中屏幕显示的列表部分的长度。\nextentAfter:列表中未滑入ViewPort部分的长度;此示例中列表底部未显示到屏幕范围部分的长度。\natEdge:是否滑到了可滚动组件的边界(此示例中相当于列表顶或底部)。\n\nScrollMetrics还有一些其它属性,读者可以自行查阅API文档。\n"},"chapter7/":{"url":"chapter7/","title":"第七章:功能型组件","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":"7.1:导航返回拦截(WillPopScope)","keywords":"","body":"7.1 导航返回拦截(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":"7.2:数据共享(InheritedWidget)","keywords":"","body":"7.2 数据共享(InheritedWidget)\nInheritedWidget是Flutter中非常重要的一个功能型组件,它提供了一种数据在widget树种从上到下的传递、共享方式,比如我们在应用的根widget中通过InheritedWidget共享了一个数据,那么我们便可以在任意子widget中来获取该共享的数据!这个特性在一些需要在widget树中共享数据的场景中非常方便!如Flutter SDK中正是通过InheritedWidget来共享应用主题(Theme)和Locale (当前语言环境)信息的。\n\nInheritedWidget和React中的context功能类似,和逐级传递数据相比,它们能实现组件跨级传递数据。InheritedWidget的在widget树中数据传递方向是从上到下的,这和通知Notification(将在下一章中介绍)的传递方向正好相反。\n\ndidChangeDependencies\n在之前介绍StatefulWidget时,我们提到State对象有一个didChangeDependencies回调,它会在“依赖”发生变化时被Flutter Framework调用。而这个“依赖”指的就是子widget是否使用了父widget中InheritedWidget的数据!如果使用了,则代表子widget依赖有依赖InheritedWidget;如果没有使用则代表没有依赖。这种机制可以使子组件在所依赖的InheritedWidget变化时来更新自身!比如当主题、locale(语言)等发生变化时,依赖其的子widget的didChangeDependencies方法将会被调用。\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 final 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 //如果返回true,则子树中依赖(build函数中有调用)本widget\n //的子widget的`state.didChangeDependencies`会被调用\n return old.data != data;\n }\n}\n\n然后我们实现一个子组件_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运行后界面如图7-1所示:\n\n每点击一次按钮,计数器就会自增,控制台就会打印一句日志:\nI/flutter ( 8513): Dependencies change\n可见依赖发生变化后,其didChangeDependencies()会被调用。但是读者要注意,如果_TestWidget的build方法中没有使用ShareDataWidget的数据,那么它的didChangeDependencies()将不会被调用,因为它并没有依赖ShareDataWidget。例如,我们将__TestWidgetState代码该为下面这样,didChangeDependencies()将不会被调用:\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 return Text(\"text\");\n }\n\n @override\n void didChangeDependencies() {\n super.didChangeDependencies();\n // build方法中没有依赖InheritedWidget,此回调不会被调用。\n print(\"Dependencies change\");\n }\n}\n\n上面的代码中,我们将build()方法中依赖ShareDataWidget的代码注释掉了,然后返回一个固定Text,这样一来,当点击Increment按钮后,ShareDataWidget的data虽然发生变化,但由于__TestWidgetState并未依赖ShareDataWidget,所以__TestWidgetState的didChangeDependencies方法不会被调用。其实,这个机制很好理解,因为在数据发生变化时只对使用该数据的Widget更新是合理并且性能友好的。\n\n思考题:Flutter framework是怎么知道子widget有没有依赖InheritedWidget的?\n\n应该在didChangeDependencies()中做什么?\n一般来说,子widget很少会重写此方法,因为在依赖改变后framework也都会调用build()方法。但是,如果你需要在依赖改变后执行一些昂贵的操作,比如网络请求,这时最好的方式就是在此方法中执行,这样可以避免每次build()都执行这些昂贵操作。\n深入了解InheritedWidget\n现在来思考一下,如果我们只想在__TestWidgetState中引用ShareDataWidget数据,但却不希望在ShareDataWidget发生变化时调用__TestWidgetState的didChangeDependencies()方法应该怎么办?其实答案很简单,我们只需要将ShareDataWidget.of()的实现改一下即可:\n//定义一个便捷方法,方便子树中的widget获取共享数据\nstatic ShareDataWidget of(BuildContext context) {\n //return context.inheritFromWidgetOfExactType(ShareDataWidget);\n return context.ancestorInheritedElementForWidgetOfExactType(ShareDataWidget).widget;\n}\n\n唯一的改动就是获取ShareDataWidget对象的方式,把inheritFromWidgetOfExactType()方法换成了context.ancestorInheritedElementForWidgetOfExactType(ShareDataWidget).widget,那么他们到底有什么区别呢,我们看一下这两个方法的源码(实现代码在Element类中,Context和Element的关系我们将在后面专门介绍):\n@override\nInheritedElement ancestorInheritedElementForWidgetOfExactType(Type targetType) {\n final InheritedElement ancestor = _inheritedWidgets == null ? null : _inheritedWidgets[targetType];\n return ancestor;\n}\n\n@override\nInheritedWidget inheritFromWidgetOfExactType(Type targetType, { Object aspect }) {\n final InheritedElement ancestor = _inheritedWidgets == null ? null : _inheritedWidgets[targetType];\n //多出的部分\n if (ancestor != null) {\n assert(ancestor is InheritedElement);\n return inheritFromElement(ancestor, aspect: aspect);\n }\n _hadUnsatisfiedDependencies = true;\n return null;\n}\n\n我们可以看到,inheritFromWidgetOfExactType() 比 ancestorInheritedElementForWidgetOfExactType()多调了inheritFromElement方法,inheritFromElement源码如下:\n@override\nInheritedWidget inheritFromElement(InheritedElement ancestor, { Object aspect }) {\n //注册依赖关系\n _dependencies ??= HashSet();\n _dependencies.add(ancestor);\n ancestor.updateDependencies(this, aspect);\n return ancestor.widget;\n}\n\n可以看到inheritFromElement方法中主要是注册了依赖关系!看到这里也就清晰了,调用inheritFromWidgetOfExactType() 和 ancestorInheritedElementForWidgetOfExactType()的却别就是前者会注册依赖关系,而后者不会,所以在调用inheritFromWidgetOfExactType()时,InheritedWidget和依赖它的子孙组件关系变完成了注册,之后当InheritedWidget发生变化时,就会更新依赖它的孙组件,也就是会调用依赖它的孙组件的didChangeDependencies()方法和build()方法。而当调用的是 ancestorInheritedElementForWidgetOfExactType()时,由于没有注册依赖关系,所以之后当InheritedWidget发生变化时,就不会更新相应的子孙Widget。\n注意,如果将上面示例中ShareDataWidget.of()方法实现改成调用ancestorInheritedElementForWidgetOfExactType(),运行示例后,点击\"Increment\"按钮,会发现__TestWidgetState的didChangeDependencies()方法确实不会再被调用,但是其build()仍然会被调用!造成这个的原因其实是,点击\"Increment\"按钮后,会调用_InheritedWidgetTestRouteState的setState()方法,此时会重新构建整个页面,由于示例中,__TestWidget 并没有任何缓存,所以它也都会被重新构建,所以也会调用build()方法。\n那么,现在就带来了一个问题:实际上,我们只想更新子树中依赖了ShareDataWidget的组件,而现在只要调用_InheritedWidgetTestRouteState的setState()方法,所有子节点都会被重新build,这很没必要,那么有什么办法可以避免呢?答案是缓存!一个简单的作法就是通过封装一个StatefulWidget,将子Widget树缓存起来,具体作法下一节我们将通过实现一个Provider Widget 来演示如何缓存,以及如何利用InheritedWidget 来实现Flutter全局状态共享。\n"},"chapter7/provider.html":{"url":"chapter7/provider.html","title":"7.3: 跨组件状态共享(Provider)","keywords":"","body":"7.3 跨组件状态共享(Provider)\n在Flutter开发中,状态管理是一个永恒的话题。一般的原则是:如果状态是组件私有的,则应该由组件自己管理;如果状态要跨组件共享,则该状态应该由各个组件共同的父元素来管理。对于组件私有的状态管理很好理解,但对于跨组件共享的状态,管理的方式就比较多了,如使用全局事件总线EventBus(将在下一章中介绍),它是一个观察者模式的实现,通过它就可以实现跨组件状态同步:状态持有方(发布者)负责更新、发布状态,状态使用方(观察者)监听状态改变事件来执行一些操作。下面我们看一个登陆状态同步的简单示例:\n定义事件:\nenum Event{\n login,\n ... //省略其它事件\n}\n\n登录页代码大致如下:\n// 登录状态改变后发布状态改变事件\nbus.emit(Event.login);\n\n依赖登录状态的页面:\nvoid onLoginChanged(e){\n //登录状态变化处理逻辑\n}\n\n@override\nvoid initState() {\n //订阅登录状态改变事件\n bus.on(Event.login,onLogin);\n super.initState();\n}\n\n@override\nvoid dispose() {\n //取消订阅\n bus.off(Event.login,onLogin);\n super.dispose();\n}\n\n我们可以发现,通过观察者模式来实现跨组件状态共享有一些明显的缺点:\n\n必须显式定义各种事件,不好管理\n订阅者必须需显式注册状态改变回调,也必须在组件销毁时手动去解绑回调以避免内存泄露。\n\n在Flutter当中有没有更好的跨组件状态管理方式了呢?答案是肯定的,那怎么做的?我们想想前面介绍的InheritedWidget,它的天生特性就是能绑定InheritedWidget与依赖它的子孙组件的依赖关系,并且当InheritedWidget数据发生变化时,可以自动更新依赖的子孙组件!利用这个特性,我们可以将需要跨组件共享的状态保存在InheritedWidget中,然后在子组件中引用InheritedWidget即可,Flutter社区著名的Provider包正是基于这个思想实现的一套跨组件状态共享解决方案,接下来我们便详细介绍一下Provider的用法及原理。\nProvider\n为了加强读者的理解,我们不直接去看Provider包的源代码,相反,我会带着你根据上面描述的通过InheritedWidget实现的思路来一步一步地实现一个最小功能的Provider。\n首先,我们需要一个保存需要共享的数据InheritedWidget,由于具体业务数据类型不可预期,为了通用性,我们使用泛型,定义一个通用的InheritedProvider类,它继承自InheritedWidget:\n// 一个通用的InheritedWidget,保存任需要跨组件共享的状态\nclass InheritedProvider extends InheritedWidget {\n InheritedProvider({@required this.data, Widget child}) : super(child: child);\n\n //共享状态使用泛型\n final T data;\n\n @override\n bool updateShouldNotify(InheritedProvider old) {\n //在此简单返回true,则每次更新都会调用依赖其的子孙节点的`didChangeDependencies`。\n return true;\n }\n}\n\n数据保存的地方有了,那么接下来我们需要做的就是在数据发生变化的时候来重新构建InheritedProvider,那么现在就面临两个问题:\n\n数据发生变化怎么通知?\n谁来重新构建InheritedProvider?\n\n第一个问题其实很好解决,我们当然可以使用之前介绍的eventBus来进行事件通知,但是为了更贴近Flutter开发,我们使用Flutter中SDK中提供的ChangeNotifier类 ,它继承自Listenable,也实现了一个Flutter风格的发布者-订阅者模式,ChangeNotifier定义大致如下:\nclass ChangeNotifier implements Listenable {\n\n @override\n void addListener(VoidCallback listener) {\n //添加监听器\n }\n @override\n void removeListener(VoidCallback listener) {\n //移除监听器\n }\n\n void notifyListeners() {\n //通知所有监听器,触发监听器回调 \n }\n\n ... //省略无关代码\n}\n\n我们可以通过调用addListener()和removeListener()来添加、移除监听器(订阅者);通过调用notifyListeners() 可以触发所有监听器回调。\n现在,我们将要共享的状态放到一个Model类中,然后让它继承自ChangeNotifier,这样当共享的状态改变时,我们只需要调用notifyListeners() 来通知订阅者,然后由订阅者来重新构建InheritedProvider,这也是第二个问题的答案!接下来我们便实现这个订阅者类:\n// 该方法用于在Dart中获取模板类型\nType _typeOf() => T;\n\nclass ChangeNotifierProvider extends StatefulWidget {\n ChangeNotifierProvider({\n Key key,\n this.data,\n this.child,\n });\n\n final Widget child;\n final T data;\n\n //定义一个便捷方法,方便子树中的widget获取共享数据\n static T of(BuildContext context) {\n final type = _typeOf>();\n final provider = context.inheritFromWidgetOfExactType(type) as InheritedProvider;\n return provider.data;\n }\n\n @override\n _ChangeNotifierProviderState createState() => _ChangeNotifierProviderState();\n}\n\n该类继承StatefulWidget,然后定义了一个of()静态方法供子类方便获取Widget树中的InheritedProvider中保存的共享状态(model),下面我们实现该类对应的_ChangeNotifierProviderState类:\nclass _ChangeNotifierProviderState extends State> {\n void update() {\n //如果数据发生变化(model类调用了notifyListeners),重新构建InheritedProvider\n setState(() => {});\n }\n\n @override\n void didUpdateWidget(ChangeNotifierProvider oldWidget) {\n //当Provider更新时,如果新旧数据不\"==\",则解绑旧数据监听,同时添加新数据监听\n if (widget.data != oldWidget.data) {\n oldWidget.data.removeListener(update);\n widget.data.addListener(update);\n }\n super.didUpdateWidget(oldWidget);\n }\n\n @override\n void initState() {\n // 给model添加监听器\n widget.data.addListener(update);\n super.initState();\n }\n\n @override\n void dispose() {\n // 移除model的监听器\n widget.data.removeListener(update);\n super.dispose();\n }\n\n @override\n Widget build(BuildContext context) {\n return InheritedProvider(\n data: widget.data,\n child: widget.child,\n );\n }\n}\n\n可以看到_ChangeNotifierProviderState类的主要作用就是监听到共享状态(model)改变时重新构建Widget树。注意,在_ChangeNotifierProviderState类中调用setState()方法,widget.child始终是同一个,所以执行build时,InheritedProvider的child引用的始终是同一个子widget,所以widget.child并不会重新build,这也就相当于对child进行了缓存!当然如果ChangeNotifierProvider父级Widget重新build时,则其传入的child便有可能会发生变化。\n现在我们所需要的各个工具类都已完成,下面我们通过一个购物车的例子来看看怎么使用上面的这些类。\n购物车示例\n我们需要实现一个显示购物车中所有商品总价的功能:\n\n向购物车中添加新商品时总价更新\n\n定义一个Item类,用于表示商品信息:\nclass Item {\n Item(this.price, this.count);\n double price; //商品单价\n int count; // 商品份数\n //... 省略其它属性\n}\n\n定义一个保存购物车内商品数据的CartModel类:\nclass CartModel extends ChangeNotifier {\n // 用于保存购物车中商品列表\n final List _items = [];\n\n // 禁止改变购物车里的商品信息\n UnmodifiableListView get items => UnmodifiableListView(_items);\n\n // 购物车中商品的总价\n double get totalPrice =>\n _items.fold(0, (value, item) => value + item.count * item.price);\n\n // 将 [item] 添加到购物车。这是唯一一种能从外部改变购物车的方法。\n void add(Item item) {\n _items.add(item);\n // 通知监听器(订阅者),重新构建InheritedProvider, 更新状态。\n notifyListeners();\n }\n}\n\n CartModel即要跨组件共享的model类。最后我们构建示例页面:\nclass ProviderRoute extends StatefulWidget {\n @override\n _ProviderRouteState createState() => _ProviderRouteState();\n}\n\nclass _ProviderRouteState extends State {\n @override\n Widget build(BuildContext context) {\n return Center(\n child: ChangeNotifierProvider(\n data: CartModel(),\n child: Builder(builder: (context) {\n return Column(\n children: [\n Builder(builder: (context){\n var cart=ChangeNotifierProvider.of(context);\n return Text(\"总价: ${cart.totalPrice}\");\n }),\n Builder(builder: (context){\n print(\"RaisedButton build\"); //在后面优化部分会用到\n return RaisedButton(\n child: Text(\"添加商品\"),\n onPressed: () {\n //给购物车中添加商品,添加后总价会更新\n ChangeNotifierProvider.of(context).add(Item(20.0, 1));\n },\n );\n }),\n ],\n );\n }),\n ),\n );\n }\n}\n\n运行示例后效果如图7-2所示:\n\n每次点击”添加商品“按钮,总价就会增加20,我们期望的功能实现了!可能有些读者会疑惑,我们饶了一大圈实现这么简单的功能有意义么?其实,就这个例子来看,只是更新同一个路由页中的一个状态,我们使用ChangeNotifierProvider的优势并不明显,但是如果我们是做一个购物APP呢?由于购物车数据是通常回事整个APP共享的数据,会跨路由共享,如果我们将ChangeNotifierProvider放在整个应用的Widget树的根上,那么整个APP就可以共享购物车的数据了,这时ChangeNotifierProvider的优势将会非常明显。\n虽然上面的例子比较简单,但它却将Provider的原理和流程体现的很清楚,图7-3是Provider的原理图:\n\nModel变化后会自动通知ChangeNotifierProvider(订阅者),ChangeNotifierProvider内部会重新构建InheritedWidget,而依赖该InheritedWidget的子孙Widget就会更新。\n我们可以发现使用Provider,将会带来如下收益:\n\n我们的业务代码更关注数据了,只要更新Model,则UI会自动更新,而不用在状态改变后再去手动调用setState()来显式更新页面。\n数据改变的消息传递被屏蔽了,我们无需手动去处理状态改变事件的发布和订阅了,这一切都被封装在Provider中了。这真的很棒,帮我们省掉了大量的工作!\n在大型复杂应用中,尤其是需要全局共享的状态非常多时,使用Provider将会大大简化我们的代码逻辑,降低出错的概率,提高开发效率。 \n\n优化\n我们上面实现的ChangeNotifierProvider是有两个明显缺点:代码组织为题和性能问题,下面我们一一讨论。\n代码组织问题\n我们先看一下构建显示总价Text的代码:\nBuilder(builder: (context){\n var cart=ChangeNotifierProvider.of(context);\n return Text(\"总价: ${cart.totalPrice}\");\n})\n\n这段代码有两点可以优化:\n\n需要显式调用ChangeNotifierProvider.of,当APP内部依赖CartModel很多时,这样的代码将很冗余。\n语义化不明确;由于ChangeNotifierProvider是订阅者,那么依赖CartModel的Widget自然就是订阅者,其实也就是状态的消费者,如果我们用Builder Widget来构建,语义话就不是很明确;如果我们能使用一个具有明确语义的Widget,比如就叫Consumer,这样最终的代码语义将会很明确,只要看到Consumer,我们就知道它是依赖某个跨组件或全局的状态。\n\n为了优化这两个问题,我们可以封装一个Consumer Widget,实现如下:\n// 这是一个便捷类,会获得当前context和指定数据类型的Provider\nclass Consumer extends StatelessWidget {\n Consumer({\n Key key,\n @required this.builder,\n this.child,\n }) : assert(builder != null),\n super(key: key);\n\n final Widget child;\n\n final Widget Function(BuildContext context, T value) builder;\n\n @override\n Widget build(BuildContext context) {\n return builder(\n context,\n ChangeNotifierProvider.of(context), //自动获取Model\n );\n }\n}\n\nConsumer实现非常简单,它通过指定模板参数,然后再内部自动调用ChangeNotifierProvider.of获取相应的Model,并且Consumer这个名字本身也是具有确切语义(消费者)。现在上面的代码块可以优化为如下这样:\nConsumer(\n builder: (context, cart)=> Text(\"总价: ${cart.totalPrice}\");\n)\n\n是不是很优雅!\n性能问题\n上面的代码还有一个性能问题,就在构建”添加按钮“的代码处:\nBuilder(builder: (context) {\n print(\"RaisedButton build\"); // 构建时输出日志\n return RaisedButton(\n child: Text(\"添加商品\"),\n onPressed: () {\n ChangeNotifierProvider.of(context).add(Item(20.0, 1));\n },\n );\n}\n\n我们点击”添加商品“按钮后,由于购物车商品总价会变化,所以显示总价的Text更新是符合预期的,但是”添加商品“按钮本身没有变化,是不应该被重新build的。但是我们运行示例,每次点击”添加商品“按钮,控制台都会输出\"RaisedButton build\"日志,也就是说”添加商品“按钮在每次点击时其自身都会重新build!这是为什么呢?如果你已经理解了InheritedWidget的更新机制,那么答案一眼就能看出:这是因为构建RaisedButton的Builder中调用了ChangeNotifierProvider.of,也就是说依赖了Widget树上面的InheritedWidget(即InheritedProvider )Widget,所以当添加完商品后,CartModel发生变化,会通知ChangeNotifierProvider, 而ChangeNotifierProvider则会重新构建子树,所以InheritedProvider将会更新,此时依赖它的子孙Widget就会被重新构建。\n问题的原因搞清楚了,那么我们如何避免这不必要重构呢?既然按钮重新被build是因为按钮和InheritedWidget建立了依赖关系,那么我们只要打破或解除这种依赖关系就可以了。那么如何解除按钮和InheritedWidget的依赖关系呢?我们上一节介绍InheritedWidget时已经讲过了:调用inheritFromWidgetOfExactType() 和 ancestorInheritedElementForWidgetOfExactType()的却别就是前者会注册依赖关系,而后者不会。所以我们只需要将ChangeNotifierProvider.of的实现改为下面这样既可:\n //添加一个listen参数,表示是否建立依赖关系\n static T of(BuildContext context, {bool listen = true}) {\n final type = _typeOf>();\n final provider = listen\n ? context.inheritFromWidgetOfExactType(type) as InheritedProvider\n : context.ancestorInheritedElementForWidgetOfExactType(type)?.widget\n as InheritedProvider;\n return provider.data;\n }\n\n然后我们将调用部分代码改为:\nColumn(\n children: [\n Consumer(\n builder: (BuildContext context, cart) =>Text(\"总价: ${cart.totalPrice}\"),\n ),\n Builder(builder: (context) {\n print(\"RaisedButton build\");\n return RaisedButton(\n child: Text(\"添加商品\"),\n onPressed: () {\n // listen 设为false,不建立依赖关系\n ChangeNotifierProvider.of(context, listen: false)\n .add(Item(20.0, 1));\n },\n );\n })\n ],\n )\n\n修改后在此运行上面的示例,我们会发现点击”添加商品“按钮后,控制台不会再输出\"RaisedButton build\"了,即按钮不会被重新构建了。而总价仍然会更新,这是因为Consumer中调用ChangeNotifierProvider.of时listen值为默认值true,所以还是会建立依赖关系。\n至此我们便实现了一个迷你的Provider,它具备Pub上Provider Package中的核心功能;但是我们的迷你版功能并不全面,如只实现了一个可监听的ChangeNotifierProvider,并没有实现只用于数据共享的Provider;还有就是我们的实现还有些边界没有考虑的到,比如如何保证在Widget树重新build时Model始终是单例等。所以建议读者在实战中还是使用Provider Package,而本节实现这个迷你Provider的主要目的主要是为了帮助读者了解Provider Package底层的原理。\n其它状态管理包\n现在Flutter社区已经有很多专门用于状态管理的包了,在此我们列出几个相对评分比较高的:\n\n\n\n包名\n介绍\n\n\n\n\nProvider & Scoped Model\n这两个包都是基于InheritedWidget的,原理相似\n\n\nRedux\n是Web开发中React生态链中Redux包的Flutter实现\n\n\nMobX\n是Web开发中React生态链中MobX包的Flutter实现\n\n\nBLoC\n是BLoC模式的Flutter实现\n\n\n\n在此笔者不对这些包做推荐,读者有兴趣都可以研究一下,了解它们各自的思想。\n总结\n本节通过介绍事件总线在跨组件共享中的一些缺点引出了通过InheritedWidget来实现状态的共享的思想,然后基于该思想实现了一个简单的Provider,在实现的过程中也更深入的探索了InheritedWidget与其依赖项的注册机制和更新机制。通过本节的学习,读者应该达到两个目标,首先是对InheritedWidget彻底吃透,其次是Provider的设计思想。\nInheritedWidget是Flutter中非常重要的一个Widget,像国际化、主题等都是通过它来实现,所以我们也不惜篇幅,通过好几节来介绍它的,在下一节中,我们将介绍另一个基于InheritedWidget的组件Theme(主题)。\n"},"chapter7/theme.html":{"url":"chapter7/theme.html","title":"7.4:颜色和主题(Theme)","keywords":"","body":"7.4 颜色和主题\n7.4.1 颜色\n在介绍主题前我们先了解一些Flutter中的Color类。Color类中颜色以一个int值保存,我们知道显示器颜色是由红、绿、蓝三基色组成,每种颜色站8比特,存储结构如下:\n\n\n\nBit(位)\n颜色\n\n\n\n\n0-7\n蓝色\n\n\n8-15\n绿色\n\n\n16-23\n红色\n\n\n24-31\nAlpha (不透明度)\n\n\n\n上面表格中的的字段在Color类中都有对应的属性,而Color中的众多方法也就是操作这些属性的,由于大多比较简单,读者可以查看类定义了解。在此我们主要讨论两点:色值转换和亮度。\n如何将颜色字符串转成Color对象\n如Web开发中的色值通常是一个字符串如\"#dc380d\",它是一个RGB值,我们可以通过下面这些方法将其转为Color类:\nColor(0xffdc380d); //如果颜色固定可以直接使用整数值\n//颜色是一个字符串变量\nvar c = \"dc380d\";\nColor(int.parse(c,radix:16)|0xFF000000) //通过位运算符将Alpha设置为FF\nColor(int.parse(c,radix:16)).withAlpha(255) //通过方法将Alpha设置为FF\n\n颜色亮度\n假如我们需要要实现一个背景颜色和Title可以自定义导航栏,并且背景色为深色时我们应该让Title显示浅色;背景色为浅色时,Title显示深色。要实现这个功能,我们就需要来计算背景色的亮度。Color类中提供了一个computeLuminance()方法,他可以返回一个[0-1]的一个值,数字越大颜色就越浅,我们可以根据它来动态确定Title的颜色,下面是导航栏NavBar的简单实现:\nclass NavBar extends StatelessWidget {\n final String title;\n final Color color; //背景颜色\n\n NavBar({\n Key key,\n this.color,\n this.title,\n });\n\n @override\n Widget build(BuildContext context) {\n return Container(\n constraints: BoxConstraints(\n minHeight: 52,\n minWidth: double.infinity,\n ),\n decoration: BoxDecoration(\n color: color,\n boxShadow: [\n //阴影\n BoxShadow(\n color: Colors.black26,\n offset: Offset(0, 3),\n blurRadius: 3,\n ),\n ],\n ),\n child: Text(\n title,\n style: TextStyle(\n fontWeight: FontWeight.bold,\n //根据背景色亮度来确定Title颜色\n color: color.computeLuminance() \n测试代码如下:\nColumn(\n children: [\n //背景为蓝色,则title自动为白色\n NavBar(color: Colors.blue, title: \"标题\"), \n //背景为白色,则title自动为黑色\n NavBar(color: Colors.white, title: \"标题\"),\n ]\n)\n\n运行效果如图7-4所示:\n\nMaterialColor\nMaterialColor是实现Material Design中的颜色的类,它包含一种颜色的10个级别的渐变色。MaterialColor通过\"[]\"运算符的索引值来代表颜色的深度,有效的索引有:50,100,200,…,900,数字越大,颜色越深。MaterialColor的默认值为索引等于500的颜色。举个例子,Colors.blue是预定义的一个MaterialColor类对象,定义如下:\nstatic const MaterialColor blue = MaterialColor(\n _bluePrimaryValue,\n {\n 50: Color(0xFFE3F2FD),\n 100: Color(0xFFBBDEFB),\n 200: Color(0xFF90CAF9),\n 300: Color(0xFF64B5F6),\n 400: Color(0xFF42A5F5),\n 500: Color(_bluePrimaryValue),\n 600: Color(0xFF1E88E5),\n 700: Color(0xFF1976D2),\n 800: Color(0xFF1565C0),\n 900: Color(0xFF0D47A1),\n },\n);\nstatic const int _bluePrimaryValue = 0xFF2196F3;\n\nColors.blue[50]到Colors.blue[100]的色值从浅蓝到深蓝渐变,效果如图7-5所示:\n\n7.4.2 Theme\nTheme组件可以为Material APP定义主题数据(ThemeData)。Material组件库里很多组件都使用了主题数据,如导航栏颜色、标题字体、Icon样式等。Theme内会使用InheritedWidget来为其子树共享样式数据。\nThemeData\nThemeData用于保存是Material 组件库的主题数据,Material组件需要遵守相应的设计规范,而这些规范可自定义部分都定义在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运行后点击右下角悬浮按钮则可以切换主题,如图7-6、7-7所示:\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"},"chapter7/futurebuilder_and_streambuilder.html":{"url":"chapter7/futurebuilder_and_streambuilder.html","title":"7.5:异步UI更新(FutureBuilder、StreamBuilder)","keywords":"","body":"7.5 异步UI更新(FutureBuilder、StreamBuilder)\n很多时候我们会依赖一些异步数据来动态更新UI,比如在打开一个页面时我们需要先从互联网上获取数据,在获取数据的过程中我们显式一个加载框,等获取到数据时我们再渲染页面;又比如我们想展示Stream(比如文件流、互联网数据接收流)的进度。当然,通过StatefulWidget我们完全可以实现上述这些功能。但由于在实际开发中依赖异步数据更新UI的这种场景非常常见,因此Flutter专门提供了FutureBuilder和StreamBuilder两个组件来快速实现这种功能。\n7.5.1 FutureBuilder\nFutureBuilder会依赖一个Future,它会根据所依赖的Future的状态来动态构建自身。我们看一下FutureBuilder构造函数:\nFutureBuilder({\n this.future,\n this.initialData,\n @required this.builder,\n})\n\n\nfuture:FutureBuilder依赖的Future,通常是一个异步耗时任务。\n\ninitialData:初始数据,用户设置默认数据。\n\nbuilder:Widget构建器;该构建器会在Future执行的不同阶段被多次调用,构建器签名如下:\nFunction (BuildContext context, AsyncSnapshot snapshot)\n\nsnapshot会包含当前异步任务的状态信息及结果信息 ,比如我们可以通过snapshot.connectionState获取异步任务的状态信息、通过snapshot.hasError判断异步任务是否有错误等等,完整的定义读者可以查看AsyncSnapshot类定义。\n另外,FutureBuilder的builder函数签名和StreamBuilder的builder是相同的。\n\n\n示例\n我们实现一个路由,当该路由打开时我们从网上获取数据,获取数据时弹一个加载框;获取结束时,如果成功则显示获取到的数据,如果失败则显示错误。由于我们还没有介绍在flutter中如何发起网络请求,所以在这里我们不真正去网络请求数据,而是模拟一下这个过程,隔3秒后返回一个字符串:\nFuture mockNetworkData() async {\n return Future.delayed(Duration(seconds: 2), () => \"我是从互联网上获取的数据\");\n}\n\nFutureBuilder使用代码如下:\n...\nWidget build(BuildContext context) {\n return Center(\n child: FutureBuilder(\n future: mockNetworkData(),\n builder: (BuildContext context, AsyncSnapshot snapshot) {\n // 请求已结束\n if (snapshot.connectionState == ConnectionState.done) {\n if (snapshot.hasError) {\n // 请求失败,显示错误\n return Text(\"Error: ${snapshot.error}\");\n } else {\n // 请求成功,显示数据\n return Text(\"Contents: ${snapshot.data}\");\n }\n } else {\n // 请求未结束,显示loading\n return CircularProgressIndicator();\n }\n },\n ),\n );\n}\n\n运行结果如图7-8、7-9所示:\n\n上面代码中我们在builder中根据当前异步任务状态ConnectionState来返回不同的widget。ConnectionState是一个枚举类,定义如下:\nenum ConnectionState {\n /// 当前没有异步任务,比如[FutureBuilder]的[future]为null时\n none,\n\n /// 异步任务处于等待状态\n waiting,\n\n /// Stream处于激活状态(流上已经有数据传递了),对于FutureBuilder没有该状态。\n active,\n\n /// 异步任务已经终止.\n done,\n}\n\n注意,ConnectionState.active只在StreamBuilder中才会出现。\n7.5.2 StreamBuilder\n我们知道,在Dart中Stream 也是用于接收异步事件数据,和Future 不同的是,它可以接收多个异步操作的结果,它常用于会多次读取数据的异步任务场景,如网络内容下载、文件读写等。StreamBuilder正是用于配合Stream来展示流上事件(数据)变化的UI组件。下面看一下StreamBuilder的默认构造函数:\nStreamBuilder({\n Key key,\n this.initialData,\n Stream stream,\n @required this.builder,\n})\n\n可以看到和FutureBuilder的构造函数只有一点不同:前者需要一个future,而后者需要一个stream。\n示例\n我们创建一个计时器的示例:每隔1秒,计数加1。这里,我们使用Stream来实现每隔一秒生成一个数字:\nStream counter() {\n return Stream.periodic(Duration(seconds: 1), (i) {\n return i;\n });\n}\n\nStreamBuilder使用代码如下:\n\n Widget build(BuildContext context) {\n return StreamBuilder(\n stream: counter(), //\n //initialData: ,// a Stream or null\n builder: (BuildContext context, AsyncSnapshot snapshot) {\n if (snapshot.hasError)\n return Text('Error: ${snapshot.error}');\n switch (snapshot.connectionState) {\n case ConnectionState.none:\n return Text('没有Stream');\n case ConnectionState.waiting:\n return Text('等待数据...');\n case ConnectionState.active:\n return Text('active: ${snapshot.data}');\n case ConnectionState.done:\n return Text('Stream已关闭');\n }\n return null; // unreachable\n },\n );\n }\n\n读者可以自己运行本示例查看运行结果。注意,本示例只是为了演示StreamBuilder的使用,在实战中,凡是UI会依赖多个异步数据而发生变化的场景都可以使用StreamBuilder。\n"},"chapter7/dailog.html":{"url":"chapter7/dailog.html","title":"7.6:对话框详解","keywords":"","body":"7.6 对话框详解\n本节将详细介绍一下Flutter中话框对话框的使用方式、实现原理、样式定制及状态管理。\n7.6.1 使用对话框\n对话框本质上也是UI布局,通常一个对话框会包含标题、内容,以及一些操作按钮,为此,Material库中提提供了一些现成的对话框组件来用于快速的构建出一个完整的对话框。\nAlertDialog\n下面我们主要介绍一下Material库中的AlertDialog组件,它的构造函数定义如下:\nconst AlertDialog({\n Key key,\n this.title, //对话框标题组件\n this.titlePadding, // 标题填充\n this.titleTextStyle, //标题文本样式\n this.content, // 对话框内容组件\n this.contentPadding = const EdgeInsets.fromLTRB(24.0, 20.0, 24.0, 24.0), //内容的填充\n this.contentTextStyle,// 内容文本样式\n this.actions, // 对话框操作按钮组\n this.backgroundColor, // 对话框背景色\n this.elevation,// 对话框的阴影\n this.semanticLabel, //对话框语义化标签(用于读屏软件)\n this.shape, // 对话框外形\n})\n\n参数都比较简单,不在赘述。下面我们看一个例子,假如我们要在删除文件事弹出一个确认对话框,该对话框如图7-10所示:\n\n该对话框样式代码如下:\nAlertDialog(\n title: Text(\"提示\"),\n content: Text(\"您确定要删除当前文件吗?\"),\n actions: [\n FlatButton(\n child: Text(\"取消\"),\n onPressed: () => Navigator.of(context).pop(), //关闭对话框\n ),\n FlatButton(\n child: Text(\"删除\"),\n onPressed: () {\n // ... 执行删除操作\n Navigator.of(context).pop(true); //关闭对话框\n },\n ),\n ],\n);\n\n实现代码很简单,不在赘述。唯一需要注意的是我们是通过Navigator.of(context).pop(…)方法来关闭对话框的,这和路由返回的方式是一致的,并且都可以返回一个结果数据。现在,对话框我们已经构建好了,那么如何将它弹出来呢?还有对话框返回的数据如何应如何被接收呢?这些问题的答案都在showDialog()方法中。\nshowDialog()是Material组件库提供的一个用于弹出Material风格对话框的方法,签名如下:\nFuture showDialog({\n @required BuildContext context,\n bool barrierDismissible = true, //点击对话框barrier(遮罩)时是否关闭它\n WidgetBuilder builder, // 对话框UI的builder\n})\n\n该方法只有两个参数,含义见注释。该方法返回一个Future,它正是用于接收对话框的返回值:如果我们是通过点击对话框遮罩关闭的,则Future的值为null,否则为我们通过Navigator.of(context).pop(result)返回的result值,下面我们看一下整个示例:\n//点击该按钮后弹出对话框\nRaisedButton(\n child: Text(\"对话框1\"),\n onPressed: () async {\n //弹出对话框并等待其关闭\n bool delete = await showDeleteConfirmDialog1();\n if (delete == null) {\n print(\"取消删除\");\n } else {\n print(\"已确认删除\");\n //... 删除文件\n }\n },\n),\n\n// 弹出对话框\nFuture showDeleteConfirmDialog1() {\n return showDialog(\n context: context,\n builder: (context) {\n return AlertDialog(\n title: Text(\"提示\"),\n content: Text(\"您确定要删除当前文件吗?\"),\n actions: [\n FlatButton(\n child: Text(\"取消\"),\n onPressed: () => Navigator.of(context).pop(), // 关闭对话框\n ),\n FlatButton(\n child: Text(\"删除\"),\n onPressed: () {\n //关闭对话框并返回true\n Navigator.of(context).pop(true);\n },\n ),\n ],\n );\n },\n );\n}\n\n示例运行后,我们点击对话框“取消”按钮或遮罩,控制台就会输出\"取消删除\",如果点击“删除”按钮,控制台就会输出\"已确认删除\"。\n\n注意:如果AlertDialog的内容过长,内容将会溢出,这在很多时候可能不是我们期望的,所以如果对话框内容过长时,可以用SingleChildScrollView将内容包裹起来。\n\nSimpleDialog\nSimpleDialog也是Material组件库提供的对话框,它会展示一个列表,用于列表选择的场景。下面是一个选择APP语言的示例,运行结果如图7-11。\n\n实现代码如下:\nFuture changeLanguage() async {\n int i = await showDialog(\n context: context,\n builder: (BuildContext context) {\n return SimpleDialog(\n title: const Text('请选择语言'),\n children: [\n SimpleDialogOption(\n onPressed: () {\n // 返回1\n Navigator.pop(context, 1);\n },\n child: Padding(\n padding: const EdgeInsets.symmetric(vertical: 6),\n child: const Text('中文简体'),\n ),\n ),\n SimpleDialogOption(\n onPressed: () {\n // 返回2\n Navigator.pop(context, 2);\n },\n child: Padding(\n padding: const EdgeInsets.symmetric(vertical: 6),\n child: const Text('美国英语'),\n ),\n ),\n ],\n );\n });\n\n if (i != null) {\n print(\"选择了:${i == 1 ? \"中文简体\" : \"美国英语\"}\");\n }\n}\n\n列表项组件我们使用了SimpleDialogOption组件来包装了一下,它相当于一个FlatButton,只不过按钮文案是左对齐的,并且padding较小。上面示例运行后,用户选择一种语言后,控制台就会打印出它。\nDialog\n实际上AlertDialog和SimpleDialog都使用了Dialog类。由于AlertDialog和SimpleDialog中使用了IntrinsicWidth来尝试通过子组件的实际尺寸来调整自身尺寸,这就导致他们的子组件不能是延迟加载模型的组件(如ListView、GridView 、 CustomScrollView等),如下面的代码运行后会报错。\nAlertDialog(\n content: ListView(\n children: ...//省略\n ),\n);\n\n如果我们就是需要嵌套一个ListView应该怎么做?这时,我们可以直接使用Dialog类,如:\nDialog(\n child: ListView(\n children: ...//省略\n ),\n);\n\n下面我们看一个弹出一个有30个列表项的对话框示例,运行效果如图7-12所示:\n\n实现代码如下:\nFuture showListDialog() async {\n int index = await showDialog(\n context: context,\n builder: (BuildContext context) {\n var child = Column(\n children: [\n ListTile(title: Text(\"请选择\")),\n Expanded(\n child: ListView.builder(\n itemCount: 30,\n itemBuilder: (BuildContext context, int index) {\n return ListTile(\n title: Text(\"$index\"),\n onTap: () => Navigator.of(context).pop(index),\n );\n },\n )),\n ],\n );\n //使用AlertDialog会报错\n //return AlertDialog(content: child);\n return Dialog(child: child);\n },\n );\n if (index != null) {\n print(\"点击了:$index\");\n }\n}\n\n现在,我们己经介绍完了AlertDialog、SimpleDialog以及Dialog。上面的示例中,我们在调用showDialog时,在builder中都是构建了这三个对话框组件的一种,可能有些读者会惯性的以为在builder中只能返回这三者之一,其实这不是必须的!就拿Dialog的示例来距离,我们完全可以用下面的代码来替代Dialog:\n// return Dialog(child: child) \nreturn UnconstrainedBox(\n constrainedAxis: Axis.vertical,\n child: ConstrainedBox(\n constraints: BoxConstraints(maxWidth: 280),\n child: Material(\n child: child,\n type: MaterialType.card,\n ),\n ),\n);\n\n上面代码运行后可以实现一样的效果。现在我们总结一下:AlertDialog、SimpleDialog以及Dialog是Material组件库提供的三种对话框,旨在帮助开发者快速构建出符合Material设计规范的对话框,但读者完全可以自定义对话框样式,因此,我们仍然可以实现各种样式的对话框,这样即带来了易用性,又有很强的扩展性。\n7.6.2 对话框打开动画及遮罩\n我们可以把对话框分为内部样式和外部样式两部分。内部样式指对话框中显示的具体内容,这部分内容我们已经在上面介绍过了;外部样式包含对话框遮罩样式、打开动画等,本节主要介绍如何自定义这些外部样式。\n\n关于动画相关内容我们将在本书后面章节介绍,下面内容读者可以先了解一下(不必深究),读者可以在学习完动画相关内容后再回头来看。\n\n我们已经介绍过了showDialog方法,它是Material组件库中提供的一个打开Material风格对话框的方法。那如何打开一个普通风格的对话框呢(非Material风格)? Flutter 提供了一个showGeneralDialog方法,签名如下:\nFuture showGeneralDialog({\n @required BuildContext context,\n @required RoutePageBuilder pageBuilder, //构建对话框内部UI\n bool barrierDismissible, //点击遮罩是否关闭对话框\n String barrierLabel, // 语义化标签(用于读屏软件)\n Color barrierColor, // 遮罩颜色\n Duration transitionDuration, // 对话框打开/关闭的动画时长\n RouteTransitionsBuilder transitionBuilder, // 对话框打开/关闭的动画\n})\n\n实际上,showDialog方法正是showGeneralDialog的一个封装,定制了Material风格对话框的遮罩颜色和动画。Material风格对话框打开/关闭动画是一个Fade(渐隐渐显)动画,如果我们想使用一个缩放动画就可以通过transitionBuilder来自定义。下面我们自己封装一个showCustomDialog方法,它定制的对话框动画为缩放动画,并同时制定遮罩颜色为Colors.black87:\nFuture showCustomDialog({\n @required BuildContext context,\n bool barrierDismissible = true,\n WidgetBuilder builder,\n}) {\n final ThemeData theme = Theme.of(context, shadowThemeOnly: true);\n return showGeneralDialog(\n context: context,\n pageBuilder: (BuildContext buildContext, Animation animation,\n Animation secondaryAnimation) {\n final Widget pageChild = Builder(builder: builder);\n return SafeArea(\n child: Builder(builder: (BuildContext context) {\n return theme != null\n ? Theme(data: theme, child: pageChild)\n : pageChild;\n }),\n );\n },\n barrierDismissible: barrierDismissible,\n barrierLabel: MaterialLocalizations.of(context).modalBarrierDismissLabel,\n barrierColor: Colors.black87, // 自定义遮罩颜色\n transitionDuration: const Duration(milliseconds: 150),\n transitionBuilder: _buildMaterialDialogTransitions,\n );\n}\n\nWidget _buildMaterialDialogTransitions(\n BuildContext context,\n Animation animation,\n Animation secondaryAnimation,\n Widget child) {\n // 使用缩放动画\n return ScaleTransition(\n scale: CurvedAnimation(\n parent: animation,\n curve: Curves.easeOut,\n ),\n child: child,\n );\n}\n\n现在,我们使用showCustomDialog打开文件删除确认对话框,代码如下:\n... //省略无关代码\nshowCustomDialog(\n context: context,\n builder: (context) {\n return AlertDialog(\n title: Text(\"提示\"),\n content: Text(\"您确定要删除当前文件吗?\"),\n actions: [\n FlatButton(\n child: Text(\"取消\"),\n onPressed: () => Navigator.of(context).pop(),\n ),\n FlatButton(\n child: Text(\"删除\"),\n onPressed: () {\n // 执行删除操作\n Navigator.of(context).pop(true);\n },\n ),\n ],\n );\n },\n);\n\n运行效果如图7-13所示:\n\n可以发现,遮罩颜色比通过showDialog方法打开的对话框更深。另外对话框打开/关闭的动画已变为缩放动画了,读者可以亲自运行示例查看效果。\n7.6.3 对话框实现原理\n我们已经知道对话框最终都是由showGeneralDialog方法打开的,我们来看看它的具体实现:\nFuture showGeneralDialog({\n @required BuildContext context,\n @required RoutePageBuilder pageBuilder,\n bool barrierDismissible,\n String barrierLabel,\n Color barrierColor,\n Duration transitionDuration,\n RouteTransitionsBuilder transitionBuilder,\n}) {\n return Navigator.of(context, rootNavigator: true).push(_DialogRoute(\n pageBuilder: pageBuilder,\n barrierDismissible: barrierDismissible,\n barrierLabel: barrierLabel,\n barrierColor: barrierColor,\n transitionDuration: transitionDuration,\n transitionBuilder: transitionBuilder,\n ));\n}\n\n实现很简单,直接调用Navigator的push方法打开了一个新的对话框路由_DialogRoute,然后返回了push的返回值。可以对话框实际上正是通过路由的形式实现的,这也是为什么我们可以使用Navigator的pop 方法来退出对话框的原因。关于对话框的样式定制在_DialogRoute中,没有什么新的东西,读者可以自行查看。\n7.6.4 对话框状态管理\n我们在用户选择删除一个文件时,会询问是否产出此文件;在用户选择一个文件夹是,应该再让用户确认是否删除子文件夹。为了在用户选择了文件夹时避免二次弹窗确认是否删除子目录,我们在确认对话框底部添加一个“同时删除子目录?”的复选框,如图7-14所示:\n\n现在就有一个问题:如何管理复选框的选中状态?习惯上,我们会在路由页的State中来管理选中状态,我们可能会写出如下这样的代码:\nclass _DialogRouteState extends State {\n bool withTree = false; // 复选框选中状态\n\n @override\n Widget build(BuildContext context) {\n return Column(\n children: [\n RaisedButton(\n child: Text(\"对话框2\"),\n onPressed: () async {\n bool delete = await showDeleteConfirmDialog2();\n if (delete == null) {\n print(\"取消删除\");\n } else {\n print(\"同时删除子目录: $delete\");\n }\n },\n ),\n ],\n );\n }\n\n Future showDeleteConfirmDialog2() {\n withTree = false; // 默认复选框不选中\n return showDialog(\n context: context,\n builder: (context) {\n return AlertDialog(\n title: Text(\"提示\"),\n content: Column(\n crossAxisAlignment: CrossAxisAlignment.start,\n mainAxisSize: MainAxisSize.min,\n children: [\n Text(\"您确定要删除当前文件吗?\"),\n Row(\n children: [\n Text(\"同时删除子目录?\"),\n Checkbox(\n value: withTree,\n onChanged: (bool value) {\n //复选框选中状态发生变化时重新构建UI\n setState(() {\n //更新复选框状态\n withTree = !withTree;\n });\n },\n ),\n ],\n ),\n ],\n ),\n actions: [\n FlatButton(\n child: Text(\"取消\"),\n onPressed: () => Navigator.of(context).pop(),\n ),\n FlatButton(\n child: Text(\"删除\"),\n onPressed: () {\n //执行删除操作\n Navigator.of(context).pop(withTree);\n },\n ),\n ],\n );\n },\n );\n }\n}\n\n然后,当我们运行上面的代码时我们会发现复选框根本选不中!为什么会这样呢?其实原因很简单,我们知道setState方法只会针对当前context的子树重新build,但是我们的对话框并不是在_DialogRouteState的build 方法中构建的,而是通过showDialog单独构建的,所以调用在_DialogRouteState的context中调用setState是无法影响通过showDialog构建的UI的。另外,我们可以从另外一个角度来理解这个现象,前面说过动画框也是通过路由的方式来实现的,那么上面的代码实际上就等同于企图在父路由中调用setState来让子路由更新,这显然是不行的!简尔言之,根本原因就是context不对。那如何让复选框可点击呢?通常有如下三种方法:\n单独抽离出StatefulWidget\n既然是context不对,那么直接的思路就是将复选框的选中逻辑单独封装成一个StatefulWidget,然后其再内部管理复选状态。我们先来看看这种方法,下面是实现代码:\n// 单独封装一个内部管理选中状态的复选框组件\nclass DialogCheckbox extends StatefulWidget {\n DialogCheckbox({\n Key key,\n this.value,\n @required this.onChanged,\n });\n\n final ValueChanged onChanged;\n final bool value;\n\n @override\n _DialogCheckboxState createState() => _DialogCheckboxState();\n}\n\nclass _DialogCheckboxState extends State {\n bool value;\n\n @override\n void initState() {\n value = widget.value;\n super.initState();\n }\n\n @override\n Widget build(BuildContext context) {\n return Checkbox(\n value: value,\n onChanged: (v) {\n //将选中状态通过事件的形式抛出\n widget.onChanged(v);\n setState(() {\n //更新自身选中状态\n value = v;\n });\n },\n );\n }\n}\n\n下面是弹出对话框的代码:\nFuture showDeleteConfirmDialog3() {\n bool _withTree = false; //记录复选框是否选中\n return showDialog(\n context: context,\n builder: (context) {\n return AlertDialog(\n title: Text(\"提示\"),\n content: Column(\n crossAxisAlignment: CrossAxisAlignment.start,\n mainAxisSize: MainAxisSize.min,\n children: [\n Text(\"您确定要删除当前文件吗?\"),\n Row(\n children: [\n Text(\"同时删除子目录?\"),\n DialogCheckbox(\n value: _withTree, //默认不选中\n onChanged: (bool value) {\n //更新选中状态\n _withTree = !_withTree;\n },\n ),\n ],\n ),\n ],\n ),\n actions: [\n FlatButton(\n child: Text(\"取消\"),\n onPressed: () => Navigator.of(context).pop(),\n ),\n FlatButton(\n child: Text(\"删除\"),\n onPressed: () {\n // 将选中状态返回\n Navigator.of(context).pop(_withTree);\n },\n ),\n ],\n );\n },\n );\n}\n\n最后,就是使用:\nRaisedButton(\n child: Text(\"话框3(复选框可点击)\"),\n onPressed: () async {\n //弹出删除确认对话框,等待用户确认\n bool deleteTree = await showDeleteConfirmDialog3();\n if (deleteTree == null) {\n print(\"取消删除\");\n } else {\n print(\"同时删除子目录: $deleteTree\");\n }\n },\n),\n\n运行后效果如图7-15所示:\n\n可见复选框能选中了,点击“取消”或“删除”后,控制台就会打印出最终的确认状态。\n使用StatefulBuilder方法\n上面的方法虽然能解决对话框状态更新的问题,但是有一个明显的缺点——对话框上所有需要会改变状态的组件都得单独封装在一个在内部管理状态StatefulWidget中,这样不仅麻烦,而且复用性不大。因此,我们来想想能不能找到一种更简单的方法?上面的方法本质上就是将对话框的状态置于一个StatefulWidget的上下文中,由StatefulWidget在内部管理,那么我们有没有办法在不需要单独抽离组件的情况下创建一个StatefulWidget的上下文呢?想到这里,我们可以从Builder组件的实现获得灵感。在前面介绍过Builder组件可以获得组件所在位置的真正的Context,那它是怎么实现的呢,我们看看它的源码:\nclass Builder extends StatelessWidget {\n const Builder({\n Key key,\n @required this.builder,\n }) : assert(builder != null),\n super(key: key);\n final WidgetBuilder builder;\n\n @override\n Widget build(BuildContext context) => builder(context);\n}\n\n可以看到,Builder实际上只是继承了StatelessWidget,然后在build方法中对获取当前context后将构建方法代理到了builder回调,Builder实际上是获取了StatelessWidget 的上下文。那我们能否用相同的方法获取StatefulWidget 上下文,并代理其build方法呢?我们照猫画虎,来封装一个StatefulBuilder方法:\nclass StatefulBuilder extends StatefulWidget {\n const StatefulBuilder({\n Key key,\n @required this.builder,\n }) : assert(builder != null),\n super(key: key);\n\n final StatefulWidgetBuilder builder;\n\n @override\n _StatefulBuilderState createState() => _StatefulBuilderState();\n}\n\nclass _StatefulBuilderState extends State {\n @override\n Widget build(BuildContext context) => widget.builder(context, setState);\n}\n\n代码很简单,StatefulBuilder获取了StatefulWidget的上下文,并代理了其构建过程。下面我们就可以通过StatefulBuilder来重构上面的代码了(变动只在DialogCheckbox部分):\n... //省略无关代码\nRow(\n children: [\n Text(\"同时删除子目录?\"),\n //使用StatefulBuilder来构建StatefulWidget上下文\n StatefulBuilder(\n builder: (context, _setState) {\n return Checkbox(\n value: _withTree, //默认不选中\n onChanged: (bool value) {\n //_setState方法实际就是该StatefulWidget的setState方法,\n //调用后builder方法会重新被调用\n _setState(() {\n //更新选中状态\n _withTree = !_withTree;\n });\n },\n );\n },\n ),\n ],\n),\n\n实际上,这种方法本质上就是子组件通知父组件(StatefulWidget)重新build子组件本身来实现UI更新的,读者可以对比代码理解。实际上StatefulBuilder正是Flutter SDK中提供的一个类,它和Builder的原理是一样的,在此,提醒读者一定要将StatefulBuilder和Builder理解透彻,因为它们在Flutter中是非常实用的。\n精妙的解法\n要确认这个问题,我们就得先想想UI是怎么更新的,我们知道在调用setState方法后StatefulWidget就会重新build,那setState方法做了什么呢?我们能不能从中找到方法?顺着这个思路,我们就得看一下setState的核心源码:\nvoid setState(VoidCallback fn) {\n ... //省略无关代码\n _element.markNeedsBuild();\n}\n\n可以发现,setState中调用了Element的markNeedsBuild()方法,我们前面说过,Flutter是一个响应式框架,要更新UI只需改变状态后通知框架页面需要重构即可,而Element的markNeedsBuild()方法正是来实现这个功能的!markNeedsBuild()方法会将当前的Element对象标记为“dirty”(脏的),在每一个Frame,Flutter都会重新构建被标记为“dirty”Element对象。既然如此,我们有没有办法获取到对话框内部UI的Element对象,然后将其表姐为为“dirty”呢?答案是肯定的!我们可以通过Context来得到Element对象,至于Element与Context的关系我们将会在后面“Flutter核心原理”一章中再深入介绍,现在只需要简单的认为:在组件树种,context实际上就是Element对象的引用。知道这个后,那么解决的方案就呼之欲出了,我们可以通过如下方式来让复选框可以更新:\nFuture showDeleteConfirmDialog4() {\n bool _withTree = false;\n return showDialog(\n context: context,\n builder: (context) {\n return AlertDialog(\n title: Text(\"提示\"),\n content: Column(\n crossAxisAlignment: CrossAxisAlignment.start,\n mainAxisSize: MainAxisSize.min,\n children: [\n Text(\"您确定要删除当前文件吗?\"),\n Row(\n children: [\n Text(\"同时删除子目录?\"),\n Checkbox( // 依然使用Checkbox组件\n value: _withTree,\n onChanged: (bool value) {\n // 此时context为对话框UI的根Element,我们 \n // 直接将对话框UI对应的Element标记为dirty\n (context as Element).markNeedsBuild();\n _withTree = !_withTree;\n },\n ),\n ],\n ),\n ],\n ),\n actions: [\n FlatButton(\n child: Text(\"取消\"),\n onPressed: () => Navigator.of(context).pop(),\n ),\n FlatButton(\n child: Text(\"删除\"),\n onPressed: () {\n // 执行删除操作\n Navigator.of(context).pop(_withTree);\n },\n ),\n ],\n );\n },\n );\n}\n\n上面的代码运行后复选框也可以正常选中。可以看到,我们只用了一行代码便解决了这个问题!当然上面的代码并不是最优,因为我们只需要更新复选框的状态,而此时的context我们用的是对话框的根context,所以会导致整个对话框UI组件全部rebuild,因此最好的作法是将context的“范围”缩小,也就是说只将Checkbox的Element标记为dirty,优化后的代码为:\n... //省略无关代码\nRow(\n children: [\n Text(\"同时删除子目录?\"),\n // 通过Builder来获得构建Checkbox的`context`,\n // 这是一种常用的缩小`context`范围的方式\n Builder(\n builder: (BuildContext context) {\n return Checkbox(\n value: _withTree,\n onChanged: (bool value) {\n (context as Element).markNeedsBuild();\n _withTree = !_withTree;\n },\n );\n },\n ),\n ],\n),\n\n7.6.5 其它类型的对话框\n底部菜单列表\nshowModalBottomSheet方法可以弹出一个Material风格的底部菜单列表模态对话框,示例如下:\n// 弹出底部菜单列表模态对话框\nFuture _showModalBottomSheet() {\n return showModalBottomSheet(\n context: context,\n builder: (BuildContext context) {\n return ListView.builder(\n itemCount: 30,\n itemBuilder: (BuildContext context, int index) {\n return ListTile(\n title: Text(\"$index\"),\n onTap: () => Navigator.of(context).pop(index),\n );\n },\n );\n },\n );\n}\n\n点击按钮,弹出该对话框:\nRaisedButton(\n child: Text(\"显示底部菜单列表\"),\n onPressed: () async {\n int type = await _showModalBottomSheet();\n print(type);\n },\n),\n\n运行后效果如图7-16所示:\n\nshowModalBottomSheet的实现原理和showGeneralDialog实现原理相同,都是通过路由的方式来实现的,读者可以查看源码对比。但值得一提的是还有一个showBottomSheet方法,该方法会从设备底部向上弹出一个全屏的菜单列表,示例如下:\n// 返回的是一个controller\nPersistentBottomSheetController _showBottomSheet() {\n return showBottomSheet(\n context: context,\n builder: (BuildContext context) {\n return ListView.builder(\n itemCount: 30,\n itemBuilder: (BuildContext context, int index) {\n return ListTile(\n title: Text(\"$index\"),\n onTap: (){\n // do something\n print(\"$index\");\n Navigator.of(context).pop();\n },\n );\n },\n );\n },\n );\n}\n\n运行效果如图7-17所示:\n\nPersistentBottomSheetController中包含了一下控制对话框的方法比如close方法可以关闭该对话框,功能比较简单,读者可以自行查看源码。唯一需要注意的是,showBottomSheet和我们上面介绍的弹出对话框的方法原理不同:showBottomSheet是调用widget树顶部的Scaffold组件的ScaffoldState的showBottomSheet同名方法实现,也就是说要调用showBottomSheet方法就必须得保证父级组件中有Scaffold。\nLoading框\n其实Loading框可以直接通过showDialog+AlertDialog来自定义:\nshowLoadingDialog() {\n showDialog(\n context: context,\n barrierDismissible: false, //点击遮罩不关闭对话框\n builder: (context) {\n return AlertDialog(\n content: Column(\n mainAxisSize: MainAxisSize.min,\n children: [\n CircularProgressIndicator(),\n Padding(\n padding: const EdgeInsets.only(top: 26.0),\n child: Text(\"正在加载,请稍后...\"),\n )\n ],\n ),\n );\n },\n );\n}\n\n显示效果如图7-18所示:\n\n如果我们嫌Loading框太宽,想自定义对话框宽度,这时只使用SizedBox或ConstrainedBox是不行的,原因是showDialog中已经给对话框设置了宽度限制,根据我们在第五章“尺寸限制类容器”一节中所述,我们可以使用UnconstrainedBox先抵消showDialog对宽度的限制,然后再使用SizedBox指定宽度,代码如下:\n... //省略无关代码\nUnconstrainedBox(\n constrainedAxis: Axis.vertical,\n child: SizedBox(\n width: 280,\n child: AlertDialog(\n content: Column(\n mainAxisSize: MainAxisSize.min,\n children: [\n CircularProgressIndicator(value: .8,),\n Padding(\n padding: const EdgeInsets.only(top: 26.0),\n child: Text(\"正在加载,请稍后...\"),\n )\n ],\n ),\n ),\n ),\n);\n\n代码运行后,效果如图7-19所示:\n\n日历选择\n我们先看一下Material风格的日历选择器,如图7-20所示:\n\n实现代码:\nFuture _showDatePicker1() {\n var date = DateTime.now();\n return showDatePicker(\n context: context,\n initialDate: date,\n firstDate: date,\n lastDate: date.add( //未来30天可选\n Duration(days: 30),\n ),\n );\n}\n\niOS风格的日历选择器需要使用showCupertinoModalPopup方法和CupertinoDatePicker组件来实现:\nFuture _showDatePicker2() {\n var date = DateTime.now();\n return showCupertinoModalPopup(\n context: context,\n builder: (ctx) {\n return SizedBox(\n height: 200,\n child: CupertinoDatePicker(\n mode: CupertinoDatePickerMode.dateAndTime,\n minimumDate: date,\n maximumDate: date.add(\n Duration(days: 30),\n ),\n maximumYear: date.year + 1,\n onDateTimeChanged: (DateTime value) {\n print(value);\n },\n ),\n );\n },\n );\n}\n\n运行效果如图7-21所示:\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":"8.1:原始指针事件处理","keywords":"","body":"8.1 原始指针事件处理\n本节先来介绍一下原始指针事件(Pointer Event,在移动设备上通常为触摸事件),下一节再介绍手势处理。\n在移动端,各个平台或UI系统的原始指针事件模型基本都是一致,即:一次完整的事件分为三个阶段:手指按下、手指移动、和手指抬起,而更高级别的手势(如点击、双击、拖动等)都是基于这些原始事件的。\n当指针按下时,Flutter会对应用程序执行命中测试(Hit Test),以确定指针与屏幕接触的位置存在哪些组件(widget), 指针按下事件(以及该指针的后续事件)然后被分发到由命中测试发现的最内部的组件,然后从那里开始,事件会在组件树中向上冒泡,这些事件会从最内部的组件被分发到组件树根的路径上的所有组件,这和Web开发中浏览器的事件冒泡机制相似, 但是Flutter中没有机制取消或停止”冒泡“过程,而浏览器的冒泡是可以停止的。注意,只有通过命中测试的组件才能触发事件。\nFlutter中可以使用Listener来监听原始触摸事件,按照本书对组件的分类,则Listener也是一个功能性组件。下面是Listener的构造函数定义:\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运行后效果如图8-1所示:\n\n手指在蓝色矩形区域内移动即可看到当前指针偏移,当触发指针事件时,参数PointerDownEvent、PointerMoveEvent、PointerUpEvent都是PointerEvent的一个子类,PointerEvent类中包括当前指针的一些信息,如:\n\nposition:它是鼠标相对于当对于全局坐标的偏移。\ndelta:两次指针移动事件(PointerMoveEvent)的距离。\npressure:按压力度,如果手机屏幕支持压力传感器(如iPhone的3D Touch),此属性会更有意义,如果手机不支持,则始终为1。\norientation:指针移动方向,是一个角度值。\n\n上面只是PointerEvent一些常用属性,除了这些它还有很多属性,读者可以查看API文档。\n现在,我们重点来介绍一下behavior属性,它决定子组件如何响应命中测试,它的值类型为HitTestBehavior,这是一个枚举类,有三个枚举值:\n\ndeferToChild:子组件会一个接一个的进行命中测试,如果子组件中有测试通过的,则当前组件通过,这就意味着,如果指针事件作用于子组件上时,其父级组件也肯定可以收到该事件。\n\nopaque:在命中测试时,将当前组件当成不透明处理(即使本身是透明的),最终的效果相当于当前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上例中,只有点击文本内容区域才会触发点击事件,因为 deferToChild 会去子组件判断是否命中测试,而该例中子组件就是 Text(\"Box A\") 。\n如果我们想让整个300×150的矩形区域都能点击我们可以将behavior设为HitTestBehavior.opaque。注意,该属性并不能用于在组件树中拦截(忽略)事件,它只是决定命中测试时的组件大小。\n\ntranslucent:当点击组件透明区域时,可以对自身边界内及底部可视区域都进行命中测试,这意味着点击顶部组件透明区域时,顶部组件和底部组件都可以接收到事件,例如:\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范围内非文本区域点击时(顶部组件透明区域),控制台只会打印“down0”,也就是说顶部组件没有接收到事件,而只有底部接收到了。当放开注释后,再点击时顶部和底部都会接收到事件,此时会打印:\nI/flutter ( 3039): down1\nI/flutter ( 3039): down0\n如果behavior值改为HitTestBehavior.opaque,则只会打印\"down1\"。\n\n\n忽略PointerEvent\n假如我们不想让某个子树响应PointerEvent的话,我们可以使用IgnorePointer和AbsorbPointer,这两个组件都能阻止子树接收指针事件,不同之处在于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":"8.2:手势识别","keywords":"","body":"8.2 手势识别\n本节先介绍一些Flutter中用于处理手势的GestureDetector和GestureRecognizer,然后再仔细讨论一下手势竞争与冲突问题。\n8.2.1 GestureDetector\nGestureDetector是一个用于手势识别的功能性组件,我们通过它可以来识别各种手势。GestureDetector实际上是指针事件的语义化封装,接下来我们详细介绍一下各种手势识别。\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运行效果如图8-2所示:\n\n注意: 当同时监听onTap和onDoubleTap事件时,当用户触发tap事件时,会有200毫秒左右的延时,这是因为当用户点击完之后很可能会再次点击以触发双击事件,所以GestureDetector会等一段时间来确定是否为双击事件。如果用户只监听了onTap(没有监听onDoubleTap)事件时,则没有延时。\n拖动、滑动\n一次完整的手势过程是指用户手指按下到抬起的整个过程,期间,用户按下手指后可能会移动,也可能不会移动。GestureDetector对于拖动和滑动事件是没有区分的,他们本质上是一样的。GestureDetector会将要监听的组件的原点(左上角)作为本次手势的原点,当用户在监听的组件上按下手指时,手势识别就会开始。下面我们看一个拖动圆形字母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运行后,就可以在任意方向拖动了,运行效果如图8-3所示:\n\n日志:\nI/flutter ( 8513): 用户手指按下:Offset(26.3, 101.8)\nI/flutter ( 8513): Velocity(235.5, 125.8)\n代码解释:\n\nDragDownDetails.globalPosition:当用户按下时,此属性为用户按下的位置相对于屏幕(而非父组件)原点(左上角)的偏移。\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运行效果如图8-4所示:\n\n现在在图片上双指张开、收缩就可以放大、缩小图片。本示例比较简单,实际中我们通常还需要一些其它功能,如双击放大或缩小一定倍数、双指张开离开屏幕时执行一个减速放大动画等,读者可以在学习完后面”动画“一章中的内容后自己来尝试实现一下。\n8.2.2 GestureRecognizer\nGestureDetector内部是使用一个或多个GestureRecognizer来识别各种手势的,而GestureRecognizer的作用就是通过Listener来将原始指针事件转换为语义手势,GestureDetector直接可以接收一个子widget。GestureRecognizer是一个抽象类,一种手势的识别器对应一个GestureRecognizer的子类,Flutter实现了丰富的手势识别器,我们可以直接使用。\n示例\n假设我们要给一段富文本(RichText)的不同部分分别添加点击事件处理器,但是TextSpan并不是一个widget,这时我们不能用GestureDetector,但TextSpan有一个recognizer属性,它可以接收一个GestureRecognizer。\n假设我们需要在点击时给文本变色:\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\n注意:使用GestureRecognizer后一定要调用其dispose()方法来释放资源(主要是取消内部的计时器)。\n\n8.2.3 手势竞争与冲突\n竞争\n如果在上例中我们同时监听水平和垂直方向的拖动事件,那么我们斜着拖动时哪个方向会生效?实际上取决于第一次移动时两个轴上的位移分量,哪个轴的大,哪个轴在本次滑动事件竞争中就胜出。实际上Flutter中的手势识别引入了一个Arena的概念,Arena直译为“竞技场”的意思,每一个手势识别器(GestureRecognizer)都是一个“竞争者”(GestureArenaMember),当发生滑动事件时,他们都要在“竞技场”去竞争本次事件的处理权,而最终只有一个“竞争者”会胜出(win)。例如,假设有一个ListView,它的第一个子组件也是ListView,如果现在滑动这个子ListView,父ListView会动吗?答案是否定的,这时只有子ListView会动,因为这时子ListView会胜出而获得滑动事件的处理权。\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":"8.3:全局事件总线","keywords":"","body":"8.3 事件总线\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事件总线通常用于组件之间状态共享,但关于组件之间状态共享也有一些专门的包如redux、以及前面介绍过的Provider。对于一些简单的应用,事件总线是足以满足业务需求的,如果你决定使用状态管理包的话,一定要想清楚您的APP是否真的有必要使用它,防止“化简为繁”、过度设计。\n"},"chapter8/notification.html":{"url":"chapter8/notification.html","title":"8.4:通知(Notification)","keywords":"","body":"8.4 Notification\n通知(Notification)是Flutter中一个重要的机制,在widget树中,每一个节点都可以分发通知,通知会沿着当前节点向上传递,所有父节点都可以通过NotificationListener来监听通知。Flutter中将这种由子向父的传递通知的机制称为通知冒泡(Notification Bubbling)。通知冒泡和用户触摸事件冒泡是相似的,但有一点不同:通知冒泡可以中止,但用户触摸事件不行。\n\n通知冒泡和Web开发中浏览器事件冒泡原理是相似的,都是事件从出发源逐层向上传递,我们可以在上层节点任意位置来监听通知/事件,也可以终止冒泡过程,终止冒泡后,通知将不会再向上传递。\n\nFlutter中很多地方使用了通知,如可滚动组件(Scrollable Widget)滑动时就会分发滚动通知(ScrollNotification),而Scrollbar正是通过监听ScrollNotification来确定滚动条位置的。\n下面是一个监听可滚动组件滚动通知的例子:\nNotificationListener(\n onNotification: (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上例中,我们通过NotificationListener来监听子ListView的滚动通知的,NotificationListener定义如下:\nclass NotificationListener extends StatelessWidget {\n const NotificationListener({\n Key key,\n @required this.child,\n this.onNotification,\n }) : super(key: key);\n ...//省略无关代码 \n}\n\n我们可以看到:\n\nNotificationListener 继承自StatelessWidget类,所以它可以直接嵌套到Widget树中。\n\nNotificationListener 可以指定一个模板参数,该模板参数类型必须是继承自Notification;当显式指定模板参数时,NotificationListener 便只会接收该参数类型的通知。举个例子,如果我们将上例子代码给为:\n//指定监听通知的类型为滚动结束通知(ScrollEndNotification)\nNotificationListener(\n onNotification: (notification){\n //只会在滚动结束时才会触发此回调\n print(notification);\n },\n child: ListView.builder(\n itemCount: 100,\n itemBuilder: (context, index) {\n return ListTile(title: Text(\"$index\"),);\n }\n ),\n);\n\n上面代码运行后便只会在滚动结束时在控制台打印出通知的信息。\n\nonNotification回调为通知处理回调,其函数签名如下:\ntypedef NotificationListenerCallback = bool Function(T notification);\n\n它的返回值类型为布尔值,当返回值为true时,阻止冒泡,其父级Widget将再也收不到该通知;当返回值为false 时继续向上冒泡通知。\n\n\nFlutter的UI框架实现中,除了在可滚动组件在滚动过程中会发出ScrollNotification之外,还有一些其它的通知,如SizeChangedLayoutNotification、KeepAliveNotification 、LayoutChangedNotification等,Flutter正是通过这种通知机制来使父元素可以在一些特定时机来做一些事情。\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 return true;\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运行效果如图8-6所示:\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 print(notification.msg); //打印通知\n return false;\n },\n child: NotificationListener(\n onNotification: (notification) {\n setState(() {\n _msg+=notification.msg+\" \";\n });\n return false; \n },\n child: ...//省略重复代码\n ),\n );\n }\n}\n\n上列中两个NotificationListener进行了嵌套,子NotificationListener的onNotification回调返回了false,表示不阻止冒泡,所以父NotificationListener仍然会受到通知,所以控制台会打印出通知信息;如果将子NotificationListener的onNotification回调的返回值改为true,则父NotificationListener便不会再打印通知了,因为子NotificationListener已经终止通知冒泡了。\n通知冒泡原理\n我们在上面介绍了通知冒泡的现象及使用,现在我们更深入一些,介绍一下Flutter框架中是如何实现通知冒泡的。为了搞清楚这个问题,就必须看一下源码,我们从通知分发的的源头出发,然后再顺腾摸瓜。由于通知是通过Notification的dispatch(context)方法发出的,那我们先看看dispatch(context)方法中做了什么,下面是相关源码:\nvoid dispatch(BuildContext target) {\n target?.visitAncestorElements(visitAncestor);\n}\n\ndispatch(context)中调用了当前context的visitAncestorElements方法,该方法会从当前Element开始向上遍历父级元素;visitAncestorElements有一个遍历回调参数,在遍历过程中对遍历到的父级元素都会执行该回调。遍历的终止条件是:已经遍历到根Element或某个遍历回调返回false。源码中传给visitAncestorElements方法的遍历回调为visitAncestor方法,我们看看visitAncestor方法的实现:\n//遍历回调,会对每一个父级Element执行此回调\nbool visitAncestor(Element element) {\n //判断当前element对应的Widget是否是NotificationListener。\n\n //由于NotificationListener是继承自StatelessWidget,\n //故先判断是否是StatelessElement\n if (element is StatelessElement) {\n //是StatelessElement,则获取element对应的Widget,判断\n //是否是NotificationListener 。\n final StatelessWidget widget = element.widget;\n if (widget is NotificationListener) {\n //是NotificationListener,则调用该NotificationListener的_dispatch方法\n if (widget._dispatch(this, element)) \n return false;\n }\n }\n return true;\n}\n\nvisitAncestor会判断每一个遍历到的父级Widget是否是NotificationListener,如果不是,则返回true继续向上遍历,如果是,则调用NotificationListener的_dispatch方法,我们看看_dispatch方法的源码:\n bool _dispatch(Notification notification, Element element) {\n // 如果通知监听器不为空,并且当前通知类型是该NotificationListener\n // 监听的通知类型,则调用当前NotificationListener的onNotification\n if (onNotification != null && notification is T) {\n final bool result = onNotification(notification);\n // 返回值决定是否继续向上遍历\n return result == true; \n }\n return false;\n }\n\n我们可以看到NotificationListener的onNotification回调最终是在_dispatch方法中执行的,然后会根据返回值来确定是否继续向上冒泡。上面的源码实现其实并不复杂,通过阅读这些源码,一些额外的点读者可以注意一下:\n\nContext上也提供了遍历Element树的方法。\n我们可以通过Element.widget得到element节点对应的widget;我们已经反复讲过Widget和Element的对应关系,读者通过这些源码来加深理解。\n\n总结\nFlutter中通过通知冒泡实现了一套自低向上的消息传递机制,这个和Web开发中浏览器的事件冒泡原理类似,Web开发者可以类比学习。另外我们通过源码了解了Flutter 通知冒泡的流程和原理,便于读者加深理解和学习Flutter的框架设计思想,在此,再次建议读者在平时学习中能多看看源码,定会受益匪浅。\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":"9.1:Flutter动画简介","keywords":"","body":"9.1 Flutter动画简介\n在任何系统的UI框架中,动画实现的原理都是相同的,即:在一段时间内,快速地多次改变UI外观;由于人眼会产生视觉暂留,所以最终看到的就是一个“连续”的动画,这和电影的原理是一样的。我们将UI的一次改变称为一个动画帧,对应一次屏幕刷新,而决定动画流畅度的一个重要指标就是帧率FPS(Frame Per Second),即每秒的动画帧数。很明显,帧率越高则动画就会越流畅!一般情况下,对于人眼来说,动画帧率超过16FPS,就比较流畅了,超过32FPS就会非常的细腻平滑,而超过32FPS,人眼基本上就感受不到差别了。由于动画的每一帧都是要改变UI输出,所以在一个时间段内连续的改变UI输出是比较耗资源的,对设备的软硬件系统要求都较高,所以在UI系统中,动画的平均帧率是重要的性能指标,而在Flutter中,理想情况下是可以实现60FPS的,这和原生应用能达到的帧率是基本是持平的。\nFlutter中动画抽象\n为了方便开发者创建动画,不同的UI系统对动画都进行了一些抽象,比如在Android中可以通过XML来描述一个动画然后设置给View。Flutter中也对动画进行了抽象,主要涉及Animation、Curve、Controller、Tween这四个角色,它们一起配合来完成一个完整动画,下面我们一一来介绍它们。\nAnimation\nAnimation是一个抽象类,它本身和UI渲染没有任何关系,而它主要的功能是保存动画的插值和状态;其中一个比较常用的Animation类是Animation。Animation对象是一个在一段时间内依次生成一个区间(Tween)之间值的类。Animation对象在整个动画执行过程中输出的值可以是线性的、曲线的、一个步进函数或者任何其他曲线函数等等,这由Curve来决定。 根据Animation对象的控制方式,动画可以正向运行(从起始状态开始,到终止状态结束),也可以反向运行,甚至可以在中间切换方向。Animation还可以生成除double之外的其他类型值,如:Animation 或Animation。在动画的每一帧中,我们可以通过Animation对象的value属性获取动画的当前状态值。\n动画通知\n我们可以通过Animation来监听动画每一帧以及执行状态的变化,Animation有如下两个方法:\n\naddListener();它可以用于给Animation添加帧监听器,在每一帧都会被调用。帧监听器中最常见的行为是改变状态后调用setState()来触发UI重建。\naddStatusListener();它可以给Animation添加“动画状态改变”监听器;动画开始、结束、正向或反向(见AnimationStatus定义)时会调用状态改变的监听器。\n\n读者在此只需要知道帧监听器和状态监听器的区别,在后面的章节中我们将会举例说明。\nCurve\n动画过程可以是匀速的、匀加速的或者先加速后减速等。Flutter中通过Curve(曲线)来描述动画过程,我们把匀速动画称为线性的(Curves.linear),而非匀速动画称为非线性的。\n我们可以通过CurvedAnimation来指定动画的曲线,如:\nfinal CurvedAnimation curve =\n new CurvedAnimation(parent: controller, curve: Curves.easeIn);\n\nCurvedAnimation和AnimationController(下面介绍)都是Animation类型。CurvedAnimation可以通过包装AnimationController和Curve生成一个新的动画对象 ,我们正是通过这种方式来将动画和动画执行的曲线关联起来的。我们指定动画的曲线为Curves.easeIn,它表示动画开始时比较慢,结束时比较快。 Curves 类是一个预置的枚举类,定义了许多常用的曲线,下面列几种常用的:\n\n\n\nCurves曲线\n动画过程\n\n\n\n\nlinear\n匀速的\n\n\ndecelerate\n匀减速\n\n\nease\n开始加速,后面减速\n\n\neaseIn\n开始慢,后面快\n\n\neaseOut\n开始快,后面慢\n\n\neaseInOut\n开始慢,然后加速,最后再减速\n\n\n\n除了上面列举的, Curves 类中还定义了许多其它的曲线,在此便不一一介绍,读者可以自行查看Curves类定义。\n当然我们也可以创建自己Curve,例如我们定义一个正弦曲线:\nclass ShakeCurve extends Curve {\n @override\n double transform(double t) {\n return math.sin(t * math.PI * 2);\n }\n}\n\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()方法可以启动正向动画,reverse()可以启动反向动画。在动画开始执行后开始生成动画帧,屏幕没刷新一次就是一个动画帧,在动画的每一帧,会随着根据动画的曲线来生成当前的动画值(Animation.value),然后根据当前的动画值去构建UI,当所有动画帧依次触发时,动画值会依次改变,所以构建的UI也会依次变化,所以最终我们可以看到一个完成的动画。 另外在动画的每一帧,Animation对象会调用其帧监听器,等动画状态发生改变时(如动画结束)会调用状态改变监听器。\nduration表示动画执行的时长,通过它我们可以控制动画的速度。\n\n注意: 在某些情况下,动画值可能会超出AnimationController的[0.0,1.0]的范围,这取决于具体的曲线。例如,fling()函数可以根据我们手指滑动(甩出)的速度(velocity)、力量(force)等来模拟一个手指甩出动画,因此它的动画值可以在[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]。如果我们需要构建UI的动画值在不同的范围或不同的数据类型,则可以使用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中主要定义动画值的映射规则。\n下面我们看一个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":"9.2:动画结构","keywords":"","body":"9.2 动画基本结构及状态监听\n9.2.1 动画基本结构\n在Flutter中我们可以通过多种方式来实现动画,下面通过一个图片逐渐放大示例的不同实现来演示Flutter中动画的不同实现方式的区别。\n基础版本\n下面我们演示一下最基础的动画实现方式:\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(\"imgs/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上面代码执行后截取了其中的两帧,效果如图9-1、9-2所示:\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(\"imgs/avatar.png\",\n width: animation.value,\n height: animation.value\n ),\n );\n }\n}\n\n\nclass ScaleAnimationRoute1 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()将会在父组件上下文中调用,这将会导致父组件的build方法重新调用;而有了builder之后,只会导致动画widget自身的build重新调用,避免不必要的rebuild。\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\n9.2.2 动画状态监听\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":"9.3:自定义路由过渡动画","keywords":"","body":"9.3 自定义路由切换动画\n我们在第二章”路由管理“一节中讲过:Material组件库中提供了一个MaterialPageRoute组件,它可以使用和平台风格一致的路由切换动画,如在iOS上会左右滑动切换,而在Android上会上下滑动切换。现在,我们如果在Android上也想使用左右切换风格,该怎么做?一个简单的作法是可以直接使用CupertinoPageRoute,如:\n Navigator.push(context, CupertinoPageRoute( \n builder: (context)=>PageB(),\n ));\n\nCupertinoPageRoute是Cupertino组件库提供的iOS风格的路由切换组件,它实现的就是左右滑动切换。那么我们如何来自定义路由切换动画呢?答案就是PageRouteBuilder。下面我们来看看如何使用PageRouteBuilder来自定义路由切换动画。例如我们想以渐隐渐入动画来实现路由过渡,实现代码如下:\nNavigator.push(\n context,\n PageRouteBuilder(\n transitionDuration: Duration(milliseconds: 500), //动画时间为500毫秒\n pageBuilder: (BuildContext context, Animation animation,\n Animation secondaryAnimation) {\n return new FadeTransition(\n //使用渐隐渐入过渡,\n opacity: animation,\n child: PageB(), //路由B\n );\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":"9.4:Hero动画","keywords":"","body":"9.4 Hero动画\nHero指的是可以在路由(页面)之间“飞行”的widget,简单来说Hero动画就是在路由切换时,有一个共享的widget可以在新旧路由间切换。由于共享的widget在新旧路由页面上的位置、外观可能有所差异,所以在路由切换时会从旧路逐渐过渡到新路由中的指定位置,这样就会产生一个Hero动画。\n你可能多次看到过 hero 动画。例如,一个路由中显示待售商品的缩略图列表,选择一个条目会将其跳转到一个新路由,新路由中包含该商品的详细信息和“购买”按钮。 在Flutter中将图片从一个路由“飞”到另一个路由称为hero动画,尽管相同的动作有时也称为 共享元素转换。下面我们通过一个示例来体验一下hero 动画。\n\n为什么要将这种可飞行的共享组件称为hero(英雄),有一种说法是说美国文化中的超人是可以飞的,那是美国人心中的大英雄,还有漫威中的超级英雄基本上都是会飞的,所以Flutter开发人员就对这种”会飞的widget\"就起了一个富有浪漫主义的名字hero。当然这种说法并非官方解释,但却很有意思。\n\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: Scaffold(\n appBar: AppBar(\n title: Text(\"原图\"),\n ),\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包装起来,并提供一个相同的tag即可,中间的过渡帧都是Flutter Framework自动完成的。必须要注意, 前后路由页的共享Hero的tag必须是相同的,Flutter Framework内部正是通过tag来确定新旧路由页widget的对应关系的。\nHero动画的原理比较简单,Flutter Framework知道新旧路由页中共享元素的位置和大小,所以根据这两个端点,在动画执行过程中求出过渡时的插值(中间态)即可,而感到幸运的是,这些事情不需要我们自己动手,Flutter已经帮我们做了!\n"},"chapter9/stagger_animation.html":{"url":"chapter9/stagger_animation.html","title":"9.5:交织动画","keywords":"","body":"9.5 交织动画\n有些时候我们可能会需要一些复杂的动画,这些动画可能由一个动画序列或重叠的动画组成,比如:有一个柱状图,需要在高度增长的同时改变颜色,等到增长到最大高度后,我们需要在X轴上平移一段距离。可以发现上述场景在不同阶段包含了多种动画,要实现这种效果,使用交织动画(Stagger Animation)会非常简单。交织动画需要注意以下几点:\n\n要创建交织动画,需要使用多个动画对象(Animation)。\n一个AnimationController控制所有的动画对象。\n给每一个动画对象指定时间间隔(Interval)\n\n所有动画都由同一个AnimationController驱动,无论动画需要持续多长时间,控制器的值必须在0.0到1.0之间,而每个动画的间隔(Interval)也必须介于0.0和1.0之间。对于在间隔中设置动画的每个属性,需要分别创建一个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来为每个动画指定在整个动画过程中的起始点和终点。下面我们来实现启动动画的路由:\nclass StaggerRoute extends StatefulWidget {\n @override\n _StaggerRouteState createState() => _StaggerRouteState();\n}\n\nclass _StaggerRouteState 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执行效果如图,点击图9-3灰色矩形,就可以看到整个动画效果,图9-4是动画执行过程中的一帧。\n\n"},"chapter9/animated_switcher.html":{"url":"chapter9/animated_switcher.html","title":"9.6:通用\"切换动画\"组件(AnimatedSwitcher)","keywords":"","body":"9.6 通用\"切换动画\"组件(AnimatedSwitcher)\n实际开发中,我们经常会遇到切换UI元素的场景,比如Tab切换、路由切换。为了增强用户体验,通常在切换时都会指定一个动画,以使切换过程显得平滑。Flutter SDK组件库中已经提供了一些常用的切换组件,如PageView、TabView等,但是,这些组件并不能覆盖全部的需求场景,为此,Flutter SDK中提供了一个AnimatedSwitcher组件,它定义了一种通用的UI切换抽象。\n9.6.1 AnimatedSwitcher\nAnimatedSwitcher 可以同时对其新、旧子元素添加显示、隐藏动画。也就是说在AnimatedSwitcher的子元素发生变化时,会对其旧元素和新元素,我们先看看AnimatedSwitcher 的定义:\nconst AnimatedSwitcher({\n Key key,\n this.child,\n @required this.duration, // 新child显示动画时长\n this.reverseDuration,// 旧child隐藏的动画时长\n this.switchInCurve = Curves.linear, // 新child显示的动画曲线\n this.switchOutCurve = Curves.linear,// 旧child隐藏的动画曲线\n this.transitionBuilder = AnimatedSwitcher.defaultTransitionBuilder, // 动画构建器\n this.layoutBuilder = AnimatedSwitcher.defaultLayoutBuilder, //布局构建器\n})\n\n当AnimatedSwitcher的child发生变化时(类型或Key不同),旧child会执行隐藏动画,新child会执行执行显示动画。究竟执行何种动画效果则由transitionBuilder参数决定,该参数接受一个AnimatedSwitcherTransitionBuilder类型的builder,定义如下:\ntypedef AnimatedSwitcherTransitionBuilder =\n Widget Function(Widget child, Animation animation);\n\n该builder在AnimatedSwitcher的child切换时会分别对新、旧child绑定动画:\n\n对旧child,绑定的动画会反向执行(reverse)\n对新child,绑定的动画会正向指向(forward)\n\n这样一下,便实现了对新、旧child的动画绑定。AnimatedSwitcher的默认值是AnimatedSwitcher.defaultTransitionBuilder :\nWidget defaultTransitionBuilder(Widget child, Animation animation) {\n return FadeTransition(\n opacity: animation,\n child: child,\n );\n}\n\n可以看到,返回了FadeTransition对象,也就是说默认情况,AnimatedSwitcher会对新旧child执行“渐隐”和“渐显”动画。\n例子\n下面我们看一个列子:实现一个计数器,然后再每一次自增的过程中,旧数字执行缩小动画隐藏,新数字执行放大动画显示,代码如下:\nimport 'package:flutter/material.dart';\n\nclass AnimatedSwitcherCounterRoute extends StatefulWidget {\n const AnimatedSwitcherCounterRoute({Key key}) : super(key: key);\n\n @override\n _AnimatedSwitcherCounterRouteState createState() => _AnimatedSwitcherCounterRouteState();\n }\n\n class _AnimatedSwitcherCounterRouteState extends State {\n int _count = 0;\n\n @override\n Widget build(BuildContext context) {\n return Center(\n child: Column(\n mainAxisAlignment: MainAxisAlignment.center,\n children: [\n AnimatedSwitcher(\n duration: const Duration(milliseconds: 500),\n transitionBuilder: (Widget child, Animation animation) {\n //执行缩放动画\n return ScaleTransition(child: child, scale: animation);\n },\n child: Text(\n '$_count',\n //显示指定key,不同的key会被认为是不同的Text,这样才能执行动画\n key: ValueKey(_count),\n style: Theme.of(context).textTheme.display1,\n ),\n ),\n RaisedButton(\n child: const Text('+1',),\n onPressed: () {\n setState(() {\n _count += 1;\n });\n },\n ),\n ],\n ),\n );\n }\n }\n\n运行示例代码,当点击“+1”按钮时,原先的数字会逐渐缩小直至隐藏,而新数字会逐渐放大,我截取了动画执行过程的一帧,如图9-5所示:\n\n上图是第一次点击“+1”按钮后切换动画的一帧,此时“0”正在逐渐缩小,而“1”正在“0”的中间,正在逐渐放大。\n\n注意:AnimatedSwitcher的新旧child,如果类型相同,则Key必须不相等。\n\n9.6.2 AnimatedSwitcher高级用法\n假设现在我们想实现一个类似路由平移切换的动画:旧页面屏幕中向左侧平移退出,新页面重屏幕右侧平移进入。如果要用AnimatedSwitcher的话,我们很快就会发现一个问题:做不到!我们可能会写出下面的代码:\nAnimatedSwitcher(\n duration: Duration(milliseconds: 200),\n transitionBuilder: (Widget child, Animation animation) {\n var tween=Tween(begin: Offset(1, 0), end: Offset(0, 0))\n return SlideTransition(\n child: child,\n position: tween.animate(animation),\n );\n },\n ...//省略\n)\n\n上面的代码有什么问题呢?我们前面说过在AnimatedSwitcher的child切换时会分别对新child执行正向动画(forward),而对旧child执行反向动画(reverse),所以真正的效果便是:新child确实从屏幕右侧平移进入了,但旧child却会从屏幕右侧(而不是左侧)退出。其实也很容易理解,因为在没有特殊处理的情况下同一个动画的正向和逆向正好是相反(对称)的。\n那么问题来了,难道就不能用AnimatedSwitcher了?答案当时是否定的!仔细想想这个问题,究其原因,就是因为同一个Animation正向(forward)和反向(reverse)是对称的。所以如果我们可以打破这种对称性,那么便可以实现这个功能,下面我们来封装一个MySlideTransition,它和SlideTransition唯一的不同就是对动画的反向执行进行了(从左边滑出隐藏):\nclass MySlideTransition extends AnimatedWidget {\n MySlideTransition({\n Key key,\n @required Animation position,\n this.transformHitTests = true,\n this.child,\n })\n : assert(position != null),\n super(key: key, listenable: position) ;\n\n Animation get position => listenable;\n final bool transformHitTests;\n final Widget child;\n\n @override\n Widget build(BuildContext context) {\n Offset offset=position.value;\n //动画反向执行时,调整x偏移,实现”从左边滑出隐藏“\n if (position.status == AnimationStatus.reverse) {\n offset = Offset(-offset.dx, offset.dy);\n }\n return FractionalTranslation(\n translation: offset,\n transformHitTests: transformHitTests,\n child: child,\n );\n }\n}\n\n调用时,将SlideTransition替换成MySlideTransition即可:\nAnimatedSwitcher(\n duration: Duration(milliseconds: 200),\n transitionBuilder: (Widget child, Animation animation) {\n var tween=Tween(begin: Offset(1, 0), end: Offset(0, 0))\n return MySlideTransition(\n child: child,\n position: tween.animate(animation),\n );\n },\n ...//省略\n)\n\n运行后,我截取动画执行过程中的一帧,如图9-6所示:\n\n上图中“0”从左侧滑出,而\"1\"从右侧滑入。可以看到,我们通过这种巧妙的方式实现了类似路由进场切换的动画,实际上Flutter路由切换也正是通过AnimatedSwitcher来实现的。\nSlideTransitionX\n上面的示例我们实现了”左出右入“的动画,那如果要实现”右入左出“、”上入下出“或者 ”下入上出“怎么办?当然,我们可以分别修改上面的代码,但是这样每种动画都得单独定义一个”Transition“,这很麻烦。本节将分装一个通用的SlideTransitionX 来实现这种”出入滑动动画“,代码如下:\nclass SlideTransitionX extends AnimatedWidget {\n SlideTransitionX({\n Key key,\n @required Animation position,\n this.transformHitTests = true,\n this.direction = AxisDirection.down,\n this.child,\n })\n : assert(position != null),\n super(key: key, listenable: position) {\n // 偏移在内部处理 \n switch (direction) {\n case AxisDirection.up:\n _tween = Tween(begin: Offset(0, 1), end: Offset(0, 0));\n break;\n case AxisDirection.right:\n _tween = Tween(begin: Offset(-1, 0), end: Offset(0, 0));\n break;\n case AxisDirection.down:\n _tween = Tween(begin: Offset(0, -1), end: Offset(0, 0));\n break;\n case AxisDirection.left:\n _tween = Tween(begin: Offset(1, 0), end: Offset(0, 0));\n break;\n }\n }\n\n\n Animation get position => listenable;\n\n final bool transformHitTests;\n\n final Widget child;\n\n //退场(出)方向\n final AxisDirection direction;\n\n Tween _tween;\n\n @override\n Widget build(BuildContext context) {\n Offset offset = _tween.evaluate(position);\n if (position.status == AnimationStatus.reverse) {\n switch (direction) {\n case AxisDirection.up:\n offset = Offset(offset.dx, -offset.dy);\n break;\n case AxisDirection.right:\n offset = Offset(-offset.dx, offset.dy);\n break;\n case AxisDirection.down:\n offset = Offset(offset.dx, -offset.dy);\n break;\n case AxisDirection.left:\n offset = Offset(-offset.dx, offset.dy);\n break;\n }\n }\n return FractionalTranslation(\n translation: offset,\n transformHitTests: transformHitTests,\n child: child,\n );\n }\n}\n\n现在如果我们想实现各种”滑动出入动画\"\"便非常容易,只需给direction传递不同的方向值即可,比如要实现”上入下出“,则:\nAnimatedSwitcher(\n duration: Duration(milliseconds: 200),\n transitionBuilder: (Widget child, Animation animation) {\n var tween=Tween(begin: Offset(1, 0), end: Offset(0, 0))\n return SlideTransitionX(\n child: child,\n direction: AxisDirection.down, //上入下出\n position: animation,\n );\n },\n ...//省略其余代码\n)\n\n运行后,我截取动画执行过程中的一帧,如图9-7所示:\n\n上图中“1”从底部滑出,而\"2\"从顶部滑入。读者可以尝试给SlideTransitionX的direction取不同的值来查看运行效果。\n总结\n本节我们学习了AnimatedSwitcher的详细用法,同时也介绍了打破AnimatedSwitcher动画对称性的方法。我们可以发现:在需要切换新旧UI元素的场景,AnimatedSwitcher将十分实用。\n"},"chapter10/":{"url":"chapter10/","title":"第十章:自定义组件","keywords":"","body":"本章目录\n\n自定义Widget方法简介\n通过组合现有Widget实现\n实例:TurnBox\nCustomPaint与Canvas \n实例:圆形渐变进度条 \n\n"},"chapter10/intro.html":{"url":"chapter10/intro.html","title":"10.1:自定义组件方法简介","keywords":"","body":"10.1 自定义组件方法简介\n当Flutter提供的现有组件无法满足我们的需求,或者我们为了共享代码需要封装一些通用组件,这时我们就需要自定义组件。在Flutter中自定义组件有三种方式:通过组合其它组件、自绘和实现RenderObject。本节我们先分别介绍一下这三种方式的特点,后面章节中则详细介绍它们的细节。\n组合其它Widget\n这种方式是通过拼装其它组件来组合成一个新的组件。例如我们之前介绍的Container就是一个组合组件,它是由DecoratedBox、ConstrainedBox、Transform、Padding、Align等组件组成。\n在Flutter中,组合的思想非常重要,Flutter提供了非常多的基础组件,而我们的界面开发其实就是按照需要组合这些组件来实现各种不同的布局而已。 \n自绘\n如果遇到无法通过现有的组件来实现需要的UI时,我们可以通过自绘组件的方式来实现,例如我们需要一个颜色渐变的圆形进度条,而Flutter提供的CircularProgressIndicator并不支持在显示精确进度时对进度条应用渐变色(其valueColor 属性只支持执行旋转动画时变化Indicator的颜色),这时最好的方法就是通过自定义组件来绘制出我们期望的外观。我们可以通过Flutter中提供的CustomPaint和Canvas来实现UI自绘。\n实现RenderObject\nFlutter提供的自身具有UI外观的组件,如文本Text、Image都是通过相应的RenderObject(我们将在“Flutter核心原理”一章中详细介绍RenderObject)渲染出来的,如Text是由RenderParagraph渲染;而Image是由RenderImage渲染。RenderObject是一个抽象类,它定义了一个抽象方法paint(...):\nvoid paint(PaintingContext context, Offset offset)\n\nPaintingContext代表组件的绘制上下文,通过PaintingContext.canvas可以获得Canvas,而绘制逻辑主要是通过Canvas API来实现。子类需要重写此方法以实现自身的绘制逻辑,如RenderParagraph需要实现文本绘制逻辑,而RenderImage需要实现图片绘制逻辑。\n可以发现,RenderObject中最终也是通过Canvas API来绘制的,那么通过实现RenderObject的方式和上面介绍的通过CustomPaint和Canvas自绘的方式有什么区别?其实答案很简单,CustomPaint只是为了方便开发者封装的一个代理类,它直接继承自SingleChildRenderObjectWidget,通过RenderCustomPaint的paint方法将Canvas和画笔Painter(需要开发者实现,后面章节介绍)连接起来实现了最终的绘制(绘制逻辑在Painter中)。\n总结\n“组合”是自定义组件最简单的方法,在任何需要自定义组件的场景下,我们都应该优先考虑是否能够通过组合来实现。而自绘和通过实现RenderObject的方法本质上是一样的,都需要开发者调用Canvas API手动去绘制UI,优点是强大灵活,理论上可以实现任何外观的UI,而缺点是必须了解Canvas API细节,并且得自己去实现绘制逻辑。\n在本章接下来的小节中,我们将通过一些实例来详细介绍自定义UI的过程,由于后两种方法本质是相同的,并且Flutter中很多基础组件都是通过RenderObject的形式来实现的,所以后续我们只介绍CustomPaint和Canvas的方式,读者如果对自定义RenderObject的方法好奇,可以查看Flutter中相关基础组件对应的RenderObject的实现源码,如RenderParagraph或RenderImage。\n"},"chapter10/combine.html":{"url":"chapter10/combine.html","title":"10.2:组合现有组件","keywords":"","body":"10.2 组合现有组件\n在Flutter中页面UI通常都是由一些低阶别的组件组合而成,当我们需要封装一些通用组件时,应该首先考虑是否可以通过组合其它组件来实现,如果可以,则应优先使用组合,因为直接通过现有组件拼装会非常简单、灵活、高效。\n示例:自定义渐变按钮\nFlutter Material组件库中的按钮默认不支持渐变背景,为了实现渐变背景按钮,我们自定义一个GradientButton组件,它需要支持一下功能:\n\n背景支持渐变色\n手指按下时有涟漪效果\n可以支持圆角\n\n我们先来看看最终要实现的效果(图10-1):\n\n我们DecoratedBox可以支持背景色渐变和圆角,InkWell在手指按下有涟漪效果,所以我们可以通过组合DecoratedBox和InkWell来实现GradientButton,代码如下:\nimport 'package:flutter/material.dart';\n\nclass GradientButton extends StatelessWidget {\n GradientButton({\n this.colors,\n this.width,\n this.height,\n this.onPressed,\n this.borderRadius,\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 final BorderRadius borderRadius;\n\n //点击回调\n final GestureTapCallback onPressed;\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 borderRadius: borderRadius,\n ),\n child: Material(\n type: MaterialType.transparency,\n child: InkWell(\n splashColor: _colors.last,\n highlightColor: Colors.transparent,\n borderRadius: borderRadius,\n onTap: onPressed,\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\n可以看到GradientButton是由DecoratedBox、Padding、Center、InkWell等组件组合而成。当然上面的代码只是一个示例,作为一个按钮它还并不完整,比如没有禁用状态,读者可以根据实际需要来完善。\n使用GradientButton\nimport 'package:flutter/material.dart';\nimport '../widgets/index.dart';\n\nclass GradientButtonRoute extends StatefulWidget {\n @override\n _GradientButtonRouteState createState() => _GradientButtonRouteState();\n}\n\nclass _GradientButtonRouteState extends State {\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 onPressed: onTap,\n ),\n GradientButton(\n height: 50.0,\n colors: [Colors.lightGreen, Colors.green[700]],\n child: Text(\"Submit\"),\n onPressed: onTap,\n ),\n GradientButton(\n height: 50.0,\n colors: [Colors.lightBlue[300], Colors.blueAccent],\n child: Text(\"Submit\"),\n onPressed: onTap,\n ),\n ],\n ),\n );\n }\n onTap() {\n print(\"button click\");\n }\n}\n\n总结\n通过组合的方式定义组件和我们之前写界面并无差异,不过在抽离出单独的组件时我们要考虑代码规范性,如必要参数要用@required 标注,对于可选参数在特定场景需要判空或设置默认值等。这是由于使用者大多时候可能不了解组件的内部细节,所以为了保证代码健壮性,我们需要在用户错误地使用组件时能够兼容或报错提示(使用assert断言函数)。\n"},"chapter10/turn_box.html":{"url":"chapter10/turn_box.html","title":"10.3:组合实例:TurnBox","keywords":"","body":"10.3 组合实例: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上面代码中:\n\n我们是通过组合RotationTransition和child来实现的旋转效果。\n在didUpdateWidget中,我们判断要旋转的角度是否发生了变化,如果变了,则执行一个过渡动画。\n\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测试代码运行后效果如图10-2所示:\n\n当我们点击旋转按钮时,两个图标的旋转都会旋转1/5圈,但旋转的速度是不同的,读者可以自己运行一下示例看看效果。\n实际上本示例只组合了RotationTransition一个组件,它是一个最简的组合类组件示例。另外,如果我们封装的是StatefulWidget,那么一定要注意在组件更新时是否需要同步状态。比如我们要封装一个富文本展示组件MyRichText ,它可以自动处理url链接,定义如下:\nclass MyRichText extends StatefulWidget {\n MyRichText({\n Key key,\n this.text, // 文本字符串\n this.linkStyle, // url链接样式\n }) : super(key: key);\n\n final String text;\n final TextStyle linkStyle;\n\n @override\n _MyRichTextState createState() => _MyRichTextState();\n}\n\n接下来我们在_MyRichTextState中要实现的功能有两个:\n\n解析文本字符串“text”,生成TextSpan缓存起来;\n在build中返回最终的富文本样式;\n\n_MyRichTextState 实现的代码大致如下:\nclass _MyRichTextState extends State {\n\n TextSpan _textSpan;\n\n @override\n Widget build(BuildContext context) {\n return RichText(\n text: _textSpan,\n );\n }\n\n TextSpan parseText(String text) {\n // 耗时操作:解析文本字符串,构建出TextSpan。\n // 省略具体实现。\n }\n\n @override\n void initState() {\n _textSpan = parseText(widget.text)\n super.initState();\n }\n}\n\n由于解析文本字符串,构建出TextSpan是一个耗时操作,为了不在每次build的时候都解析一次,所以我们在initState中对解析的结果进行了缓存,然后再build中直接使用解析的结果_textSpan。这看起来很不错,但是上面的代码有一个严重的问题,就是父组件传入的text发生变化时(组件树结构不变),那么MyRichText显示的内容不会更新,原因就是initState只会在State创建时被调用,所以在text发生变化时,parseText没有重新执行,导致_textSpan任然是旧的解析值。要解决这个问题也很简单,我们只需添加一个didUpdateWidget回调,然后再里面重新调用parseText即可:\n@override\nvoid didUpdateWidget(MyRichText oldWidget) {\n if (widget.text != oldWidget.text) {\n _textSpan = parseText(widget.text);\n }\n super.didUpdateWidget(oldWidget);\n}\n\n有些读者可能会觉得这个点也很简单,是的,的确很简单,之所以要在这里反复强调是因为这个点在实际开发中很容易被忽略,它虽然简单,但却很重要。总之,当我们在State中会缓存某些依赖Widget参数的数据时,一定要注意在组件更新时是否需要同步状态。\n"},"chapter10/custom_paint.html":{"url":"chapter10/custom_paint.html","title":"10.4:自绘组件(CustomPaint与Canvas)","keywords":"","body":"10.4 自绘组件 (CustomPaint与Canvas)\n对于一些复杂或不规则的UI,我们可能无法通过组合其它组件的方式来实现,比如我们需要一个正六边形、一个渐变的圆形进度条、一个棋盘等。当然,有时候我们可以使用图片来实现,但在一些需要动态交互的场景静态图片也是实现不了的,比如要实现一个手写输入面板,这时,我们就需要来自己绘制UI外观。\n几乎所有的UI系统都会提供一个自绘UI的接口,这个接口通常会提供一块2D画布Canvas,Canvas内部封装了一些基本绘制的API,开发者可以通过Canvas绘制各种自定义图形。在Flutter中,提供了一个CustomPaint 组件,它可以结合画笔CustomPainter来实现自定义图形绘制。\nCustomPaint\n我们看看CustomPaint构造函数:\nCustomPaint({\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组件中,这样会在绘制时就会创建一个新的绘制层(Layer),其子组件将在新的Layer上绘制,而父组件将在原来Layer上绘制,也就是说RepaintBoundary 子组件的绘制将独立于父组件的绘制,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的过程,首先我们看一下我们的目标效果,如图10-3所示:\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绘制尽可能多的分层;在上面五子棋的示例中,我们将棋盘和棋子的绘制放在了一起,这样会有一个问题:由于棋盘始终是不变的,用户每次落子时变的只是棋子,但是如果按照上面的代码来实现,每次绘制棋子时都要重新绘制一次棋盘,这是没必要的。优化的方法就是将棋盘单独抽为一个组件,并设置其shouldRepaint回调值为false,然后将棋盘组件作为背景。然后将棋子的绘制放到另一个组件中,这样每次落子时只需要绘制棋子。\n\n\n总结\n自绘控件非常强大,理论上可以实现任何2D图形外观,实际上Flutter提供的所有组件最终都是通过调用Canvas绘制出来的,只不过绘制的逻辑被封装起来了,读者有兴趣可以查看具有外观样式的组件源码,找到其对应的RenderObject对象,如Text对应的RenderParagraph对象最终会通过Canvas实现文本绘制逻辑。下一节我们会再通过一个自绘的圆形背景渐变进度条的实例来帮助读者加深印象。\n"},"chapter10/gradient_circular_progress_demo.html":{"url":"chapter10/gradient_circular_progress_demo.html","title":"10.5:自绘实例:圆形渐变进度条(自绘)","keywords":"","body":"10.5 自绘实例:圆形背景渐变进度条\n本节我们实现一个圆形背景渐变进度条,它支持:\n\n支持多种背景渐变色。\n任意弧度;进度条可以不是整圆。\n可以自定义粗细、两端是否圆角等样式。\n\n可以发现要实现这样的一个进度条是无法通过现有组件组合而成的,所以我们通过自绘方式实现,代码如下:\nimport 'dart:math';\nimport 'package:flutter/material.dart';\n\nclass GradientCircularProgressIndicator extends StatelessWidget {\n GradientCircularProgressIndicator({\n this.strokeWidth = 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 strokeWidth;\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(strokeWidth / (radius * 2 - strokeWidth));\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 strokeWidth: strokeWidth,\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.strokeWidth: 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 strokeWidth;\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 = strokeWidth / 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(strokeWidth/ (size.width - strokeWidth));\n }\n\n Rect rect = Offset(_offset, _offset) & Size(\n size.width - strokeWidth,\n size.height - strokeWidth\n );\n\n var paint = Paint()\n ..strokeCap = strokeCapRound ? StrokeCap.round : StrokeCap.butt\n ..style = PaintingStyle.stroke\n ..isAntiAlias = true\n ..strokeWidth = strokeWidth;\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 strokeWidth: 3.0,\n value: _animationController.value,\n ),\n GradientCircularProgressIndicator(\n colors: [Colors.red, Colors.orange],\n radius: 50.0,\n strokeWidth: 3.0,\n value: _animationController.value,\n ),\n GradientCircularProgressIndicator(\n colors: [Colors.red, Colors.orange, Colors.red],\n radius: 50.0,\n strokeWidth: 5.0,\n value: _animationController.value,\n ),\n GradientCircularProgressIndicator(\n colors: [Colors.teal, Colors.cyan],\n radius: 50.0,\n strokeWidth: 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 strokeWidth: 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 strokeWidth: 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 strokeWidth: 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 strokeWidth: 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 strokeWidth: 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 strokeWidth: 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 strokeWidth: 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怎么样,很炫酷吧!GradientCircularProgressIndicator已经被添加进了笔者维护的flukit组件库中了,读者如果有需要,可以直接依赖flukit包。\n"},"chapter11/":{"url":"chapter11/","title":"第十一章:文件操作与网络请求","keywords":"","body":"本章目录\n\n文件操作\nHttp请求-HttpClient\nHttp请求-Dio package \n实例:Http分块下载 \nWebSocket \n使用Socket API \nJson转Model \n\n"},"chapter11/file_operation.html":{"url":"chapter11/file_operation.html","title":"11.1:文件操作","keywords":"","body":"11.1 文件操作\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"},"chapter11/http.html":{"url":"chapter11/http.html","title":"11.2:Http请求-HttpClient","keywords":"","body":"11.2 通过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的例子,示例效果如图11-1所示:\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"},"chapter11/dio.html":{"url":"chapter11/dio.html","title":"11.3:Http请求-Dio package","keywords":"","body":"11.3 Http请求-Dio http库\n通过上一节介绍,我们可以发现直接使用HttpClient发起网络请求是比较麻烦的,很多事情得我们手动处理,如果再涉及到文件上传/下载、Cookie管理等就会非常繁琐。幸运的是,Dart社区有一些第三方http请求库,用它们来发起http请求将会简单的多,本节我们介绍一下目前人气较高的dio库。\n\n dio是一个强大的Dart Http请求库,支持Restful API、FormData、拦截器、请求取消、Cookie管理、文件上传/下载、超时等。dio的使用方式随着其版本升级可能会发生变化,如果本节所述内容和dio官方有差异,请以dio官方文档为准。\n\n引入\n引入dio:\ndependencies:\n dio: ^x.x.x #请使用pub上的最新版本\n\n导入并创建dio实例:\nimport 'package:dio/dio.dart';\nDio dio = 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\",queryParameters:{\"id\":12,\"name\":\"wendu\"})\nprint(response);\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.httpClientAdapter as DefaultHttpClientAdapter).onHttpClientCreate = (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 。 下一节我们将使用dio实现一个分块下载器。\n实例\n我们通过Github开放的API来请求flutterchina组织下的所有公开的开源项目,实现:\n\n在请求阶段弹出loading\n请求结束后,如果请求失败,则展示错误信息;如果成功,则将项目名称列表展示出来。\n\n代码如下:\nclass _FutureBuilderRouteState extends State {\n Dio _dio = new Dio();\n\n @override\n Widget build(BuildContext context) {\n\n return new Container(\n alignment: Alignment.center,\n child: FutureBuilder(\n future: _dio.get(\"https://api.github.com/orgs/flutterchina/repos\"),\n builder: (BuildContext context, AsyncSnapshot snapshot) {\n //请求完成\n if (snapshot.connectionState == ConnectionState.done) {\n Response response = snapshot.data;\n //发生错误\n if (snapshot.hasError) {\n return Text(snapshot.error.toString());\n }\n //请求成功,通过项目信息构建用于显示项目名称的ListView\n return ListView(\n children: response.data.map((e) =>\n ListTile(title: Text(e[\"full_name\"]))\n ).toList(),\n );\n }\n //请求未完成时弹出loading\n return CircularProgressIndicator();\n }\n ),\n );\n }\n}\n\n"},"chapter11/download_with_chunks.html":{"url":"chapter11/download_with_chunks.html","title":"11.4:实例:Http分块下载","keywords":"","body":"11.4 实例:Http分块下载\n本节将通过一个“Http分块下载”的示例演示一下dio的具体用法。\n原理\nHttp协议定义了分块传输的响应header字段,但具体是否支持取决于Server的实现,我们可以指定请求头的\"range\"字段来验证服务器是否支持分块传输。例如,我们可以利用curl命令来验证:\nbogon:~ duwen$ curl -H \"Range: bytes=0-10\" http://download.dcloud.net.cn/HBuilder.9.0.2.macosx_64.dmg -v\n# 请求头\n> GET /HBuilder.9.0.2.macosx_64.dmg HTTP/1.1\n> Host: download.dcloud.net.cn\n> User-Agent: curl/7.54.0\n> Accept: */*\n> Range: bytes=0-10\n# 响应头\n\n我们在请求头中添加\"Range: bytes=0-10\"的作用是,告诉服务器本次请求我们只想获取文件0-10(包括10,共11字节)这块内容。如果服务器支持分块传输,则响应状态码为206,表示“部分内容”,并且同时响应头中包含”Content-Range“字段,如果不支持则不会包含。我们看看上面\"Content-Range\"的内容:\nContent-Range: bytes 0-10/233295878\n0-10表示本次返回的区块,233295878代表文件的总长度,单位都是byte, 也就是该文件大概233M多一点。\n基于此,我们可以设计一个简单的多线程的文件分块下载器,实现的思路是:\n\n先检测是否支持分块传输,如果不支持,则直接下载;若支持,则将剩余内容分块下载。\n各个分块下载时保存到各自临时文件,等到所有分块下载完后合并临时文件。\n删除临时文件。\n\n实现\n下面是整体的流程:\n// 通过第一个分块请求检测服务器是否支持分块传输 \nResponse response = await downloadChunk(url, 0, firstChunkSize, 0);\nif (response.statusCode == 206) { //如果支持\n //解析文件总长度,进而算出剩余长度\n total = int.parse(\n response.headers.value(HttpHeaders.contentRangeHeader).split(\"/\").last);\n int reserved = total -\n int.parse(response.headers.value(HttpHeaders.contentLengthHeader));\n //文件的总块数(包括第一块)\n int chunk = (reserved / firstChunkSize).ceil() + 1;\n if (chunk > 1) {\n int chunkSize = firstChunkSize;\n if (chunk > maxChunk + 1) {\n chunk = maxChunk + 1;\n chunkSize = (reserved / maxChunk).ceil();\n }\n var futures = [];\n for (int i = 0; i \n下面我们使用dio的download API 实现downloadChunk:\n//start 代表当前块的起始位置,end代表结束位置\n//no 代表当前是第几块\nFuture downloadChunk(url, start, end, no) async {\n progress.add(0); //progress记录每一块已接收数据的长度\n --end;\n return dio.download(\n url,\n savePath + \"temp$no\", //临时文件按照块的序号命名,方便最后合并\n onReceiveProgress: createCallback(no), // 创建进度回调,后面实现\n options: Options(\n headers: {\"range\": \"bytes=$start-$end\"}, //指定请求的内容区间\n ),\n );\n}\n\n接下来实现mergeTempFiles:\nFuture mergeTempFiles(chunk) async {\n File f = File(savePath + \"temp0\");\n IOSink ioSink= f.openWrite(mode: FileMode.writeOnlyAppend);\n //合并临时文件 \n for (int i = 1; i \n下面我们看一下完整实现:\n/// Downloading by spiting as file in chunks\nFuture downloadWithChunks(\n url,\n savePath, {\n ProgressCallback onReceiveProgress,\n}) async {\n const firstChunkSize = 102;\n const maxChunk = 3;\n\n int total = 0;\n var dio = Dio();\n var progress = [];\n\n createCallback(no) {\n return (int received, _) {\n progress[no] = received;\n if (onReceiveProgress != null && total != 0) {\n onReceiveProgress(progress.reduce((a, b) => a + b), total);\n }\n };\n }\n\n Future downloadChunk(url, start, end, no) async {\n progress.add(0);\n --end;\n return dio.download(\n url,\n savePath + \"temp$no\",\n onReceiveProgress: createCallback(no),\n options: Options(\n headers: {\"range\": \"bytes=$start-$end\"},\n ),\n );\n }\n\n Future mergeTempFiles(chunk) async {\n File f = File(savePath + \"temp0\");\n IOSink ioSink= f.openWrite(mode: FileMode.writeOnlyAppend);\n for (int i = 1; i 1) {\n int chunkSize = firstChunkSize;\n if (chunk > maxChunk + 1) {\n chunk = maxChunk + 1;\n chunkSize = (reserved / maxChunk).ceil();\n }\n var futures = [];\n for (int i = 0; i \n现在可以进行分块下载了:\nmain() async {\n var url = \"http://download.dcloud.net.cn/HBuilder.9.0.2.macosx_64.dmg\";\n var savePath = \"./example/HBuilder.9.0.2.macosx_64.dmg\";\n await downloadWithChunks(url, savePath, onReceiveProgress: (received, total) {\n if (total != -1) {\n print(\"${(received / total * 100).floor()}%\");\n }\n });\n}\n\n思考\n\n分块下载真的能提高下载速度吗?\n其实下载速度的主要瓶颈是取决于网络速度和服务器的出口速度,如果是同一个数据源,分块下载的意义并不大,因为服务器是同一个,出口速度确定的,主要取决于网速,而上面的例子正式同源分块下载,读者可以自己对比一下分块和不分块的的下载速度。如果有多个下载源,并且每个下载源的出口带宽都是有限制的,这时分块下载可能会更快一下,之所以说“可能”,是由于这并不是一定的,比如有三个源,三个源的出口带宽都为1G/s,而我们设备所连网络的峰值假设只有800M/s,那么瓶颈就在我们的网络。即使我们设备的带宽大于任意一个源,下载速度依然不一定就比单源单线下载快,试想一下,假设有两个源A和B,速度A源是B源的3倍,如果采用分块下载,两个源各下载一半的话,读者可以算一下所需的下载时间,然后再算一下只从A源下载所需的时间,看看哪个更快。\n分块下载的最终速度受设备所在网络带宽、源出口速度、每个块大小、以及分块的数量等诸多因素影响,实际过程中很难保证速度最优。在实际开发中,读者可可以先测试对比后再决定是否使用。\n\n分块下载有什么实际的用处吗?\n分块下载还有一个比较使用的场景是断点续传,可以将文件分为若干个块,然后维护一个下载状态文件用以记录每一个块的状态,这样即使在网络中断后,也可以恢复中断前的状态,具体实现读者可以自己尝试一下,还是有一些细节需要特别注意的,比如分块大小多少合适?下载到一半的块如何处理?要不要维护一个任务队列?\n\n\n"},"chapter11/websocket.html":{"url":"chapter11/websocket.html","title":"11.5: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服务器的工具。该package提供了一个WebSocketChannel允许我们既可以监听来自服务器的消息,又可以将消息发送到服务器的方法。\n在Flutter中,我们可以创建一个WebSocketChannel连接到一台服务器:\nfinal channel = IOWebSocketChannel.connect('ws://echo.websocket.org');\n\n2. 监听来自服务器的消息\n现在我们建立了连接,我们可以监听来自服务器的消息,在我们发送消息给测试服务器之后,它会返回相同的消息。\n我们如何收取消息并显示它们?在这个例子中,我们将使用一个StreamBuilder 来监听新消息, 并用一个Text来显示它们。\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 。该Stream类是dart:async包中的一个基础类。它提供了一种方法来监听来自数据源的异步事件。与Future返回单个异步响应不同,Stream类可以随着时间推移传递很多事件。该StreamBuilder 组件将连接到一个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"},"chapter11/socket.html":{"url":"chapter11/socket.html","title":"11.6:使用Socket API","keywords":"","body":"11.6 使用Socket API\n我们之前介绍的Http协议和WebSocket协议都属于应用层协议,除了它们,应用层协议还有很多如:SMTP、FTP等,这些应用层协议的实现都是通过Socket API来实现的。其实,操作系统中提供的原生网络请求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,运行后效果如图11-2所示:\n\n可以看到响应内容分两个部分,第一部分是响应头,第二部分是响应体,服务端可以根据请求信息动态来输出响应体。由于本示例请求头比较简单,所以响应体和浏览器中访问的会有差别,读者可以补充一些请求头(如user-agent)来看看输出的变化。\n"},"chapter11/json_model.html":{"url":"chapter11/json_model.html","title":"11.7:Json转Dart Model类","keywords":"","body":"11.7 Json转Dart 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第一次创建类时,您会看到与图11-4类似的错误。\n\n这些错误是完全正常的,这是因为Model类的生成代码还不存在。为了解决这个问题,我们必须运行代码生成器来为我们生成序列化模板。有两种运行代码生成器的方法:\n一次性生成\n通过在我们的项目根目录下运行:\nflutter packages pub run build_runner build\n\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”。\nJson_model 包\n如果每个项目都要构建一个上面这样的脚本显然很麻烦,为此,我们将上面脚本和生成模板封装了一个包,已经发布到了Pub上,包名为Json_model,开发者把该包加入开发依赖后,便可以用一条命令,根据Json文件生成Dart类。另外Json_model 处于迭代中,功能会逐渐完善,所以建议读者直接使用该包(而不是手动复制上面的代码)。\n使用IDE插件生成model\n目前Android Studio(或IntelliJ)有几个插件,可以将json文件转成Model类,但插件质量参差不齐,甚至还有一些沾染上了抄袭风波,故笔者在此不做优先推荐,读者有兴趣可以自行了解。但是,我们还是要了解一下IDE插件和Json_model的优劣:\n\nJson_model需要单独维护一个存放Json文件的文件夹,如果有改动,只需修改Json文件便可重新生成Model类;而IDE插件一般需要用户手动将Json内容拷贝复制到一个输入框中,这样生成之后Json文件没有存档的化,之后要改动就需要手动。\nJson_model可以手动指定某个字段引用的其它Model类,可以避免生成重复的类;而IDE插件一般会为每一个Json文件中所有嵌套对象都单独生成一个Model类,即使这些嵌套对象可能在其它Model类中已经生成过。\nJson_model 提供了命令行转化方式,可以方便集成到CI等非UI环境的场景。\n\nFAQ\n很多人可能会问Flutter中有没有像Java开发中的Gson/Jackson一样的Json序列化类库?答案是没有!因为这样的库需要使用运行时反射,这在Flutter中是禁用的。运行时反射会干扰Dart的tree shaking,使用tree shaking,可以在release版中“去除”未使用的代码,这可以显著优化应用程序的大小。由于反射会默认应用到所有代码,因此tree shaking会很难工作,因为在启用反射时很难知道哪些代码未被使用,因此冗余代码很难剥离,所以Flutter中禁用了Dart的反射功能,而正因如此也就无法实现动态转化Model的功能。\n"},"chapter12/":{"url":"chapter12/","title":"第十二章:包与插件","keywords":"","body":"包与插件\n\n开发package\n插件开发:平台通道简介\n插件开发:实现Android端API\n插件开发:实现IOS端API\n\n"},"chapter12/develop_package.html":{"url":"chapter12/develop_package.html","title":"12.1:开发package","keywords":"","body":"12.1 开发Package\n第二章中已经讲过如何使用Package(包),我们知道通过package可以创建共享的模块化代码,本节将重点讲一下如何开发并发布我们自己的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 Package。\n第一步:创建Dart包\n您可以通过Android Studio:File>New>New Flutter Project 来创建一个Package工程,如图12-1所示:\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为例,它的目录结构如图12-2所示:\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"},"chapter12/platform-channel.html":{"url":"chapter12/platform-channel.html","title":"12.2:平台通道简介","keywords":"","body":"12.2 插件开发:平台通道简介\n“平台特定”或“特定平台”中的平台指的就是Flutter应用程序运行的平台,如Android或IOS。我们知道一个完整的Flutter应用程序实际上包括原生代码和Flutter代码两部分。由于Flutter本身只是一个UI系统,它本身是无法提供一些系统能力,比如使用蓝牙、相机、GPS等,因此要在Flutter APP中调用这些能力就必须和原生平台进行通信。为此,Flutter中提供了一个平台通道(platform channel),用于Flutter和原生平台的通信。平台通道正是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, 如果不足32位\njava.lang.Long\nNSNumber numberWithLong:\n\n\nint, 如果不足64位\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自定义编解码器\n除了上面提到的MethodChannel,还可以使用BasicMessageChannel,它支持使用自定义消息编解码器进行基本的异步消息传递。 此外,可以使用专门的BinaryCodec、StringCodec和 JSONMessageCodec类,或创建自己的编解码器。\n如何获取平台信息\nFlutter 中提供了一个全局变量defaultTargetPlatform来获取当前应用的平台信息,defaultTargetPlatform定义在\"platform.dart\"中,它的类型是TargetPlatform,这是一个枚举类,定义如下:\nenum TargetPlatform {\n android,\n fuchsia,\n iOS,\n}\n\n可以看到目前Flutter只支持这三个平台。我们可以通过如下代码判断平台:\nif(defaultTargetPlatform==TargetPlatform.android){\n // 是安卓系统,do something\n ...\n}\n...\n\n由于不同平台有它们各自的交互规范,Flutter Material库中的一些组件都针对相应的平台做了一些适配,比如路由组件MaterialPageRoute,它在android和ios中会应用各自平台规范的切换动画。那如果我们想让我们的APP在所有平台都表现一致,比如希望在所有平台路由切换动画都按照ios平台一致的左右滑动切换风格该怎么做?Flutter中提供了一种覆盖默认平台的机制,我们可以通过显式指定debugDefaultTargetPlatformOverride全局变量的值来指定应用平台。比如:\ndebugDefaultTargetPlatformOverride=TargetPlatform.iOS;\nprint(defaultTargetPlatform); // 会输出TargetPlatform.iOS\n\n上面代码即在Android中运行后,Flutter APP就会认为是当前系统是iOS,Material组件库中所有组件交互方式都会和iOS平台对齐,defaultTargetPlatform的值也会变为TargetPlatform.iOS。\n"},"chapter12/develop_plugin.html":{"url":"chapter12/develop_plugin.html","title":"12.3:开发Flutter插件","keywords":"","body":"12.3 开发Flutter插件\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至此Flutter部分的测试代码写好了,接下来我们需要实现Android和iOS平台下的API,由于平台API实现部分篇幅较大,我们将在接下来的两节中,分别介绍Android和iOS端API的实现。\n"},"chapter12/android_implement.html":{"url":"chapter12/android_implement.html","title":"12.4:插件开发:实现Android端API","keywords":"","body":"12.4 插件开发: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"},"chapter12/ios_implement.html":{"url":"chapter12/ios_implement.html","title":"12.5:插件开发:实现IOS端API","keywords":"","body":"12.5 插件开发: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"},"chapter13/":{"url":"chapter13/","title":"第十三章:国际化","keywords":"","body":"本章目录\n\n让App支持多语言\n实现Localizations \n使用Intl包 \n\n"},"chapter13/multi_languages_support.html":{"url":"chapter13/multi_languages_support.html","title":"13.1:让App支持多语言","keywords":"","body":"13.1 让App支持多语言\n如果我们的应用要支持多种语言,那么我们需要“国际化”它。这意味着我们在开发时需要为应用程序支持的每种语言环境设置“本地化”的一些值,如文本和布局。Flutter SDK已经提供了一些组件和类来帮助我们实现国际化,下面我们来介绍一下Flutter中实现国际化的步骤。\n接下来我们以MaterialApp类为入口的应用来说明如何支持国际化。\n\n大多数应用程序都是通过MaterialApp为入口,但根据低级别的WidgetsApp类为入口编写的应用程序也可以使用相同的类和逻辑进行国际化。MaterialApp实际上也是WidgetsApp的一个包装。\n\n注意,”本地化的值和资源“是指我们针对不同语言准备的不同资源,这些资源一般是指文案(字符串),当然也会有一些其他的资源会根据不同语言地区而不同,比如我们需要显示一个APP上架地的国旗图片,那么不同Locale区域我们就需要提供不同的的国旗图片。\n支持国际化\n默认情况下,Flutter SDK中的组件仅提供美国英语本地化资源(主要是文本)。要添加对其他语言的支持,应用程序须添加一个名为“flutter_localizations”的包依赖,然后还需要在MaterialApp中进行一些配置。 要使用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 组件支持多语言。 GlobalWidgetsLocalizations.delegate定义组件默认的文本方向,从左到右或从右到左,这是因为有些语言的阅读习惯并不是从左到右,比如如阿拉伯语就是从右向左的。\nsupportedLocales也接收一个Locale数组,表示我们的应用支持的语言列表,在本例中我们的应用只支持美国英语和中文简体两种语言。\n获取当前区域Locale\nLocale类是用来标识用户的语言环境的,它包括语言和国家两个标志如:\nconst Locale('zh', 'CN') // 中文简体\n\n我们始终可以通过以下方式来获取应用的当前区域Locale:\nLocale myLocale = Localizations.localeOf(context);\n\nLocalizations 组件一般位于widget树中其它业务组件的顶部,它的作用是定义区域Locale以及设置子树依赖的本地化资源。 如果系统的语言环境发生变化,WidgetsApp将创建一个新的Localizations 组件并重建它,这样子树中通过Localizations.localeOf(context) 获取的Locale就会更新。\n监听系统语言切换\n当我们更改系统语言设置时,APP中的Localizations组件会重新构建,Localizations.localeOf(context) 获取的Locale就会更新,最终界面会重新build达到切换语言的效果。但是这个过程是隐式完成的,我们并没有主动去监听系统语言切换,但是有时我们需要在系统语言发生改变时做一些事,比如系统语言切换为一种我们APP不支持的语言时,我们需要设置一个默认的语言,这时我们就需要监听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也依然是美国英语。如果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,如果某一种语言加载成功则会停止。图13-1是Android系统中设置语言列表的截图:\n\n在Flutter中,应该优先使用localeListResolutionCallback,当然你不必担心Android系统的差异性,如果在低版本的Android系统中,Flutter会自动处理这种情况,这时Locale列表只会包含一项。\nLocalization 组件\nLocalizations组件用于加载和查找应用当前语言下的本地化值或资源。应用程序通过Localizations.of(context,type)来引用这些对象。 如果设备的Locale区域设置发生更改,则Localizations 组件会自动加载新区域的Locale值,然后重新build使用(依赖)了它们的组件,之所以会这样,是因为Localizations内部使用了InheritedWidget ,我们在介绍该组件时讲过:当子组件的build函数引用了InheritedWidget时,会创建对InheritedWidget的隐式依赖关系。因此,当InheritedWidget发生更改时,即Localizations的Locale设置发生更改时,将重建所有依赖它的子组件。\n本地化值由Localizations的 LocalizationsDelegates 列表加载 。 每个委托必须定义一个异步load() 方法,以生成封装了一系列本地化值的对象。通常这些对象为每个本地化值定义一个方法。\n在大型应用程序中,不同模块或Package可能会与自己的本地化值捆绑在一起。 这就是为什么要用Localizations 管理对象表的原因。 要使用由LocalizationsDelegate的load方法之一产生的对象,可以指定一个BuildContext和对象的类型来找到它。例如,Material 组件库的本地化字符串由MaterialLocalizations类定义,此类的实例由MaterialApp类提供的LocalizationDelegate创建, 它们可以如下方式获取到:\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 包包含GlobalMaterialLocalizations和GlobalWidgetsLocalizations的本地化接口的多语言实现, 国际化的应用程序必须按照本节开头说明的那样为这些类指定本地化Delegate。\n上述的GlobalMaterialLocalizations和GlobalWidgetsLocalizations只是Material组件库的本地化实现,如果我们要让自己的布局支持多语言,那么就需要实现在即的Localizations,我们将在下一节介绍其具体的实现方式。\n"},"chapter13/locallization_implement.html":{"url":"chapter13/locallization_implement.html","title":"13.2:实现Localizations","keywords":"","body":"13.2 实现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组件重新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"},"chapter13/intl.html":{"url":"chapter13/intl.html","title":"13.3:使用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"},"chapter13/faq.html":{"url":"chapter13/faq.html","title":"13.4:国际化常见问题","keywords":"","body":"13.4 国际化常见问题\n本节主要解答一下在国际化中常见的问题。\n默认语言区域不对\n在一些非大陆行货渠道买的一些Android和iOS设备,会出现默认的Locale不是中文简体的情况。这属于正常现象,但是为了防止设备获取的Locale与实际的地区不一致,所有的支持多语言的APP都必须提供一个手动选择语言的入口。\n如何对应用标题进行国际化\nMaterialApp有一个title属性,用于指定APP的标题。在Android系统中,APP的标题会出现在任务管理器中。所以也需要对title进行国际化。但是问题是很多国际化的配置都是在MaterialApp上设置的,我们无法在构建MaterialApp时通过Localizations.of来获取本地化资源,如:\nMaterialApp(\n title: DemoLocalizations.of(context).title, //不能正常工作!\n localizationsDelegates: [\n // 本地化的代理类\n GlobalMaterialLocalizations.delegate,\n GlobalWidgetsLocalizations.delegate,\n DemoLocalizationsDelegate() // 设置Delegate\n ],\n);\n\n上面代码运行后,DemoLocalizations.of(context).title 是会报错的,原因是Localizations.of会从当前的context沿着widget树向顶部查找DemoLocalizations,但是我们在MaterialApp中设置完DemoLocalizationsDelegate后,实际上DemoLocalizations是在当前context的子树中的,所以DemoLocalizations.of(context)会返回null,报错。那么我们该如何处理这种情况呢?其实很简单,我们只需要设置一个onGenerateTitle回调即可:\nMaterialApp(\n onGenerateTitle: (context){\n // 此时context在Localizations的子树中\n return DemoLocalizations.of(context).title;\n },\n localizationsDelegates: [\n DemoLocalizationsDelegate(),\n ...\n ],\n);\n\n如何为英语系的国家指定同一个locale\n英语系的国家非常多,如美国、英国、澳大利亚等,这些英语系国家虽然说的都是英语,但也会有一些区别。如果我们的APP只想提供一种英语(如美国英语)供所有英语系国家使用,我们可以在前面介绍的localeListResolutionCallback中来做兼容:\nlocaleListResolutionCallback:\n (List locales, Iterable supportedLocales) {\n // 判断当前locale是否为英语系国家,如果是直接返回Locale('en', 'US') \n}\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":"14.1:Flutter UI系统","keywords":"","body":"14.1 Flutter UI系统\n在本书的前面章节中,我们多次提到\"UI系统\"这个概念,本书中所指的UI系统特指:基于一个平台,在此平台上实现GUI的一个系统,这里的平台特指操作系统,如Android、iOS或者Windows、macOS。我们说过各个平台UI系统的原理是相通的,也就是说无论是Android还是iOS,他们将一个用户界面展示到屏幕的流程是相似的,所以,在介绍Flutter UI系统之前,我们先看看UI系统的基本原理,这样可以帮助读者对操作系统和系统底层UI逻辑有一个清晰的认识。\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":"14.2:Element和BuildContext","keywords":"","body":"14.2 Element与BuildContext\n14.2.1 Element\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方法中首先调用element所对应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数据,具体细节将在下文介绍。\n14.2.2 BuildContext\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那这个context对象对应的实现类到底是谁呢?我们顺藤摸瓜,发现build调用是发生在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就是StatelessElement。同样,我们同样发现StatefulWidget的context是StatefulElement。但StatelessElement和StatefulElement本身并没有实现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的功能,假设有一个页面,该页面有一个按钮,按钮的文本是一个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树了,我们在一个新路由页创建它,最终效果如下如图14-1和14-2(点击后)所示:\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":"14.3:RenderObject与RenderBox","keywords":"","body":"14.3 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。\n14.3.1 布局过程\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 组件,它使用KeepAliveParentDataMixin(继承自ParentData) 来保存子节的keepAlive状态。\n14.3.2 绘制过程\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() 来绘制溢出部分提示,这个就是我们经常看到的溢出提示,如图14-3所示:\n\nRepaintBoundary\n我们已经在CustomPaint一节中介绍过RepaintBoundary,现在我们深入的了解一些。与 RelayoutBoundary 相似,RepaintBoundary是用于在确定重绘边界的,与RelayoutBoundary不同的是,这个绘制边界需要由开发者通过RepaintBoundary 组件自己指定,如:\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 如何设置isRepaintBoundary属性呢?其实,如果使用了RepaintBoundary,其对应的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\n14.3.3 命中测试\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。\n14.3.4 语义化\n语义化即Semantics,主要是提供给读屏软件的接口,也是实现辅助功能的基础,通过语义化接口可以让机器理解页面上的内容,对于有视力障碍用户可以使用读屏软件来理解UI内容。如果一个RenderObject要支持语义化接口,可以实现 describeApproximatePaintClip和 visitChildrenForSemantics方法和semanticsAnnotator getter。更多关于语义化的信息可以查看API文档。\n14.3.5 总结\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":"14.4:Flutter从启动到显示","keywords":"","body":"14.4 Flutter运行机制-从启动到显示\n本节我们主要介绍一下Flutter从启动到显示的过程。\n启动\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 进行关联,即创建出 widget树对应的element树。如果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 和 FrameCallback 的概念:\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渲染和绘制逻辑在RendererBinding中实现,查看其源发,发现在其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该方法直接调用了RendererBinding的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需要注意的是:由于RendererBinding只是一个mixin,而with它的是WidgetsBinding,所以我们需要看看WidgetsBinding中是否重写该方法,查看WidgetsBinding的drawFrame()方法源码:\n@override\nvoid drawFrame() {\n ...//省略无关代码\n try {\n if (renderViewElement != null)\n buildOwner.buildScope(renderViewElement); \n super.drawFrame(); //调用RendererBinding的drawFrame()方法\n buildOwner.finalizeTree();\n } \n}\n\n我们发现在调用RendererBinding.drawFrame()方法前会调用 buildOwner.buildScope() (非首次绘制),该方法会将被标记为“dirty” 的 element 进行 rebuild() 。\n总结\n本节介绍了Flutter APP从启动到显示到屏幕上的主流程,读者可以结合前面章节对Widget、Element以及RenderObject的介绍来加强细节理解。\n"},"chapter14/image_and_cache.html":{"url":"chapter14/image_and_cache.html","title":"14.5:Flutter图片加载与缓存","keywords":"","body":"14.5 图片加载原理与缓存\n在本书前面章节已经介绍过Image 组件,并提到Flutter框架对加载过的图片是有缓存的(内存),默认最大缓存数量是1000,最大缓存空间为100M。本节便详细介绍Image的原理及图片缓存机制,下面我们先看看ImageProvider 类。\n14.5.1 ImageProvider\n我们已经知道Image 组件的image 参数是一个必选参数,它是ImageProvider类型。下面我们便详细介绍一下ImageProvider,ImageProvider是一个抽象类,定义了图片数据获取和加载的相关接口。它的主要职责有两个:\n\n提供图片数据源\n缓存图片\n\n我们看看ImageProvider抽象类的详细定义:\nabstract class ImageProvider {\n\n ImageStream resolve(ImageConfiguration configuration) {\n // 实现代码省略\n }\n Future evict({ ImageCache cache,\n ImageConfiguration configuration = ImageConfiguration.empty }) async {\n // 实现代码省略\n }\n\n Future obtainKey(ImageConfiguration configuration); \n @protected\n ImageStreamCompleter load(T key); // 需子类实现\n}\n\nload(T key)方法\n加载图片数据源的接口,不同的数据源的加载方法不同,每个ImageProvider的子类必须实现它。比如NetworkImage类和AssetImage类,它们都是ImageProvider的子类,但它们需要从不同的数据源来加载图片数据:NetworkImage是从网络来加载图片数据,而AssetImage则是从最终的应用包里来加载(加载打到应用安装包里的资源图片)。 我们以NetworkImage为例,看看其load方法的实现:\n\n@override\nImageStreamCompleter load(image_provider.NetworkImage key) {\n\n final StreamController chunkEvents = StreamController();\n\n return MultiFrameImageStreamCompleter(\n codec: _loadAsync(key, chunkEvents), //调用\n chunkEvents: chunkEvents.stream,\n scale: key.scale,\n ... //省略无关代码\n );\n}\n\n我们看到,load方法的返回值类型是ImageStreamCompleter ,它是一个抽象类,定义了管理图片加载过程的一些接口,Image Widget中正是通过它来监听图片加载状态的(我们将在下面介绍Image 原理时详细介绍)。\nMultiFrameImageStreamCompleter 是 ImageStreamCompleter的一个子类,是flutter sdk预置的类,通过该类,我们以方便、轻松地创建出一个ImageStreamCompleter实例来做为load方法的返回值。\n我们可以看到,MultiFrameImageStreamCompleter 需要一个codec参数,该参数类型为Future。Codec 是处理图片编解码的类的一个handler,实际上,它只是一个flutter engine API 的包装类,也就是说图片的编解码逻辑不是在Dart 代码部分实现,而是在flutter engine中实现的。Codec类部分定义如下:\n@pragma('vm:entry-point')\nclass Codec extends NativeFieldWrapperClass2 {\n // 此类由flutter engine创建,不应该手动实例化此类或直接继承此类。\n @pragma('vm:entry-point')\n Codec._();\n\n /// 图片中的帧数(动态图会有多帧)\n int get frameCount native 'Codec_frameCount';\n\n /// 动画重复的次数\n /// * 0 表示只执行一次\n /// * -1 表示循环执行\n int get repetitionCount native 'Codec_repetitionCount';\n\n /// 获取下一个动画帧\n Future getNextFrame() {\n return _futurize(_getNextFrame);\n }\n\n String _getNextFrame(_Callback callback) native 'Codec_getNextFrame';\n\n我们可以看到Codec最终的结果是一个或多个(动图)帧,而这些帧最终会绘制到屏幕上。\nMultiFrameImageStreamCompleter 的 codec参数值为_loadAsync方法的返回值,我们继续看_loadAsync方法的实现:\n\n Future _loadAsync(\n NetworkImage key,\n StreamController chunkEvents,\n ) async {\n try {\n //下载图片\n final Uri resolved = Uri.base.resolve(key.url);\n final HttpClientRequest request = await _httpClient.getUrl(resolved);\n headers?.forEach((String name, String value) {\n request.headers.add(name, value);\n });\n final HttpClientResponse response = await request.close();\n if (response.statusCode != HttpStatus.ok)\n throw Exception(...);\n // 接收图片数据 \n final Uint8List bytes = await consolidateHttpClientResponseBytes(\n response,\n onBytesReceived: (int cumulative, int total) {\n chunkEvents.add(ImageChunkEvent(\n cumulativeBytesLoaded: cumulative,\n expectedTotalBytes: total,\n ));\n },\n );\n if (bytes.lengthInBytes == 0)\n throw Exception('NetworkImage is an empty file: $resolved');\n // 对图片数据进行解码\n return PaintingBinding.instance.instantiateImageCodec(bytes);\n } finally {\n chunkEvents.close();\n }\n }\n\n可以看到_loadAsync方法主要做了两件事:\n\n下载图片。\n对下载的图片数据进行解码。\n\n下载逻辑比较简单:通过HttpClient从网上下载图片,另外下载请求会设置一些自定义的header,开发者可以通过NetworkImage的headers命名参数来传递。\n在图片下载完成后调用了PaintingBinding.instance.instantiateImageCodec(bytes)对图片进行解码,值得注意的是instantiateImageCodec(...)也是一个Native API的包装,实际上会调用Flutter engine的instantiateImageCodec方法,源码如下:\nString _instantiateImageCodec(Uint8List list, _Callback callback, _ImageInfo imageInfo, int targetWidth, int targetHeight)\n native 'instantiateImageCodec';\n\nobtainKey(ImageConfiguration)方法\n该接口主要是为了配合实现图片缓存,ImageProvider从数据源加载完数据后,会在全局的ImageCache中缓存图片数据,而图片数据缓存是一个Map,而Map的key便是调用此方法的返回值,不同的key代表不同的图片数据缓存。\nresolve(ImageConfiguration) 方法\nresolve方法是ImageProvider的暴露的给Image的主入口方法,它接受一个ImageConfiguration参数,返回ImageStream,即图片数据流。我们重点看一下resolve执行流程:\nImageStream resolve(ImageConfiguration configuration) {\n ... //省略无关代码\n final ImageStream stream = ImageStream();\n T obtainedKey; //\n //定义错误处理函数\n Future handleError(dynamic exception, StackTrace stack) async {\n ... //省略无关代码\n stream.setCompleter(imageCompleter);\n imageCompleter.setError(...);\n }\n\n // 创建一个新Zone,主要是为了当发生错误时不会干扰MainZone\n final Zone dangerZone = Zone.current.fork(...);\n\n dangerZone.runGuarded(() {\n Future key;\n // 先验证是否已经有缓存\n try {\n // 生成缓存key,后面会根据此key来检测是否有缓存\n key = obtainKey(configuration);\n } catch (error, stackTrace) {\n handleError(error, stackTrace);\n return;\n }\n key.then((T key) {\n obtainedKey = key;\n // 缓存的处理逻辑在这里,记为A,下面详细介绍\n final ImageStreamCompleter completer = PaintingBinding.instance\n .imageCache.putIfAbsent(key, () => load(key), onError: handleError);\n if (completer != null) {\n stream.setCompleter(completer);\n }\n }).catchError(handleError);\n });\n return stream;\n}\n\nImageConfiguration 包含图片和设备的相关信息,如图片的大小、所在的AssetBundle(只有打到安装包的图片存在)以及当前的设备平台、devicePixelRatio(设备像素比等)。Flutter SDK提供了一个便捷函数createLocalImageConfiguration来创建ImageConfiguration 对象:\nImageConfiguration createLocalImageConfiguration(BuildContext context, { Size size }) {\n return ImageConfiguration(\n bundle: DefaultAssetBundle.of(context),\n devicePixelRatio: MediaQuery.of(context, nullOk: true)?.devicePixelRatio ?? 1.0,\n locale: Localizations.localeOf(context, nullOk: true),\n textDirection: Directionality.of(context),\n size: size,\n platform: defaultTargetPlatform,\n );\n}\n\n我们可以发现这些信息基本都是通过Context来获取。\n上面代码A处就是处理缓存的主要代码,这里的PaintingBinding.instance.imageCache 是 ImageCache的一个实例,它是PaintingBinding的一个属性,而Flutter框架中的PaintingBinding.instance是一个单例,imageCache事实上也是一个单例,也就是说图片缓存是全局的,统一由PaintingBinding.instance.imageCache 来管理。\n下面我们看看ImageCache类定义:\nconst int _kDefaultSize = 1000;\nconst int _kDefaultSizeBytes = 100 _pendingImages = {};\n // 缓存队列\n final Map _cache = {};\n\n // 缓存数量上限(1000)\n int _maximumSize = _kDefaultSize;\n // 缓存容量上限 (100 MB)\n int _maximumSizeBytes = _kDefaultSizeBytes;\n\n // 缓存上限设置的setter\n set maximumSize(int value) {...}\n set maximumSizeBytes(int value) {...}\n\n ... // 省略部分定义\n\n // 清除所有缓存\n void clear() {\n // ...省略具体实现代码\n }\n\n // 清除指定key对应的图片缓存\n bool evict(Object key) {\n // ...省略具体实现代码\n }\n\n\n ImageStreamCompleter putIfAbsent(Object key, ImageStreamCompleter loader(), { ImageErrorListener onError }) {\n assert(key != null);\n assert(loader != null);\n ImageStreamCompleter result = _pendingImages[key]?.completer;\n // 图片还未加载成功,直接返回\n if (result != null)\n return result;\n\n // 有缓存,继续往下走\n // 先移除缓存,后再添加,可以让最新使用过的缓存在_map中的位置更近一些,清理时会LRU来清除\n final _CachedImage image = _cache.remove(key);\n if (image != null) {\n _cache[key] = image;\n return image.completer;\n }\n try {\n result = loader();\n } catch (error, stackTrace) {\n if (onError != null) {\n onError(error, stackTrace);\n return null;\n } else {\n rethrow;\n }\n }\n void listener(ImageInfo info, bool syncCall) {\n final int imageSize = info?.image == null ? 0 : info.image.height * info.image.width * 4;\n final _CachedImage image = _CachedImage(result, imageSize);\n // 下面是缓存处理的逻辑\n if (maximumSizeBytes > 0 && imageSize > maximumSizeBytes) {\n _maximumSizeBytes = imageSize + 1000;\n }\n _currentSizeBytes += imageSize;\n final _PendingImage pendingImage = _pendingImages.remove(key);\n if (pendingImage != null) {\n pendingImage.removeListener();\n }\n\n _cache[key] = image;\n _checkCacheSize();\n }\n if (maximumSize > 0 && maximumSizeBytes > 0) {\n final ImageStreamListener streamListener = ImageStreamListener(listener);\n _pendingImages[key] = _PendingImage(result, streamListener);\n // Listener is removed in [_PendingImage.removeListener].\n result.addListener(streamListener);\n }\n return result;\n }\n\n // 当缓存数量超过最大值或缓存的大小超过最大缓存容量,会调用此方法清理到缓存上限以内\n void _checkCacheSize() {\n while (_currentSizeBytes > _maximumSizeBytes || _cache.length > _maximumSize) {\n final Object key = _cache.keys.first;\n final _CachedImage image = _cache[key];\n _currentSizeBytes -= image.sizeBytes;\n _cache.remove(key);\n }\n ... //省略无关代码\n }\n}\n\n有缓存则使用缓存,没有缓存则调用load方法加载图片,加载成功后:\n\n先判断图片数据有缓存,如果有,则直接返回ImageStream。\n如果没有缓存,则调用load(T key)方法从数据源加载图片数据,加载成功后先缓存,然后返回ImageStream。\n\n另外,我们可以看到ImageCache类中有设置缓存上限的setter,所以,如果我们可以自定义缓存上限:\n PaintingBinding.instance.imageCache.maximumSize=2000; //最多2000张\n PaintingBinding.instance.imageCache.maximumSizeBytes = 200 \n现在我们看一下缓存的key,因为Map中相同key的值会被覆盖,也就是说key是图片缓存的一个唯一标识,只要是不同key,那么图片数据就会分别缓存(即使事实上是同一张图片)。那么图片的唯一标识是什么呢?跟踪源码,很容易发现key正是ImageProvider.obtainKey()方法的返回值,而此方法需要ImageProvider子类去重写,这也就意味着不通的ImageProvider对key的定义逻辑会不同。其实也很好理解,比如对于NetworkImage,将图片的url作为key会很合适,而对于AssetImage,则应该将“包名+路径”作为唯一的key。下面我们以NetworkImage为例,看一下它的obtainKey()实现:\n@override\nFuture obtainKey(image_provider.ImageConfiguration configuration) {\n return SynchronousFuture(this);\n}\n\n代码很简单,创建了一个同步的future,然后直接将自身做为key返回。因为Map中在判断key(此时是NetworkImage对象)是否相等时会使用“==”运算符,那么定义key的逻辑就是NetworkImage的“==”运算符:\n@override\nbool operator ==(dynamic other) {\n ... //省略无关代码\n final NetworkImage typedOther = other;\n return url == typedOther.url\n && scale == typedOther.scale;\n}\n\n很清晰,对于网络图片来说,会将其“url+缩放比例”作为缓存的key。也就是说如果两张图片的url或scale只要有一个不同,便会重新下载并分别缓存。\n另外,我们需要注意的是,图片缓存是在内存中,并没有进行本地文件持久化存储,这也是为什么网络图片在应用重启后需要重新联网下载的原因。\n同时也意味着在应用生命周期内,如果缓存没有超过上限,相同u的图片只会被下载一次。\n总结\n上面主要结合源码,探索了ImageProvider的主要功能和原理,如果要用一句话来总结ImageProvider功能,那么应该是:加载图片数据并进行缓存、解码。在此再次提醒读者,Flutter的源码是非常好的第一手资料,建议读者多多探索,另外,在阅读源码学西的同时一定要有总结,这样才不至于在源码中迷失。\n14.5.2 Image组件原理\n前面章节中我们介绍过Image的基础用法,现在我们更深入一些,研究一下Image是如何和ImageProvider配合来获取最终解码后的数据,然后又如何将图片绘制到屏幕上的。\n本节换一个思路,我们先不去直接看Image的源码,而根据已经掌握的知识来实现一个简版的“Image组件” MyImage,代码大致如下:\nclass MyImage extends StatefulWidget {\n const MyImage({\n Key key,\n @required this.imageProvider,\n })\n : assert(imageProvider != null),\n super(key: key);\n\n final ImageProvider imageProvider;\n\n @override\n _MyImageState createState() => _MyImageState();\n}\n\nclass _MyImageState extends State {\n ImageStream _imageStream;\n ImageInfo _imageInfo;\n\n @override\n void didChangeDependencies() {\n super.didChangeDependencies();\n // 依赖改变时,图片的配置信息可能会发生改变\n _getImage();\n }\n\n @override\n void didUpdateWidget(MyImage oldWidget) {\n super.didUpdateWidget(oldWidget);\n if (widget.imageProvider != oldWidget.imageProvider)\n _getImage();\n }\n\n void _getImage() {\n final ImageStream oldImageStream = _imageStream;\n // 调用imageProvider.resolve方法,获得ImageStream。\n _imageStream =\n widget.imageProvider.resolve(createLocalImageConfiguration(context));\n //判断新旧ImageStream是否相同,如果不同,则需要调整流的监听器\n if (_imageStream.key != oldImageStream?.key) {\n final ImageStreamListener listener = ImageStreamListener(_updateImage);\n oldImageStream?.removeListener(listener);\n _imageStream.addListener(listener);\n }\n }\n\n void _updateImage(ImageInfo imageInfo, bool synchronousCall) {\n setState(() {\n // Trigger a build whenever the image changes.\n _imageInfo = imageInfo;\n });\n }\n\n @override\n void dispose() {\n _imageStream.removeListener(ImageStreamListener(_updateImage));\n super.dispose();\n }\n\n @override\n Widget build(BuildContext context) {\n return RawImage(\n image: _imageInfo?.image, // this is a dart:ui Image object\n scale: _imageInfo?.scale ?? 1.0,\n );\n }\n}\n\n上面代码流程如下:\n\n通过imageProvider.resolve方法可以得到一个ImageStream(图片数据流),然后监听ImageStream的变化。当图片数据源发生变化时,ImageStream会触发相应的事件,而本例中我们只设置了图片成功的监听器_updateImage,而_updateImage中只更新了_imageInfo。值得注意的是,如果是静态图,ImageStream只会触发一次时间,如果是动态图,则会触发多次事件,每一次都会有一个解码后的图片帧。\n_imageInfo 更新后会rebuild,此时会创建一个RawImage Widget。RawImage最终会通过RenderImage来将图片绘制在屏幕上。如果继续跟进RenderImage类,我们会发现RenderImage的paint 方法中调用了paintImage方法,而paintImage方法中通过Canvas的drawImageRect(…)、drawImageNine(...)等方法来完成最终的绘制。\n最终的绘制由RawImage来完成。\n\n下面测试一下MyImage:\nclass ImageInternalTestRoute extends StatelessWidget {\n @override\n Widget build(BuildContext context) {\n return Column(\n children: [\n MyImage(\n imageProvider: NetworkImage(\n \"https://avatars2.githubusercontent.com/u/20411648?s=460&v=4\",\n ),\n )\n ],\n );\n }\n}\n\n运行效果如图14-4所示:\n\n成功了! 现在,想必Image Widget的源码已经没必要在花费篇章去介绍了,读者有兴趣可以自行去阅读。\n总结\n本节主要介绍了Flutter 图片的加载、缓存和绘制流程。其中ImageProvider主要负责图片数据的加载和缓存,而绘制部分逻辑主要是由RawImage来完成。 而Image正是连接起ImageProvider和RawImage 的桥梁。\n"},"chapter15/intro.html":{"url":"chapter15/intro.html","title":"第十五章:一个完整的Flutter应用","keywords":"","body":"15.1 Github客户端示例\n本章新建一个Flutter工程,实现一个简单的Github客户端。这个实例的主要目标有两个:\n\n带领读者了解如何使用Flutter来开发一个完整APP,了解Flutter应用开发流程及工程结构等。\n对前面章节所学内容的一个应用及总结。\n\n需要注意的是,由于Github本身功能非常多,我们的焦点并不是去实现Github的所有业务功能。因此,我们只需要实现一个APP的骨架,能达到上面这两点即可。下面对我们要实现的功能如下:\n\n实现Github账号登录、退出登录功能\n登录后可以查看自己的项目主页\n支持换肤\n支持多语言\n登录状态可以持久化;\n\n要实现上面这些功能会涉及到如下技术点:\n\n网络请求;需要请求Github API。\nJson转Dart Model类;\n全局状态管理;语言、主题、登录态等都需要全局共享。\n持久化存储;保存登录信息,用户信息等。\n支持国际化、Intl包的使用\n\n现在,目前已经确定,在接下来章节中,我们将分模块一步一步实现上述功能。\n"},"chapter15/code_structure.html":{"url":"chapter15/code_structure.html","title":"15.2:APP代码结构","keywords":"","body":"15.2 Flutter APP代码结构\n我们先来创建一个全新的Flutter工程,命名为\"github_client_app\";创建新工程的步骤视读者使用的编辑器而定,都比较简单,在此不再赘述。创建完成后,工程结构如下:\ngithub_client_app\n├── android\n├── ios\n├── lib\n└── test\n\n由于我们需要使用外部图片和Icon资源,所以我们在项目根目录下分别创建”imgs“和”fonts“文件件,前者用于保存图片,后者用于保存Icon文件。关于图片和Icon,读者可以参考第三章中相应的内容。\n由于在网络数据传输和持久化时,我们需要通过Json来传输、保存数据;但是在应用开发时我们又需要将Json转成Dart Model类,现在我们使用在第十一章中”Json转Model“小节中介绍的方案,所以,我们需要在根目录下再创建一个用于保存Json文件的”jsons“文件夹。\n多语言支持我们使用第十三章”国际化“中介绍的方案,所以还需要在根目录下创建一个\"i10n\"文件夹,用于保存各国语言对应的arb文件。\n现在工程目录变为:\ngithub_client_app\n├── android\n├── fonts\n├── i10n-arb\n├── imgs\n├── ios\n├── jsons\n├── lib\n└── test\n\n由于我们的Dart代码都在“lib”文件夹下,笔者根据技术选型和经验在lib文件下创建了如下目录:\nlib\n├── common\n├── i10n\n├── models\n├── states\n├── routes\n└── widgets\n\n\n\n\n文件夹\n作用\n\n\n\n\ncommon\n一些工具类,如通用方法类、网络接口类、保存全局变量的静态类等\n\n\ni10n\n国际化相关的类都在此目录下\n\n\nmodels\nJson文件对应的Dart Model类会在此目录下\n\n\nstates\n保存APP中需要跨组件共享的状态类\n\n\nroutes\n存放所有路由页面类\n\n\nwidgets\nAPP内封装的一些Widget组件都在该目录下\n\n\n\n注意,使用不同的框架或技术选型会对代码有不同的组织方式,因此,本节介绍的代码组织结构并不是固定或者“最佳”的,在实战中,读者可以自己根据情况调整源码结构。但是无论采取何种源码组织结构,但清晰和解耦是一个通用原则,我们应该让自己的代码结构清晰,以便交流和维护。\n"},"chapter15/models.html":{"url":"chapter15/models.html","title":"15.3:Model类定义","keywords":"","body":"15.3 Model类定义\n本节我们先梳理一下APP中将用到的数据,然后生成相应的Dart Model类。Json文件转Dart Model的方案采用前面介绍过的 json_model 包方案\nGithub账号信息\n登录Github后,我们需要获取当前登录者的Github账号信息,Github API接口返回Json结构如下:\n{\n \"login\": \"octocat\", //用户登录名\n \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\", //用户头像地址\n \"type\": \"User\", //用户类型,可能是组织\n \"name\": \"monalisa octocat\", //用户名字\n \"company\": \"GitHub\", //公司\n \"blog\": \"https://github.com/blog\", //博客地址\n \"location\": \"San Francisco\", // 用户所处地理位置\n \"email\": \"octocat@github.com\", // 邮箱\n \"hireable\": false,\n \"bio\": \"There once was...\", // 用户简介\n \"public_repos\": 2, // 公开项目数\n \"followers\": 20, //关注该用户的人数\n \"following\": 0, // 该用户关注的人数\n \"created_at\": \"2008-01-14T04:33:35Z\", // 账号创建时间\n \"updated_at\": \"2008-01-14T04:33:35Z\", // 账号信息更新时间\n \"total_private_repos\": 100, //该用户总的私有项目数(包括参与的其它组织的私有项目)\n \"owned_private_repos\": 100 //该用户自己的私有项目数\n ... //省略其它字段\n}\n\n我们在“jsons”目录下创建一个“user.json”文件保存上述信息。\nAPI缓存策略信息\n由于Github服务器在国内访问速度较慢,我们对Github API应用一些简单的缓存策略。我们在“jsons”目录下创建一个“cacheConfig.json”文件缓存策略信息,定义如下:\n{\n \"enable\":true, // 是否启用缓存\n \"maxAge\":1000, // 缓存的最长时间,单位(秒)\n \"maxCount\":100 // 最大缓存数\n}\n\n用户信息\n用户信息(Profile)应包括如下信息:\n\nGithub账号信息;由于我们的APP可以切换账号登录,且登录后再次打开则不需要登录,所以我们需要对用户账号信息和登录状态进行持久化。\n应用使用配置信息;没一个用户都应有自己的APP配置信息,如主题、语言、以及数据缓存策略等。\n用户注销登录后,为了便于用户在退出APP前再次登录,我们需要记住上次登录的用户名。\n\n需要注意的是,目前Github有三种登录方式,分别是账号密码登录、oauth授权登录、二次认证登录;这三种登录方式的安全性依次加强,但是在本示例中,为了简单起见,我们使用账号密码登录,因此我们需要保存用户的密码。\n\n注意:在这里需要提醒读者,在登录场景中,保护用户账号安全是一个非常重要且永恒的话题,在实际开发中应严格杜绝直接明文存储用户账密的行为。\n\n我们在“jsons”目录下创建一个“profile.json”文件,结构如下:\n{\n \"user\":\"$user\", //Github账号信息,结构见\"user.json\"\n \"token\":\"\", // 登录用户的token(oauth)或密码\n \"theme\":5678, //主题色值\n \"cache\":\"$cacheConfig\", // 缓存策略信息,结构见\"cacheConfig.json\"\n \"lastLogin\":\"\", //最近一次的注销登录的用户名\n \"locale\":\"\" // APP语言信息\n}\n\n项目信息\n由于APP主页要显示其所有项目信息,我们在“jsons”目录下创建一个“repo.json”文件保存项目信息。通过参考Github 获取项目信息的API文档,定义出最终的“repo.json”文件结构,如下:\n{\n \"id\": 1296269,\n \"name\": \"Hello-World\", //项目名称\n \"full_name\": \"octocat/Hello-World\", //项目完成名称\n \"owner\": \"$user\", // 项目拥有者,结构见\"user.json\"\n \"parent\":\"$repo\", // 如果是fork的项目,则此字段表示fork的父项目信息\n \"private\": false, // 是否私有项目\n \"description\": \"This your first repo!\", //项目描述\n \"fork\": false, // 该项目是否为fork的项目\n \"language\": \"JavaScript\",//该项目的主要编程语言\n \"forks_count\": 9, // fork了该项目的数量\n \"stargazers_count\": 80, //该项目的star数量\n \"size\": 108, // 项目占用的存储大小\n \"default_branch\": \"master\", //项目的默认分支\n \"open_issues_count\": 2, //该项目当前打开的issue数量\n \"pushed_at\": \"2011-01-26T19:06:43Z\",\n \"created_at\": \"2011-01-26T19:01:12Z\",\n \"updated_at\": \"2011-01-26T19:14:43Z\",\n \"subscribers_count\": 42, //订阅(关注)该项目的人数\n \"license\": { // 该项目的开源许可证\n \"key\": \"mit\",\n \"name\": \"MIT License\",\n \"spdx_id\": \"MIT\",\n \"url\": \"https://api.github.com/licenses/mit\",\n \"node_id\": \"MDc6TGljZW5zZW1pdA==\"\n }\n ...//省略其它字段\n}\n\n生成Dart Model类\n现在,我们需要的Json数据已经定义完毕,现在只需要运行json_model package提供的命令来通过json文件生成相应的Dart类:\nflutter packages pub run json_model\n\n命令执行成功后,可以看到lib/models文件夹下会生成相应的Dart Model类:\n├── models\n│ ├── cacheConfig.dart\n│ ├── cacheConfig.g.dart\n│ ├── index.dart\n│ ├── profile.dart\n│ ├── profile.g.dart\n│ ├── repo.dart\n│ ├── repo.g.dart\n│ ├── user.dart\n│ └── user.g.dart\n数据持久化\n我们使用shared_preferences包来对登录用户的Profile信息进行持久化。shared_preferences是一个Flutter插件,它通过Android和iOS平台提供的机制来实现数据持久化。由于shared_preferences的使用非常简单,读者可以自行查看其文档,在此不再赘述。\n"},"chapter15/globals.html":{"url":"chapter15/globals.html","title":"15.4:全局变量及共享状态","keywords":"","body":"15.4 全局变量及共享状态\n应用程序中通常会包含一些贯穿APP生命周期的变量信息,这些信息在APP大多数地方可能都会被用到,比如当前用户信息、Local信息等。在Flutter中我们把需要全局共享的信息氛围两类:全局变量和共享状态。全局变量就是单纯指会贯穿整个APP生命周期的变量,用于单纯的保存一些信息,或者封装一些全局工具和方法的对象。而共享状态则是指哪些需要跨组件或跨路由共享的信息,这些信息通常也是全局变量,而共享状态和全局变量的不同在于前者者发生改变时需要通知所有使用该状态的组件,而后者不需要。为此,我们将全局变量和共享状态分开单独管理。\n15.4.1 全局变量-Global类\n我们在“lib/common”目录下创建一个Global类,它主要管理APP的全局变量,定义如下:\n// 提供四套可选主题色\nconst _themes = [\n Colors.blue,\n Colors.cyan,\n Colors.teal,\n Colors.green,\n Colors.red,\n];\n\nclass Global {\n static SharedPreferences _prefs;\n static Profile profile = Profile();\n // 网络缓存对象\n static NetCache netCache = NetCache();\n\n // 可选的主题列表\n static List get themes => _themes;\n\n // 是否为release版\n static bool get isRelease => bool.fromEnvironment(\"dart.vm.product\");\n\n //初始化全局信息,会在APP启动时执行\n static Future init() async {\n _prefs = await SharedPreferences.getInstance();\n var _profile = _prefs.getString(\"profile\");\n if (_profile != null) {\n try {\n profile = Profile.fromJson(jsonDecode(_profile));\n } catch (e) {\n print(e);\n }\n }\n\n // 如果没有缓存策略,设置默认缓存策略\n profile.cache = profile.cache ?? CacheConfig()\n ..enable = true\n ..maxAge = 3600\n ..maxCount = 100;\n\n //初始化网络请求相关配置\n Git.init();\n }\n\n // 持久化Profile信息\n static saveProfile() =>\n _prefs.setString(\"profile\", jsonEncode(profile.toJson()));\n}\n\nGlobal类的各个字段的意义都有注释,在此不再赘述,需要注意的是init()需要在App启动时就要执行,所以应用的main方法如下:\nvoid main() => Global.init().then((e) => runApp(MyApp()));\n\n在此,一定要确保Global.init()方法不能抛出异常,否则 runApp(MyApp())根本执行不到。\n15.4.2 共享状态\n有了全局变量,我们还需要考虑如何跨组件共享状态。当然,如果我们将要共享的状态全部用全局变量替代也是可以的,但是这在Flutter开发中并不是一个好主意,因为组件的状态是和UI相关,而在状态改变时我们会期望依赖该状态的UI组件会自动更新,如果使用全局变量,那么我们必须得去手动处理状态变动通知、接收机制以及变量和组件依赖关系。因此,本实例中,我们使用前面介绍过的Provider包来实现跨组件状态共享,因此我们需要定义相关的Provider。在本实例中,需要共享的状态有登录用户信息、APP主题信息、APP语言信息。由于这些信息改变后都要立即通知其它依赖的该信息的Widget更新,所以我们应该使用ChangeNotifierProvider,另外,这些信息改变后都是需要更新Profile信息并进行持久化的。综上所述,我们可以定义一个ProfileChangeNotifier基类,然后让需要共享的Model继承自该类即可,ProfileChangeNotifier定义如下:\nclass ProfileChangeNotifier extends ChangeNotifier {\n Profile get _profile => Global.profile;\n\n @override\n void notifyListeners() {\n Global.saveProfile(); //保存Profile变更\n super.notifyListeners(); //通知依赖的Widget更新\n }\n}\n\n用户状态\n用户状态在登录状态发生变化时更新、通知其依赖项,我们定义如下:\nclass UserModel extends ProfileChangeNotifier {\n User get user => _profile.user;\n\n // APP是否登录(如果有用户信息,则证明登录过)\n bool get isLogin => user != null;\n\n //用户信息发生变化,更新用户信息并通知依赖它的子孙Widgets更新\n set user(User user) {\n if (user?.login != _profile.user?.login) {\n _profile.lastLogin = _profile.user?.login;\n _profile.user = user;\n notifyListeners();\n }\n }\n}\n\nAPP主题状态\n主题状态在用户更换APP主题时更新、通知其依赖项,定义如下:\nclass ThemeModel extends ProfileChangeNotifier {\n // 获取当前主题,如果为设置主题,则默认使用蓝色主题\n ColorSwatch get theme => Global.themes\n .firstWhere((e) => e.value == _profile.theme, orElse: () => Colors.blue);\n\n // 主题改变后,通知其依赖项,新主题会立即生效\n set theme(ColorSwatch color) {\n if (color != theme) {\n _profile.theme = color[500].value;\n notifyListeners();\n }\n }\n}\n\nAPP语言状态\n当APP语言选为跟随系统(Auto)时,在系通语言改变时,APP语言会更新;当用户在APP中选定了具体语言时(美国英语或中文简体),则APP便会一直使用用户选定的语言,不会再随系统语言而变。语言状态类定义如下:\nclass LocaleModel extends ProfileChangeNotifier {\n // 获取当前用户的APP语言配置Locale类,如果为null,则语言跟随系统语言\n Locale getLocale() {\n if (_profile.locale == null) return null;\n var t = _profile.locale.split(\"_\");\n return Locale(t[0], t[1]);\n }\n\n // 获取当前Locale的字符串表示\n String get locale => _profile.locale;\n\n // 用户改变APP语言后,通知依赖项更新,新语言会立即生效\n set locale(String locale) {\n if (locale != _profile.locale) {\n _profile.locale = locale;\n notifyListeners();\n }\n }\n}\n\n"},"chapter15/network.html":{"url":"chapter15/network.html","title":"15.5:网络请求封装","keywords":"","body":"15.5 网络请求封装\n本节我们会基于前面介绍过的dio网络库封装APP中用到的网络请求接口,并同时应用一个简单的缓存策略。下面我们先介绍一下网络接口缓存原来,然后再封装APP的业务请求接口。\n15.5.1 网络接口缓存\n由于在国内访问Github服务器速度较慢,所以我们应用一些简单的缓存策略:将请求的url作为key,对请求的返回值在一个指定时间段类进行缓存,另外设置一个最大缓存数,当超过最大缓存数后移除最早的一条缓存。但是也得提供一种针对特定接口或请求决定是否启用缓存的机制,这种机制可以指定哪些接口或那次请求不应用缓存,这种机制是很有必要的,比如登录接口就不应该缓存,又比如用户在下拉刷新时就不应该再应用缓存。在实现缓存之前我们先定义保存缓存信息的CacheObject类:\nclass CacheObject {\n CacheObject(this.response)\n : timeStamp = DateTime.now().millisecondsSinceEpoch;\n Response response;\n int timeStamp; // 缓存创建时间\n\n @override\n bool operator ==(other) {\n return response.hashCode == other.hashCode;\n }\n\n //将请求uri作为缓存的key\n @override\n int get hashCode => response.realUri.hashCode;\n}\n\n接下来我们需要实现具体的缓存策略,由于我们使用的是dio package,所以我们可以直接通过拦截器来实现缓存策略:\nimport 'dart:collection';\nimport 'package:dio/dio.dart';\nimport '../index.dart';\n\nclass CacheObject {\n CacheObject(this.response)\n : timeStamp = DateTime.now().millisecondsSinceEpoch;\n Response response;\n int timeStamp;\n\n @override\n bool operator ==(other) {\n return response.hashCode == other.hashCode;\n }\n\n @override\n int get hashCode => response.realUri.hashCode;\n}\n\nclass NetCache extends Interceptor {\n // 为确保迭代器顺序和对象插入时间一致顺序一致,我们使用LinkedHashMap\n var cache = LinkedHashMap();\n\n @override\n onRequest(RequestOptions options) {\n if (!Global.profile.cache.enable) return options;\n // refresh标记是否是\"下拉刷新\"\n bool refresh = options.extra[\"refresh\"] == true;\n //如果是下拉刷新,先删除相关缓存\n if (refresh) {\n if (options.extra[\"list\"] == true) {\n //若是列表,则只要url中包含当前path的缓存全部删除(简单实现,并不精准)\n cache.removeWhere((key, v) => key.contains(options.path));\n } else {\n // 如果不是列表,则只删除uri相同的缓存\n delete(options.uri.toString());\n }\n return options;\n }\n if (options.extra[\"noCache\"] != true &&\n options.method.toLowerCase() == 'get') {\n String key = options.extra[\"cacheKey\"] ?? options.uri.toString();\n var ob = cache[key];\n if (ob != null) {\n //若缓存未过期,则返回缓存内容\n if ((DateTime.now().millisecondsSinceEpoch - ob.timeStamp) / 1000 \n关于代码的解释都在注释中了,在此需要说明的是dio包的option.extra是专门用于扩展请求参数的,我们通过定义了“refresh”和“noCache”两个参数实现了”针对特定接口或请求决定是否启用缓存的机制“,这两个参数含义如下:\n\n\n\n参数名\n类型\n解释\n\n\n\n\nrefresh\nbool\n如果为true,则本次请求不使用缓存,但新的请求结果依然会被缓存\n\n\nnoCache\nbool\n本次请求禁用缓存,请求结果也不会被缓存。\n\n\n\n15.5.2 封装网络请求\n一个完整的APP,可能会涉及很多网络请求,为了便于管理、收敛请求入口,工程上最好的作法就是将所有网络请求放到同一个源码文件中。由于我们的接口都是请求的Github 开发平台提供的API,所以我们定义一个Git类,专门用于Github API接口调用。另外,在调试过程中,我们通常需要一些工具来查看网络请求、响应报文,使用网络代理工具来调试网络数据问题是主流方式。配置代理需要在应用中指定代理服务器的地址和端口,另外Github API是HTTPS协议,所以在配置完代理后还应该禁用证书校验,这些配置我们在Git类初始化时执行(init()方法)。下面是Git类的源码:\nimport 'dart:async';\nimport 'dart:convert';\nimport 'dart:io';\nimport 'package:dio/dio.dart';\nimport 'package:flutter/material.dart';\nimport '../index.dart';\n\nclass Git {\n // 在网络请求过程中可能会需要使用当前的context信息,比如在请求失败时\n // 打开一个新路由,而打开新路由需要context信息。\n Git([this.context]) {\n _options = Options(extra: {\"context\": context});\n }\n\n BuildContext context;\n Options _options;\n static Dio dio = new Dio(BaseOptions(\n baseUrl: 'https://api.github.com/',\n headers: {\n HttpHeaders.acceptHeader: \"application/vnd.github.squirrel-girl-preview,\"\n \"application/vnd.github.symmetra-preview+json\",\n },\n ));\n\n static void init() {\n // 添加缓存插件\n dio.interceptors.add(Global.netCache);\n // 设置用户token(可能为null,代表未登录)\n dio.options.headers[HttpHeaders.authorizationHeader] = Global.profile.token;\n\n // 在调试模式下需要抓包调试,所以我们使用代理,并禁用HTTPS证书校验\n if (!Global.isRelease) {\n (dio.httpClientAdapter as DefaultHttpClientAdapter).onHttpClientCreate =\n (client) {\n client.findProxy = (uri) {\n return \"PROXY 10.1.10.250:8888\";\n };\n //代理工具会提供一个抓包的自签名证书,会通不过证书校验,所以我们禁用证书校验\n client.badCertificateCallback =\n (X509Certificate cert, String host, int port) => true;\n };\n }\n }\n\n // 登录接口,登录成功后返回用户信息\n Future login(String login, String pwd) async {\n String basic = 'Basic ' + base64.encode(utf8.encode('$login:$pwd'));\n var r = await dio.get(\n \"/users/$login\",\n options: _options.merge(headers: {\n HttpHeaders.authorizationHeader: basic\n }, extra: {\n \"noCache\": true, //本接口禁用缓存\n }),\n );\n //登录成功后更新公共头(authorization),此后的所有请求都会带上用户身份信息\n dio.options.headers[HttpHeaders.authorizationHeader] = basic;\n //清空所有缓存\n Global.netCache.cache.clear();\n //更新profile中的token信息\n Global.profile.token = basic;\n return User.fromJson(r.data);\n }\n\n //获取用户项目列表\n Future> getRepos(\n {Map queryParameters, //query参数,用于接收分页信息\n refresh = false}) async {\n if (refresh) {\n // 列表下拉刷新,需要删除缓存(拦截器中会读取这些信息)\n _options.extra.addAll({\"refresh\": true, \"list\": true});\n }\n var r = await dio.get(\n \"user/repos\",\n queryParameters: queryParameters,\n options: _options,\n );\n return r.data.map((e) => Repo.fromJson(e)).toList();\n }\n}\n\n可以看到我们在init()方法中,我们判断了是否是调试环境,然后做了一些针对调试环境的网络配置(设置代理和禁用证书校验)。而Git.init()方法是应用启动时被调用的(Global.init()方法中会调用Git.init())。\n另外需要注意,我们所有的网络请求是通过同一个dio实例(静态变量)发出的,在创建该dio实例时我们将Github API的基地址和API支持的Header进行了全局配置,这样所有通过该dio实例发出的请求都会默认使用者些配置。\n在本实例中,我们只用到了登录接口和获取用户项目的接口,所以在Git类中只定义了login(…)和getRepos(…)方法,如果读者要在本实例的基础上扩充功能,读者可以将其它的接口请求方法添加到Git类中,这样便实现了网络请求接口在代码层面的集中管理和维护。\n"},"chapter15/entry.html":{"url":"chapter15/entry.html","title":"15.6:App入口及首页","keywords":"","body":"15.6 APP入口及主页\n本节来介绍一下APP入口及首页。\n15.6.1 APP入口\nmain函数为APP入口函数,实现如下:\nvoid main() => Global.init().then((e) => runApp(MyApp()));\n\n初始化完成后才会加载UI(MyApp),MyApp 是应用的入口Widget,实现如下:\nclass MyApp extends StatelessWidget {\n // This widget is the root of your application.\n @override\n Widget build(BuildContext context) {\n return MultiProvider(\n providers: [\n ChangeNotifierProvider.value(value: ThemeModel()),\n ChangeNotifierProvider.value(value: UserModel()),\n ChangeNotifierProvider.value(value: LocaleModel()),\n ],\n child: Consumer2(\n builder: (BuildContext context, themeModel, localeModel, Widget child) {\n return MaterialApp(\n theme: ThemeData(\n primarySwatch: themeModel.theme,\n ),\n onGenerateTitle: (context){\n return GmLocalizations.of(context).title;\n },\n home: HomeRoute(), //应用主页\n locale: localeModel.getLocale(),\n //我们只支持美国英语和中文简体\n supportedLocales: [\n const Locale('en', 'US'), // 美国英语\n const Locale('zh', 'CN'), // 中文简体\n //其它Locales\n ],\n localizationsDelegates: [\n // 本地化的代理类\n GlobalMaterialLocalizations.delegate,\n GlobalWidgetsLocalizations.delegate,\n GmLocalizationsDelegate()\n ],\n localeResolutionCallback:\n (Locale _locale, Iterable supportedLocales) {\n if (localeModel.getLocale() != null) {\n //如果已经选定语言,则不跟随系统\n return localeModel.getLocale();\n } else {\n\n Locale locale;\n //APP语言跟随系统语言,如果系统语言不是中文简体或美国英语,\n //则默认使用美国英语\n if (supportedLocales.contains(_locale)) {\n locale= _locale;\n } else {\n locale= Locale('en', 'US');\n }\n return locale;\n }\n },\n // 注册命名路由表\n routes: {\n \"login\": (context) => LoginRoute(),\n \"themes\": (context) => ThemeChangeRoute(),\n \"language\": (context) => LanguageRoute(),\n },\n );\n },\n ),\n );\n }\n}\n\n在上面的代码中:\n\n我们的根widget是MultiProvider,它将主题、用户、语言三种状态绑定到了应用的根上,如此一来,任何路由中都可以通过Provider.of()来获取这些状态,也就是说这三种状态是全局共享的!\nHomeRoute是应用的主页。\n在构建MaterialApp时,我们配置了APP支持的语言列表,以及监听了系统语言改变事件;另外MaterialApp消费(依赖)了ThemeModel和LocaleModel,所以当APP主题或语言改变时MaterialApp会重新构建\n我们注册了命名路由表,以便在APP中可以直接通过路由名跳转。\n为了支持多语言(本APP中我们支持美国英语和中文简体两种语言)我们实现了一个GmLocalizationsDelegate,子Widget中都可以通过GmLocalizations来动态获取APP当前语言对应的文案。关于GmLocalizationsDelegate和GmLocalizations的实现方式读者可以参考”国际化“一章中的介绍,此处不再赘述。\n\n15.6.2 主页\n为了简单起见,当APP启动后,如果之前已登录了APP,则显示该用户项目列表;如果之前未登录,则显示一个登录按钮,点击后跳转到登录页。另外,我们实现一个抽屉菜单,里面包含当前用户头像及APP的菜单。下面我们先看看要实现的效果,如图15-1、15-2所示:\n\n我们在”lib/routes“下创建一个”home_page.dart“文件,实现如下:\nclass HomeRoute extends StatefulWidget {\n @override\n _HomeRouteState createState() => _HomeRouteState();\n}\n\nclass _HomeRouteState extends State {\n @override\n Widget build(BuildContext context) {\n return Scaffold(\n appBar: AppBar(\n title: Text(GmLocalizations.of(context).home),\n ),\n body: _buildBody(), // 构建主页面\n drawer: MyDrawer(), //抽屉菜单\n );\n }\n ...// 省略\n}\n\n上面代码中,主页的标题(title)我们是通过GmLocalizations.of(context).home来获得,GmLocalizations是我们提供的一个Localizations类,用于支持多语言,因此当APP语言改变时,凡是使用GmLocalizations动态获取的文案都会是相应语言的文案,这在前面”国际化“一章中已经介绍过,读者可以前翻查阅。\n我们通过 _buildBody()方法来构建主页内容,_buildBody()方法实现代码如下:\n Widget _buildBody() {\n UserModel userModel = Provider.of(context);\n if (!userModel.isLogin) {\n //用户未登录,显示登录按钮\n return Center(\n child: RaisedButton(\n child: Text(GmLocalizations.of(context).login),\n onPressed: () => Navigator.of(context).pushNamed(\"login\"),\n ),\n );\n } else {\n //已登录,则展示项目列表\n return InfiniteListView(\n onRetrieveData: (int page, List items, bool refresh) async {\n var data = await Git(context).getRepos(\n refresh: refresh,\n queryParameters: {\n 'page': page,\n 'page_size': 20,\n },\n );\n //把请求到的新数据添加到items中\n items.addAll(data); \n // 如果接口返回的数量等于'page_size',则认为还有数据,反之则认为最后一页\n return data.length==20;\n },\n itemBuilder: (List list, int index, BuildContext ctx) {\n // 项目信息列表项\n return RepoItem(list[index]);\n },\n );\n }\n }\n}\n\n上面代码注释很清楚:如果用户未登录,显示登录按钮;如果用户已登录,则展示项目列表。这里项目列表使用了InfiniteListView Widget,它是flukit package中提供的。InfiniteListView同时支持了下拉刷新和上拉加载更多两种功能。onRetrieveData 为数据获取回调,该回调函数接收三个参数:\n\n\n\n参数名\n类型\n解释\n\n\n\n\npage\nint\n当前页号\n\n\nitems\nList\n保存当前列表数据的List\n\n\nrefresh\nbool\n是否是下拉刷新触发\n\n\n\n返回值类型为bool,为true时表示还有数据,为false时则表示后续没有数据了。onRetrieveData 回调中我们调用Git(context).getRepos(...)来获取用户项目列表,同时指定每次请求获取20条。当获取成功时,首先要将新获取的项目数据添加到items中,然后根据本次请求的项目条数是否等于期望的20条来判断还有没有更多的数据。在此需要注意,Git(context).getRepos(…)方法中需要refresh参数来判断是否使用缓存。\nitemBuilder为列表项的builder,我们需要在该回调中构建每一个列表项Widget。由于列表项构建逻辑较负责,我们单独封装一个RepoItem Widget 专门用于构建列表项UI。RepoItem 实现如下:\nimport '../index.dart';\n\nclass RepoItem extends StatefulWidget {\n // 将`repo.id`作为RepoItem的默认key\n RepoItem(this.repo) : super(key: ValueKey(repo.id));\n\n final Repo repo;\n\n @override\n _RepoItemState createState() => _RepoItemState();\n}\n\nclass _RepoItemState extends State {\n @override\n Widget build(BuildContext context) {\n var subtitle;\n return Padding(\n padding: const EdgeInsets.only(top: 8.0),\n child: Material(\n color: Colors.white,\n shape: BorderDirectional(\n bottom: BorderSide(\n color: Theme.of(context).dividerColor,\n width: .5,\n ),\n ),\n child: Padding(\n padding: const EdgeInsets.only(top: 0.0, bottom: 16),\n child: Column(\n crossAxisAlignment: CrossAxisAlignment.start,\n children: [\n ListTile(\n dense: true,\n leading: gmAvatar(\n //项目owner头像\n widget.repo.owner.avatar_url,\n width: 24.0,\n borderRadius: BorderRadius.circular(12),\n ),\n title: Text(\n widget.repo.owner.login,\n textScaleFactor: .9,\n ),\n subtitle: subtitle,\n trailing: Text(widget.repo.language ?? \"\"),\n ),\n // 构建项目标题和简介\n Padding(\n padding: const EdgeInsets.symmetric(horizontal: 16.0),\n child: Column(\n crossAxisAlignment: CrossAxisAlignment.start,\n children: [\n Text(\n widget.repo.fork\n ? widget.repo.full_name\n : widget.repo.name,\n style: TextStyle(\n fontSize: 15,\n fontWeight: FontWeight.bold,\n fontStyle: widget.repo.fork\n ? FontStyle.italic\n : FontStyle.normal,\n ),\n ),\n Padding(\n padding: const EdgeInsets.only(top: 8, bottom: 12),\n child: widget.repo.description == null\n ? Text(\n GmLocalizations.of(context).noDescription,\n style: TextStyle(\n fontStyle: FontStyle.italic,\n color: Colors.grey[700]),\n )\n : Text(\n widget.repo.description,\n maxLines: 3,\n style: TextStyle(\n height: 1.15,\n color: Colors.blueGrey[700],\n fontSize: 13,\n ),\n ),\n ),\n ],\n ),\n ),\n // 构建卡片底部信息\n _buildBottom()\n ],\n ),\n ),\n ),\n );\n }\n\n // 构建卡片底部信息\n Widget _buildBottom() {\n const paddingWidth = 10;\n return IconTheme(\n data: IconThemeData(\n color: Colors.grey,\n size: 15,\n ),\n child: DefaultTextStyle(\n style: TextStyle(color: Colors.grey, fontSize: 12),\n child: Padding(\n padding: const EdgeInsets.symmetric(horizontal: 16),\n child: Builder(builder: (context) {\n var children = [\n Icon(Icons.star),\n Text(\" \" +\n widget.repo.stargazers_count\n .toString()\n .padRight(paddingWidth)),\n Icon(Icons.info_outline),\n Text(\" \" +\n widget.repo.open_issues_count\n .toString()\n .padRight(paddingWidth)),\n\n Icon(MyIcons.fork), //我们的自定义图标\n Text(widget.repo.forks_count.toString().padRight(paddingWidth)),\n ];\n\n if (widget.repo.fork) {\n children.add(Text(\"Forked\".padRight(paddingWidth)));\n }\n\n if (widget.repo.private == true) {\n children.addAll([\n Icon(Icons.lock),\n Text(\" private\".padRight(paddingWidth))\n ]);\n }\n return Row(children: children);\n }),\n ),\n ),\n );\n }\n}\n\n上面代码有两点需要注意:\n\n在构建项目拥有者头像时调用了gmAvatar(…)方法,该方法是是一个全局工具函数,专门用于获取头像图片,实现如下:\nWidget gmAvatar(String url, {\n double width = 30,\n double height,\n BoxFit fit,\n BorderRadius borderRadius,\n}) {\n var placeholder = Image.asset(\n \"imgs/avatar-default.png\", //头像占位图,加载过程中显示\n width: width,\n height: height\n );\n return ClipRRect(\n borderRadius: borderRadius ?? BorderRadius.circular(2),\n child: CachedNetworkImage( \n imageUrl: url,\n width: width,\n height: height,\n fit: fit,\n placeholder: (context, url) =>placeholder,\n errorWidget: (context, url, error) =>placeholder,\n ),\n );\n}\n\n代码中调用了CachedNetworkImage 是cached_network_image包中提供的一个Widget,它不仅可以在图片加载过程中指定一个占位图,而且还可以对网络请求的图片进行缓存,更多详情读者可以自行查阅其文档。\n\n由于Flutter 的Material 图标库中没有fork图标,所以我们在iconfont.cn上找了一个fork图标,然后根据”图片和Icon“一节中介绍的使用自定义字体图标的方法集成到了我们的项目中。\n\n\n15.6.3 抽屉菜单\n抽屉菜单分为两部分:顶部头像和底部功能菜单项。当用户未登录,则抽屉菜单顶部会显示一个默认的灰色占位图,若用户已登录,则会显示用户的头像。抽屉菜单底部有”换肤“和”语言“两个固定菜单,若用户已登录,则会多一个”注销“菜单。用户点击”换肤“和”语言“两个菜单项,会进入相应的设置页面。我们的抽屉菜单效果如图15-3、15-4所示:\n\n实现代码如下:\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 //移除顶部padding\n child: MediaQuery.removePadding(\n context: context,\n removeTop: true,\n child: Column(\n crossAxisAlignment: CrossAxisAlignment.start,\n children: [\n _buildHeader(), //构建抽屉菜单头部\n Expanded(child: _buildMenus()), //构建功能菜单\n ],\n ),\n ),\n );\n }\n\n Widget _buildHeader() {\n return Consumer(\n builder: (BuildContext context, UserModel value, Widget child) {\n return GestureDetector(\n child: Container(\n color: Theme.of(context).primaryColor,\n padding: EdgeInsets.only(top: 40, bottom: 20),\n child: Row(\n children: [\n Padding(\n padding: const EdgeInsets.symmetric(horizontal: 16.0),\n child: ClipOval(\n // 如果已登录,则显示用户头像;若未登录,则显示默认头像\n child: value.isLogin\n ? gmAvatar(value.user.avatar_url, width: 80)\n : Image.asset(\n \"imgs/avatar-default.png\",\n width: 80,\n ),\n ),\n ),\n Text(\n value.isLogin\n ? value.user.login\n : GmLocalizations.of(context).login,\n style: TextStyle(\n fontWeight: FontWeight.bold,\n color: Colors.white,\n ),\n )\n ],\n ),\n ),\n onTap: () {\n if (!value.isLogin) Navigator.of(context).pushNamed(\"login\");\n },\n );\n },\n );\n }\n\n // 构建菜单项\n Widget _buildMenus() {\n return Consumer(\n builder: (BuildContext context, UserModel userModel, Widget child) {\n var gm = GmLocalizations.of(context);\n return ListView(\n children: [\n ListTile(\n leading: const Icon(Icons.color_lens),\n title: Text(gm.theme),\n onTap: () => Navigator.pushNamed(context, \"themes\"),\n ),\n ListTile(\n leading: const Icon(Icons.language),\n title: Text(gm.language),\n onTap: () => Navigator.pushNamed(context, \"language\"),\n ),\n if(userModel.isLogin) ListTile(\n leading: const Icon(Icons.power_settings_new),\n title: Text(gm.logout),\n onTap: () {\n showDialog(\n context: context,\n builder: (ctx) {\n //退出账号前先弹二次确认窗\n return AlertDialog(\n content: Text(gm.logoutTip),\n actions: [\n FlatButton(\n child: Text(gm.cancel),\n onPressed: () => Navigator.pop(context),\n ),\n FlatButton(\n child: Text(gm.yes),\n onPressed: () {\n //该赋值语句会触发MaterialApp rebuild\n userModel.user = null;\n Navigator.pop(context);\n },\n ),\n ],\n );\n },\n );\n },\n ),\n ],\n );\n },\n );\n }\n}\n\n用户点击”注销“,userModel.user 会被置空,此时所有依赖userModel的组件都会被rebuild,如主页会恢复成未登录的状态。\n本小节我们介绍了APP入口MaterialApp的一些配置,然后实现了APP的首页。后面我们将展示登录页、换肤页、语言切换页。\n"},"chapter15/login_page.html":{"url":"chapter15/login_page.html","title":"15.7:登录页","keywords":"","body":"15.7 登录页\n我们说过Github有多种登录方式,为了简单起见,我们只实现通过用户名和密码登录。在实现登录页时有四点需要注意:\n\n可以自动填充上次登录的用户名(如果有)。\n为了防止密码输入错误,密码框应该有开关可以看明文。\n用户名或密码字段在调用登录接口前有本地合法性校验(比如不能为空)。\n登录成功后需更新用户信息。\n\n实现代码如下:\nimport '../index.dart';\n\nclass LoginRoute extends StatefulWidget {\n @override\n _LoginRouteState createState() => _LoginRouteState();\n}\n\nclass _LoginRouteState extends State {\n TextEditingController _unameController = new TextEditingController();\n TextEditingController _pwdController = new TextEditingController();\n bool pwdShow = false; //密码是否显示明文\n GlobalKey _formKey = new GlobalKey();\n bool _nameAutoFocus = true;\n\n @override\n void initState() {\n // 自动填充上次登录的用户名,填充后将焦点定位到密码输入框\n _unameController.text = Global.profile.lastLogin;\n if (_unameController.text != null) {\n _nameAutoFocus = false;\n }\n super.initState();\n }\n\n @override\n Widget build(BuildContext context) {\n var gm = GmLocalizations.of(context);\n return Scaffold(\n appBar: AppBar(title: Text(gm.login)),\n body: Padding(\n padding: const EdgeInsets.all(16.0),\n child: Form(\n key: _formKey,\n autovalidate: true,\n child: Column(\n children: [\n TextFormField(\n autofocus: _nameAutoFocus,\n controller: _unameController,\n decoration: InputDecoration(\n labelText: gm.userName,\n hintText: gm.userNameOrEmail,\n prefixIcon: Icon(Icons.person),\n ),\n // 校验用户名(不能为空)\n validator: (v) {\n return v.trim().isNotEmpty ? null : gm.userNameRequired;\n }),\n TextFormField(\n controller: _pwdController,\n autofocus: !_nameAutoFocus,\n decoration: InputDecoration(\n labelText: gm.password,\n hintText: gm.password,\n prefixIcon: Icon(Icons.lock),\n suffixIcon: IconButton(\n icon: Icon(\n pwdShow ? Icons.visibility_off : Icons.visibility),\n onPressed: () {\n setState(() {\n pwdShow = !pwdShow;\n });\n },\n )),\n obscureText: !pwdShow,\n //校验密码(不能为空)\n validator: (v) {\n return v.trim().isNotEmpty ? null : gm.passwordRequired;\n },\n ),\n Padding(\n padding: const EdgeInsets.only(top: 25),\n child: ConstrainedBox(\n constraints: BoxConstraints.expand(height: 55.0),\n child: RaisedButton(\n color: Theme.of(context).primaryColor,\n onPressed: _onLogin,\n textColor: Colors.white,\n child: Text(gm.login),\n ),\n ),\n ),\n ],\n ),\n ),\n ),\n );\n }\n\n void _onLogin() async {\n // 提交前,先验证各个表单字段是否合法\n if ((_formKey.currentState as FormState).validate()) {\n showLoading(context);\n User user;\n try {\n user = await Git(context).login(_unameController.text, _pwdController.text);\n // 因为登录页返回后,首页会build,所以我们传false,更新user后不触发更新\n Provider.of(context, listen: false).user = user;\n } catch (e) {\n //登录失败则提示\n if (e.response?.statusCode == 401) {\n showToast(GmLocalizations.of(context).userNameOrPasswordWrong);\n } else {\n showToast(e.toString());\n }\n } finally {\n // 隐藏loading框\n Navigator.of(context).pop();\n }\n if (user != null) {\n // 返回\n Navigator.of(context).pop();\n }\n }\n }\n}\n\n代码很简单,关键地方都有注释,不再赘述,下面我们看一下运行效果,如图15-5所示。\n\n"},"chapter15/language_and_theme_setting.html":{"url":"chapter15/language_and_theme_setting.html","title":"15.8:多语言和多主题","keywords":"","body":"15.8 多语言和多主题\n本实例APP中语言和主题都是可以设置的,而两者都是通过ChangeNotifierProvider来实现的:我们在main函数中使用了Consumer2,依赖了ThemeModel和LocaleModel,因此,当我们在语言和主题设置页更该当前的配置后,Consumer2的builder都会重新执行,构建一个新的MaterialApp,所以修改会立即生效。下面看一下语言和主题设置页的实现。\n15.8.1 语言选择页\nAPP语言选择页提供三个选项:中文简体、美国英语、跟随系统。我们将当前APP使用的语言高亮显示,并且在后面添加一个”对号“图标,实现如下:\nclass LanguageRoute extends StatelessWidget {\n @override\n Widget build(BuildContext context) {\n var color = Theme.of(context).primaryColor;\n var localeModel = Provider.of(context);\n var gm = GmLocalizations.of(context);\n //构建语言选择项\n Widget _buildLanguageItem(String lan, value) {\n return ListTile(\n title: Text(\n lan,\n // 对APP当前语言进行高亮显示\n style: TextStyle(color: localeModel.locale == value ? color : null),\n ),\n trailing:\n localeModel.locale == value ? Icon(Icons.done, color: color) : null,\n onTap: () {\n // 更新locale后MaterialApp会重新build\n localeModel.locale = value;\n },\n );\n }\n\n return Scaffold(\n appBar: AppBar(\n title: Text(gm.language),\n ),\n body: ListView(\n children: [\n _buildLanguageItem(\"中文简体\", \"zh_CN\"),\n _buildLanguageItem(\"English\", \"en_US\"),\n _buildLanguageItem(gm.auto, null),\n ],\n ),\n );\n }\n}\n\n上面代码逻辑很简单,唯一需要注意的是我们在build(…)方法里面定义了_buildLanguageItem(…)方法,它和在LanguageRoute类中定义该方法的区别就在于:在build(…)内定义的方法可以共享build(...)方法上下文中的变量,本例中是共享了localeModel。当然,如果_buildLanguageItem(…)的实现复杂一些的话不建议这样做,此时最好是将其作为LanguageRoute类的方法。该页面运行效果如图15-6、15-7所示:\n\n切换语言后立即生效。\n15.8.2 主题选择页\n一个完整的主题Theme包括很多选项,这些选项在ThemeData中定义。本实例为了简单起见,我们只配置主题颜色。我们提供几种默认预定义的主题色供用户选择,用户点击一种色块后则更新主题。主题选择页的实现代码如下:\nclass ThemeChangeRoute extends StatelessWidget{\n @override\n Widget build(BuildContext context) {\n return Scaffold(\n appBar: AppBar(\n title: Text(GmLocalizations.of(context).theme),\n ),\n body: ListView( //显示主题色块\n children: Global.themes.map((e) {\n return GestureDetector(\n child: Padding(\n padding: const EdgeInsets.symmetric(vertical: 5, horizontal: 16),\n child: Container(\n color: e,\n height: 40,\n ),\n ),\n onTap: () {\n //主题更新后,MaterialApp会重新build\n Provider.of(context).theme = e;\n },\n );\n }).toList(),\n ),\n );\n }\n}\n\n运行效果如图15-8所示:\n\n点击其它主题色块后,APP主题色立马切换生效。\n"}}} \ No newline at end of file diff --git a/_book/search_plus_index.json b/_book/search_plus_index.json index 0a702cfe..a425932b 100644 --- a/_book/search_plus_index.json +++ b/_book/search_plus_index.json @@ -1 +1 @@ -{"./":{"url":"./","title":"缘起","keywords":"","body":" 简介 本书是第一本系统介绍Flutter技术的中文书籍,它是Flutter中文社区发起的开源项目之一,旨在帮助开发者入门,系统地、循序渐进的了解Flutter。 本书官网访问量较大,由于服务器配置有限,所以某些时段访问本站可能略有延迟,如果延迟较久,读者可以直接在Github上阅读本书。 关于作者 作者wendux,高级技术专家(前端方向)、掘金知名专栏作者、Flutter中文网发起人、Flutter中文社区开源项目发起人;Github社区知名开发者,是dio、fly、dsBridge等多个知名开源项目作者。曾就职于百度、小赢科技等互联网公司,从事过PC桌面开发、移动端开发以及Web开发,负责过多次核心技术攻关,现就职于字节跳动业务团队,目前闲暇时,主要关注大前端行业发展。 广告:长期招聘前端、移动端高工,有意者请发简历到duwen32767@163.com 或加微信Demons-du,期待和你做同事! 缘起 在全球,随着Flutter被越来越多的知名公司应用在自己的商业APP中,Flutter这门新技术也逐渐进入了移动开发者的视野,尤其是当Google在2018年IO大会上发布了第一个Preview版本后,国内刮起来一股学习Flutter的热潮。 在Flutter发布之初,当时,我在看完Flutter原理介绍后,就对它产生了浓厚的兴趣。当时笔者身边也一些人比较关注Flutter,我也被经常问到关于Flutter的一些问题,比如Flutter怎么样?和RN有什么区别?Flutter为什么要用Dart?当时也听到了一些批评的声音,比如有些人说Flutter只是重复造轮子,没啥亮点、Flutter最大的缺点就是使用了Dart语言等。在听到这些问题及论调后,我深知这是对Flutter的不了解而造成的,这和当时国内缺乏Flutter中文文档和教程有直接关系,很多人对Flutter的了解都只停留在Google的发布会介绍(有中文翻译)。 在笔者深入的了解Flutter后,深知Flutter必将是一个会改变移动开发格局的里程碑级作品,它从设计之初就对性能和开发效率兼顾,并且借鉴了React(一个Web开发框架)的响应式的UI框架设计思想等,总之,很难用一两句话说完Flutter的优点,同时我也很快成为了Flutter的路转粉。 为了更好的帮助中国开发者了解这门新技术,我在2018年初开始翻译Flutter官网文档,同年4月份上线了Flutter中文网,上线后反响很强烈,Flutter中文网也很快被传播开,百度搜索排名迅速蹿升到前三,截止目前,Flutter中文官网日PV在7万左右,每日独立访问人数近一万多。 虽然Flutter中文网给中国开发者提供了很好的第一手了解Flutter的资料,但是笔者还会经常遇到一些对Flutter技术处于围观而不愿尝试的开发者。这主要是因为当时Flutter在国内没有成功案例,再加上新技术都有学习成本,所以即使有文档,也会有一些开发者犹豫是否来学习。为了解决这部分开发者的疑虑,我就想如果能用Flutter开发一个完整的APP发布到应用商店,这样开发者就可以在犹豫的时候可以先实际感受一下Flutter应用,这样有个直观的了解后,就会容易做出判断,为此,我开发了Gitme,它是一个Github客户端,它支持了源码浏览、Issue、Label等Github的大多数功能,到目前为止,通过Gitme登录过Github账号的用户有8000多人,日活用户有1000人。更重要的是,有很多人正是用了Gitme后,才来学Flutter的。 无论是做Flutter中文网,还是写Gitme,主要目标都是帮助开发者学习Flutter,同时消除围观开发者疑虑。但当开发者们真正开始动手时,Flutter的生态问题就变得尤为突出。由于在2018年初Flutter刚起步时,很多基础的包和库都是空白,少数已有的一些库也大都是预览版(未到1.0),存在很多bug。这个状况不是一两个人花一两天能搞定的,这是需要聚整个Flutter开发者社群之力,耗费数年时间才可能有所改善。因此,在2018年4月份,我以Flutter中文网名义发起了Flutter开源计划,该计划主要是开发一些常用的包来丰富Flutter生态,帮助开发者提高开发效率。自在github建立Flutter中文开发者社区账号以来,前后开源了dio、cookieJar、flukit等多个项目,而dio在开源两周后,就迅速成为Flutter第三方包中Star排名第一的开源库。 虽然做的事情已经够多了,但是仍有一些很有必要去做的事情,由于时间原因,一直被搁置。 随着学习Flutter的人越来越多,一部分开发者通过查看官网的文档就能入门,但也有很多开发者感觉学习时仍然有些吃力,主要原因有两个,首先官网的文档主要是为了引导开发者快速上手的,讲的并不是很细;其次是我们虽然翻译了官方文档,但是对于Flutter SDK文档并没有翻译,而在开发中遇到的一些具体问题通常都得去查看SDK文档。所以,要解决这两个问题,必须得有一个系统化的Flutter教程,它不仅可以快速引导开发者入门,而且也能触及到一些细节和原理,最好也能提供一些学习和研究Flutter的方法。因此,如果能有一本能系统地介绍Flutter的书籍便是便是非常棒的!但是,当时没有一本关于Flutter的中文书籍,因此,我便计划写一本能由浅入深、系统介绍Flutter的书。2018年12月,《Flutter实战》完成初稿,并在Github上开源,同时上线了《Flutter实战》电子书官网 ,至今每天有3000多人在线浏览本书。那为什么不直接出版?如果直接出版,不仅有稿费,而且也能保护知识产权,而直接开源,不就就只能当雷锋了?其实,无论是做中文网、写Gitme、做Flutter开源项目,我的出发点都是为了能帮助中国开发者了解、学习Flutter,而这是一件非常有意义的事,只要坚持做对别人有价值的事,那么上帝迟早会奖赏你;当然我们也在网站中留了打赏的按钮,如果读者觉得有帮助,可以扫码打赏,请笔者喝一杯咖啡。另外由于成书比较仓促,当时书中也有很多错误,开源后,有很多读者提PR来纠正书中的错别字,时至今日,有78名开发者为本书提过PR,我在此,衷心的感谢你们。 起初,我没有出版实体书的打算,当时我以为开发者直接通过在线访问本书官网即方便又不用付费,何乐而不为。但在本书上线后,很多读者来添加微信好友,表示非常有收益,很期待出版纸质书,甚至有比较热心的读者想提前付定金预定!我理解,这是大家对我所做之事的认可和鼓励。考虑到,确实有一部分读者,尤其是还没毕业的同学,可能更喜欢通过书籍去学习,为此,我已经和机械工业出版社合作,目前本书纸质版正在出版中,敬请关注。 本书特色 笔者在大学时读过候捷(真名侯俊杰)写的一些C++相关书籍,在他的《深入浅出MFC》一书中,有一句话我映像非常深 “唯有深入,方能浅出”。我非常认同这句话,对于一门技术,只有了解的深入,才能用最浅显、通俗的话语描述出。我在写作本书时,深入浅出就是一个主要目标。所以,本书的目标不仅是想告诉读者如何使用Flutter,而且也非常关注各个知识点的底层实现以及设计思想。从本书章节划分上来看,入门篇为“浅出”,进阶篇则是“深入”。另外由于PC客户端开发、移动开发、Web开发这些经验我都有,而Flutter本质上是一个UI系统,而UI系统的设计和实现在”大前端“下有很多相通之处,所以在本书中的一些知识点我也会对比一些其他UI系统(主要是Android或Web)相应的实现,便于有相关开发经验的读者对比理解。 本书读者对象 读者至少熟悉一种编程语言。 读者最好接触过PC客户端、移动开发或Web前端开发中的一种。 本书不适合做为编程的入门读物。 关于随书源码 由于篇幅所限,本书中大多数示例代码都只是部分核心代码,读者可以去这里查看下载。 致谢 感谢一直以来支持Flutter中文网、Flutter开源项目的人以及所有对本书提过PR的人,正是因为有你们,才有这本书。另外尤其感谢给本书打赏过的同学,你们的支持给了我很大的鼓励。 权益 最后,知识是应该付费的,创作不易,开源不等于免费,如果您是本书读者并手头宽裕,可以点击下面打赏按钮打赏;当然,如果您囊中羞涩,您也可以阅读本书,但我对您有个小小的要求,希望您在阅读的过程中能积极参与到本书的纠错以及未完成内容的创作上来,也算是有所付出。 近来在网上发现很多原封不动复制本书的镜像网站和大量复制或引用了本书但未注明出处的博客、文章甚至书籍;对此,笔者在此声明,本书著作权归wendux所有,任何组织或个人在未经授权的情况下复制、拷贝、抄袭本书用于商业目的,笔者保留追究其法律责任的权利。如果是非商业目的的转载和引用,请注明出处并附上本书网址。另外如有出版机构愿意为本书出版实体书或者想转载本书内容,亦或是想合作,请加微信Demons-du. 最后 如果您发现本书中的错误,欢迎点击右上角的”编辑按钮“,提PR。如果您想一起参与本书创作,可以参考《Flutter实战》贡献指南。 "},"chapter1/":{"url":"chapter1/","title":"第一章:起步","keywords":"","body":"本章目录 移动开发技术简介 Flutter简介 搭建Flutter开发环境 Dart语言简介 "},"chapter1/mobile_development_intro.html":{"url":"chapter1/mobile_development_intro.html","title":"1.1:移动开发技术简介","keywords":"","body":"1.1 移动开发技术简介 本节将主要介绍一下移动开发技术的进化历程,主要是想让读者知道Flutter技术出现的背景。笔者认为,了解一门新技术出现的背景是非常重要的,因为只有了解之前是什么样的,才能理解为什么会是现在这样。 1.1.1 原生开发与跨平台技术 原生开发 原生应用程序是指某一个移动平台(比如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) 在接下来的章节中我们逐个来看看这三类框架的原理及优缺点。 1.1.2 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不堪重任。 1.1.3 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(Domain Specific Language) 语法是基于 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(Just In Time),执行效率和AOT(Ahead Of Time)代码仍有差距。 由于渲染依赖原生控件,不同平台的控件需要单独维护,并且当系统更新时,社区控件可能会滞后;除此之外,其控件系统也会受到原生UI系统限制,例如,在Android中,手势冲突消歧规则是固定的,这在使用不同人写的控件嵌套时,手势冲突问题将会变得非常棘手。 1.1.4 QT Mobile 在本篇中,我们看看最后一种跨平台技术:自绘UI+原生。这种技术的思路是,通过在不同平台实现一个统一接口的渲染引擎来绘制UI,而不依赖系统原生控件,所以可以做到不同平台UI的一致性。注意,自绘引擎解决的是UI的跨平台问题,如果涉及其它系统能力调用,依然要涉及原生开发。这种平台技术的优点如下: 性能高;由于自绘引擎是直接调用系统API来绘制UI,所以性能和原生控件接近。 灵活、组件库易维护、UI外观保真度和一致性高;由于UI渲染不依赖原生控件,也就不需要根据不同平台的控件单独维护一套组件库,所以代码容易维护。由于组件库是同一套代码、同一个渲染引擎,所以在不同平台,组件显示外观可以做到高保真和高一致性;另外,由于不依赖原生控件,也就不会受原生布局系统的限制,这样布局系统会非常灵活。 不足: 动态性不足;为了保证UI绘制性能,自绘UI系统一般都会采用AOT模式编译其发布包,所以应用发布后,不能像Hybrid和RN那些使用JavaScript(JIT)作为开发语言的框架那样动态下发代码。 开发效率低:QT使用C++作为其开发语言,而编程需要效率是直接会影响APP开发效率的,C++作为一门静态语言,在UI开发方面灵活性不及JavaScript这样的动态语言,另外,C++需要开发者手动去管理内存分配,没有JavaScript及Java中垃圾回收(GC)的机制。 也许你已经猜到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是移动端开发跨平台自绘引擎的先驱,但却成为了烈士。 1.1.5 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。而今天(2019年5月29日),已经有65K的Star。经历了短短2年多的时间,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未来如何,心中自有定论。到现在为止,我们已经对移动端开发技术有了一个全面的了解,接下来我们便要进入本书的主题,你准备好了吗! 1.1.6 小节 本章主要介绍了目前移动开发中三种跨平台技术,现在我们从框架角度对比一下: 技术类型 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":"1.2:初识Flutter","keywords":"","body":"1.2 初识Flutter 1.2.1 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作为其绘图引擎。 高性能 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细节的了解,再回过头来看,相信你会有更深的体会。 1.2.2 Flutter框架结构 本节我们先对Flutter的框架做一个整体介绍,旨在让读者心中有一个整体的印象,这对初学者来说非常重要。如果一下子便深入到Flutter中,就会像是一个在沙漠中没有地图的人,即使可以找到一个绿洲,但是他也不会知道下一个绿洲在哪。因此,无论学什么技术,都要现有一张清晰的“地图”,而我们的学习过程就是“按图索骥”,这样我们才不会陷于细节而“目无全牛”。言归正传,我们看一下Flutter官方提供的Flutter框架图,如图1-1所示: 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。 1.2.3 如何学习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相关的文章、博客,读者可以多去浏览、阅读。 总结 有了资料和社区后,对于我们学习者自身来说,最重要的还是要多动手、多实践,在本书后面的章节中,希望读者能够亲自动手写一下示例。准备好了吗,下一章中,我们将正式进入Flutter的世界! "},"chapter1/install_flutter.html":{"url":"chapter1/install_flutter.html","title":"1.3:搭建Flutter开发环境","keywords":"","body":"1.3 搭建Flutter开发环境 工欲善其事必先利其器,本节首先会分别介绍一下在Windows和macOS下Flutter SDK的安装,然后再介绍一下配IDE和模拟器的使用。 1.3.1 安装Flutter 由于Flutter会同时构建Android和IOS两个平台的发布包,所以Flutter同时依赖Android SDK和iOS SDK,在安装Flutter时也需要安装相应平台的构建工具和SDK。下面我们分别介绍一下Windows和macOS下的环境搭建。 注意:本节介绍的安装方式随着Flutter的升级可能会发生变化,如果下面介绍的内容在您安装Flutter时已经失效,请访问Flutter官网,按照官网最新的安装教程安装。 使用镜像 由于在国内访问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/,打开后如图1-2所示: 注意,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、stable,其中stable分支为稳定分支(日后有新的稳定版本发布后可能也会有新的稳定分支,如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 获取项目所有依赖包的最新版本。 1.3.2 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工具栏,如图1-3所示: 在 target selector 中, 选择一个运行该应用的Android设备。如果没有列出可用,请选择 Tools>Android>AVD Manager 并在那里创建一个。 在工具栏中点击 Run图标。 如果一切正常, 您应该在您的设备或模拟器上会看到启动的应用程序: 体验热重载 Flutter 可以通过 热重载(hot reload) 实现快速的开发周期,热重载就是无需重启应用程序就能实时加载修改后的代码,并且不会丢失状态。简单的对代码进行更改,然后告诉IDE或命令行工具你需要重新加载(点击reload按钮),你就会在你的设备或模拟器上看到更改。 打开lib/main.dart文件 将字符串 'You have pushed the button this many times:' 更改为 'You have clicked the button this many times:' 不要按“停止”按钮; 让您的应用继续运行. 要查更改,请调用 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), 或者点击 热重载按钮 (绿色圆形箭头按钮)。 你会立即在运行的应用程序中看到更新的字符串。 1.3.3 连接设备运行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,如图1-5: 任何Apple ID都支持开发和测试,但若想将应用分发到App Store,就必须注册Apple开发者计划,有关详情读者可以自行了解。 当您第一次attach真机设备进行iOS开发时,需要同时信任你的Mac和该设备上的开发证书。首次将iOS设备连接到Mac时,请在对话框中选择 Trust。 然后,转到iOS设备上的设置菜单,选择 常规>设备管理 并信任您的证书。 如果Xcode中的自动签名失败,请验证项目的 General > Identity > Bundle Identifier 值是否唯一,如图1-7所示: 运行 flutter run启动flutter应用程序。 1.3.4 常见配置问题 Android Studio问题 缺少依赖库问题 上手安卓最常遇见的问题之一,错误如图1-8所示,此时点击超链接即可自动跳转到安装页面 安装之后重新运行即可,如图1-9: 连接不上Android Repository 这也是最常见的问题之一,当你发现自己无法下载部分依赖的时候,请优先考虑这种情况。进入 File -> Settings -> Appearance & Behavior -> System Settings -> Android SDK -> SDK Update Sites 列表,可以看到此时的 Android Repository 无法连接,如图1-10所示: 这是由于要去Google下载Android SDK,但在国内目前无法访问Google所致,因此,我们可以配置代理或使用vpn。 安卓包配置问题 一般格式为 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() maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' } //添加这一句 } } 进入 File/ Settings/ Build, Execution, Deployment/ BuildTools/ Gradle/ Android Studio 中,勾选上 Enable embedded Maven repository ,重启 Android Studio 即可解决。 注意:存在这样的一种情况,当你根据上述步骤设置了之后,依旧无法解决这个问题,并有类似于 Could not HEAD maven.aliyun.com 的报错信息,请检查 C:\\Users\\{user_name}\\.gradle\\gradle.properties 是否有设置代理。删除后问题即可解决。 Hot Reload 热重载失效问题 在给 Terminal 之类的终端模拟器设置代理之后,会导致”Hot Reload“重载失效,此时调用 Save (cmd-s / ctrl-s)将不会进行热重载,热重载按钮 (带有闪电⚡️图标的按钮)也不会显示,将代理移除即可解决。 另外,有些情况下热重载是不生效的,比如修改了main函数、修改了全局静态方法等,读者可以认为”Hot Reload“只会重新构建整个widget树,如果变动不在构建widget树的过程中,”Hot Reload“就不会起作用。 "},"chapter1/dart.html":{"url":"chapter1/dart.html","title":"1.4:Dart语言简介","keywords":"","body":"1.4 Dart语言简介 在之前我们已经介绍过Dart语言的相关特性,读者可以翻看一下,如果读者已经熟悉Dart语法,可以跳过本节,如果你还不了解Dart,也不用担心,按照笔者经验,如果你有过其他编程语言经验(尤其是Java和JavaScript)的话会非常容易上手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语法。 1.4.1 变量声明 var 类似于JavaScript中的var,它可以接收任何类型的变量,但最大的不同是Dart中var变量一旦赋值,类型便会确定,则不能再改变其类型,如: var t; t = \"hi world\"; // 下面代码在dart中会报错,因为变量t的类型已经确定为String, // 类型一旦确定后则不能再更改其类型。 t = 1000; 上面的代码在JavaScript是没有问题的,前端开发者需要注意一下,之所以有此差异是因为Dart本身是一个强类型语言,任何变量都是有确定类型的,在Dart中,当用var声明一个变量后,Dart在编译时会根据第一次赋值数据的类型来推断其类型,编译结束后其类型就已经被确定,而JavaScript是纯粹的弱类型脚本语言,var只是变量的声明方式而已。 dynamic和Object Object 是Dart所有对象的根基类,也就是说所有类型都是Object的子类(包括Function和Null),所以任何类型的数据都可以赋值给Object声明的对象. dynamic与var一样都是关键词,声明的变量可以赋值任意对象。 而dynamic与Object相同之处在于,他们声明的变量可以在后期改变赋值类型。 dynamic t; Object x; t = \"hi world\"; x = 'Hello Object'; //下面代码没有问题 t = 1000; x = 1000; dynamic与Object不同的是,dynamic声明的对象编译器会提供所有可能的组合, 而Object声明的对象只能使用Object的属性与方法, 否则编译器会报错。如: dynamic a; Object b; main() { a = \"\"; b = \"\"; printLengths(); } printLengths() { // no warning print(a.length); // warning: // The getter 'length' is not defined for the class 'Object' print(b.length); } 变量a不会报错, 变量b编译器会报错 dynamic的这个特性与Objective-C中的id作用很像. 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\"; 1.4.2 函数 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中使用非常多。 1.4.3 异步支持 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)的调用链。 1.4.4 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来实现一个订阅者模式的事件总线? 1.4.5 Dart和Java及JavaScript对比 通过上面介绍,相信你对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(目前只停留在Lambda表达式),而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":"2.1:计数器示例","keywords":"","body":"2.1 计数器应用示例 用Android Studio和VS Code创建的Flutter应用模板默认是一个简单的计数器示例。本节先仔细讲解一下这个计数器Demo的源码,让读者对Flutter应用程序结构有个基本了解,然后在随后的小节中将会基于此示例,一步一步添加一些新的功能来介绍Flutter应用的其它概念与技术。 对于接下来的示例,希望读者可以跟着笔者一起亲自动手来写一下,这样不仅可以加深印象,而且也会对介绍的概念与技术有一个真切的体会。如果你还不是很熟悉Dart语言或者没有移动开发经验,不用担心,只要你熟悉面向对象和基本编程概念(如变量、循环和条件控制),则可以完成本示例。 2.1.1 创建Flutter应用模板 通过Android Studio或VS Code创建一个新的Flutter工程,命名为\"first_flutter_app\"。创建好后,就会得到一个计数器应用的Demo。 注意,默认Demo示例可能随着编辑器Flutter插件的版本变化而变化,本例中会介绍计数器示例的全部代码,所以不会对本示例产生影响。 我们先运行创建的工程,效果如图2-1所示: 该计数器示例中,每点击一次右下角带“+”号的悬浮按钮,屏幕中央的数字就会加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(MyApp()); 与C/C++、Java类似,Flutter 应用中main函数为应用程序的入口。main函数中调用了runApp 方法,它的功能是启动Flutter应用。runApp它接受一个Widget参数,在本示例中它是一个MyApp对象,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)等,它们嗾使以widget的形式提供。 Flutter在构建页面时,会调用组件的build方法,widget的主要工作是提供一个build()方法来描述如何构建UI界面(通常是通过组合、拼装其它基础widget)。 MaterialApp 是Material库中提供的Flutter APP框架,通过它可以设置应用的名称、主题、语言、首页及路由列表等。MaterialApp也是一个widget。 Scaffold 是Material库中提供的页面脚手架,它包含导航栏和Body以及FloatingActionButton(如果需要的话)。 本书后面示例中,路由默认都是通过Scaffold创建。 home 为Flutter应用的首页,它也是一个widget。 2.1.2 首页 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 是Flutter应用的首页,它继承自StatefulWidget类,表示它是一个有状态的组件(Stateful widget)。关于Stateful widget我们将在第三章”Widget简介“一节自习介绍,现在我们只需简单认为有状态的组件(Stateful widget) 和无状态的组件(Stateless widget)有两点不同: Stateful widget可以拥有状态,这些状态在widget生命周期中是可以变的,而Stateless widget是不可变的。 Stateful widget至少由两个类组成: 一个StatefulWidget类。 一个 State类; StatefulWidget类本身是不变的,但是State类中持有的状态在widget生命周期中可能会发生变化。 _MyHomePageState类是MyHomePage类对应的状态类。看到这里,读者可能已经发现:和MyApp 类不同, MyHomePage类中并没有build方法,取而代之的是,build方法被挪到了_MyHomePageState方法中,至于为什么这么做,先留个疑问,在分析完完整代码后再来解答。 State类 接下来,我们看看_MyHomePageState中都包含哪些东西: 该组件的状态。由于我们只需要维护一个点击次数计数器,所以定义一个_counter状态: 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树(后同”组件树“或”部件树“)的body属性。组件树可以很复杂。 body的组件树中包含了一个Center 组件,Center 可以将其子组件树对齐到屏幕中心。此例中, Center 子组件是一个Column 组件,Column的作用是将其所有子组件沿屏幕垂直方向依次排列; 此例中Column子组件是两个 Text,第一个Text 显示固定文本 “You have pushed the button this many times:”,第二个Text 显示_counter状态的数值。 floatingActionButton是页面右下角的带“+”的悬浮按钮,它的onPressed属性接受一个回调函数,代表它被点击后的处理器,本例中直接将_incrementCounter方法作为其处理函数。 现在,我们将整个计数器执行流程串起来:当右下角的floatingActionButton按钮被点击之后,会调用_incrementCounter方法。在_incrementCounter方法中,首先会自增_counter计数器(状态),然后setState会通知Flutter框架状态发生变化,接着,Flutter框架会调用build方法以新的状态重新构建UI,最终显示在设备屏幕上。 为什么要将build方法放在State中,而不是放在StatefulWidget中? 现在,我们回答之前提出的问题,为什么build()方法房在State(而不是StatefulWidget)中 ?这主要是为了提高开发的灵活性。如果将build()方法在StatefulWidget中则会有两个问题: 状态访问不便 试想一下,如果我们的StatefulWidget有很多状态,而每次状态改变都要调用build方法,由于状态是保存在State中的,如果build方法在StatefulWidget中,那么build方法和状态分别在两个类中,那么构建时读取状态将会很不方便!试想一下,如果真的将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":"2.2:路由管理","keywords":"","body":"2.2 路由管理 路由(Route)在移动开发中通常指页面(Page),这跟web开发中单页应用的Route概念意义是相同的,Route在Android中通常指一个Activity,在iOS中指一个ViewController。所谓路由管理,就是管理页面之间如何跳转,通常也可被称为导航管理。Flutter中的路由管理和原生开发类似,无论是Android还是iOS,导航管理都会维护一个路由栈,路由入栈(push)操作对应打开一个新页面,路由出栈(pop)操作对应页面关闭操作,而路由管理主要是指如何来管理路由栈。 2.2.1 一个简单示例 我们在上一节“计数器”示例的基础上,做如下修改: 创建一个新路由,命名“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, MaterialPageRoute(builder: (context) { return NewRoute(); })); }, ), ], ) 我们添加了一个打开新路由的按钮,并将按钮文字颜色设置为蓝色,点击该按钮后就会打开新的路由页面,效果如图2-2和2-3所示。 2.2.2 MaterialPageRoute MaterialPageRoute继承自PageRoute类,PageRoute类是一个抽象类,表示占有整个屏幕空间的一个模态路由页面,它还定义了路由构建及切换时过渡动画的相关接口及属性。MaterialPageRoute 是Material组件库提供的组件,它可以针对不同平台,实现与平台页面切换动画风格一致的路由切换动画: 对于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来实现,我们将在后面介绍动画时,实现一个自定义的路由组件。 2.2.3 Navigator Navigator是一个路由管理的组件,它提供了打开和退出路由页方法。Navigator通过一个栈来管理活动路由集合。通常当前屏幕显示的页面就是栈顶的路由。Navigator提供了一系列方法来管理路由栈,在此我们只介绍其最常用的两个方法: Future push(BuildContext context, Route route) 将给定的路由入栈(即打开新的页面),返回值是一个Future对象,用以接收新路由出栈(即关闭)时的返回数据。 bool pop(BuildContext context, [ result ]) 将栈顶路由出栈,result为页面关闭时返回给上一个页面的数据。 Navigator 还有很多其它方法,如Navigator.replace、Navigator.popUntil等,详情请参考API文档或SDK源码注释,在此不再赘述。下面我们还需要介绍一下路由相关的另一个概念“命名路由”。 实例方法 Navigator类中第一个参数为context的静态方法都对应一个Navigator的实例方法, 比如Navigator.push(BuildContext context, Route route)等价于Navigator.of(context).push(Route route) ,下面命名路由相关的方法也是一样的。 2.2.4 路由传值 很多时候,在路由跳转时我们需要带一些参数,比如打开商品详情页时,我们需要带一个商品id,这样商品详情页才知道展示哪个商品信息;又比如我们在填写订单时需要选择收获地址,打开地址选择页后,可以将用户选择的地址返回到订单页等等。下面我们通过一个简单的示例来演示新旧路由如何传参。 示例 我们创建一个TipRoute路由,它接受一个提示文本参数,负责将传入它的文本显示在页面上,另外TipRoute中我们添加一个“返回”按钮,点击后在返回上一个路由的同时会带上一个返回参数,下面我们看一下实现代码。 TipRoute实现代码: class TipRoute extends StatelessWidget { TipRoute({ Key key, @required this.text, // 接收一个text参数 }) : super(key: key); final String text; @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text(\"提示\"), ), body: Padding( padding: EdgeInsets.all(18), child: Center( child: Column( children: [ Text(text), RaisedButton( onPressed: () => Navigator.pop(context, \"我是返回值\"), child: Text(\"返回\"), ) ], ), ), ), ); } } 下面是打开新路由TipRoute的代码: class RouterTestRoute extends StatelessWidget { @override Widget build(BuildContext context) { return Center( child: RaisedButton( onPressed: () async { // 打开`TipRoute`,并等待返回结果 var result = await Navigator.push( context, MaterialPageRoute( builder: (context) { return TipRoute( // 路由参数 text: \"我是提示xxxx\", ); }, ), ); //输出`TipRoute`路由返回结果 print(\"路由返回值: $result\"); }, child: Text(\"打开提示页\"), ), ); } } 运行上面代码,点击RouterTestRoute页的”打开提示页“按钮,会打开TipRoute页,运行效果如图2-4所示下: 需要说明: 提示文案”我是提示xxxx“是通过TipRoute的text参数传递给新路由页的。我们可以通过等待Navigator.push(…)返回的Future来获取新路由的返回数据。 在TipRoute页中有两种方式可以返回到上一页;第一种方式时直接点击导航栏返回箭头,第二种方式是点击页面中的”返回“按钮。这两种返回方式的区别是前者不会返回数据给上一个路由,而后者会。下面是分别点击页面中的返回按钮和导航栏返回箭头后,RouterTestRoute页中print方法在控制台输出的内容: I/flutter (27896): 路由返回值: 我是返回值 I/flutter (27896): 路由返回值: null 上面介绍的是非命名路由的传值方式,命名路由的传值方式会有所不同,我们会在下面介绍命名路由时介绍。 2.2.5 命名路由 所谓”命名路由“(Named Route)即有名字的路由,我们可以先给路由起一个名字,然后就可以通过路由名字直接打开新的路由了,这为路由管理带来了一种直观、简单的方式。 路由表 要想使用命名路由,我们必须先提供并注册一个路由表(routing table),这样应用程序才知道哪个名字与哪个路由组件相对应。其实注册路由表就是给路由起名字,路由表的定义如下: Map routes; 它是一个Map,key为路由的名字,是个字符串;value是个builder回调函数,用于生成相应的路由widget。我们在通过路由名字打开新路由时,应用会根据路由名字在路由表中查找到对应的WidgetBuilder回调函数,然后调用该回调函数生成路由widget并返回。 注册路由表 路由表的注册方式很简单,我们回到之前“计数器”的示例,然后在MyApp类的build方法中找到MaterialApp,添加routes属性,代码如下: MaterialApp( title: 'Flutter Demo', theme: ThemeData( primarySwatch: Colors.blue, ), //注册路由表 routes:{ \"new_page\":(context)=>NewRoute(), ... // 省略其它路由注册信息 } , home: MyHomePage(title: 'Flutter Demo Home Page'), ); 现在我们就完成了路由表的注册。上面的代码中home路由并没有使用命名路由,如果我们也想将home注册为命名路由应该怎么做呢?其实很简单,直接看代码: MaterialApp( title: 'Flutter Demo', initialRoute:\"/\", //名为\"/\"的路由作为应用的home(首页) theme: ThemeData( primarySwatch: Colors.blue, ), //注册路由表 routes:{ \"new_page\":(context)=>NewRoute(), \"/\":(context)=> MyHomePage(title: 'Flutter Demo Home Page'), //注册首页路由 } ); 可以看到,我们只需在路由表中注册一下MyHomePage路由,然后将其名字作为MaterialApp的initialRoute属性值即可,该属性决定应用的初始路由页是哪一个命名路由。 通过路由名打开新路由页 要通过路由名称来打开新路由,可以使用Navigator 的pushNamed方法: Future pushNamed(BuildContext context, String routeName,{Object arguments}) 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”按钮,依然可以打开新的路由页。 命名路由参数传递 在Flutter最初的版本中,命名路由是不能传递参数的,后来才支持了参数;下面展示命名路由如何传递并获取路由参数: 我们先注册一个路由: routes:{ \"new_page\":(context)=>EchoRoute(), } , 在路由页通过RouteSetting对象获取路由参数: class EchoRoute extends StatelessWidget { @override Widget build(BuildContext context) { //获取路由参数 var args=ModalRoute.of(context).settings.arguments //...省略无关代码 } } 在打开路由时传递参数 Navigator.of(context).pushNamed(\"new_page\", arguments: \"hi\"); 适配 假设我们也想将上面路由传参示例中的TipRoute路由页注册到路由表中,以便也可以通过路由名来打开它。但是,由于TipRoute接受一个text 参数,我们如何在不改变TipRoute源码的前提下适配这种情况?其实很简单: MaterialApp( ... //省略无关代码 routes: { \"tip2\": (context){ return TipRoute(text: ModalRoute.of(context).settings.arguments); }, }, ); 2.2.6 路由生成钩子 假设我们要开发一个电商APP,当用户没有登录时可以看店铺、商品等信息,但交易记录、购物车、用户个人信息等页面需要登录后才能看。为了实现上述功能,我们需要在打开每一个路由页前判断用户登录状态!如果每次打开路由前我们都需要去判断一下将会非常麻烦,那有什么更好的办法吗?答案是有! MaterialApp有一个onGenerateRoute属性,它在打开命名路由时会可能会被调用,之所以说可能,是因为当调用Navigator.pushNamed(...)打开命名路由时,如果指定的路由名在路由表中已注册,则会调用路由表中的builder函数来生成路由组件;如果路由表中没有注册,才会调用onGenerateRoute来生成路由。onGenerateRoute回调签名如下: Route Function(RouteSettings settings) 有了onGenerateRoute回调,要实现上面控制页面权限的功能就非常容易:我们放弃使用路由表,取而代之的是提供一个onGenerateRoute回调,然后在该回调中进行统一的权限控制,如: MaterialApp( ... //省略无关代码 onGenerateRoute:(RouteSettings settings){ return MaterialPageRoute(builder: (context){ String routeName = settings.name; // 如果访问的路由页需要登录,但当前未登录,则直接返回登录页路由, // 引导用户登录;其它情况则正常打开路由。 } ); } ); 注意,onGenerateRoute只会对命名路由生效。 2.2.7 总结 本章先介绍了Flutter中路由管理、传参的方式,然后又着重介绍了命名路由相关内容。在此需要说明一点,由于命名路由只是一种可选的路由管理方式,在实际开发中,读者可能心中会犹豫到底使用哪种路由管理方式。在此,根据笔者经验,建议读者最好统一使用命名路由的管理方式,这将会带来如下好处: 语义化更明确。 代码更好维护;如果使用匿名路由,则必须在调用Navigator.push的地方创建新路由页,这样不仅需要import新路由页的dart文件,而且这样的代码将会非常分散。 可以通过onGenerateRoute做一些全局的路由跳转前置处理逻辑。 综上所述,笔者比较建议使用命名路由,当然这并不是什么金科玉律,读者可以根据自己偏好或实际情况来决定。 另外,还有一些关于路由管理的内容我们没有介绍,比如路由MaterialApp中还有navigatorObservers和onUnknownRoute两个回调属性,前者可以监听所有路由跳转动作,后者在打开一个不存在的命名路由时会被调用,由于这些功能并不常用,而且也比较简单,我们便不再花费篇幅来介绍了,读者可以自行查看API文档。 "},"chapter2/flutter_package_mgr.html":{"url":"chapter2/flutter_package_mgr.html","title":"2.3:包管理","keywords":"","body":"2.3 包管理 在软件开放,很多时候有一些公共的库或SDK可能会被很多项目用到,因此,将这些代码单独抽到一个独立模块,然后哪个项目需要使用时再直接集成这个模块,便可大大提高开发效率。很多编程语言或开发工具都支持这种“模块共享”机制,如Java语言中这种独立模块会被打成一个jar包,Android中的aar包,Web开发中的npm包等。为了方便表述,我们将这种可共享的独立模块统一称为“包”( Package)。 一个APP在实际开发中往往会依赖很多包,而这些包通常都有交叉依赖关系、版本依赖等,如果由开发者手动来管理应用中的依赖包将会非常麻烦。因此,各种开发生态或编程语言官方通常都会提供一些包管理工具,比如在Android提供了Gradle来管理依赖,iOS用Cocoapods或Carthage来管理依赖,Node中通过npm等。而在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发布我们的包和插件。我们将在后面的章节中介绍如何向Pub发布我们的包和插件。 示例 接下来,我们实现一个显示随机字符串的widget。有一个名为“english_words”的开源软件包,其中包含数千个常用的英文单词以及一些实用功能。我们首先在pub上找到english_words这个包(如图2-5所示),确定其最新的版本号和是否支持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时(图2-6),单击右上角的 Packages get 。 这会将依赖包安装到您的项目。我们可以在控制台中看到以下内容: flutter packages get Running \"flutter packages get\" in flutter_in_action... Process finished with exit code 0 我们也可以在控制台,定位到当前工程目录,然后手动运行flutter packages get 命令来下载依赖包。另外,需要注意dependencies和dev_dependencies的区别,前者的依赖包将作为APP的源码的一部分参与编译,生成最终的安装包。而后者的依赖包只是作为开发阶段的一些工具包,主要是用于帮助我们提高开发、测试效率,比如flutter的自动化测试包等。 引入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 添加到 _MyHomePageState.build 的Column的子widget中。 Column( mainAxisAlignment: MainAxisAlignment.center, children: [ ... //省略无关代码 RandomWordsWidget(), ], ) 如果应用程序正在运行,请使用热重载按钮(⚡️图标) 更新正在运行的应用程序。每次单击热重载或保存项目时,都会在正在运行的应用程序中随机选择不同的单词对。 这是因为单词对是在 build 方法内部生成的。每次热更新时,build方法都会被执行,运行效果如图2-7所示。 其它依赖方式 上文所述的依赖方式是依赖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开发中常用的,但还有一些其它依赖方式,完整的内容读者可以自行查看:https://www.dartlang.org/tools/pub/dependencies 。 总结 本节介绍了Flutter中包管理、引用、下载的整体流程,我们将在后面的章节中介绍如果开发并发布我们自己的包。 "},"chapter2/flutter_assets_mgr.html":{"url":"chapter2/flutter_assets_mgr.html","title":"2.4:资源管理","keywords":"","body":"2.4 资源管理 Flutter APP安装包中会包含代码和 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”,见图2-8)。 只需按照Android开发人员指南中的说明, 将其替换为所需的资源,并遵守每种屏幕密度(dpi)的建议图标大小标准。 注意: 如果您重命名.png文件,则还必须在您AndroidManifest.xml的标签的android:icon属性中更新名称。 iOS 在Flutter项目的根目录中,导航到.../ios/Runner。该目录中Assets.xcassets/AppIcon.appiconset已经包含占位符图片(见图2-9), 只需将它们替换为适当大小的图片,保留原始文件名称。 更新启动页 在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进行自定义,如图2-11所示。 "},"chapter2/flutter_app_debug.html":{"url":"chapter2/flutter_app_debug.html","title":"2.5:调试Flutter APP","keywords":"","body":"2.5 调试Flutter应用 有各种各样的工具和功能来帮助调试Flutter应用程序。 Dart 分析器 在运行应用程序前,请运行flutter analyze测试你的代码。这个工具是一个静态代码检查工具,它是dartanalyzer工具的一个包装,主要用于分析代码并帮助开发者发现可能的错误,比如,Dart分析器大量使用了代码中的类型注释来帮助追踪问题,避免var、无类型的参数、无类型的列表文字等。 如果你使用IntelliJ的Flutter插件,那么分析器在打开IDE时就已经自动启用了,如果读者使用的是其它IDE,强烈建议读者启用Dart 分析器,因为在大多数时候,Dart 分析器可以在代码运行前发现大多数问题。 Dart Observatory (语句级的单步调试和分析器) 如果我们使用flutter run启动应用程序,那么当它运行时,我们可以打开Observatory工具的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应用调试过程中,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)) ... #省略剩余内容 这是一个“扁平化”的树,显示了通过各种构建函数投影的所有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) ... # 省略 这是根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时,它将覆盖这样一个网格。 您也可以直接使用GridPaper组件将这种网格覆盖在非Material应用程序上 。 "},"chapter2/thread_model_and_error_report.html":{"url":"chapter2/thread_model_and_error_report.html","title":"2.6:Dart线程模型及异常捕获","keywords":"","body":"2.6 Flutter异常捕获 在介绍Flutter异常捕获之前必须先了解一下Dart单线程模型,只有了解了Dart的代码执行流程,我们才能知道该在什么地方去捕获异常。 2.6.1 Dart单线程模型 在Java和Objective-C(以下简称“OC”)中,如果程序发生异常且没有被捕获,那么程序将会终止,但是这在Dart或JavaScript中则不会!究其原因,这和它们的运行机制有关系。Java和OC都是多线程模型的编程语言,任意一个线程触发异常且该异常未被捕获时,就会导致整个进程退出。但Dart和JavaScript不会,它们都是单线程模型,运行机制很相似(但有区别),下面我们通过Dart官方提供的一张图来看看Dart大致运行原理: Dart 在单线程中是以消息循环机制来运行的,其中包含两个任务队列,一个是“微任务队列” microtask queue,另一个叫做“事件队列” event queue。从图中可以发现,微任务队列的执行优先级高于事件队列。 现在我们来介绍一下Dart线程运行过程,如上图中所示,入口函数 main() 执行完后,消息循环机制便启动了。首先会按照先进先出的顺序逐个执行微任务队列中的任务,当所有微任务队列执行完后便开始执行事件队列中的任务,事件任务执行完毕后再去执行微任务,如此循环往复,生生不息。 在Dart中,所有的外部事件任务都在事件队列中,如IO、计时器、点击、以及绘制事件等,而微任务通常来源于Dart内部,并且微任务非常少,之所以如此,是因为微任务队列优先级高,如果微任务太多,执行时间总和就越久,事件队列任务的延迟也就越久,对于GUI应用来说最直观的表现就是比较卡,所以必须得保证微任务队列不会太长。值得注意的是,我们可以通过Future.microtask(…)方法向微任务队列插入一个任务。 在事件循环中,当某个任务发生异常并没有被捕获时,程序并不会退出,而直接导致的结果是当前任务的后续代码就不会被执行了,也就是说一个任务中的异常是不会影响其它任务执行的。 2.6.2 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":"第三章:基础组件","keywords":"","body":"基础Widget 本节介绍一下Flutter中常用的一些基础widget,由于大多数widget的属性都比较多,我们在介绍widget时会着重介绍常用的属性,而不会像API文档一样所有属性都介绍,关于属性详细的信息请参考Flutter SDK文档。 本章目录 Widget简介 文本、字体样式 按钮 图片和Icon 单选框和复选框 输入框和表单 "},"chapter3/flutter_widget_intro.html":{"url":"chapter3/flutter_widget_intro.html","title":"3.1:Widget简介","keywords":"","body":"3.1 Widget简介 3.1.1 概念 在前面的介绍中,我们知道在Flutter中几乎所有的对象都是一个Widget。与原生开发中“控件”不同的是,Flutter中的Widget的概念更广泛,它不仅可以表示UI元素,也可以表示一些功能性的组件如:用于手势检测的 GestureDetector widget、用于APP主题数据传递的Theme等等,而原生开发中的控件通常只是指UI元素。在后面的内容中,我们在描述UI元素时可能会用到“控件”、“组件”这样的概念,读者心里需要知道他们就是widget,只是在不同场景的不同表述而已。由于Flutter主要就是用于构建用户界面的,所以,在大多数时候,读者可以认为widget就是一个控件,不必纠结于概念。 3.1.2 Widget与Element 在Flutter中,Widget的功能是“描述一个UI元素的配置数据”,它就是说,Widget其实并不是表示最终绘制在设备屏幕上的显示元素,而它只是描述显示元素的一个配置数据。 实际上,Flutter中真正代表屏幕上显示元素的类是Element,也就是说Widget只是描述Element的配置数据!有关Element的详细介绍我们将在本书后面的高级部分深入介绍,现在,读者只需要知道:Widget只是UI元素的一个配置数据,并且一个Widget可以对应多个Element。这是因为同一个Widget对象可以被添加到UI树的不同部分,而真正渲染时,UI树的每一个Element节点都会对应一个Widget对象。总结一下: Widget实际上就是Element的配置数据,Widget树实际上是一个配置树,而真正的UI渲染树是由Element构成;不过,由于Element是通过Widget生成的,所以它们之间有对应关系,在大多数场景,我们可以宽泛地认为Widget树就是指UI控件树或UI渲染树。 一个Widget对象可以对应多个Element对象。这很好理解,根据同一份配置(Widget),可以创建多个实例(Element)。 读者应该将这两点牢记在心中。 3.1.3 Widget主要接口 我们先来看一下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类来实现一个新组件,相反,我们通常会通过继承StatelessWidget或StatefulWidget来间接继承Widget类来实现。StatelessWidget和StatefulWidget都是直接继承自Widget类,而这两个类也正是Flutter中非常重要的两个抽象类,它们引入了两种Widget模型,接下来我们将重点介绍一下这两个类。 3.1.4 StatelessWidget 在之前的章节中,我们已经简单介绍过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需要接收子Widget,那么child或children参数通常应被放在参数列表的最后。同样是按照惯例,Widget的属性应尽可能的被声明为final,防止被意外改变。 然后我们可以通过如下方式使用它: Widget build(BuildContext context) { return Echo(text: \"hello world\"); } 运行后效果如图3-1所示: 3.1.5 StatefulWidget 和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对象到树中”这样的描述。其实,无论哪种描述,其意思都是在描述“一棵构成用户界面的节点元素的树”,读者不必纠结于这些概念,还是那句话“得其神,忘其形”,因此,本书中出现的各种“树”,如果没有特别说明,读者都可抽象的认为它是“一棵构成用户界面的节点元素的树”。 3.1.6 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 Scaffold( body: 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对象从树中被永久移除时调用;通常在此回调中释放资源。 StatefulWidget生命周期如图3-2所示: 注意:在继承StatefulWidget重写其方法时,对于包含@mustCallSuper标注的父类方法,都要在子类方法中先调用父类方法。 3.1.7 Flutter SDK内置组件库介绍 Flutter提供了一套丰富、强大的基础组件,在基础组件库之上Flutter又提供了一套Material风格(Android默认的视觉风格)和一套Cupertino风格(iOS视觉风格)的组件库。要使用基础组件库,需要先导入: import 'package:flutter/widgets.dart'; 下面我们介绍一下常用的组件。 基础组件 Text:该组件可让您创建一个带格式的文本。 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组件 Flutter提供了一套丰富的Material组件,它可以帮助我们构建遵循Material Design设计规范的应用程序。Material应用程序以MaterialApp 组件开始, 该组件在应用程序的根部创建了一些必要的组件,比如Theme组件,它用于配置应用的主题。 是否使用MaterialApp完全是可选的,但是使用它是一个很好的做法。在之前的示例中,我们已经使用过多个Material 组件了,如:Scaffold、AppBar、FlatButton等。要使用Material 组件,需要先引入它: import 'package:flutter/material.dart'; Cupertino组件 Flutter也提供了一套丰富的Cupertino风格的组件,尽管目前还没有Material 组件那么丰富,但是它仍在不断的完善中。值得一提的是在Material 组件库中有一些组件可以根据实际运行平台来切换表现风格,比如MaterialPageRoute,在路由切换时,如果是Android系统,它将会使用Android系统默认的页面切换动画(从底向上);如果是iOS系统,它会使用iOS系统默认的页面切换动画(从右向左)。由于在前面的示例中还没有Cupertino组件的示例,下面我们实现一个简单的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: () {} ), ), ); } } 下面(图3-3)是在iPhoneX上页面效果截图: 关于示例 本章后面章节的示例中会使用一些布局类组件,如Scaffold、Row、Column等,这些组件将在后面“布局类组件”一章中详细介绍,读者可以先不用关注。 总结 Flutter提供了丰富的组件,在实际的开发中你可以根据需要随意使用它们,而不必担心引入过多组件库会让你的应用安装包变大,这不是web开发,dart在编译时只会编译你使用了的代码。由于Material和Cupertino都是在基础组件库之上的,所以如果我们的应用中引入了这两者之一,则不需要再引入flutter/widgets.dart了,因为它们内部已经引入过了。 "},"chapter3/state_manage.html":{"url":"chapter3/state_manage.html","title":"3.2:状态管理","keywords":"","body":"3.2 状态管理 响应式的编程框架中都会有一个永恒的主题——“状态(State)管理”,无论是在React/Vue(两者都是支持响应式编程的Web开发框架)还是Flutter中,他们讨论的问题和解决的思想都是一致的。所以,如果你对React/Vue的状态管理有了解,可以跳过本节。言归正传,我们想一个问题,StatefulWidget的状态应该被谁管理?Widget本身?父Widget?都会?还是另一个对象?答案是取决于实际情况!以下是管理状态的最常见的方法: Widget管理自己的状态。 Widget管理子Widget状态。 混合管理(父Widget和子Widget都管理状态)。 如何决定使用哪种管理方法?下面是官方给出的一些原则可以帮助你做决定: 如果状态是用户数据,如复选框的选中状态、滑块的位置,则该状态最好由父Widget管理。 如果状态是有关界面外观效果的,例如颜色、动画,那么状态最好由Widget本身来管理。 如果某一个状态是不同Widget共享的则最好由它们共同的父Widget管理。 在Widget内部管理状态封装性会好一些,而在父Widget中管理会比较灵活。有些时候,如果不确定到底该怎么管理状态,那么推荐的首选是在父widget中管理(灵活会显得更重要一些)。 接下来,我们将通过创建三个简单示例TapboxA、TapboxB和TapboxC来说明管理状态的不同方式。 这些例子功能是相似的 ——创建一个盒子,当点击它时,盒子背景会在绿色与灰色之间切换。状态 _active确定颜色:绿色为true ,灰色为false,如图3-4所示。 下面的例子将使用GestureDetector来识别点击事件,关于该GestureDetector的详细内容我们将在后面“事件处理”一章中介绍。 3.2.1 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], ), ), ); } } 3.2.2 父Widget管理子Widget的状态 对于父Widget来说,管理状态并告诉其子Widget何时更新通常是比较好的方式。 例如,IconButton是一个图标按钮,但它是一个无状态的Widget,因为我们认为父Widget需要知道该按钮是否被点击来采取相应的处理。 在以下示例中,TapboxB通过回调将其状态导出到其父组件,状态由父组件管理,因此它的父组件为StatefulWidget。但是由于TapboxB不管理任何状态,所以TapboxB为StatelessWidget。 ParentWidgetState 类: 为TapboxB 管理_active状态。 实现_handleTapboxChanged(),当盒子被点击时调用的方法。 当状态改变时,调用setState()更新UI。 TapboxB 类: 继承StatelessWidget类,因为所有状态都由其父组件处理。 当检测到点击时,它会通知父组件。 // 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], ), ), ); } } 3.2.3 混合状态管理 对于一些组件来说,混合管理的方式会非常有用。在这种情况下,组件自身管理一些内部状态,而父组件管理一些其他外部状态。 在下面TapboxC示例中,手指按下时,盒子的周围会出现一个深绿色的边框,抬起时,边框消失。点击完成后,盒子的颜色改变。 TapboxC将其_active状态导出到其父组件中,但在内部管理其_highlight状态。这个例子有两个状态对象_ParentWidgetState和_TapboxCState。 _ParentWidgetStateC类: 管理_active 状态。 实现 _handleTapboxChanged() ,当盒子被点击时调用。 当点击盒子并且_active状态改变时调用setState()更新UI。 _TapboxCState 对象: 管理_highlight 状态。 GestureDetector监听所有tap事件。当用户点下时,它添加高亮(深绿色边框);当用户释放时,会移除高亮。 当按下、抬起、或者取消点击时更新_highlight状态,调用setState()更新UI。 当点击时,将状态的改变传递给父组件。 //---------------------------- 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; @override _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); } @override 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, ), ), ); } } 另一种实现可能会将高亮状态导出到父组件,但同时保持_active状态为内部状态,但如果你要将该TapBox给其它人使用,可能没有什么意义。 开发人员只会关心该框是否处于Active状态,而不在乎高亮显示是如何管理的,所以应该让TapBox内部处理这些细节。 3.3.4 全局状态管理 当应用中需要一些跨组件(包括跨路由)的状态需要同步时,上面介绍的方法便很难胜任了。比如,我们有一个设置页,里面可以设置应用的语言,我们为了让设置实时生效,我们期望在语言状态发生改变时,APP中依赖应用语言的组件能够重新build一下,但这些依赖应用语言的组件和设置页并不在一起,所以这种情况用上面的方法很难管理。这时,正确的做法是通过一个全局状态管理器来处理这种相距较远的组件之间的通信。目前主要有两种办法: 实现一个全局的事件总线,将语言状态改变对应为一个事件,然后在APP中依赖应用语言的组件的initState 方法中订阅语言改变的事件。当用户在设置页切换语言后,我们发布语言改变事件,而订阅了此事件的组件就会收到通知,收到通知后调用setState(...)方法重新build一下自身即可。 使用一些专门用于状态管理的包,如Provider、Redux,读者可以在pub上查看其详细信息。 本书将在\"功能型组件\"一章中介绍Provider包的实现原理及用法,同时也将会在\"事件处理与通知\"一章中实现一个全局事件总线,读者有需要可以直接翻看。 "},"chapter3/text.html":{"url":"chapter3/text.html","title":"3.3:文本、字体样式","keywords":"","body":"3.3 文本及样式 3.3.1 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, ); 运行效果如图3-5所示: textAlign:文本的对齐方式;可以选择左对齐、右对齐还是居中。注意,对齐的参考系是Text widget本身。本例中虽然是指定了居中对齐,但因为Text文本内容宽度不足一行,Text的宽度和文本内容长度相等,那么这时指定对齐方式是没有意义的,只有Text宽度大于文本内容长度时指定此属性才有意义。下面我们指定一个较长的字符串: Text(\"Hello world \"*6, //字符串重复六次 textAlign: TextAlign.center, ); 运行效果如图3-6所示: ​ 字符串内容超过一行,Text宽度等于屏幕宽度,第二行文本便会居中显示。 maxLines、overflow:指定文本显示的最大行数,默认情况下,文本是自动折行的,如果指定此参数,则文本最多不会超过指定的行。如果有多余的文本,可以通过overflow来指定截断方式,默认是直接截断,本例中指定的截断方式TextOverflow.ellipsis,它会将多余文本截断后以省略符“...”表示;TextOverflow的其它截断方式请参考SDK文档。 textScaleFactor:代表文本相对于当前字体大小的缩放因子,相对于去设置文本的样式style属性的fontSize,它是调整字体大小的一个快捷方式。该属性的默认值可以通过MediaQueryData.textScaleFactor获得,如果没有MediaQuery,那么会默认值将为1.0。 3.3.2 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 ), ); 效果如图3-7所示: 此示例只展示了TextStyle的部分属性,它还有一些其它属性,属性名基本都是自解释的,在此不再赘述,读者可以查阅SDK文档。值得注意的是: height:该属性用于指定行高,但它并不是一个绝对值,而是一个因子,具体的行高等于fontSize*height。 fontFamily :由于不同平台默认支持的字体集不同,所以在手动指定字体时一定要先在不同平台测试一下。 fontSize:该属性和Text的textScaleFactor都用于控制字体大小。但是有两个主要区别: fontSize可以精确指定字体大小,而textScaleFactor只能通过缩放比例来控制。 textScaleFactor主要是用于系统字体大小设置改变时对Flutter应用字体进行全局调整,而fontSize通常用于单个文本,字体大小不会跟随系统字体大小变化。 3.3.3 TextSpan 在上面的例子中,Text的所有文本内容只能按同一种样式,如果我们需要对一个Text内容的不同部分按照不同的样式显示,这时就可以使用TextSpan,它代表文本的一个“片段”。我们看看TextSpan的定义: const TextSpan({ TextStyle style, Sting text, List children, GestureRecognizer recognizer, }); 其中style 和 text属性代表该文本片段的样式和内容。 children是一个TextSpan的数组,也就是说TextSpan可以包括其他TextSpan。而recognizer用于对该文本片段上用于手势进行识别处理。下面我们看一个效果(图3-8),然后用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,它是点击链接后的一个处理器(代码已省略),关于手势识别的更多内容我们将在后面单独介绍。 3.3.4 DefaultTextStyle 在Widget树中,文本的样式默认是可以被继承的(子类文本类组件未指定具体样式时可以使用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。示例运行效果如图3-9: 3.3.5 字体 可以在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":"3.4:按钮","keywords":"","body":"3.4 按钮 3.4.1 Material组件库中的按钮 Material 组件库中提供了多种按钮组件如RaisedButton、FlatButton、OutlineButton等,它们都是直接或间接对RawMaterialButton组件的包装定制,所以他们大多数属性都和RawMaterialButton一样。在介绍各个按钮时我们先介绍其默认外观,而按钮的外观大都可以通过属性来自定义,我们在后面统一介绍这些属性。另外,所有Material 库中的按钮都有如下相同点: 按下时都会有“水波动画”(又称“涟漪动画”,就是点击时按钮上会出现水波荡漾的动画)。 有一个onPressed属性来设置点击回调,当按钮按下时会执行该回调,如果不提供该回调则按钮会处于禁用状态,禁用状态不响应用户点击。 RaisedButton RaisedButton 即\"漂浮\"按钮,它默认带有阴影和灰色背景。按下后,阴影会变大,如图3-10所示: 使用RaisedButton非常简单,如: RaisedButton( child: Text(\"normal\"), onPressed: () {}, ); FlatButton FlatButton即扁平按钮,默认背景透明并不带阴影。按下后,会有背景色,如图3-11所示: 使用FlatButton也很简单,代码如下: FlatButton( child: Text(\"normal\"), onPressed: () {}, ) OutlineButton OutlineButton默认有一个边框,不带阴影且背景透明。按下后,边框颜色会变亮、同时出现背景和阴影(较弱),如图3-12所示: 使用OutlineButton也很简单,代码如下: OutlineButton( child: Text(\"normal\"), onPressed: () {}, ) IconButton IconButton是一个可点击的Icon,不包括文字,默认没有背景,点击后会出现背景,如图3-13所示: 代码如下: IconButton( icon: Icon(Icons.thumb_up), onPressed: () {}, ) 带图标的按钮 RaisedButton、FlatButton、OutlineButton都有一个icon 构造函数,通过它可以轻松创建带图标的按钮,如图3-14所示: 代码如下: RaisedButton.icon( icon: Icon(Icons.send), label: Text(\"发送\"), onPressed: _onPressed, ), OutlineButton.icon( icon: Icon(Icons.add), label: Text(\"添加\"), onPressed: _onPressed, ), FlatButton.icon( icon: Icon(Icons.info), label: Text(\"详情\"), onPressed: _onPressed, ), 3.4.2 自定义按钮外观 按钮外观可以通过其属性来定义,不同按钮属性大同小异,我们以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, //按钮的内容 }) 其中大多数属性名都是自解释的,我们不赘述。下面我们通过一个示例来看看如何自定义按钮。 示例 定义一个背景蓝色,两边圆角的按钮。效果如图3-15所示: 代码如下: 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,这是为了保证按钮文字颜色为浅色。 Flutter 中没有提供去除背景的设置,假若我们需要去除背景,则可以通过将背景颜色设置为全透明来实现。对应上面的代码,便是将 color: Colors.blue 替换为 color: Color(0x000000)。 细心的读者可能会发现这个按钮没有阴影(点击之后也没有),这样会显得没有质感。其实这也很容易,将上面的FlatButton换成RaisedButton就行,其它代码不用改(这里 color 也不做更改),换了之后的效果如图3-16所示: 是不是有质感了!之所以会这样,是因为RaisedButton默认有配置阴影: const RaisedButton({ ... this.elevation = 2.0, //正常状态下的阴影 this.highlightElevation = 8.0,//按下时的阴影 this.disabledElevation = 0.0,// 禁用时的阴影 ... } 值得注意的是,在Material 组件库中,我们会在很多组件中见到elevation相关的属性,它们都是用来控制阴影的,这是因为阴影在Material设计风格中是一种很重要的表现形式,以后在介绍其它组件时,便不再赘述。 如果我们想实现一个背景渐变的圆角按钮,按钮有没有相应的属性呢?答案是否定的,但是,我们可以通过其它方式来实现,我们将在后面\"自定义组件\"一章中实现。 "},"chapter3/img_and_icon.html":{"url":"chapter3/img_and_icon.html","title":"3.5:图片和Icon","keywords":"","body":"3.5 图片及ICON 3.5.1 图片 Flutter中,我们可以通过Image组件来加载并显示图片,Image的数据源可以是asset、文件、内存以及网络。 ImageProvider ImageProvider 是一个抽象类,主要定义了图片数据获取的接口load(),从不同的数据源获取图片需要实现不同的ImageProvider ,如AssetImage是实现了从Asset中加载图片的ImageProvider,而NetworkImage实现了从网络加载图片的ImageProvider。 Image Image widget有一个必选的image参数,它对应一个ImageProvider。下面我们分别演示一下如何从asset和网络加载图片。 从asset中加载图片 在工程根目录下创建一个images目录,并将图片avatar.png拷贝到该目录。 在pubspec.yaml中的flutter部分添加如下内容: assets: - images/avatar.png 注意: 由于 yaml 文件对缩进严格,所以必须严格按照每一层两个空格的方式进行缩进,此处assets前面应有两个空格。 加载该图片 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, ) 运行上面两个示例,图片加载成功后如图3-17所示: 参数 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:图片没有适应策略,会在显示空间内显示图片,如果图片比显示空间大,则显示空间只会显示图片中间部分。 一图胜万言! 我们队一个宽高相同的头像图片应用不同的fit值,效果如图3-18所示: color和 colorBlendMode:在图片绘制时可以对每一个像素进行颜色混合处理,color指定混合色,而colorBlendMode指定混合模式,下面是一个简单的示例: Image( image: AssetImage(\"images/avatar.png\"), width: 100.0, color: Colors.blue, colorBlendMode: BlendMode.difference, ); 运行效果如图3-19所示(彩色): repeat:当图片本身大小小于显示空间时,指定图片的重复规则。简单示例如下: Image( image: AssetImage(\"images/avatar.png\"), width: 100.0, height: 200.0, repeat: ImageRepeat.repeatY , ) 运行后效果如图3-20所示: 完整的示例代码如下: import 'package:flutter/material.dart'; class ImageAndIconRoute extends StatelessWidget { @override Widget build(BuildContext context) { var img=AssetImage(\"imgs/avatar.png\"); return SingleChildScrollView( child: Column( children: [ Image( image: img, height: 50.0, width: 100.0, fit: BoxFit.fill, ), Image( image: img, height: 50, width: 50.0, fit: BoxFit.contain, ), Image( image: img, width: 100.0, height: 50.0, fit: BoxFit.cover, ), Image( image: img, width: 100.0, height: 50.0, fit: BoxFit.fitWidth, ), Image( image: img, width: 100.0, height: 50.0, fit: BoxFit.fitHeight, ), Image( image: img, width: 100.0, height: 50.0, fit: BoxFit.scaleDown, ), Image( image: img, height: 50.0, width: 100.0, fit: BoxFit.none, ), Image( image: img, width: 100.0, color: Colors.blue, colorBlendMode: BlendMode.difference, fit: BoxFit.fill, ), Image( image: img, width: 100.0, height: 200.0, repeat: ImageRepeat.repeatY , ) ].map((e){ return Row( children: [ Padding( padding: EdgeInsets.all(16.0), child: SizedBox( width: 100, child: e, ), ), Text(e.fit.toString()) ], ); }).toList() ), ); } } Image缓存 Flutter框架对加载过的图片是有缓存的(内存),默认最大缓存数量是1000,最大缓存空间为100M。关于Image的详细内容及原理我们将会在后面进阶部分深入介绍。 3.5.2 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 ), ); 运行效果如图3-21所示: 通过这个示例可以看到,使用图标就像使用文本一样,但是这种方式需要我们提供每个图标的码点,这并对开发者不友好,所以,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,), ], ) 运行后效果如图3-22所示: "},"chapter3/radio_and_checkbox.html":{"url":"chapter3/radio_and_checkbox.html","title":"3.6:单选框和复选框","keywords":"","body":"3.6 单选开关和复选框 Material 组件库中提供了Material风格的单选开关Switch和复选框Checkbox,它们都是继承自StatelessWidget,所以它们本身不会保存当前选择状态,因此它们的选中状态都是由父组件来管理的。当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()通知Flutter framework重新构建UI。 属性及外观 Switch和Checkbox属性比较简单,读者可以查看API文档,它们都有一个activeColor属性,用于设置激活态的颜色。至于大小,到目前为止,Checkbox的大小是固定的,无法自定义,而Switch只能定义宽度,高度也是固定的。值得一提的是Checkbox有一个属性tristate ,表示是否为三态,其默认值为false ,这时Checkbox有两种状态即“选中”和“不选中”,对应的value值为true和false 。如果tristate值为true时,value的值会增加一个状态null,读者可以自行了解。 总结 通过Switch和Checkbox我们可以看到,虽然它们本身是与状态(是否选中)关联的,但它们却不是自己来维护状态,而是需要父组件来管理状态,然后当用户点击时,再通过事件通知给父组件,这样是合理的,因为Switch和Checkbox是否选中本就和用户数据关联,而这些用户数据也不可能是它们的私有状态。我们在自定义组件时也应该思考一下哪种状态的管理方式最为合理。 "},"chapter3/input_and_form.html":{"url":"chapter3/input_and_form.html","title":"3.7:输入框和表单","keywords":"","body":"3.7 输入框及表单 Material组件库中提供了输入框组件TextField和表单组件Form。下面我们分别介绍一下。 3.7.1 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系统下键盘样式如图3-24所示: 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, ), ], ); 运行后,效果如图3-25所示: 获取输入内容 获取输入内容有两种方式: 定义两个变量,用于保存用户名和密码,然后在onChange触发时,各自保存一下输入内容。 通过controller直接获取。 第一种方式比较简单,不在举例,我们来重点看一下第二种方式,我们以用户名输入框举例: 定义一个controller: //定义一个controller TextEditingController _unameController = 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 = TextEditingController(); 设置默认值,并从第三个字符开始选中后面的字符 _selectionController.text=\"hello world!\"; _selectionController.selection=TextSelection( baseOffset: 2, extentOffset: _selectionController.text.length ); 设置controller: TextField( controller: _selectionController, ) 运行效果如图3-26所示: 控制焦点 焦点可以通过FocusNode和FocusScopeNode来控制,默认情况下,焦点由FocusScope来管理,它代表焦点控制范围,可以在这个范围内可以通过FocusScopeNode在输入框之间移动焦点、设置默认焦点等。我们可以通过FocusScope.of(context) 来获取Widget树中默认的FocusScopeNode。下面看一个示例,在此示例中创建两个TextField,第一个自动获取焦点,然后创建两个按钮: 点击第一个按钮可以将焦点从第一个TextField挪到第二个TextField。 点击第二个按钮可以关闭键盘。 我们要实现的效果如图3-27所示: 代码如下: 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, ) ], ) ) 运行效果如图3-28所示: 我们成功的自定义了下划线颜色和提问文字样式,细心的读者可能已经发现,通过这种方式自定义后,输入框在获取焦点时,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)) ), ) 运行效果: 通过这种组件组合的方式,也可以定义背景圆角等。一般来说,优先通过decoration来自定义样式,如果decoration实现不了,再用widget组合的方式。 思考题:在这个示例中,下划线颜色是固定的,所以获得焦点后颜色仍然为灰色,如何实现点击后下滑线也变色呢? 3.7.2 表单Form 实际业务中,在正式向服务器提交数据前,都会对各个输入框数据进行合法性校验,但是对每一个TextField都分别进行校验将会是一件很麻烦的事。还有,如果用户想清除一组TextField的内容,除了一个一个清除有没有什么更好的办法呢?为此,Flutter提供了一个Form 组件,它可以对输入框进行分组,然后进行一些统一操作,如输入内容校验、输入框重置以及输入内容保存。 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组件,它继承自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 Scaffold( appBar: AppBar( title:Text(\"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()){ //验证通过提交数据 } }, ), ), ], ), ) ], ), ), ), ); } } 运行后效果如图3-29所示: 注意,登录按钮的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是否正确。 "},"chapter3/progress.html":{"url":"chapter3/progress.html","title":"3.8:进度指示器","keywords":"","body":"3.8 进度指示器 Material 组件库中提供了两种进度指示器:LinearProgressIndicator和CircularProgressIndicator,它们都可以同时用于精确的进度指示和模糊的进度指示。精确进度通常用于任务进度可以计算和预估的情况,比如文件下载;而模糊进度则用户任务进度无法准确获得的情况,如下拉刷新,数据提交等。 LinearProgressIndicator LinearProgressIndicator是一个线性、条状的进度条,定义如下: LinearProgressIndicator({ double value, Color backgroundColor, Animation valueColor, ... }) value:value表示当前的进度,取值范围为[0,1];如果value为null时则指示器会执行一个循环动画(模糊进度);当value不为null时,指示器为一个具体进度的进度条。 backgroundColor:指示器的背景色。 valueColor: 指示器的进度条颜色;值得注意的是,该值类型是Animation,这允许我们对进度条的颜色也可以指定动画。如果我们不需要对进度条颜色执行动画,换言之,我们想对进度条应用一种固定的颜色,此时我们可以通过AlwaysStoppedAnimation来指定。 示例 // 模糊进度条(会执行一个动画) LinearProgressIndicator( backgroundColor: Colors.grey[200], valueColor: AlwaysStoppedAnimation(Colors.blue), ), //进度条显示50% LinearProgressIndicator( backgroundColor: Colors.grey[200], valueColor: AlwaysStoppedAnimation(Colors.blue), value: .5, ) 运行效果如图3-30所示: 第一个进度条在执行循环动画:蓝色条一直在移动,而第二个进度条是静止的,停在50%的位置。 CircularProgressIndicator CircularProgressIndicator是一个圆形进度条,定义如下: CircularProgressIndicator({ double value, Color backgroundColor, Animation valueColor, this.strokeWidth = 4.0, ... }) 前三个参数和LinearProgressIndicator相同,不再赘述。strokeWidth 表示圆形进度条的粗细。示例如下: // 模糊进度条(会执行一个旋转动画) CircularProgressIndicator( backgroundColor: Colors.grey[200], valueColor: AlwaysStoppedAnimation(Colors.blue), ), //进度条显示50%,会显示一个半圆 CircularProgressIndicator( backgroundColor: Colors.grey[200], valueColor: AlwaysStoppedAnimation(Colors.blue), value: .5, ), 运行效果如图3-31所示: 第一个进度条会执行旋转动画,而第二个进度条是静止的,它停在50%的位置。 自定义尺寸 我们可以发现LinearProgressIndicator和CircularProgressIndicator,并没有提供设置圆形进度条尺寸的参数;如果我们希望LinearProgressIndicator的现细一些,或者希望CircularProgressIndicator的圆大一些该怎么做? 其实LinearProgressIndicator和CircularProgressIndicator都是取父容器的尺寸作为绘制的边界的。知道了这点,我们便可以通过尺寸限制类Widget,如ConstrainedBox、SizedBox (我们将在后面容器类组件一章中介绍)来指定尺寸,如: // 线性进度条高度指定为3 SizedBox( height: 3, child: LinearProgressIndicator( backgroundColor: Colors.grey[200], valueColor: AlwaysStoppedAnimation(Colors.blue), value: .5, ), ), // 圆形进度条直径指定为100 SizedBox( height: 100, width: 100, child: CircularProgressIndicator( backgroundColor: Colors.grey[200], valueColor: AlwaysStoppedAnimation(Colors.blue), value: .7, ), ), 运行效果如图3-32所示: 注意,如果CircularProgressIndicator显示空间的宽高不同,则会显示为椭圆。如: // 宽高不等 SizedBox( height: 100, width: 130, child: CircularProgressIndicator( backgroundColor: Colors.grey[200], valueColor: AlwaysStoppedAnimation(Colors.blue), value: .7, ), ), 运行效果如图3-33所示: 进度色动画 前面说过可以通过valueColor对进度条颜色做动画,关于动画我们将在后面专门的章节详细介绍,这里先给出一个例子,读者在了解了Flutter动画一章后再回过头来看。 我们实现一个进度条在3秒内从灰色变成蓝色的动画: import 'package:flutter/material.dart'; class ProgressRoute extends StatefulWidget { @override _ProgressRouteState createState() => _ProgressRouteState(); } class _ProgressRouteState extends State with SingleTickerProviderStateMixin { AnimationController _animationController; @override void initState() { //动画执行时间3秒 _animationController = new AnimationController(vsync: this, duration: Duration(seconds: 3)); _animationController.forward(); _animationController.addListener(() => setState(() => {})); super.initState(); } @override void dispose() { _animationController.dispose(); super.dispose(); } @override Widget build(BuildContext context) { return SingleChildScrollView( child: Column( children: [ Padding( padding: EdgeInsets.all(16), child: LinearProgressIndicator( backgroundColor: Colors.grey[200], valueColor: ColorTween(begin: Colors.grey, end: Colors.blue) .animate(_animationController), // 从灰色变成蓝色 value: _animationController.value, ), ); ], ), ); } } 自定义进度指示器样式 定制进度指示器风格样式,可以通过CustomPainter Widget 来自定义绘制逻辑,实际上LinearProgressIndicator和CircularProgressIndicator也正是通过CustomPainter来实现外观绘制的。关于CustomPainter,我们将在后面“自定义Widget”一章中详细介绍。 flutter_spinkit 包提供了多种风格的模糊进度指示器,读者若是感兴趣,可以参考。 "},"chapter4/":{"url":"chapter4/","title":"第四章:布局类组件","keywords":"","body":"本章目录 布局类Widgets简介 线性布局Row、Column 弹性布局Flex 流式布局Wrap、Flow 层叠布局Stack、Positioned "},"chapter4/intro.html":{"url":"chapter4/intro.html","title":"4.1:布局类组件简介","keywords":"","body":"4.1 布局类组件简介 布局类组件都会包含一个或多个子组件,不同的布局类组件对子组件排版(layout)方式不同。我们在前面说过Element树才是最终的绘制树,Element树是通过Widget树来创建的(通过Widget.createElement()),嗯Widget其实就是Element的配置数据。在Flutter中,根据Widget是否需要包含子节点将Widget分为了三类,分别对应三种Element,如下表: Widget 对应的Element 用途 LeafRenderObjectWidget LeafRenderObjectElement 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)。 布局类组件就是指直接或间接继承(包含)MultiChildRenderObjectWidget的Widget,它们一般都会有一个children属性用于接收子Widget。我们看一下继承关系 Widget > RenderObjectWidget > (Leaf/SingleChild/MultiChild)RenderObjectWidget 。 RenderObjectWidget类中定义了创建、更新RenderObject的方法,子类必须实现他们,关于RenderObject我们现在只需要知道它是最终布局、渲染UI界面的对象即可,也就是说,对于布局类组件来说,其布局算法都是通过对应的RenderObject对象来实现的,所以读者如果对接下来介绍的某个布局类组件的原理感兴趣,可以查看其对应的RenderObject的实现,比如Stack(层叠布局)对应的RenderObject对象就是RenderStack,而层叠布局的实现就在RenderStack中。 在本章中,为了让读者对布局类Widget有个快速的认识,所以我们并不会深入到RenderObject的细节中去。在学习本章时,读者的重点是掌握不同布局组件的布局特点,具体原理和细节等我们对Flutter整体入门后,感兴趣的话再去研究。 "},"chapter4/row_and_column.html":{"url":"chapter4/row_and_column.html","title":"4.2:线性布局(Row、Column)","keywords":"","body":"4.2 线性布局(Row和Column) 所谓线性布局,即指沿水平或垂直方向排布子组件。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:表示水平方向子组件的布局顺序(是从左往右还是从右往左),默认为系统当前Locale环境的文本方向(如中文、英语都是从左往右,而阿拉伯语是从右往左)。 mainAxisSize:表示Row在主轴(水平)方向占用的空间,默认是MainAxisSize.max,表示尽可能多的占用水平方向的空间,此时无论子widgets实际占用多少水平空间,Row的宽度始终等于水平方向的最大宽度;而MainAxisSize.min表示尽可能少的占用水平空间,当子组件没有占满水平剩余空间,则Row的实际宽度等于所有子组件占用的的水平空间; mainAxisAlignment:表示子组件在Row所占用的水平空间内对齐方式,如果mainAxisSize值为MainAxisSize.min,则此属性无意义,因为子组件的宽度等于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:表示子组件在纵轴方向的对齐方式,Row的高度等于子组件中最高的子元素高度,它的取值和MainAxisAlignment一样(包含start、end、 center三个值),不同的是crossAxisAlignment的参考系是verticalDirection,即verticalDirection值为VerticalDirection.down时crossAxisAlignment.start指顶部对齐,verticalDirection值为VerticalDirection.up时,crossAxisAlignment.start指底部对齐;而crossAxisAlignment.end和crossAxisAlignment.start正好相反; children :子组件数组。 示例 请阅读下面代码,先想象一下运行的结果: 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 \"), ], ), ], ); 实际运行结果如图4-1所示: 解释:第一个Row很简单,默认为居中对齐;第二个Row,由于mainAxisSize值为MainAxisSize.min,Row的宽度等于两个Text的宽度和,所以对齐是无意义的,所以会从左往右显示;第三个Row设置textDirection值为TextDirection.rtl,所以子组件会从右向左的顺序排列,而此时MainAxisAlignment.end表示左对齐,所以最终显示结果就是图中第三行的样子;第四个Row测试的是纵轴的对齐方式,由于两个子Text字体不一样,所以其高度也不同,我们指定了verticalDirection值为VerticalDirection.up,即从低向顶排列,而此时crossAxisAlignment值为CrossAxisAlignment.start表示底对齐。 Column Column可以在垂直方向排列其子组件。参数和Row一样,不同的是布局方向为垂直,主轴纵轴正好相反,读者可类比Row来理解,下面看一个例子: import 'package:flutter/material.dart'; class CenterColumnRoute extends StatelessWidget { @override Widget build(BuildContext context) { return Column( crossAxisAlignment: CrossAxisAlignment.center, children: [ Text(\"hi\"), Text(\"world\"), ], ); } } 运行效果如图4-2所示: 解释: 由于我们没有指定Column的mainAxisSize,所以使用默认值MainAxisSize.max,则Column会在垂直方向占用尽可能多的空间,此例中为屏幕高度。 由于我们指定了 crossAxisAlignment 属性为CrossAxisAlignment.center,那么子项在Column纵轴方向(此时为水平方向)会居中对齐。注意,在水平方向对齐是有边界的,总宽度为Column占用空间的实际宽度,而实际的宽度取决于子项中宽度最大的Widget。在本例中,Column有两个子Widget,而显示“world”的Text宽度最大,所以Column的实际宽度则为Text(\"world\") 的宽度,所以居中对齐后Text(\"hi\")会显示在Text(\"world\")的中间部分。 实际上,Row和Column都只会在主轴方向占用尽可能大的空间,而纵轴的长度则取决于他们最大子元素的长度。如果我们想让本例中的两个文本控件在整个手机屏幕中间对齐,我们有两种方法: 将Column的宽度指定为屏幕宽度;这很简单,我们可以通过ConstrainedBox或SizedBox(我们将在后面章节中专门介绍着两个Widget)来强制更改宽度限制,例如: ConstrainedBox( constraints: BoxConstraints(minWidth: double.infinity), child: Column( crossAxisAlignment: CrossAxisAlignment.center, children: [ Text(\"hi\"), Text(\"world\"), ], ), ); 将minWidth设为double.infinity,可以使宽度占用尽可能多的空间。 使用Center Widget;我们将在后面章节中介绍。 特殊情况 如果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 \"), ], ), ) ], ), ), ); 运行效果如图4-3所示: 如果要让里面的Column占满外部Column,可以使用Expanded 组件: Expanded( child: Container( color: Colors.red, child: Column( mainAxisAlignment: MainAxisAlignment.center, //垂直方向居中对齐 children: [ Text(\"hello world \"), Text(\"I am Jack \"), ], ), ), ) 运行效果如图4-4所示: 我们将在介绍弹性布局时详细介绍Expanded。 "},"chapter4/flex.html":{"url":"chapter4/flex.html","title":"4.3:弹性布局(Flex)","keywords":"","body":"4.3 弹性布局(Flex) 弹性布局允许子组件按照一定比例来分配父容器空间。弹性布局的概念在其它UI系统中也都存在,如H5中的弹性盒子布局,Android中的FlexboxLayout等。Flutter中的弹性布局主要通过Flex和Expanded来配合实现。 Flex Flex组件可以沿着水平或垂直方向排列子组件,如果你知道主轴方向,使用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子组件所占用的空间。 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, ), ), ], ), ), ), ], ); } } 运行效果如图4-5所示: 示例中的Spacer的功能是占用指定比例的空间,实际上它只是Expanded的一个包装类,Spacer的源码如下: class Spacer extends StatelessWidget { const Spacer({Key key, this.flex = 1}) : assert(flex != null), assert(flex > 0), super(key: key); final int flex; @override Widget build(BuildContext context) { return Expanded( flex: flex, child: const SizedBox.shrink(), ); } } 小结 弹性布局比较简单,唯一需要注意的就是Row、Column以及Flex的关系。 "},"chapter4/wrap_and_flow.html":{"url":"chapter4/wrap_and_flow.html","title":"4.4:流式布局(Wrap、Flow)","keywords":"","body":"4.4 流式布局 在介绍Row和Colum时,如果子widget超出屏幕范围,则会报溢出错误,如: Row( children: [ Text(\"xxx\"*100) ], ); 运行效果如图4-6所示: 可以看到,右边溢出部分报错。这是因为Row默认只有一行,如果超出屏幕不会折行。我们把超出屏幕显示范围会自动折行的布局称为流式布局。Flutter中通过Wrap和Flow来支持流式布局,将上例中的Row换成Wrap后溢出部分则会自动折行,下面我们分别介绍Wrap和Flow. 4.4.1 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'), ), ], ) 运行效果如图4-7所示: 4.4.2 Flow 我们一般很少会使用Flow,因为其过于复杂,需要自己实现子widget的位置转换,在很多场景下首先要考虑的是Wrap是否满足需求。Flow主要用于一些需要自定义布局策略或性能要求较高(如动画中)的场景。Flow有如下优点: 性能好;Flow是一个对子组件尺寸以及位置调整非常高效的控件,Flow用转换矩阵在对子组件进行位置调整的时候进行了优化:在Flow定位过后,如果子组件的尺寸或者位置发生了变化,在FlowDelegate中的paintChildren()方法中调用context.paintChild 进行重绘,而context.paintChild在重绘时使用了转换矩阵,并没有实际调整组件位置。 灵活;由于我们需要自己实现FlowDelegate的paintChildren()方法,所以我们需要自己计算每一个组件的位置,因此,可以自定义布局策略。 缺点: 使用复杂。 不能自适应子组件大小,必须通过指定父容器大小或实现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 运行效果见图4-8: 可以看到我们主要的任务就是实现paintChildren,它的主要任务是确定每个子widget位置。由于Flow不能自适应子widget的大小,我们通过在getSize返回一个固定大小来指定Flow的大小。 "},"chapter4/stack.html":{"url":"chapter4/stack.html","title":"4.5:层叠布局(Stack、Positioned)","keywords":"","body":"4.5 层叠布局 Stack、Positioned 层叠布局和Web中的绝对定位、Android中的Frame布局是相似的,子组件可以根据距父容器四个角的位置来确定自身的位置。绝对定位允许子组件堆叠起来(按照代码中声明的顺序)。Flutter中使用Stack和Positioned这两个组件来配合实现绝对定位。Stack允许子组件堆叠,而Positioned用于根据Stack的四个角来确定子组件的位置。 Stack Stack({ this.alignment = AlignmentDirectional.topStart, this.textDirection, this.fit = StackFit.loose, this.overflow = Overflow.clip, List children = const [], }) alignment:此参数决定如何去对齐没有定位(没有使用Positioned)或部分定位的子组件。所谓部分定位,在这里特指没有在某一个轴上定位:left、right为横轴,top、bottom为纵轴,只要包含某个轴上的一个定位属性就算在该轴上有定位。 textDirection:和Row、Wrap的textDirection功能一样,都用于确定alignment对齐的参考系,即:textDirection的值为TextDirection.ltr,则alignment的start代表左,end代表右,即从左往右的顺序;textDirection的值为TextDirection.rtl,则alignment的start代表右,end代表左,即从右往左的顺序。 fit:此参数用于确定没有定位的子组件如何去适应Stack的大小。StackFit.loose表示使用子组件的大小,StackFit.expand表示扩伸到Stack的大小。 overflow:此属性决定如何显示超出Stack显示空间的子组件;值为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用于指定需要定位元素的宽度和高度。注意,Positioned的width、height 和其它地方的意义稍微有点区别,此处用于配合left、top 、right、 bottom来定位组件,举个例子,在水平方向时,你只能指定left、right、width三个属性中的两个,如指定left和width后,right会自动算出(left+width),如果同时指定三个属性则会报错,垂直方向同理。 示例 在下面的例子中,我们通过对几个Text组件的定位来演示Stack和Positioned的特性: //通过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\"), ) ], ), ); 运行效果见图4-9: 由于第一个子文本组件Text(\"Hello world\")没有指定定位,并且alignment值为Alignment.center,所以它会居中显示。第二个子文本组件Text(\"I am Jack\")只指定了水平方向的定位(left),所以属于部分定位,即垂直方向上没有定位,那么它在垂直方向的对齐方式则会按照alignment指定的对齐方式对齐,即垂直方向居中。对于第三个子文本组件Text(\"Your friend\"),和第二个Text原理一样,只不过是水平方向没有定位,则水平方向居中。 我们给上例中的Stack指定一个fit属性,然后将三个子文本组件的顺序调整一下: 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\"), ) ], ), 显示效果如图4-10所示: 可以看到,由于第二个子文本组件没有定位,所以fit属性会对它起作用,就会占满Stack。由于Stack子元素是堆叠的,所以第一个子文本组件被第二个遮住了,而第三个在最上层,所以可以正常显示。 "},"chapter4/alignment.html":{"url":"chapter4/alignment.html","title":"4.6:对齐与相对定位(Align)","keywords":"","body":"4.6 对齐与相对定位(Align) 在上一节中我们讲过通过Stack和Positioned,我们可以指定一个或多个子元素相对于父元素各个边的精确偏移,并且可以重叠。但如果我们只想简单的调整一个子元素在父元素中的位置的话,使用Align组件会更简单一些。 4.6.1 Align Align 组件可以调整子组件的位置,并且可以根据子组件的宽高来确定自身的的宽高,定义如下: Align({ Key key, this.alignment = Alignment.center, this.widthFactor, this.heightFactor, Widget child, }) alignment : 需要一个AlignmentGeometry类型的值,表示子组件在父组件中的起始位置。AlignmentGeometry 是一个抽象类,它有两个常用的子类:Alignment和 FractionalOffset,我们将在下面的示例中详细介绍。 widthFactor和heightFactor是用于确定Align 组件本身宽高的属性;它们是两个缩放因子,会分别乘以子元素的宽、高,最终的结果就是Align 组件的宽高。 示例 我们先来看一个简单的例子: Container( height: 120.0, width: 120.0, color: Colors.blue[50], child: Align( alignment: Alignment.topRight, child: FlutterLogo( size: 60, ), ), ) 运行效果如图4-11所示: FlutterLogo 是Flutter SDK提供的一个组件,内容就是Flutter的商标。在上面的例子中,我们显式指定了Container的宽、高都为120。如果我们不显式指定宽高,而通过同时指定widthFactor和heightFactor 为2也是可以达到同样的效果: Align( widthFactor: 2, heightFactor: 2, alignment: Alignment.topRight, child: FlutterLogo( size: 60, ), ), 因为FlutterLogo的宽高为60,则Align的最终宽高都为2*60=120。 另外,我们通过Alignment.topRight将FlutterLogo定位在Container的右上角。那Alignment.topRight是什么呢?通过源码我们可以看到其定义如下: //右上角 static const Alignment topRight = Alignment(1.0, -1.0); 可以看到它只是Alignment的一个实例,下面我们介绍一下Alignment。 Alignment Alignment继承自AlignmentGeometry,表示矩形内的一个点,他有两个属性x、y,分别表示在水平和垂直方向的偏移,Alignment定义如下: Alignment(this.x, this.y) Alignment Widget会以矩形的中心点作为坐标原点,即Alignment(0.0, 0.0) 。x、y的值从-1到1分别代表矩形左边到右边的距离和顶部到底边的距离,因此2个水平(或垂直)单位则等于矩形的宽(或高),如Alignment(-1.0, -1.0) 代表矩形的左侧顶点,而Alignment(1.0, 1.0)代表右侧底部终点,而Alignment(1.0, -1.0) 则正是右侧顶点,即Alignment.topRight。为了使用方便,矩形的原点、四个顶点,以及四条边的终点在Alignment类中都已经定义为了静态常量。 Alignment可以通过其坐标转换公式将其坐标转为子元素的具体偏移坐标: (Alignment.x*childWidth/2+childWidth/2, Alignment.x*childHeight+childHeight/2) 其中childWidth为子元素的宽度,childHeight为子元素高度。 现在我们再看看上面的示例,我们将Alignment(1.0, -1.0)带入上面公式,可得FlutterLogo的实际偏移坐标正是(60,0)。下面再看一个例子: Align( widthFactor: 2, heightFactor: 2, alignment: Alignment(2,0.0), child: FlutterLogo( size: 60, ), ) 我们可以先想象一下运行效果:将Alignment(2,0.0)带入上述坐标转换公式,可以得到FlutterLogo的实际偏移坐标为(90,30)。实际运行如图4-12所示: FractionalOffset FractionalOffset 继承自 Alignment,它和 Alignment唯一的区别就是坐标原点不同!FractionalOffset 的坐标原点为矩形的左侧顶点,这和布局系统的一致,所以理解起来会比较容易。FractionalOffset的坐标转换公式为: 实际偏移 = (FractionalOffse.x * childWidth, FractionalOffse.y * childHeight) 下面看一个例子: Container( height: 120.0, width: 120.0, color: Colors.blue[50], child: Align( alignment: FractionalOffset(0.2, 0.6), child: FlutterLogo( size: 60, ), ), ) 实际运行效果如图4-13所示下: 我们将FractionalOffset(0.2, 0.6)带入坐标转换公式得FlutterLogo实际偏移为(12,36),和实际运行效果吻合。 4.6.2 Align和Stack对比 可以看到,Align和Stack/Positioned都可以用于指定子元素相对于父元素的偏移,但它们还是有两个主要区别: 定位参考系统不同;Stack/Positioned定位的的参考系可以是父容器矩形的四个顶点;而Align则需要先通过alignment 参数来确定坐标原点,不同的alignment会对应不同原点,最终的偏移是需要通过alignment的转换公式来计算出。 Stack可以有多个子元素,并且子元素可以堆叠,而Align只能有一个子元素,不存在堆叠。 4.6.3 Center组件 我们在前面章节的例子中已经使用过Center组件来居中子元素了,现在我们正式来介绍一下它。通过查找SDK源码,我们看到Center组件定义如下: class Center extends Align { const Center({ Key key, double widthFactor, double heightFactor, Widget child }) : super(key: key, widthFactor: widthFactor, heightFactor: heightFactor, child: child); } 可以看到Center继承自Align,它比Align只少了一个alignment 参数;由于Align的构造函数中alignment 值为Alignment.center,所以,我们可以认为Center组件其实是对齐方式确定(Alignment.center)了的Align。 总结 本节重点介绍了Align组件及两种偏移类Alignment 和FractionalOffset,读者需要理解这两种偏移类的区别及各自的坐标转化公式。另外,在此建议读者在需要制定一些精确的偏移时应优先使用FractionalOffset,因为它的坐标原点和布局系统相同,能更容易算出实际偏移。 在后面,我们又介绍了Align组件和Stack/Positioned、Center的关系,读者可以对比理解。 还有,熟悉Web开发的同学可能会发现Align组件的特性和Web开发中相对定位(position: relative)非常像,是的!在大多数时候,我们可以直接使用Align组件来实现Web中相对定位的效果,读者可以类比记忆。 "},"chapter5/":{"url":"chapter5/","title":"第五章:容器类组件","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":"5.1:填充(Padding)","keywords":"","body":"5.1 填充(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。 示例 下面的示例主要展示了EdgeInsets的不同用法,比较简单,源码如下: 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\"), ) ], ), ); } } 运行效果如图5-1所示: "},"chapter5/constrainedbox_and_sizebox.html":{"url":"chapter5/constrainedbox_and_sizebox.html","title":"5.2:尺寸限制类容器(ConstrainedBox等)","keywords":"","body":"5.2 尺寸限制类容器 尺寸限制类容器用于限制容器大小,Flutter中提供了多种这样的容器,如ConstrainedBox、SizedBox、UnconstrainedBox、AspectRatio等,本节将介绍一些常用的。 5.2.1 ConstrainedBox ConstrainedBox用于对子组件添加额外的约束。例如,如果你想让子组件的最小高度是80像素,你可以使用const BoxConstraints(minHeight: 80.0)作为子组件的约束。 示例 我们先定义一个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 ), ) 运行效果如图5-2所示: 可以看到,我们虽然将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文档。 5.2.2 SizedBox SizedBox用于给子元素指定固定的宽高,如: SizedBox( width: 80.0, height: 80.0, child: redBox ) 运行效果如图5-3所示: 实际上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: ..., ); } 5.2.3 多重限制 如果某一个组件有多个父级ConstrainedBox限制,那么最终会是哪个生效?我们看一个例子: ConstrainedBox( constraints: BoxConstraints(minWidth: 60.0, minHeight: 60.0), //父 child: ConstrainedBox( constraints: BoxConstraints(minWidth: 90.0, minHeight: 20.0),//子 child: redBox, ) ) 上面我们有父子两个ConstrainedBox,他们的限制条件不同,运行后效果如图5-4所示: 最终显示效果是宽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, ) ) 运行效果如图5-5所示: 最终的显示效果仍然是90,高60,效果相同,但意义不同,因为此时minWidth生效的是父ConstrainedBox,而minHeight是子ConstrainedBox生效。 通过上面示例,我们发现有多重限制时,对于minWidth和minHeight来说,是取父子中相应数值较大的。实际上,只有这样才能保证父限制与子限制不冲突。 思考题:对于maxWidth和maxHeight,多重限制的策略是什么样的呢? 5.2.4 UnconstrainedBox UnconstrainedBox不会对子组件产生任何限制,它允许其子组件按照其本身大小绘制。一般情况下,我们会很少直接使用此组件,但在\"去除\"多重限制的时候也许会有帮助,我们看下下面的代码: 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)仍然是生效的,只不过它不影响最终子元素redBox的大小,但仍然还是占有相应的空间,可以认为此时的父ConstrainedBox是作用于子UnconstrainedBox上,而redBox只受子ConstrainedBox限制,这一点请读者务必注意。 那么有什么方法可以彻底去除父ConstrainedBox的限制吗?答案是否定的!所以在此提示读者,在定义一个通用的组件时,如果要对子组件指定限制,那么一定要注意,因为一旦指定限制条件,子组件如果要进行相关自定义大小时将可能非常困难,因为子组件在不更改父组件的代码的情况下无法彻底去除其限制条件。 在实际开发中,当我们发现已经使用SizedBox或ConstrainedBox给子元素指定了宽高,但是仍然没有效果时,几乎可以断定:已经有父元素已经设置了限制!举个例子,如Material组件库中的AppBar(导航栏)的右侧菜单中,我们使用SizedBox指定了loading按钮的大小,代码如下: AppBar( title: Text(title), actions: [ SizedBox( width: 20, height: 20, child: CircularProgressIndicator( strokeWidth: 3, valueColor: AlwaysStoppedAnimation(Colors.white70), ), ) ], ) 上面代码运行后,效果如图5-7所示: 我们会发现右侧loading按钮大小并没有发生变化!这正是因为AppBar中已经指定了actions按钮的限制条件,所以我们要自定义loading按钮大小,就必须通过UnconstrainedBox来“去除”父元素的限制,代码如下: AppBar( title: Text(title), actions: [ UnconstrainedBox( child: SizedBox( width: 20, height: 20, child: CircularProgressIndicator( strokeWidth: 3, valueColor: AlwaysStoppedAnimation(Colors.white70), ), ), ) ], ) 运行后效果如图5-8所示: 生效了! 5.2.4 其它尺寸限制类容器 除了上面介绍的这些常用的尺寸限制类容器外,还有一些其他的尺寸限制类容器,比如AspectRatio,它可以指定子组件的长宽比、LimitedBox 用于指定最大宽高、FractionallySizedBox 可以根据父容器宽高的百分比来设置子组件宽高等,由于这些容器使用起来都比较简单,我们便不再赘述,读者可以自行了解。 "},"chapter5/decoratedbox.html":{"url":"chapter5/decoratedbox.html","title":"5.3:装饰容器(DecoratedBox)","keywords":"","body":"5.3 装饰容器DecoratedBox DecoratedBox可以在其子组件绘制前(或后)绘制一些装饰(Decoration),如背景、边框、渐变等。DecoratedBox定义如下: const DecoratedBox({ Decoration decoration, DecorationPosition position = DecorationPosition.background, Widget child }) decoration:代表将要绘制的装饰,它的类型为Decoration。Decoration是一个抽象类,它定义了一个接口 createBoxPainter(),子类的主要职责是需要通过实现它来创建一个画笔,该画笔用于绘制装饰。 position:此属性决定在哪里绘制Decoration,它接收DecorationPosition的枚举类型,该枚举类有两个值: background:在子组件之后绘制,即背景装饰。 foreground:在子组件之上绘制,即前景。 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),), ) ) 运行后效果如图5-9所示: 怎么样,通过BoxDecoration我们实现了一个渐变按钮的外观,但此示例还不是一个标准的按钮,因为它还不能响应点击事件,我们将在后面“自定义组件”一章中实现一个完整功能的GradientButton。另外,上面的例子中使用了LinearGradient类,它用于定义线性渐变的类,Flutter中还提供了其它渐变配置类,如RadialGradient、SweepGradient,读者若有需要可以自行查看API文档。 "},"chapter5/transform.html":{"url":"chapter5/transform.html","title":"5.4:变换(Transform)","keywords":"","body":"5.4 变换(Transform) Transform可以在其子组件绘制时对其应用一些矩阵变换来实现一些特效。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!'), ), ), ); 运行效果如图5-10所示: 关于矩阵变换的相关内容属于线性代数范畴,本书不做讨论,读者有兴趣可以自行了解。本书中,我们把焦点放在Flutter中一些常见的变换效果上。另外,由于矩阵变化时发生在绘制时,而无需重新布局和构建等过程,所以性能很好。 平移 Transform.translate接收一个offset参数,可以在绘制时沿x、y轴对子组件平移指定的距离。 DecoratedBox( decoration:BoxDecoration(color: Colors.red), //默认原点为左上角,左移20像素,向上平移5像素 child: Transform.translate( offset: Offset(-20.0, -5.0), child: Text(\"Hello world\"), ), ) 效果如图5-11所示: 旋转 Transform.rotate可以对子组件进行旋转变换,如: 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; 效果如图5-12所示: 缩放 Transform.scale可以对子组件进行缩小或放大,如: DecoratedBox( decoration:BoxDecoration(color: Colors.red), child: Transform.scale( scale: 1.5, //放大到1.5倍 child: Text(\"Hello world\") ) ); 效果如图5-13所示: 注意 Transform的变换是应用在绘制阶段,而并不是应用在布局(layout)阶段,所以无论对子组件应用何种变化,其占用空间的大小和在屏幕上的位置都是固定不变的,因为这些是在布局阶段就确定的。下面我们具体说明: 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),) ], ) 运行效果如图5-14所示: 由于第一个Text应用变换(放大)后,其在绘制时会放大,但其占用的空间依然为红色部分,所以第二个Text会紧挨着红色部分,最终就会出现文字重合。 由于矩阵变化只会作用在绘制阶段,所以在某些场景下,在UI需要变化时,可以直接通过矩阵变化来达到视觉上的UI改变,而不需要去重新触发build流程,这样会节省layout的开销,所以性能会比较好。如之前介绍的Flow组件,它内部就是用矩阵变换来更新UI,除此之外,Flutter的动画组件中也大量使用了Transform以提高性能。 思考题:使用Transform对其子组件先进行平移然后再旋转和先旋转再平移,两者最终的效果一样吗?为什么? RotatedBox RotatedBox和Transform.rotate功能相似,它们都可以对子组件进行旋转变换,但是有一点不同:RotatedBox的变换是在layout阶段,会影响在子组件的位置和大小。我们将上面介绍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),) ], ), 效果如图5-15所示: 由于RotatedBox是作用于layout阶段,所以子组件会旋转90度(而不只是绘制的内容),decoration会作用到子组件所占用的实际空间上,所以最终就是上图的效果,读者可以和前面Transform.rotate示例对比理解。 "},"chapter5/container.html":{"url":"chapter5/container.html","title":"5.5:Container容器","keywords":"","body":"5.5 Container 我们在前面的章节示例中多次用到过Container组件,本节我们就详细介绍一下Container组件。Container是一个组合类容器,它本身不对应具体的RenderObject,它是DecoratedBox、ConstrainedBox、Transform、Padding、Align等组件组合的一个多功能容器,所以我们只需通过一个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, }) Container的大多数属性在介绍其它容器时都已经介绍过了,不再赘述,但有两点需要说明: 容器的大小可以通过width、height属性来指定,也可以通过constraints来指定;如果它们同时存在时,width、height优先。实际上Container内部会根据width、height来生成一个constraints。 color和decoration是互斥的,如果同时设置它们则会报错!实际上,当指定color时,Container内会自动创建一个decoration。 实例 我们通过Container来实现如图5-16所示的卡片: 实现代码如下: 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具备多种组件的功能,通过查看Container源码,我们会很容易发现它正是前面我们介绍过的多种组件组合而成。在Flutter中,Container组件也正是组合优先于继承的实例。 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 组件来实现的,上面的示例代码实际上等价于: ... 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":"5.6:Scaffold、TabBar、底部导航","keywords":"","body":"5.6 Scaffold、TabBar、底部导航 Material组件库提供了丰富多样的组件,本节介绍一些常用的组件,其余的读者可以自行查看文档或Flutter Gallery中Material组件部分的示例。 Flutter Gallery是Flutter官方提供的Flutter Demo,源码位于flutter源码中的examples目录下,笔者强烈建议用户将Flutter Gallery示例跑起来,它是一个很全面的Flutter示例应用,是非常好的参考Demo,也是笔者学习Flutter的第一手资料。 5.6.1 Scaffold 一个完整的数路由页可能会包含导航栏、抽屉菜单(Drawer)以及底部Tab导航菜单等。如果每个路由页面都需要开发者自己手动去实现这些,这会是一件非常麻烦且无聊的事。幸运的是,Flutter Material组件库提供了一些现成的组件来减少我们的开发任务。Scaffold是一个路由页的骨架,我们使用它可以很容易地拼装出一个完整的页面。 示例 我们实现一个页面,它包含: 一个导航栏 导航栏右边有一个分享按钮 有一个抽屉菜单 有一个底部导航 右下角有一个悬浮的动作按钮 最终效果如图5-18、图5-19所示: 实现代码如下: 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(){ } } 上面代码中我们用到了如下组件: 组件名称 解释 AppBar 一个导航栏骨架 MyDrawer 抽屉菜单 BottomNavigationBar 底部导航栏 FloatingActionButton 漂浮按钮 下面我们来分别介绍一下它们。 5.6.2 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(); }, ); }), ... ) 代码运行效果如图5-20所示: 可以看到左侧菜单已经替换成功。 代码中打开抽屉菜单的方法在ScaffoldState中,通过Scaffold.of(context)可以获取父级最近的Scaffold 组件的State对象,原理可以参考本书后面“Element与BuildContext” 一章。Flutter还有一种通用的获取State对象的方法——通过GlobalKey来获取! 步骤分两步: 给目标StatefulWidget添加GlobalKey。 //定义一个globalKey, 由于GlobalKey要保持全局唯一性,我们使用静态变量存储 static GlobalKey _globalKey= new GlobalKey(); ... Scaffold( key: _globalKey , //设置key ... ) 通过GlobalKey来获取State对象 _globalKey.currentState.openDrawer() TabBar 下面我们通过“bottom”属性来添加一个导航栏底部Tab按钮组,将要实现的效果如图5-21所示: 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 组件,它是Material组件库提供的Material风格的Tab菜单。 Tab组件有三个可选参数,除了可以指定文字外,还可以指定Tab菜单图标,或者直接自定义组件样式。Tab组件定义如下: Tab({ Key key, this.text, // 菜单文本 this.icon, // 菜单图标 this.child, // 自定义组件样式 }) 开发者可以根据实际需求来定制。 TabBarView 通过TabBar我们只能生成一个静态的菜单,真正的Tab页还没有实现。由于Tab菜单和Tab页的切换需要同步,我们需要通过TabController去监听Tab菜单的切换去切换Tab页,代码如: _tabController.addListener((){ switch(_tabController.index){ case 1: ...; case 2: ... ; } }); 如果我们Tab页可以滑动切换的话,还需要在滑动过程中更新TabBar指示器的偏移!显然,要手动处理这些是很麻烦的,为此,Material库提供了一个TabBarView组件,通过它不仅可以轻松的实现Tab页,而且可以非常容易的配合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(), ), ... // 省略无关代码 ) 运行后效果如图5-22所示: 现在,无论是点击导航栏Tab菜单还是在页面上左右滑动,Tab页面都会切换,并且Tab菜单的状态和Tab页面始终保持同步!那它们是如何实现同步的呢?细心的读者可能已经发现,上例中TabBar和TabBarView的controller是同一个!正是如此,TabBar和TabBarView正是通过同一个controller来实现菜单切换和滑动状态同步的,有关TabController的详细信息,我们不再本书做过多介绍,使用时读者直接查看SDK即可。 另外,Material组件库也提供了一个PageView 组件,它和TabBarView功能相似,读者可以自行了解一下。 5.6.3 抽屉菜单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, //移除抽屉菜单顶部默认留白 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默认的一些留白(比如Drawer默认顶部会留和手机状态栏等高的留白),读者可以尝试传递不同的参数来看看实际效果。抽屉菜单页由顶部和底部组成,顶部由用户头像和昵称组成,底部是一个菜单列表,用ListView实现,关于ListView我们将在后面“可滚动组件”一节详细介绍。 5.6.4 FloatingActionButton FloatingActionButton是Material设计规范中的一种特殊Button,通常悬浮在页面的某一个位置作为某种常用动作的快捷入口,如本节示例中页面右下角的\"➕\"号按钮。我们可以通过Scaffold的floatingActionButton属性来设置一个FloatingActionButton,同时通过floatingActionButtonLocation属性来指定其在页面中悬浮的位置,这个比较简单,不再赘述。 5.6.5 底部Tab导航栏 我们可以通过Scaffold的bottomNavigationBar属性来设置底部导航,如本节开始示例所示,我们通过Material组件库提供的BottomNavigationBar和BottomNavigationBarItem两种组件来实现Material风格的底部导航栏。可以看到上面的实现代码非常简单,所以不再赘述,但是如果我们想实现如图5-23所示效果的底部导航栏应该怎么做呢? Material组件库中提供了一个BottomAppBar 组件,它可以和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示例中就有一个”钻石“形状的示例,读者感兴趣可以自行查看。 "},"chapter5/clip.html":{"url":"chapter5/clip.html","title":"5.7:剪裁(Clip)","keywords":"","body":"5.7 剪裁(Clip) Flutter中提供了一些剪裁函数,用于对组件进行剪裁。 剪裁Widget 作用 ClipOval 子组件为正方形时剪裁为内贴圆形,为矩形时,剪裁为内贴椭圆 ClipRRect 将子组件剪裁为圆角矩形 ClipRect 剪裁子组件到实际占用的矩形大小(溢出部分剪裁) 下面看一个例子: import 'package:flutter/material.dart'; class ClipTestRoute extends StatelessWidget { @override Widget build(BuildContext context) { // 头像 Widget avatar = Image.asset(\"imgs/avatar.png\", width: 60.0); return Center( child: Column( children: [ avatar, //不剪裁 ClipOval(child: avatar), //剪裁为圆形 ClipRRect( //剪裁为圆角矩形 borderRadius: BorderRadius.circular(5.0), child: avatar, ), Row( mainAxisAlignment: MainAxisAlignment.center, children: [ Align( alignment: Alignment.topLeft, widthFactor: .5,//宽度设为原来宽度一半,另一半会溢出 child: avatar, ), Text(\"你好世界\", style: TextStyle(color: Colors.green),) ], ), Row( mainAxisAlignment: MainAxisAlignment.center, children: [ ClipRect(//将溢出部分剪裁 child: Align( alignment: Alignment.topLeft, widthFactor: .5,//宽度设为原来宽度一半 child: avatar, ), ), Text(\"你好世界\",style: TextStyle(color: Colors.green)) ], ), ], ), ); } } 运行效果如图5-24所示: 上面示例代码注释比较详细,在此不再赘述。但值得一提的是最后的两个Row!它们通过Align设置widthFactor为0.5后,图片的实际宽度等于60×0.5,即原宽度一半,但此时图片溢出部分依然会显示,所以第一个“你好世界”会和图片的另一部分重合,为了剪裁掉溢出部分,我们在第二个Row中通过ClipRect将溢出部分剪裁掉了。 CustomClipper 如果我们想剪裁子组件的特定区域,比如,在上面示例的图片中,如果我们只想截取图片中部40×30像素的范围应该怎么做?这时我们可以使用CustomClipper来自定义剪裁区域,实现代码如下: 首先,自定义一个CustomClipper: class MyClipper extends CustomClipper { @override Rect getClip(Size size) => Rect.fromLTWH(10.0, 15.0, 40.0, 30.0); @override bool shouldReclip(CustomClipper oldClipper) => false; } getClip()是用于获取剪裁区域的接口,由于图片大小是60×60,我们返回剪裁区域为Rect.fromLTWH(10.0, 15.0, 40.0, 30.0),及图片中部40×30像素的范围。 shouldReclip() 接口决定是否重新剪裁。如果在应用中,剪裁区域始终不会发生变化时应该返回false,这样就不会触发重新剪裁,避免不必要的性能开销。如果剪裁区域会发生变化(比如在对剪裁区域执行一个动画),那么变化后应该返回true来重新执行剪裁。 然后,我们通过ClipRect来执行剪裁,为了看清图片实际所占用的位置,我们设置一个红色背景: DecoratedBox( decoration: BoxDecoration( color: Colors.red ), child: ClipRect( clipper: MyClipper(), //使用自定义的clipper child: avatar ), ) 运行效果如图5-25所示: 可以看到我们的剪裁成功了,但是图片所占用的空间大小仍然是60×60(红色区域),这是因为剪裁是在layout完成后的绘制阶段进行的,所以不会影响组件的大小,这和Transform原理是相似的。 "},"chapter6/":{"url":"chapter6/","title":"第六章:可滚动组件","keywords":"","body":"本章目录 可滚动Widgets简介 SingleChildScrollView ListView GridView CustomScrollView 滚动监听及控制ScrollController "},"chapter6/intro.html":{"url":"chapter6/intro.html","title":"6.1:可滚动组件简介","keywords":"","body":"6.1 可滚动组件简介 当组件内容超过当前显示视口(ViewPort)时,如果没有特殊处理,Flutter则会提示Overflow错误。为此,Flutter提供了多种可滚动组件(Scrollable Widget)用于显示列表和长布局。在本章中,我们先介绍一下常用的可滚动组件(如ListView、GridView等),然后介绍一下ScrollController。可滚动组件都直接或间接包含一个Scrollable组件,因此它们包括一些共同的属性,为了避免重复介绍,我们在此统一介绍一下: Scrollable({ ... this.axisDirection = AxisDirection.down, this.controller, this.physics, @required this.viewportBuilder, //后面介绍 }) axisDirection滚动方向。 physics:此属性接受一个ScrollPhysics类型的对象,它决定可滚动组件如何响应用户操作,比如用户滑动完抬起手指后,继续执行动画;或者滑动到边界时,如何显示。默认情况下,Flutter会根据具体平台分别使用不同的ScrollPhysics对象,应用不同的显示效果,如当滑动到边界时,继续拖动的话,在iOS上会出现弹性效果,而在Android上会出现微光效果。如果你想在所有平台下使用同一种效果,可以显式指定一个固定的ScrollPhysics,Flutter SDK中包含了两个ScrollPhysics的子类,他们可以直接使用: ClampingScrollPhysics:Android下微光效果。 BouncingScrollPhysics:iOS下弹性效果。 controller:此属性接受一个ScrollController对象。ScrollController的主要作用是控制滚动位置和监听滚动事件。默认情况下,Widget树中会有一个默认的PrimaryScrollController,如果子树中的可滚动组件没有显式的指定controller,并且primary属性值为true时(默认就为true),可滚动组件会使用这个默认的PrimaryScrollController。这种机制带来的好处是父组件可以控制子树中可滚动组件的滚动行为,例如,Scaffold正是使用这种机制在iOS中实现了点击导航栏回到顶部的功能。我们将在本章后面“滚动控制”一节详细介绍ScrollController。 Scrollbar Scrollbar是一个Material风格的滚动指示器(滚动条),如果要给可滚动组件添加滚动条,只需将Scrollbar作为可滚动组件的任意一个父级组件即可,如: Scrollbar( child: SingleChildScrollView( ... ), ); Scrollbar和CupertinoScrollbar都是通过ScrollController来监听滚动事件来确定滚动条位置的。关于ScrollController的详细内容我们将在本章最后一节中专门介绍。 CupertinoScrollbar CupertinoScrollbar是iOS风格的滚动条,如果你使用的是Scrollbar,那么在iOS平台它会自动切换为CupertinoScrollbar。 ViewPort视口 在很多布局系统中都有ViewPort的概念,在Flutter中,术语ViewPort(视口),如无特别说明,则是指一个Widget的实际显示区域。例如,一个ListView的显示区域高度是800像素,虽然其列表项总高度可能远远超过800像素,但是其ViewPort仍然是800像素。 基于Sliver的延迟构建 通常可滚动组件的子组件可能会非常多、占用的总高度也会非常大;如果要一次性将子组件全部构建出将会非常昂贵!为此,Flutter中提出一个Sliver(中文为”薄片“的意思)概念,如果一个可滚动组件支持Sliver模型,那么该滚动可以将子组件分成好多个”薄片“(Sliver),只有当Sliver出现在视口中时才会去构建它,这种模型也称为”基于Sliver的延迟构建模型“。可滚动组件中有很多都支持基于Sliver的延迟构建模型,如ListView、GridView,但是也有不支持该模型的,如SingleChildScrollView。 主轴和纵轴 在可滚动组件的坐标描述中,通常将滚动方向称为主轴,非滚动方向称为纵轴。由于可滚动组件的默认方向一般都是沿垂直方向,所以默认情况下主轴就是指垂直方向,水平方向同理。 "},"chapter6/single_child_scrollview.html":{"url":"chapter6/single_child_scrollview.html","title":"6.2:SingleChildScrollView","keywords":"","body":"6.2 SingleChildScrollView SingleChildScrollView类似于Android中的ScrollView,它只能接收一个子组件。定义如下: 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时,那么滑动方向就是从右往左。其实此属性本质上是决定可滚动组件的初始滚动位置是在“头”还是“尾”,取false时,初始滚动位置在“头”,反之则在“尾”,读者可以自己试验。 primary:指是否使用widget树中默认的PrimaryScrollController;当滑动方向为垂直方向(scrollDirection值为Axis.vertical)并且没有指定controller时,primary默认为true. 需要注意的是,通常SingleChildScrollView只应在期望的内容不会超过屏幕太多时使用,这是因为SingleChildScrollView不支持基于Sliver的延迟实例化模型,所以如果预计视口可能包含超出屏幕尺寸太多的内容时,那么使用SingleChildScrollView将会非常昂贵(性能差),此时应该使用一些支持Sliver延迟加载的可滚动组件,如ListView。 示例 下面是一个将大写字母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(), ), ), ), ); } } 运行效果如图6-1所示: "},"chapter6/listview.html":{"url":"chapter6/listview.html","title":"6.3:ListView","keywords":"","body":"6.3 ListView ListView是最常用的可滚动组件之一,它可以沿一个方向线性排布所有子组件,并且它也支持基于Sliver的延迟构建模型。我们看看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 [], }) 上面参数分为两组:第一组是可滚动组件的公共参数,本章第一节中已经介绍过,不再赘述;第二组是ListView各个构造函数(ListView有多个构造函数)的共同参数,我们重点来看看这些参数,: itemExtent:该参数如果不为null,则会强制children的”长度“为itemExtent的值;这里的”长度“是指滚动方向上子组件的长度,也就是说如果滚动方向是垂直方向,则itemExtent代表子组件的高度;如果滚动方向为水平方向,则itemExtent就代表子组件的宽度。在ListView中,指定itemExtent比让子组件自己决定自身长度会更高效,这是因为指定itemExtent后,滚动系统可以提前知道列表的长度,而无需每次构建子组件时都去再计算一下,尤其是在滚动位置频繁变化时(滚动系统需要频繁去计算列表高度)。 shrinkWrap:该属性表示是否根据子组件的总长度来设置ListView的长度,默认值为false 。默认情况下,ListView的会在滚动方向尽可能多的占用空间。当ListView在一个无边界(滚动方向上)的容器中时,shrinkWrap必须为true。 addAutomaticKeepAlives:该属性表示是否将列表项(子组件)包裹在AutomaticKeepAlive 组件中;典型地,在一个懒加载列表中,如果将列表项包裹在AutomaticKeepAlive中,在该列表项滑出视口时它也不会被GC(垃圾回收),它会使用KeepAliveNotification来保存其状态。如果列表项自己维护其KeepAlive状态,那么此参数必须置为false。 addRepaintBoundaries:该属性表示是否将列表项(子组件)包裹在RepaintBoundary组件中。当可滚动组件滚动时,将列表项包裹在RepaintBoundary中可以避免列表项重绘,但是当列表项重绘的开销非常小(如一个颜色块,或者一个较短的文本)时,不添加RepaintBoundary反而会更高效。和addAutomaticKeepAlive一样,如果列表项自己维护其KeepAlive状态,那么此参数必须置为false。 注意:上面这些参数并非ListView特有,在本章后面介绍的其它可滚动组件也可能会拥有这些参数,它们的含义是相同的。 默认构造函数 默认构造函数有一个children参数,它接受一个Widget列表(List)。这种方式适合只有少量的子组件的情况,因为这种方式需要将所有children都提前创建好(这需要做大量工作),而不是等到子widget真正显示的时候再创建,也就是说通过默认构造函数构建的ListView没有应用基于Sliver的懒加载模型。实际上通过此方式创建的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'), ], ); 再次强调,可滚动组件通过一个List来作为其children属性时,只适用于子组件较少的情况,这是一个通用规律,并非ListView自己的特性,像GridView也是如此。 ListView.builder ListView.builder适合列表项比较多(或者无限)的情况,因为只有当子组件真正显示的时候才会被创建,也就说通过该构造函数创建的ListView是支持基于Sliver的懒加载模型的。下面看一下ListView.builder的核心参数列表: ListView.builder({ // ListView公共参数已省略 ... @required IndexedWidgetBuilder itemBuilder, int itemCount, ... }) itemBuilder:它是列表项的构建器,类型为IndexedWidgetBuilder,返回值为一个widget。当列表滚动到具体的index位置时,会调用该构建器构建列表项。 itemCount:列表项的数量,如果为null,则为无限列表。 可滚动组件的构造函数如果需要一个列表项Builder,那么通过该构造函数构建的可滚动组件通常就是支持基于Sliver的懒加载模型的,反之则不支持,这是个一般规律。我们在后面在介绍可滚动组件的构造函数时将不再专门说明其是否支持基于Sliver的懒加载模型了。 下面看一个例子: ListView.builder( itemCount: 100, itemExtent: 50.0, //强制高度为50.0 itemBuilder: (BuildContext context, int index) { return ListTile(title: Text(\"$index\")); } ); 运行效果如图6-2所示: 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() { super.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(() { //重新构建列表 }); }); } } 运行后效果如图6-4、6-5所示: 代码比较简单,读者可以参照代码中的注释理解,故不再赘述。需要说明的是,_retrieveData()的功能是模拟从数据源异步获取数据,我们使用english_words包的generateWordPairs()方法每次生成20个单词。 添加固定列表头 很多时候我们需要给列表添加一个固定表头,比如我们想实现一个商品列表,需要在列表顶部添加一个“商品列表”标题,期望的效果如图6-6所示: 我们按照之前经验,写出如下代码: @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\")); }), ), ... 运行效果如图6-7所示: 可以看到,现在没有触发异常并且列表已经显示出来了,但是我们的手机屏幕高度要大于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\")); }), ) ... 运行效果如下图6-8所示: 可以看到,我们期望的效果实现了,但是这种方法并不优雅,如果页面布局发生变化,比如表头布局调整导致表头高度改变,那么剩余空间的高度就得重新计算。那么有什么方法可以自动拉伸ListView以填充屏幕剩余空间的方法吗?当然有!答案就是Flex。前面已经介绍过在弹性布局中,可以使用Expanded自动拉伸组件大小,并且我们也说过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生成列表项组件,更多详情请参考API文档。 "},"chapter6/gridview.html":{"url":"chapter6/gridview.html","title":"6.4:GridView","keywords":"","body":"6.4 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子组件如何排列(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两个参数共同决定的。注意,这里的子元素指的是子组件的最大显示空间,注意确保子组件的实际大小不要超出子元素的空间。 下面看一个例子: 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)内的话,子元素最终实际长度都为112.5,而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":"6.5:CustomScrollView","keywords":"","body":"6.5 CustomScrollView CustomScrollView是可以使用Sliver来自定义滚动模型(效果)的组件。它可以包含多种滚动模型,举个例子,假设有一个页面,顶部需要一个GridView,底部需要一个ListView,而要求整个页面的滑动效果是统一的,即它们看起来是一个整体。如果使用GridView+ListView来实现的话,就不能保证一致的滑动效果,因为它们的滚动效果是分离的,所以这时就需要一个\"胶水\",把这些彼此独立的可滚动组件\"粘\"起来,而CustomScrollView的功能就相当于“胶水”。 可滚动组件的Sliver版 Sliver在前面讲过,有细片、薄片之意,在Flutter中,Sliver通常指可滚动组件子元素(就像一个个薄片一样)。但是在CustomScrollView中,需要粘起来的可滚动组件就是CustomScrollView的Sliver了,如果直接将ListView、GridView作为CustomScrollView是不行的,因为它们本身是可滚动组件而并不是Sliver!因此,为了能让可滚动组件能和CustomScrollView配合使用,Flutter提供了一些可滚动组件的Sliver版,如SliverList、SliverGrid等。实际上Sliver版的可滚动组件和非Sliver版的可滚动组件最大的区别就是前者不包含滚动模型(子身不能再滚动),而后者包含滚动模型 ,也正因如此,CustomScrollView才可以将多个Sliver\"粘\"在一起,这些Sliver共用CustomScrollView的Scrollable,所以最终才实现了统一的滑动效果。 Sliver系列Widget比较多,我们不会一一介绍,读者只需记住它的特点,需要时再去查看文档即可。上面之所以说“大多数“Sliver都和可滚动组件对应,是由于还有一些如SliverPadding、SliverAppBar等是和可滚动组件无关的,它们主要是为了结合CustomScrollView一起使用,这是因为CustomScrollView的子组件必须都是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个子组件。 底部SliverFixedExtentList:它是一个所有子元素高度都为50像素的列表。 运行效果如图: "},"chapter6/scroll_controller.html":{"url":"chapter6/scroll_controller.html","title":"6.6:滚动监听及控制(ScrollController)","keywords":"","body":"6.6 滚动监听及控制 在前几节中,我们介绍了Flutter中常用的可滚动组件,也说过可以用ScrollController来控制可滚动组件的滚动位置,本节先介绍一下ScrollController,然后以ListView为例,展示一下ScrollController的具体用法。最后,再介绍一下路由切换时如何来保存滚动位置。 6.6.1 ScrollController ScrollController构造函数如下: ScrollController({ double initialScrollOffset = 0.0, //初始滚动位置 this.keepScrollOffset = true,//是否保存滚动位置 ... }) 我们介绍一下ScrollController常用的属性和方法: offset:可滚动组件当前的滚动位置。 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是一个用于保存页面(路由)相关数据的组件,它并不会影响子树的UI外观,其实,PageStorage是一个功能型组件,它拥有一个存储桶(bucket),子树中的Widget可以通过指定不同的PageStorageKey来存储各自的数据或状态。 每次滚动结束,可滚动组件都会将滚动位置offset存储到PageStorage中,当可滚动组件重新创建时再恢复。如果ScrollController.keepScrollOffset为false,则滚动位置将不会被存储,可滚动组件重新创建时会使用ScrollController.initialScrollOffset;ScrollController.keepScrollOffset为true时,可滚动组件在第一次创建时,会滚动到initialScrollOffset处,因为这时还没有存储过滚动位置。在接下来的滚动中就会存储、恢复滚动位置,而initialScrollOffset会被忽略。 当一个路由中包含多个可滚动组件时,如果你发现在进行一些跳转或切换操作后,滚动位置不能正确恢复,这时你可以通过显式指定PageStorageKey来分别跟踪不同的可滚动组件的位置,如: ListView(key: PageStorageKey(1), ... ); ... ListView(key: PageStorageKey(2), ... ); 不同的PageStorageKey,需要不同的值,这样才可以为不同可滚动组件保存其滚动位置。 注意:一个路由中包含多个可滚动组件时,如果要分别跟踪它们的滚动位置,并非一定就得给他们分别提供PageStorageKey。这是因为Scrollable本身是一个StatefulWidget,它的状态中也会保存当前滚动位置,所以,只要可滚动组件本身没有被从树上detach掉,那么其State就不会销毁(dispose),滚动位置就不会丢失。只有当Widget发生结构变化,导致可滚动组件的State销毁或重新构建时才会丢失状态,这种情况就需要显式指定PageStorageKey,通过PageStorage来存储滚动位置,一个典型的场景是在使用TabBarView时,在Tab发生切换时,Tab页中的可滚动组件的State就会销毁,这时如果想恢复滚动位置就需要指定PageStorageKey。 ScrollPosition ScrollPosition是用来保存可滚动组件的滚动位置的。一个ScrollController对象可以同时被多个可滚动组件使用,ScrollController会为每一个可滚动组件创建一个ScrollPosition对象,这些ScrollPosition保存在ScrollController的positions属性中(List)。ScrollPosition是真正保存滑动位置信息的对象,offset只是一个便捷属性: double get offset => position.pixels; 一个ScrollController虽然可以对应多个可滚动组件,但是有一些操作,如读取滚动位置offset,则需要一对一!但是我们仍然可以在一对多的情况下,通过其它方法读取滚动位置,举个例子,假设一个ScrollController同时被两个可滚动组件使用,那么我们可以通过如下方式分别读取他们的滚动位置: ... controller.positions.elementAt(0).pixels controller.positions.elementAt(1).pixels ... 我们可以通过controller.positions.length来确定controller被几个可滚动组件使用。 ScrollPosition的方法 ScrollPosition有两个常用方法:animateTo() 和 jumpTo(),它们是真正来控制跳转滚动位置的方法,ScrollController的这两个同名方法,内部最终都会调用ScrollPosition的。 ScrollController控制原理 我们来介绍一下ScrollController的另外三个方法: ScrollPosition createScrollPosition( ScrollPhysics physics, ScrollContext context, ScrollPosition oldPosition); void attach(ScrollPosition position) ; void detach(ScrollPosition position) ; 当ScrollController和可滚动组件关联时,可滚动组件首先会调用ScrollController的createScrollPosition()方法来创建一个ScrollPosition来存储滚动位置信息,接着,可滚动组件会调用attach()方法,将创建的ScrollPosition添加到ScrollController的positions属性中,这一步称为“注册位置”,只有注册后animateTo() 和 jumpTo()才可以被调用。 当可滚动组件销毁时,会调用ScrollController的detach()方法,将其ScrollPosition对象从ScrollController的positions属性中移除,这一步称为“注销位置”,注销后animateTo() 和 jumpTo() 将不能再被调用。 需要注意的是,ScrollController的animateTo() 和 jumpTo()内部会调用所有ScrollPosition的animateTo() 和 jumpTo(),以实现所有和该ScrollController关联的可滚动组件都滚动到指定的位置。 6.6.2 滚动监听 Flutter Widget树中子Widget可以通过发送通知(Notification)与父(包括祖先)Widget通信。父级组件可以通过NotificationListener组件来监听自己关注的通知,这种通信方式类似于Web开发中浏览器的事件冒泡,我们在Flutter中沿用“冒泡”这个术语,关于通知冒泡我们将在后面”事件处理与通知“一章中详细介绍。 可滚动组件在滚动时会发送ScrollNotification类型的通知,ScrollBar正是通过监听滚动通知来实现的。通过NotificationListener监听滚动事件和通过ScrollController有两个主要的不同: 通过NotificationListener可以在从可滚动组件到widget树根之间任意位置都能监听。而ScrollController只能和具体的可滚动组件关联后才可以。 收到滚动事件后获得的信息不同;NotificationListener在收到滚动事件时,通知中会携带当前滚动位置和ViewPort的一些信息,而ScrollController只能获取当前滚动位置。 示例 下面,我们监听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, ) ], ), ), ); } } 运行结果如图6-16所示: 在接收到滚动事件时,参数类型为ScrollNotification,它包括一个metrics属性,它的类型是ScrollMetrics,该属性包含当前ViewPort及滚动位置等信息: pixels:当前滚动位置。 maxScrollExtent:最大可滚动长度。 extentBefore:滑出ViewPort顶部的长度;此示例中相当于顶部滑出屏幕上方的列表长度。 extentInside:ViewPort内部长度;此示例中屏幕显示的列表部分的长度。 extentAfter:列表中未滑入ViewPort部分的长度;此示例中列表底部未显示到屏幕范围部分的长度。 atEdge:是否滑到了可滚动组件的边界(此示例中相当于列表顶或底部)。 ScrollMetrics还有一些其它属性,读者可以自行查阅API文档。 "},"chapter7/":{"url":"chapter7/","title":"第七章:功能型组件","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":"7.1:导航返回拦截(WillPopScope)","keywords":"","body":"7.1 导航返回拦截(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":"7.2:数据共享(InheritedWidget)","keywords":"","body":"7.2 数据共享(InheritedWidget) InheritedWidget是Flutter中非常重要的一个功能型组件,它提供了一种数据在widget树种从上到下的传递、共享方式,比如我们在应用的根widget中通过InheritedWidget共享了一个数据,那么我们便可以在任意子widget中来获取该共享的数据!这个特性在一些需要在widget树中共享数据的场景中非常方便!如Flutter SDK中正是通过InheritedWidget来共享应用主题(Theme)和Locale (当前语言环境)信息的。 InheritedWidget和React中的context功能类似,和逐级传递数据相比,它们能实现组件跨级传递数据。InheritedWidget的在widget树中数据传递方向是从上到下的,这和通知Notification(将在下一章中介绍)的传递方向正好相反。 didChangeDependencies 在之前介绍StatefulWidget时,我们提到State对象有一个didChangeDependencies回调,它会在“依赖”发生变化时被Flutter Framework调用。而这个“依赖”指的就是子widget是否使用了父widget中InheritedWidget的数据!如果使用了,则代表子widget依赖有依赖InheritedWidget;如果没有使用则代表没有依赖。这种机制可以使子组件在所依赖的InheritedWidget变化时来更新自身!比如当主题、locale(语言)等发生变化时,依赖其的子widget的didChangeDependencies方法将会被调用。 下面我们看一下之前“计数器”示例应用程序的InheritedWidget版本。需要说明的是,本示例主要是为了演示InheritedWidget的功能特性,并不是计数器的推荐实现方式。 首先,我们通过继承InheritedWidget,将当前计数器点击次数保存在ShareDataWidget的data属性中: class ShareDataWidget extends InheritedWidget { ShareDataWidget({ @required this.data, Widget child }) :super(child: child); final int data; //需要在子树中共享的数据,保存点击次数 //定义一个便捷方法,方便子树中的widget获取共享数据 static ShareDataWidget of(BuildContext context) { return context.inheritFromWidgetOfExactType(ShareDataWidget); } //该回调决定当data发生变化时,是否通知子树中依赖data的Widget @override bool updateShouldNotify(ShareDataWidget old) { //如果返回true,则子树中依赖(build函数中有调用)本widget //的子widget的`state.didChangeDependencies`会被调用 return old.data != data; } } 然后我们实现一个子组件_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), ) ], ), ), ); } } 运行后界面如图7-1所示: 每点击一次按钮,计数器就会自增,控制台就会打印一句日志: I/flutter ( 8513): Dependencies change 可见依赖发生变化后,其didChangeDependencies()会被调用。但是读者要注意,如果_TestWidget的build方法中没有使用ShareDataWidget的数据,那么它的didChangeDependencies()将不会被调用,因为它并没有依赖ShareDataWidget。例如,我们将__TestWidgetState代码该为下面这样,didChangeDependencies()将不会被调用: class __TestWidgetState extends State { @override Widget build(BuildContext context) { // 使用InheritedWidget中的共享数据 // return Text(ShareDataWidget // .of(context) // .data // .toString()); return Text(\"text\"); } @override void didChangeDependencies() { super.didChangeDependencies(); // build方法中没有依赖InheritedWidget,此回调不会被调用。 print(\"Dependencies change\"); } } 上面的代码中,我们将build()方法中依赖ShareDataWidget的代码注释掉了,然后返回一个固定Text,这样一来,当点击Increment按钮后,ShareDataWidget的data虽然发生变化,但由于__TestWidgetState并未依赖ShareDataWidget,所以__TestWidgetState的didChangeDependencies方法不会被调用。其实,这个机制很好理解,因为在数据发生变化时只对使用该数据的Widget更新是合理并且性能友好的。 思考题:Flutter framework是怎么知道子widget有没有依赖InheritedWidget的? 应该在didChangeDependencies()中做什么? 一般来说,子widget很少会重写此方法,因为在依赖改变后framework也都会调用build()方法。但是,如果你需要在依赖改变后执行一些昂贵的操作,比如网络请求,这时最好的方式就是在此方法中执行,这样可以避免每次build()都执行这些昂贵操作。 深入了解InheritedWidget 现在来思考一下,如果我们只想在__TestWidgetState中引用ShareDataWidget数据,但却不希望在ShareDataWidget发生变化时调用__TestWidgetState的didChangeDependencies()方法应该怎么办?其实答案很简单,我们只需要将ShareDataWidget.of()的实现改一下即可: //定义一个便捷方法,方便子树中的widget获取共享数据 static ShareDataWidget of(BuildContext context) { //return context.inheritFromWidgetOfExactType(ShareDataWidget); return context.ancestorInheritedElementForWidgetOfExactType(ShareDataWidget).widget; } 唯一的改动就是获取ShareDataWidget对象的方式,把inheritFromWidgetOfExactType()方法换成了context.ancestorInheritedElementForWidgetOfExactType(ShareDataWidget).widget,那么他们到底有什么区别呢,我们看一下这两个方法的源码(实现代码在Element类中,Context和Element的关系我们将在后面专门介绍): @override InheritedElement ancestorInheritedElementForWidgetOfExactType(Type targetType) { final InheritedElement ancestor = _inheritedWidgets == null ? null : _inheritedWidgets[targetType]; return ancestor; } @override InheritedWidget inheritFromWidgetOfExactType(Type targetType, { Object aspect }) { final InheritedElement ancestor = _inheritedWidgets == null ? null : _inheritedWidgets[targetType]; //多出的部分 if (ancestor != null) { assert(ancestor is InheritedElement); return inheritFromElement(ancestor, aspect: aspect); } _hadUnsatisfiedDependencies = true; return null; } 我们可以看到,inheritFromWidgetOfExactType() 比 ancestorInheritedElementForWidgetOfExactType()多调了inheritFromElement方法,inheritFromElement源码如下: @override InheritedWidget inheritFromElement(InheritedElement ancestor, { Object aspect }) { //注册依赖关系 _dependencies ??= HashSet(); _dependencies.add(ancestor); ancestor.updateDependencies(this, aspect); return ancestor.widget; } 可以看到inheritFromElement方法中主要是注册了依赖关系!看到这里也就清晰了,调用inheritFromWidgetOfExactType() 和 ancestorInheritedElementForWidgetOfExactType()的却别就是前者会注册依赖关系,而后者不会,所以在调用inheritFromWidgetOfExactType()时,InheritedWidget和依赖它的子孙组件关系变完成了注册,之后当InheritedWidget发生变化时,就会更新依赖它的孙组件,也就是会调用依赖它的孙组件的didChangeDependencies()方法和build()方法。而当调用的是 ancestorInheritedElementForWidgetOfExactType()时,由于没有注册依赖关系,所以之后当InheritedWidget发生变化时,就不会更新相应的子孙Widget。 注意,如果将上面示例中ShareDataWidget.of()方法实现改成调用ancestorInheritedElementForWidgetOfExactType(),运行示例后,点击\"Increment\"按钮,会发现__TestWidgetState的didChangeDependencies()方法确实不会再被调用,但是其build()仍然会被调用!造成这个的原因其实是,点击\"Increment\"按钮后,会调用_InheritedWidgetTestRouteState的setState()方法,此时会重新构建整个页面,由于示例中,__TestWidget 并没有任何缓存,所以它也都会被重新构建,所以也会调用build()方法。 那么,现在就带来了一个问题:实际上,我们只想更新子树中依赖了ShareDataWidget的组件,而现在只要调用_InheritedWidgetTestRouteState的setState()方法,所有子节点都会被重新build,这很没必要,那么有什么办法可以避免呢?答案是缓存!一个简单的作法就是通过封装一个StatefulWidget,将子Widget树缓存起来,具体作法下一节我们将通过实现一个Provider Widget 来演示如何缓存,以及如何利用InheritedWidget 来实现Flutter全局状态共享。 "},"chapter7/provider.html":{"url":"chapter7/provider.html","title":"7.3: 跨组件状态共享(Provider)","keywords":"","body":"7.3 跨组件状态共享(Provider) 在Flutter开发中,状态管理是一个永恒的话题。一般的原则是:如果状态是组件私有的,则应该由组件自己管理;如果状态要跨组件共享,则该状态应该由各个组件共同的父元素来管理。对于组件私有的状态管理很好理解,但对于跨组件共享的状态,管理的方式就比较多了,如使用全局事件总线EventBus(将在下一章中介绍),它是一个观察者模式的实现,通过它就可以实现跨组件状态同步:状态持有方(发布者)负责更新、发布状态,状态使用方(观察者)监听状态改变事件来执行一些操作。下面我们看一个登陆状态同步的简单示例: 定义事件: enum Event{ login, ... //省略其它事件 } 登录页代码大致如下: // 登录状态改变后发布状态改变事件 bus.emit(Event.login); 依赖登录状态的页面: void onLoginChanged(e){ //登录状态变化处理逻辑 } @override void initState() { //订阅登录状态改变事件 bus.on(Event.login,onLogin); super.initState(); } @override void dispose() { //取消订阅 bus.off(Event.login,onLogin); super.dispose(); } 我们可以发现,通过观察者模式来实现跨组件状态共享有一些明显的缺点: 必须显式定义各种事件,不好管理 订阅者必须需显式注册状态改变回调,也必须在组件销毁时手动去解绑回调以避免内存泄露。 在Flutter当中有没有更好的跨组件状态管理方式了呢?答案是肯定的,那怎么做的?我们想想前面介绍的InheritedWidget,它的天生特性就是能绑定InheritedWidget与依赖它的子孙组件的依赖关系,并且当InheritedWidget数据发生变化时,可以自动更新依赖的子孙组件!利用这个特性,我们可以将需要跨组件共享的状态保存在InheritedWidget中,然后在子组件中引用InheritedWidget即可,Flutter社区著名的Provider包正是基于这个思想实现的一套跨组件状态共享解决方案,接下来我们便详细介绍一下Provider的用法及原理。 Provider 为了加强读者的理解,我们不直接去看Provider包的源代码,相反,我会带着你根据上面描述的通过InheritedWidget实现的思路来一步一步地实现一个最小功能的Provider。 首先,我们需要一个保存需要共享的数据InheritedWidget,由于具体业务数据类型不可预期,为了通用性,我们使用泛型,定义一个通用的InheritedProvider类,它继承自InheritedWidget: // 一个通用的InheritedWidget,保存任需要跨组件共享的状态 class InheritedProvider extends InheritedWidget { InheritedProvider({@required this.data, Widget child}) : super(child: child); //共享状态使用泛型 final T data; @override bool updateShouldNotify(InheritedProvider old) { //在此简单返回true,则每次更新都会调用依赖其的子孙节点的`didChangeDependencies`。 return true; } } 数据保存的地方有了,那么接下来我们需要做的就是在数据发生变化的时候来重新构建InheritedProvider,那么现在就面临两个问题: 数据发生变化怎么通知? 谁来重新构建InheritedProvider? 第一个问题其实很好解决,我们当然可以使用之前介绍的eventBus来进行事件通知,但是为了更贴近Flutter开发,我们使用Flutter中SDK中提供的ChangeNotifier类 ,它继承自Listenable,也实现了一个Flutter风格的发布者-订阅者模式,ChangeNotifier定义大致如下: class ChangeNotifier implements Listenable { @override void addListener(VoidCallback listener) { //添加监听器 } @override void removeListener(VoidCallback listener) { //移除监听器 } void notifyListeners() { //通知所有监听器,触发监听器回调 } ... //省略无关代码 } 我们可以通过调用addListener()和removeListener()来添加、移除监听器(订阅者);通过调用notifyListeners() 可以触发所有监听器回调。 现在,我们将要共享的状态放到一个Model类中,然后让它继承自ChangeNotifier,这样当共享的状态改变时,我们只需要调用notifyListeners() 来通知订阅者,然后由订阅者来重新构建InheritedProvider,这也是第二个问题的答案!接下来我们便实现这个订阅者类: // 该方法用于在Dart中获取模板类型 Type _typeOf() => T; class ChangeNotifierProvider extends StatefulWidget { ChangeNotifierProvider({ Key key, this.data, this.child, }); final Widget child; final T data; //定义一个便捷方法,方便子树中的widget获取共享数据 static T of(BuildContext context) { final type = _typeOf>(); final provider = context.inheritFromWidgetOfExactType(type) as InheritedProvider; return provider.data; } @override _ChangeNotifierProviderState createState() => _ChangeNotifierProviderState(); } 该类继承StatefulWidget,然后定义了一个of()静态方法供子类方便获取Widget树中的InheritedProvider中保存的共享状态(model),下面我们实现该类对应的_ChangeNotifierProviderState类: class _ChangeNotifierProviderState extends State> { void update() { //如果数据发生变化(model类调用了notifyListeners),重新构建InheritedProvider setState(() => {}); } @override void didUpdateWidget(ChangeNotifierProvider oldWidget) { //当Provider更新时,如果新旧数据不\"==\",则解绑旧数据监听,同时添加新数据监听 if (widget.data != oldWidget.data) { oldWidget.data.removeListener(update); widget.data.addListener(update); } super.didUpdateWidget(oldWidget); } @override void initState() { // 给model添加监听器 widget.data.addListener(update); super.initState(); } @override void dispose() { // 移除model的监听器 widget.data.removeListener(update); super.dispose(); } @override Widget build(BuildContext context) { return InheritedProvider( data: widget.data, child: widget.child, ); } } 可以看到_ChangeNotifierProviderState类的主要作用就是监听到共享状态(model)改变时重新构建Widget树。注意,在_ChangeNotifierProviderState类中调用setState()方法,widget.child始终是同一个,所以执行build时,InheritedProvider的child引用的始终是同一个子widget,所以widget.child并不会重新build,这也就相当于对child进行了缓存!当然如果ChangeNotifierProvider父级Widget重新build时,则其传入的child便有可能会发生变化。 现在我们所需要的各个工具类都已完成,下面我们通过一个购物车的例子来看看怎么使用上面的这些类。 购物车示例 我们需要实现一个显示购物车中所有商品总价的功能: 向购物车中添加新商品时总价更新 定义一个Item类,用于表示商品信息: class Item { Item(this.price, this.count); double price; //商品单价 int count; // 商品份数 //... 省略其它属性 } 定义一个保存购物车内商品数据的CartModel类: class CartModel extends ChangeNotifier { // 用于保存购物车中商品列表 final List _items = []; // 禁止改变购物车里的商品信息 UnmodifiableListView get items => UnmodifiableListView(_items); // 购物车中商品的总价 double get totalPrice => _items.fold(0, (value, item) => value + item.count * item.price); // 将 [item] 添加到购物车。这是唯一一种能从外部改变购物车的方法。 void add(Item item) { _items.add(item); // 通知监听器(订阅者),重新构建InheritedProvider, 更新状态。 notifyListeners(); } } CartModel即要跨组件共享的model类。最后我们构建示例页面: class ProviderRoute extends StatefulWidget { @override _ProviderRouteState createState() => _ProviderRouteState(); } class _ProviderRouteState extends State { @override Widget build(BuildContext context) { return Center( child: ChangeNotifierProvider( data: CartModel(), child: Builder(builder: (context) { return Column( children: [ Builder(builder: (context){ var cart=ChangeNotifierProvider.of(context); return Text(\"总价: ${cart.totalPrice}\"); }), Builder(builder: (context){ print(\"RaisedButton build\"); //在后面优化部分会用到 return RaisedButton( child: Text(\"添加商品\"), onPressed: () { //给购物车中添加商品,添加后总价会更新 ChangeNotifierProvider.of(context).add(Item(20.0, 1)); }, ); }), ], ); }), ), ); } } 运行示例后效果如图7-2所示: 每次点击”添加商品“按钮,总价就会增加20,我们期望的功能实现了!可能有些读者会疑惑,我们饶了一大圈实现这么简单的功能有意义么?其实,就这个例子来看,只是更新同一个路由页中的一个状态,我们使用ChangeNotifierProvider的优势并不明显,但是如果我们是做一个购物APP呢?由于购物车数据是通常回事整个APP共享的数据,会跨路由共享,如果我们将ChangeNotifierProvider放在整个应用的Widget树的根上,那么整个APP就可以共享购物车的数据了,这时ChangeNotifierProvider的优势将会非常明显。 虽然上面的例子比较简单,但它却将Provider的原理和流程体现的很清楚,图7-3是Provider的原理图: Model变化后会自动通知ChangeNotifierProvider(订阅者),ChangeNotifierProvider内部会重新构建InheritedWidget,而依赖该InheritedWidget的子孙Widget就会更新。 我们可以发现使用Provider,将会带来如下收益: 我们的业务代码更关注数据了,只要更新Model,则UI会自动更新,而不用在状态改变后再去手动调用setState()来显式更新页面。 数据改变的消息传递被屏蔽了,我们无需手动去处理状态改变事件的发布和订阅了,这一切都被封装在Provider中了。这真的很棒,帮我们省掉了大量的工作! 在大型复杂应用中,尤其是需要全局共享的状态非常多时,使用Provider将会大大简化我们的代码逻辑,降低出错的概率,提高开发效率。 优化 我们上面实现的ChangeNotifierProvider是有两个明显缺点:代码组织为题和性能问题,下面我们一一讨论。 代码组织问题 我们先看一下构建显示总价Text的代码: Builder(builder: (context){ var cart=ChangeNotifierProvider.of(context); return Text(\"总价: ${cart.totalPrice}\"); }) 这段代码有两点可以优化: 需要显式调用ChangeNotifierProvider.of,当APP内部依赖CartModel很多时,这样的代码将很冗余。 语义化不明确;由于ChangeNotifierProvider是订阅者,那么依赖CartModel的Widget自然就是订阅者,其实也就是状态的消费者,如果我们用Builder Widget来构建,语义话就不是很明确;如果我们能使用一个具有明确语义的Widget,比如就叫Consumer,这样最终的代码语义将会很明确,只要看到Consumer,我们就知道它是依赖某个跨组件或全局的状态。 为了优化这两个问题,我们可以封装一个Consumer Widget,实现如下: // 这是一个便捷类,会获得当前context和指定数据类型的Provider class Consumer extends StatelessWidget { Consumer({ Key key, @required this.builder, this.child, }) : assert(builder != null), super(key: key); final Widget child; final Widget Function(BuildContext context, T value) builder; @override Widget build(BuildContext context) { return builder( context, ChangeNotifierProvider.of(context), //自动获取Model ); } } Consumer实现非常简单,它通过指定模板参数,然后再内部自动调用ChangeNotifierProvider.of获取相应的Model,并且Consumer这个名字本身也是具有确切语义(消费者)。现在上面的代码块可以优化为如下这样: Consumer( builder: (context, cart)=> Text(\"总价: ${cart.totalPrice}\"); ) 是不是很优雅! 性能问题 上面的代码还有一个性能问题,就在构建”添加按钮“的代码处: Builder(builder: (context) { print(\"RaisedButton build\"); // 构建时输出日志 return RaisedButton( child: Text(\"添加商品\"), onPressed: () { ChangeNotifierProvider.of(context).add(Item(20.0, 1)); }, ); } 我们点击”添加商品“按钮后,由于购物车商品总价会变化,所以显示总价的Text更新是符合预期的,但是”添加商品“按钮本身没有变化,是不应该被重新build的。但是我们运行示例,每次点击”添加商品“按钮,控制台都会输出\"RaisedButton build\"日志,也就是说”添加商品“按钮在每次点击时其自身都会重新build!这是为什么呢?如果你已经理解了InheritedWidget的更新机制,那么答案一眼就能看出:这是因为构建RaisedButton的Builder中调用了ChangeNotifierProvider.of,也就是说依赖了Widget树上面的InheritedWidget(即InheritedProvider )Widget,所以当添加完商品后,CartModel发生变化,会通知ChangeNotifierProvider, 而ChangeNotifierProvider则会重新构建子树,所以InheritedProvider将会更新,此时依赖它的子孙Widget就会被重新构建。 问题的原因搞清楚了,那么我们如何避免这不必要重构呢?既然按钮重新被build是因为按钮和InheritedWidget建立了依赖关系,那么我们只要打破或解除这种依赖关系就可以了。那么如何解除按钮和InheritedWidget的依赖关系呢?我们上一节介绍InheritedWidget时已经讲过了:调用inheritFromWidgetOfExactType() 和 ancestorInheritedElementForWidgetOfExactType()的却别就是前者会注册依赖关系,而后者不会。所以我们只需要将ChangeNotifierProvider.of的实现改为下面这样既可: //添加一个listen参数,表示是否建立依赖关系 static T of(BuildContext context, {bool listen = true}) { final type = _typeOf>(); final provider = listen ? context.inheritFromWidgetOfExactType(type) as InheritedProvider : context.ancestorInheritedElementForWidgetOfExactType(type)?.widget as InheritedProvider; return provider.data; } 然后我们将调用部分代码改为: Column( children: [ Consumer( builder: (BuildContext context, cart) =>Text(\"总价: ${cart.totalPrice}\"), ), Builder(builder: (context) { print(\"RaisedButton build\"); return RaisedButton( child: Text(\"添加商品\"), onPressed: () { // listen 设为false,不建立依赖关系 ChangeNotifierProvider.of(context, listen: false) .add(Item(20.0, 1)); }, ); }) ], ) 修改后在此运行上面的示例,我们会发现点击”添加商品“按钮后,控制台不会再输出\"RaisedButton build\"了,即按钮不会被重新构建了。而总价仍然会更新,这是因为Consumer中调用ChangeNotifierProvider.of时listen值为默认值true,所以还是会建立依赖关系。 至此我们便实现了一个迷你的Provider,它具备Pub上Provider Package中的核心功能;但是我们的迷你版功能并不全面,如只实现了一个可监听的ChangeNotifierProvider,并没有实现只用于数据共享的Provider;还有就是我们的实现还有些边界没有考虑的到,比如如何保证在Widget树重新build时Model始终是单例等。所以建议读者在实战中还是使用Provider Package,而本节实现这个迷你Provider的主要目的主要是为了帮助读者了解Provider Package底层的原理。 其它状态管理包 现在Flutter社区已经有很多专门用于状态管理的包了,在此我们列出几个相对评分比较高的: 包名 介绍 Provider & Scoped Model 这两个包都是基于InheritedWidget的,原理相似 Redux 是Web开发中React生态链中Redux包的Flutter实现 MobX 是Web开发中React生态链中MobX包的Flutter实现 BLoC 是BLoC模式的Flutter实现 在此笔者不对这些包做推荐,读者有兴趣都可以研究一下,了解它们各自的思想。 总结 本节通过介绍事件总线在跨组件共享中的一些缺点引出了通过InheritedWidget来实现状态的共享的思想,然后基于该思想实现了一个简单的Provider,在实现的过程中也更深入的探索了InheritedWidget与其依赖项的注册机制和更新机制。通过本节的学习,读者应该达到两个目标,首先是对InheritedWidget彻底吃透,其次是Provider的设计思想。 InheritedWidget是Flutter中非常重要的一个Widget,像国际化、主题等都是通过它来实现,所以我们也不惜篇幅,通过好几节来介绍它的,在下一节中,我们将介绍另一个基于InheritedWidget的组件Theme(主题)。 "},"chapter7/theme.html":{"url":"chapter7/theme.html","title":"7.4:颜色和主题(Theme)","keywords":"","body":"7.4 颜色和主题 7.4.1 颜色 在介绍主题前我们先了解一些Flutter中的Color类。Color类中颜色以一个int值保存,我们知道显示器颜色是由红、绿、蓝三基色组成,每种颜色站8比特,存储结构如下: Bit(位) 颜色 0-7 蓝色 8-15 绿色 16-23 红色 24-31 Alpha (不透明度) 上面表格中的的字段在Color类中都有对应的属性,而Color中的众多方法也就是操作这些属性的,由于大多比较简单,读者可以查看类定义了解。在此我们主要讨论两点:色值转换和亮度。 如何将颜色字符串转成Color对象 如Web开发中的色值通常是一个字符串如\"#dc380d\",它是一个RGB值,我们可以通过下面这些方法将其转为Color类: Color(0xffdc380d); //如果颜色固定可以直接使用整数值 //颜色是一个字符串变量 var c = \"dc380d\"; Color(int.parse(c,radix:16)|0xFF000000) //通过位运算符将Alpha设置为FF Color(int.parse(c,radix:16)).withAlpha(255) //通过方法将Alpha设置为FF 颜色亮度 假如我们需要要实现一个背景颜色和Title可以自定义导航栏,并且背景色为深色时我们应该让Title显示浅色;背景色为浅色时,Title显示深色。要实现这个功能,我们就需要来计算背景色的亮度。Color类中提供了一个computeLuminance()方法,他可以返回一个[0-1]的一个值,数字越大颜色就越浅,我们可以根据它来动态确定Title的颜色,下面是导航栏NavBar的简单实现: class NavBar extends StatelessWidget { final String title; final Color color; //背景颜色 NavBar({ Key key, this.color, this.title, }); @override Widget build(BuildContext context) { return Container( constraints: BoxConstraints( minHeight: 52, minWidth: double.infinity, ), decoration: BoxDecoration( color: color, boxShadow: [ //阴影 BoxShadow( color: Colors.black26, offset: Offset(0, 3), blurRadius: 3, ), ], ), child: Text( title, style: TextStyle( fontWeight: FontWeight.bold, //根据背景色亮度来确定Title颜色 color: color.computeLuminance() 测试代码如下: Column( children: [ //背景为蓝色,则title自动为白色 NavBar(color: Colors.blue, title: \"标题\"), //背景为白色,则title自动为黑色 NavBar(color: Colors.white, title: \"标题\"), ] ) 运行效果如图7-4所示: MaterialColor MaterialColor是实现Material Design中的颜色的类,它包含一种颜色的10个级别的渐变色。MaterialColor通过\"[]\"运算符的索引值来代表颜色的深度,有效的索引有:50,100,200,…,900,数字越大,颜色越深。MaterialColor的默认值为索引等于500的颜色。举个例子,Colors.blue是预定义的一个MaterialColor类对象,定义如下: static const MaterialColor blue = MaterialColor( _bluePrimaryValue, { 50: Color(0xFFE3F2FD), 100: Color(0xFFBBDEFB), 200: Color(0xFF90CAF9), 300: Color(0xFF64B5F6), 400: Color(0xFF42A5F5), 500: Color(_bluePrimaryValue), 600: Color(0xFF1E88E5), 700: Color(0xFF1976D2), 800: Color(0xFF1565C0), 900: Color(0xFF0D47A1), }, ); static const int _bluePrimaryValue = 0xFF2196F3; Colors.blue[50]到Colors.blue[100]的色值从浅蓝到深蓝渐变,效果如图7-5所示: 7.4.2 Theme Theme组件可以为Material APP定义主题数据(ThemeData)。Material组件库里很多组件都使用了主题数据,如导航栏颜色、标题字体、Icon样式等。Theme内会使用InheritedWidget来为其子树共享样式数据。 ThemeData ThemeData用于保存是Material 组件库的主题数据,Material组件需要遵守相应的设计规范,而这些规范可自定义部分都定义在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) ), ), ); } } 运行后点击右下角悬浮按钮则可以切换主题,如图7-6、7-7所示: 需要注意的有三点: 可以通过局部主题覆盖全局主题,正如代码中通过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属性。 "},"chapter7/futurebuilder_and_streambuilder.html":{"url":"chapter7/futurebuilder_and_streambuilder.html","title":"7.5:异步UI更新(FutureBuilder、StreamBuilder)","keywords":"","body":"7.5 异步UI更新(FutureBuilder、StreamBuilder) 很多时候我们会依赖一些异步数据来动态更新UI,比如在打开一个页面时我们需要先从互联网上获取数据,在获取数据的过程中我们显式一个加载框,等获取到数据时我们再渲染页面;又比如我们想展示Stream(比如文件流、互联网数据接收流)的进度。当然,通过StatefulWidget我们完全可以实现上述这些功能。但由于在实际开发中依赖异步数据更新UI的这种场景非常常见,因此Flutter专门提供了FutureBuilder和StreamBuilder两个组件来快速实现这种功能。 7.5.1 FutureBuilder FutureBuilder会依赖一个Future,它会根据所依赖的Future的状态来动态构建自身。我们看一下FutureBuilder构造函数: FutureBuilder({ this.future, this.initialData, @required this.builder, }) future:FutureBuilder依赖的Future,通常是一个异步耗时任务。 initialData:初始数据,用户设置默认数据。 builder:Widget构建器;该构建器会在Future执行的不同阶段被多次调用,构建器签名如下: Function (BuildContext context, AsyncSnapshot snapshot) snapshot会包含当前异步任务的状态信息及结果信息 ,比如我们可以通过snapshot.connectionState获取异步任务的状态信息、通过snapshot.hasError判断异步任务是否有错误等等,完整的定义读者可以查看AsyncSnapshot类定义。 另外,FutureBuilder的builder函数签名和StreamBuilder的builder是相同的。 示例 我们实现一个路由,当该路由打开时我们从网上获取数据,获取数据时弹一个加载框;获取结束时,如果成功则显示获取到的数据,如果失败则显示错误。由于我们还没有介绍在flutter中如何发起网络请求,所以在这里我们不真正去网络请求数据,而是模拟一下这个过程,隔3秒后返回一个字符串: Future mockNetworkData() async { return Future.delayed(Duration(seconds: 2), () => \"我是从互联网上获取的数据\"); } FutureBuilder使用代码如下: ... Widget build(BuildContext context) { return Center( child: FutureBuilder( future: mockNetworkData(), builder: (BuildContext context, AsyncSnapshot snapshot) { // 请求已结束 if (snapshot.connectionState == ConnectionState.done) { if (snapshot.hasError) { // 请求失败,显示错误 return Text(\"Error: ${snapshot.error}\"); } else { // 请求成功,显示数据 return Text(\"Contents: ${snapshot.data}\"); } } else { // 请求未结束,显示loading return CircularProgressIndicator(); } }, ), ); } 运行结果如图7-8、7-9所示: 上面代码中我们在builder中根据当前异步任务状态ConnectionState来返回不同的widget。ConnectionState是一个枚举类,定义如下: enum ConnectionState { /// 当前没有异步任务,比如[FutureBuilder]的[future]为null时 none, /// 异步任务处于等待状态 waiting, /// Stream处于激活状态(流上已经有数据传递了),对于FutureBuilder没有该状态。 active, /// 异步任务已经终止. done, } 注意,ConnectionState.active只在StreamBuilder中才会出现。 7.5.2 StreamBuilder 我们知道,在Dart中Stream 也是用于接收异步事件数据,和Future 不同的是,它可以接收多个异步操作的结果,它常用于会多次读取数据的异步任务场景,如网络内容下载、文件读写等。StreamBuilder正是用于配合Stream来展示流上事件(数据)变化的UI组件。下面看一下StreamBuilder的默认构造函数: StreamBuilder({ Key key, this.initialData, Stream stream, @required this.builder, }) 可以看到和FutureBuilder的构造函数只有一点不同:前者需要一个future,而后者需要一个stream。 示例 我们创建一个计时器的示例:每隔1秒,计数加1。这里,我们使用Stream来实现每隔一秒生成一个数字: Stream counter() { return Stream.periodic(Duration(seconds: 1), (i) { return i; }); } StreamBuilder使用代码如下: Widget build(BuildContext context) { return StreamBuilder( stream: counter(), // //initialData: ,// a Stream or null builder: (BuildContext context, AsyncSnapshot snapshot) { if (snapshot.hasError) return Text('Error: ${snapshot.error}'); switch (snapshot.connectionState) { case ConnectionState.none: return Text('没有Stream'); case ConnectionState.waiting: return Text('等待数据...'); case ConnectionState.active: return Text('active: ${snapshot.data}'); case ConnectionState.done: return Text('Stream已关闭'); } return null; // unreachable }, ); } 读者可以自己运行本示例查看运行结果。注意,本示例只是为了演示StreamBuilder的使用,在实战中,凡是UI会依赖多个异步数据而发生变化的场景都可以使用StreamBuilder。 "},"chapter7/dailog.html":{"url":"chapter7/dailog.html","title":"7.6:对话框详解","keywords":"","body":"7.6 对话框详解 本节将详细介绍一下Flutter中话框对话框的使用方式、实现原理、样式定制及状态管理。 7.6.1 使用对话框 对话框本质上也是UI布局,通常一个对话框会包含标题、内容,以及一些操作按钮,为此,Material库中提提供了一些现成的对话框组件来用于快速的构建出一个完整的对话框。 AlertDialog 下面我们主要介绍一下Material库中的AlertDialog组件,它的构造函数定义如下: const AlertDialog({ Key key, this.title, //对话框标题组件 this.titlePadding, // 标题填充 this.titleTextStyle, //标题文本样式 this.content, // 对话框内容组件 this.contentPadding = const EdgeInsets.fromLTRB(24.0, 20.0, 24.0, 24.0), //内容的填充 this.contentTextStyle,// 内容文本样式 this.actions, // 对话框操作按钮组 this.backgroundColor, // 对话框背景色 this.elevation,// 对话框的阴影 this.semanticLabel, //对话框语义化标签(用于读屏软件) this.shape, // 对话框外形 }) 参数都比较简单,不在赘述。下面我们看一个例子,假如我们要在删除文件事弹出一个确认对话框,该对话框如图7-10所示: 该对话框样式代码如下: AlertDialog( title: Text(\"提示\"), content: Text(\"您确定要删除当前文件吗?\"), actions: [ FlatButton( child: Text(\"取消\"), onPressed: () => Navigator.of(context).pop(), //关闭对话框 ), FlatButton( child: Text(\"删除\"), onPressed: () { // ... 执行删除操作 Navigator.of(context).pop(true); //关闭对话框 }, ), ], ); 实现代码很简单,不在赘述。唯一需要注意的是我们是通过Navigator.of(context).pop(…)方法来关闭对话框的,这和路由返回的方式是一致的,并且都可以返回一个结果数据。现在,对话框我们已经构建好了,那么如何将它弹出来呢?还有对话框返回的数据如何应如何被接收呢?这些问题的答案都在showDialog()方法中。 showDialog()是Material组件库提供的一个用于弹出Material风格对话框的方法,签名如下: Future showDialog({ @required BuildContext context, bool barrierDismissible = true, //点击对话框barrier(遮罩)时是否关闭它 WidgetBuilder builder, // 对话框UI的builder }) 该方法只有两个参数,含义见注释。该方法返回一个Future,它正是用于接收对话框的返回值:如果我们是通过点击对话框遮罩关闭的,则Future的值为null,否则为我们通过Navigator.of(context).pop(result)返回的result值,下面我们看一下整个示例: //点击该按钮后弹出对话框 RaisedButton( child: Text(\"对话框1\"), onPressed: () async { //弹出对话框并等待其关闭 bool delete = await showDeleteConfirmDialog1(); if (delete == null) { print(\"取消删除\"); } else { print(\"已确认删除\"); //... 删除文件 } }, ), // 弹出对话框 Future showDeleteConfirmDialog1() { return showDialog( context: context, builder: (context) { return AlertDialog( title: Text(\"提示\"), content: Text(\"您确定要删除当前文件吗?\"), actions: [ FlatButton( child: Text(\"取消\"), onPressed: () => Navigator.of(context).pop(), // 关闭对话框 ), FlatButton( child: Text(\"删除\"), onPressed: () { //关闭对话框并返回true Navigator.of(context).pop(true); }, ), ], ); }, ); } 示例运行后,我们点击对话框“取消”按钮或遮罩,控制台就会输出\"取消删除\",如果点击“删除”按钮,控制台就会输出\"已确认删除\"。 注意:如果AlertDialog的内容过长,内容将会溢出,这在很多时候可能不是我们期望的,所以如果对话框内容过长时,可以用SingleChildScrollView将内容包裹起来。 SimpleDialog SimpleDialog也是Material组件库提供的对话框,它会展示一个列表,用于列表选择的场景。下面是一个选择APP语言的示例,运行结果如图7-11。 实现代码如下: Future changeLanguage() async { int i = await showDialog( context: context, builder: (BuildContext context) { return SimpleDialog( title: const Text('请选择语言'), children: [ SimpleDialogOption( onPressed: () { // 返回1 Navigator.pop(context, 1); }, child: Padding( padding: const EdgeInsets.symmetric(vertical: 6), child: const Text('中文简体'), ), ), SimpleDialogOption( onPressed: () { // 返回2 Navigator.pop(context, 2); }, child: Padding( padding: const EdgeInsets.symmetric(vertical: 6), child: const Text('美国英语'), ), ), ], ); }); if (i != null) { print(\"选择了:${i == 1 ? \"中文简体\" : \"美国英语\"}\"); } } 列表项组件我们使用了SimpleDialogOption组件来包装了一下,它相当于一个FlatButton,只不过按钮文案是左对齐的,并且padding较小。上面示例运行后,用户选择一种语言后,控制台就会打印出它。 Dialog 实际上AlertDialog和SimpleDialog都使用了Dialog类。由于AlertDialog和SimpleDialog中使用了IntrinsicWidth来尝试通过子组件的实际尺寸来调整自身尺寸,这就导致他们的子组件不能是延迟加载模型的组件(如ListView、GridView 、 CustomScrollView等),如下面的代码运行后会报错。 AlertDialog( content: ListView( children: ...//省略 ), ); 如果我们就是需要嵌套一个ListView应该怎么做?这时,我们可以直接使用Dialog类,如: Dialog( child: ListView( children: ...//省略 ), ); 下面我们看一个弹出一个有30个列表项的对话框示例,运行效果如图7-12所示: 实现代码如下: Future showListDialog() async { int index = await showDialog( context: context, builder: (BuildContext context) { var child = Column( children: [ ListTile(title: Text(\"请选择\")), Expanded( child: ListView.builder( itemCount: 30, itemBuilder: (BuildContext context, int index) { return ListTile( title: Text(\"$index\"), onTap: () => Navigator.of(context).pop(index), ); }, )), ], ); //使用AlertDialog会报错 //return AlertDialog(content: child); return Dialog(child: child); }, ); if (index != null) { print(\"点击了:$index\"); } } 现在,我们己经介绍完了AlertDialog、SimpleDialog以及Dialog。上面的示例中,我们在调用showDialog时,在builder中都是构建了这三个对话框组件的一种,可能有些读者会惯性的以为在builder中只能返回这三者之一,其实这不是必须的!就拿Dialog的示例来距离,我们完全可以用下面的代码来替代Dialog: // return Dialog(child: child) return UnconstrainedBox( constrainedAxis: Axis.vertical, child: ConstrainedBox( constraints: BoxConstraints(maxWidth: 280), child: Material( child: child, type: MaterialType.card, ), ), ); 上面代码运行后可以实现一样的效果。现在我们总结一下:AlertDialog、SimpleDialog以及Dialog是Material组件库提供的三种对话框,旨在帮助开发者快速构建出符合Material设计规范的对话框,但读者完全可以自定义对话框样式,因此,我们仍然可以实现各种样式的对话框,这样即带来了易用性,又有很强的扩展性。 7.6.2 对话框打开动画及遮罩 我们可以把对话框分为内部样式和外部样式两部分。内部样式指对话框中显示的具体内容,这部分内容我们已经在上面介绍过了;外部样式包含对话框遮罩样式、打开动画等,本节主要介绍如何自定义这些外部样式。 关于动画相关内容我们将在本书后面章节介绍,下面内容读者可以先了解一下(不必深究),读者可以在学习完动画相关内容后再回头来看。 我们已经介绍过了showDialog方法,它是Material组件库中提供的一个打开Material风格对话框的方法。那如何打开一个普通风格的对话框呢(非Material风格)? Flutter 提供了一个showGeneralDialog方法,签名如下: Future showGeneralDialog({ @required BuildContext context, @required RoutePageBuilder pageBuilder, //构建对话框内部UI bool barrierDismissible, //点击遮罩是否关闭对话框 String barrierLabel, // 语义化标签(用于读屏软件) Color barrierColor, // 遮罩颜色 Duration transitionDuration, // 对话框打开/关闭的动画时长 RouteTransitionsBuilder transitionBuilder, // 对话框打开/关闭的动画 }) 实际上,showDialog方法正是showGeneralDialog的一个封装,定制了Material风格对话框的遮罩颜色和动画。Material风格对话框打开/关闭动画是一个Fade(渐隐渐显)动画,如果我们想使用一个缩放动画就可以通过transitionBuilder来自定义。下面我们自己封装一个showCustomDialog方法,它定制的对话框动画为缩放动画,并同时制定遮罩颜色为Colors.black87: Future showCustomDialog({ @required BuildContext context, bool barrierDismissible = true, WidgetBuilder builder, }) { final ThemeData theme = Theme.of(context, shadowThemeOnly: true); return showGeneralDialog( context: context, pageBuilder: (BuildContext buildContext, Animation animation, Animation secondaryAnimation) { final Widget pageChild = Builder(builder: builder); return SafeArea( child: Builder(builder: (BuildContext context) { return theme != null ? Theme(data: theme, child: pageChild) : pageChild; }), ); }, barrierDismissible: barrierDismissible, barrierLabel: MaterialLocalizations.of(context).modalBarrierDismissLabel, barrierColor: Colors.black87, // 自定义遮罩颜色 transitionDuration: const Duration(milliseconds: 150), transitionBuilder: _buildMaterialDialogTransitions, ); } Widget _buildMaterialDialogTransitions( BuildContext context, Animation animation, Animation secondaryAnimation, Widget child) { // 使用缩放动画 return ScaleTransition( scale: CurvedAnimation( parent: animation, curve: Curves.easeOut, ), child: child, ); } 现在,我们使用showCustomDialog打开文件删除确认对话框,代码如下: ... //省略无关代码 showCustomDialog( context: context, builder: (context) { return AlertDialog( title: Text(\"提示\"), content: Text(\"您确定要删除当前文件吗?\"), actions: [ FlatButton( child: Text(\"取消\"), onPressed: () => Navigator.of(context).pop(), ), FlatButton( child: Text(\"删除\"), onPressed: () { // 执行删除操作 Navigator.of(context).pop(true); }, ), ], ); }, ); 运行效果如图7-13所示: 可以发现,遮罩颜色比通过showDialog方法打开的对话框更深。另外对话框打开/关闭的动画已变为缩放动画了,读者可以亲自运行示例查看效果。 7.6.3 对话框实现原理 我们已经知道对话框最终都是由showGeneralDialog方法打开的,我们来看看它的具体实现: Future showGeneralDialog({ @required BuildContext context, @required RoutePageBuilder pageBuilder, bool barrierDismissible, String barrierLabel, Color barrierColor, Duration transitionDuration, RouteTransitionsBuilder transitionBuilder, }) { return Navigator.of(context, rootNavigator: true).push(_DialogRoute( pageBuilder: pageBuilder, barrierDismissible: barrierDismissible, barrierLabel: barrierLabel, barrierColor: barrierColor, transitionDuration: transitionDuration, transitionBuilder: transitionBuilder, )); } 实现很简单,直接调用Navigator的push方法打开了一个新的对话框路由_DialogRoute,然后返回了push的返回值。可以对话框实际上正是通过路由的形式实现的,这也是为什么我们可以使用Navigator的pop 方法来退出对话框的原因。关于对话框的样式定制在_DialogRoute中,没有什么新的东西,读者可以自行查看。 7.6.4 对话框状态管理 我们在用户选择删除一个文件时,会询问是否产出此文件;在用户选择一个文件夹是,应该再让用户确认是否删除子文件夹。为了在用户选择了文件夹时避免二次弹窗确认是否删除子目录,我们在确认对话框底部添加一个“同时删除子目录?”的复选框,如图7-14所示: 现在就有一个问题:如何管理复选框的选中状态?习惯上,我们会在路由页的State中来管理选中状态,我们可能会写出如下这样的代码: class _DialogRouteState extends State { bool withTree = false; // 复选框选中状态 @override Widget build(BuildContext context) { return Column( children: [ RaisedButton( child: Text(\"对话框2\"), onPressed: () async { bool delete = await showDeleteConfirmDialog2(); if (delete == null) { print(\"取消删除\"); } else { print(\"同时删除子目录: $delete\"); } }, ), ], ); } Future showDeleteConfirmDialog2() { withTree = false; // 默认复选框不选中 return showDialog( context: context, builder: (context) { return AlertDialog( title: Text(\"提示\"), content: Column( crossAxisAlignment: CrossAxisAlignment.start, mainAxisSize: MainAxisSize.min, children: [ Text(\"您确定要删除当前文件吗?\"), Row( children: [ Text(\"同时删除子目录?\"), Checkbox( value: withTree, onChanged: (bool value) { //复选框选中状态发生变化时重新构建UI setState(() { //更新复选框状态 withTree = !withTree; }); }, ), ], ), ], ), actions: [ FlatButton( child: Text(\"取消\"), onPressed: () => Navigator.of(context).pop(), ), FlatButton( child: Text(\"删除\"), onPressed: () { //执行删除操作 Navigator.of(context).pop(withTree); }, ), ], ); }, ); } } 然后,当我们运行上面的代码时我们会发现复选框根本选不中!为什么会这样呢?其实原因很简单,我们知道setState方法只会针对当前context的子树重新build,但是我们的对话框并不是在_DialogRouteState的build 方法中构建的,而是通过showDialog单独构建的,所以调用在_DialogRouteState的context中调用setState是无法影响通过showDialog构建的UI的。另外,我们可以从另外一个角度来理解这个现象,前面说过动画框也是通过路由的方式来实现的,那么上面的代码实际上就等同于企图在父路由中调用setState来让子路由更新,这显然是不行的!简尔言之,根本原因就是context不对。那如何让复选框可点击呢?有常规方法和一个精妙的方法,下面我们分别介绍: 常规方法 既然是context不对,那么直接的思路就是将复选框的选中逻辑单独封装成一个StatefulWidget,然后其再内部管理复选状态。我们先来看看这种方法,下面是实现代码: // 单独封装一个内部管理选中状态的复选框组件 class DialogCheckbox extends StatefulWidget { DialogCheckbox({ Key key, this.value, @required this.onChanged, }); final ValueChanged onChanged; final bool value; @override _DialogCheckboxState createState() => _DialogCheckboxState(); } class _DialogCheckboxState extends State { bool value; @override void initState() { value = widget.value; super.initState(); } @override Widget build(BuildContext context) { return Checkbox( value: value, onChanged: (v) { //将选中状态通过事件的形式抛出 widget.onChanged(v); setState(() { //更新自身选中状态 value = v; }); }, ); } } 下面是弹出对话框的代码: Future showDeleteConfirmDialog3() { bool _withTree = false; //记录复选框是否选中 return showDialog( context: context, builder: (context) { return AlertDialog( title: Text(\"提示\"), content: Column( crossAxisAlignment: CrossAxisAlignment.start, mainAxisSize: MainAxisSize.min, children: [ Text(\"您确定要删除当前文件吗?\"), Row( children: [ Text(\"同时删除子目录?\"), DialogCheckbox( value: _withTree, //默认不选中 onChanged: (bool value) { //更新选中状态 _withTree = !_withTree; }, ), ], ), ], ), actions: [ FlatButton( child: Text(\"取消\"), onPressed: () => Navigator.of(context).pop(), ), FlatButton( child: Text(\"删除\"), onPressed: () { // 将选中状态返回 Navigator.of(context).pop(_withTree); }, ), ], ); }, ); } 最后,就是使用: RaisedButton( child: Text(\"话框3(复选框可点击)\"), onPressed: () async { //弹出删除确认对话框,等待用户确认 bool deleteTree = await showDeleteConfirmDialog3(); if (deleteTree == null) { print(\"取消删除\"); } else { print(\"同时删除子目录: $deleteTree\"); } }, ), 运行后效果如图7-15所示: 可见复选框能选中了,点击“取消”或“删除”后,控制台就会打印出最终的确认状态。 精妙的解法 上面的方法虽然能解决对话框状态更新的问题,但是有一个明显的缺点——对话框上所有需要会改变状态的组件都得单独封装在一个在内部管理状态StatefulWidget中,这样不仅麻烦,而且复用性不大。因此,我们来想想能不能找到一种更简单的方法?要确认这个问题,我们就得先想想UI是怎么更新的,我们知道在调用setState方法后StatefulWidget就会重新build,那setState方法做了什么呢?我们能不能从中找到方法?顺着这个思路,我们就得看一下setState的核心源码: void setState(VoidCallback fn) { ... //省略无关代码 _element.markNeedsBuild(); } 可以发现,setState中调用了Element的markNeedsBuild()方法,我们前面说过,Flutter是一个响应式框架,要更新UI只需改变状态后通知框架页面需要重构即可,而Element的markNeedsBuild()方法正是来实现这个功能的!markNeedsBuild()方法会将当前的Element对象标记为“dirty”(脏的),在每一个Frame,Flutter都会重新构建被标记为“dirty”Element对象。既然如此,我们有没有办法获取到对话框内部UI的Element对象,然后将其表姐为为“dirty”呢?答案是肯定的!我们可以通过Context来得到Element对象,至于Element与Context的关系我们将会在后面“Flutter核心原理”一章中再深入介绍,现在只需要简单的认为:在组件树种,context实际上就是Element对象的引用。知道这个后,那么解决的方案就呼之欲出了,我们可以通过如下方式来让复选框可以更新: Future showDeleteConfirmDialog4() { bool _withTree = false; return showDialog( context: context, builder: (context) { return AlertDialog( title: Text(\"提示\"), content: Column( crossAxisAlignment: CrossAxisAlignment.start, mainAxisSize: MainAxisSize.min, children: [ Text(\"您确定要删除当前文件吗?\"), Row( children: [ Text(\"同时删除子目录?\"), Checkbox( // 依然使用Checkbox组件 value: _withTree, onChanged: (bool value) { // 此时context为对话框UI的根Element,我们 // 直接将对话框UI对应的Element标记为dirty (context as Element).markNeedsBuild(); _withTree = !_withTree; }, ), ], ), ], ), actions: [ FlatButton( child: Text(\"取消\"), onPressed: () => Navigator.of(context).pop(), ), FlatButton( child: Text(\"删除\"), onPressed: () { // 执行删除操作 Navigator.of(context).pop(_withTree); }, ), ], ); }, ); } 上面的代码运行后复选框也可以正常选中。可以看到,我们只用了一行代码便解决了这个问题!当然上面的代码并不是最优,因为我们只需要更新复选框的状态,而此时的context我们用的是对话框的根context,所以会导致整个对话框UI组件全部rebuild,因此最好的作法是将context的“范围”缩小,也就是说只将Checkbox的Element标记为dirty,优化后的代码为: ... //省略无关代码 Row( children: [ Text(\"同时删除子目录?\"), // 通过Builder来获得构建Checkbox的`context`, // 这是一种常用的缩小`context`范围的方式 Builder( builder: (BuildContext context) { return Checkbox( value: _withTree, onChanged: (bool value) { (context as Element).markNeedsBuild(); _withTree = !_withTree; }, ); }, ), ], ), 7.6.5 其它类型的对话框 底部菜单列表 showModalBottomSheet方法可以弹出一个Material风格的底部菜单列表模态对话框,示例如下: // 弹出底部菜单列表模态对话框 Future _showModalBottomSheet() { return showModalBottomSheet( context: context, builder: (BuildContext context) { return ListView.builder( itemCount: 30, itemBuilder: (BuildContext context, int index) { return ListTile( title: Text(\"$index\"), onTap: () => Navigator.of(context).pop(index), ); }, ); }, ); } 点击按钮,弹出该对话框: RaisedButton( child: Text(\"显示底部菜单列表\"), onPressed: () async { int type = await _showModalBottomSheet(); print(type); }, ), 运行后效果如图7-16所示: showModalBottomSheet的实现原理和showGeneralDialog实现原理相同,都是通过路由的方式来实现的,读者可以查看源码对比。但值得一提的是还有一个showBottomSheet方法,该方法会从设备底部向上弹出一个全屏的菜单列表,示例如下: // 返回的是一个controller PersistentBottomSheetController _showBottomSheet() { return showBottomSheet( context: context, builder: (BuildContext context) { return ListView.builder( itemCount: 30, itemBuilder: (BuildContext context, int index) { return ListTile( title: Text(\"$index\"), onTap: (){ // do something print(\"$index\"); Navigator.of(context).pop(); }, ); }, ); }, ); } 运行效果如图7-17所示: PersistentBottomSheetController中包含了一下控制对话框的方法比如close方法可以关闭该对话框,功能比较简单,读者可以自行查看源码。唯一需要注意的是,showBottomSheet和我们上面介绍的弹出对话框的方法原理不同:showBottomSheet是调用widget树顶部的Scaffold组件的ScaffoldState的showBottomSheet同名方法实现,也就是说要调用showBottomSheet方法就必须得保证父级组件中有Scaffold。 Loading框 其实Loading框可以直接通过showDialog+AlertDialog来自定义: showLoadingDialog() { showDialog( context: context, barrierDismissible: false, //点击遮罩不关闭对话框 builder: (context) { return AlertDialog( content: Column( mainAxisSize: MainAxisSize.min, children: [ CircularProgressIndicator(), Padding( padding: const EdgeInsets.only(top: 26.0), child: Text(\"正在加载,请稍后...\"), ) ], ), ); }, ); } 显示效果如图7-18所示: 如果我们嫌Loading框太宽,想自定义对话框宽度,这时只使用SizedBox或ConstrainedBox是不行的,原因是showDialog中已经给对话框设置了宽度限制,根据我们在第五章“尺寸限制类容器”一节中所述,我们可以使用UnconstrainedBox先抵消showDialog对宽度的限制,然后再使用SizedBox指定宽度,代码如下: ... //省略无关代码 UnconstrainedBox( constrainedAxis: Axis.vertical, child: SizedBox( width: 280, child: AlertDialog( content: Column( mainAxisSize: MainAxisSize.min, children: [ CircularProgressIndicator(value: .8,), Padding( padding: const EdgeInsets.only(top: 26.0), child: Text(\"正在加载,请稍后...\"), ) ], ), ), ), ); 代码运行后,效果如图7-19所示: "},"chapter8/":{"url":"chapter8/","title":"第八章:事件处理与通知","keywords":"","body":"事件处理与通知 Flutter中的手势系统有两个独立的层。第一层为原始指针(pointer)事件,它描述了屏幕上指针(例如,触摸、鼠标和触控笔)的位置和移动。 第二层为手势,描述由一个或多个指针移动组成的语义动作,如拖动、缩放、双击等。本章将先分别介绍如何处理这两种事件,最后再介绍一下Flutter中重要的Notification机制。 本章目录 原始指针事件处理 手势识别 全局事件总线 通知Notification "},"chapter8/listener.html":{"url":"chapter8/listener.html","title":"8.1:原始指针事件处理","keywords":"","body":"8.1 原始指针事件处理 本节先来介绍一下原始指针事件(Pointer Event,在移动设备上通常为触摸事件),下一节再介绍手势处理。 在移动端,各个平台或UI系统的原始指针事件模型基本都是一致,即:一次完整的事件分为三个阶段:手指按下、手指移动、和手指抬起,而更高级别的手势(如点击、双击、拖动等)都是基于这些原始事件的。 当指针按下时,Flutter会对应用程序执行命中测试(Hit Test),以确定指针与屏幕接触的位置存在哪些组件(widget), 指针按下事件(以及该指针的后续事件)然后被分发到由命中测试发现的最内部的组件,然后从那里开始,事件会在组件树中向上冒泡,这些事件会从最内部的组件被分发到组件树根的路径上的所有组件,这和Web开发中浏览器的事件冒泡机制相似, 但是Flutter中没有机制取消或停止”冒泡“过程,而浏览器的冒泡是可以停止的。注意,只有通过命中测试的组件才能触发事件。 Flutter中可以使用Listener来监听原始触摸事件,按照本书对组件的分类,则Listener也是一个功能性组件。下面是Listener的构造函数定义: 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), ), 运行后效果如图8-1所示: 手指在蓝色矩形区域内移动即可看到当前指针偏移,当触发指针事件时,参数PointerDownEvent、PointerMoveEvent、PointerUpEvent都是PointerEvent的一个子类,PointerEvent类中包括当前指针的一些信息,如: position:它是鼠标相对于当对于全局坐标的偏移。 delta:两次指针移动事件(PointerMoveEvent)的距离。 pressure:按压力度,如果手机屏幕支持压力传感器(如iPhone的3D Touch),此属性会更有意义,如果手机不支持,则始终为1。 orientation:指针移动方向,是一个角度值。 上面只是PointerEvent一些常用属性,除了这些它还有很多属性,读者可以查看API文档。 现在,我们重点来介绍一下behavior属性,它决定子组件如何响应命中测试,它的值类型为HitTestBehavior,这是一个枚举类,有三个枚举值: deferToChild:子组件会一个接一个的进行命中测试,如果子组件中有测试通过的,则当前组件通过,这就意味着,如果指针事件作用于子组件上时,其父级组件也肯定可以收到该事件。 opaque:在命中测试时,将当前组件当成不透明处理(即使本身是透明的),最终的效果相当于当前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\") ), 上例中,只有点击文本内容区域才会触发点击事件,因为 deferToChild 会去子组件判断是否命中测试,而该例中子组件就是 Text(\"Box A\") 。 如果我们想让整个300×150的矩形区域都能点击我们可以将behavior设为HitTestBehavior.opaque。注意,该属性并不能用于在组件树中拦截(忽略)事件,它只是决定命中测试时的组件大小。 translucent:当点击组件透明区域时,可以对自身边界内及底部可视区域都进行命中测试,这意味着点击顶部组件透明区域时,顶部组件和底部组件都可以接收到事件,例如: 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范围内非文本区域点击时(顶部组件透明区域),控制台只会打印“down0”,也就是说顶部组件没有接收到事件,而只有底部接收到了。当放开注释后,再点击时顶部和底部都会接收到事件,此时会打印: I/flutter ( 3039): down1 I/flutter ( 3039): down0 如果behavior值改为HitTestBehavior.opaque,则只会打印\"down1\"。 忽略PointerEvent 假如我们不想让某个子树响应PointerEvent的话,我们可以使用IgnorePointer和AbsorbPointer,这两个组件都能阻止子树接收指针事件,不同之处在于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":"8.2:手势识别","keywords":"","body":"8.2 手势识别 本节先介绍一些Flutter中用于处理手势的GestureDetector和GestureRecognizer,然后再仔细讨论一下手势竞争与冲突问题。 8.2.1 GestureDetector GestureDetector是一个用于手势识别的功能性组件,我们通过它可以来识别各种手势。GestureDetector实际上是指针事件的语义化封装,接下来我们详细介绍一下各种手势识别。 点击、双击、长按 我们通过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; }); } } 运行效果如图8-2所示: 注意: 当同时监听onTap和onDoubleTap事件时,当用户触发tap事件时,会有200毫秒左右的延时,这是因为当用户点击完之后很可能会再次点击以触发双击事件,所以GestureDetector会等一段时间来确定是否为双击事件。如果用户只监听了onTap(没有监听onDoubleTap)事件时,则没有延时。 拖动、滑动 一次完整的手势过程是指用户手指按下到抬起的整个过程,期间,用户按下手指后可能会移动,也可能不会移动。GestureDetector对于拖动和滑动事件是没有区分的,他们本质上是一样的。GestureDetector会将要监听的组件的原点(左上角)作为本次手势的原点,当用户在监听的组件上按下手指时,手势识别就会开始。下面我们看一个拖动圆形字母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); }, ), ) ], ); } } 运行后,就可以在任意方向拖动了,运行效果如图8-3所示: 日志: I/flutter ( 8513): 用户手指按下:Offset(26.3, 101.8) I/flutter ( 8513): Velocity(235.5, 125.8) 代码解释: DragDownDetails.globalPosition:当用户按下时,此属性为用户按下的位置相对于屏幕(而非父组件)原点(左上角)的偏移。 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); }); }, ), ); } } 运行效果如图8-4所示: 现在在图片上双指张开、收缩就可以放大、缩小图片。本示例比较简单,实际中我们通常还需要一些其它功能,如双击放大或缩小一定倍数、双指张开离开屏幕时执行一个减速放大动画等,读者可以在学习完后面”动画“一章中的内容后自己来尝试实现一下。 8.2.2 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()方法来释放资源(主要是取消内部的计时器)。 8.2.3 手势竞争与冲突 竞争 如果在上例中我们同时监听水平和垂直方向的拖动事件,那么我们斜着拖动时哪个方向会生效?实际上取决于第一次移动时两个轴上的位移分量,哪个轴的大,哪个轴在本次滑动事件竞争中就胜出。实际上Flutter中的手势识别引入了一个Arena的概念,Arena直译为“竞技场”的意思,每一个手势识别器(GestureRecognizer)都是一个“竞争者”(GestureArenaMember),当发生滑动事件时,他们都要在“竞技场”去竞争本次事件的处理权,而最终只有一个“竞争者”会胜出(win)。例如,假设有一个ListView,它的第一个子组件也是ListView,如果现在滑动这个子ListView,父ListView会动吗?答案是否定的,这时只有子ListView会动,因为这时子ListView会胜出而获得滑动事件的处理权。 示例 我们以拖动手势为例,同时识别水平和垂直方向的拖动手势,当用户按下手指时就会触发竞争(水平方向和垂直方向),一旦某个方向“获胜”,则直到当次拖动手势结束都会沿着该方向移动。代码如下: 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":"8.3:全局事件总线","keywords":"","body":"8.3 事件总线 在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()始终返回都是同一个实例,读者应该理解并掌握这种方法。 事件总线通常用于组件之间状态共享,但关于组件之间状态共享也有一些专门的包如redux、以及前面介绍过的Provider。对于一些简单的应用,事件总线是足以满足业务需求的,如果你决定使用状态管理包的话,一定要想清楚您的APP是否真的有必要使用它,防止“化简为繁”、过度设计。 "},"chapter8/notification.html":{"url":"chapter8/notification.html","title":"8.4:通知(Notification)","keywords":"","body":"8.4 Notification 通知(Notification)是Flutter中一个重要的机制,在widget树中,每一个节点都可以分发通知,通知会沿着当前节点向上传递,所有父节点都可以通过NotificationListener来监听通知。Flutter中将这种由子向父的传递通知的机制称为通知冒泡(Notification Bubbling)。通知冒泡和用户触摸事件冒泡是相似的,但有一点不同:通知冒泡可以中止,但用户触摸事件不行。 通知冒泡和Web开发中浏览器事件冒泡原理是相似的,都是事件从出发源逐层向上传递,我们可以在上层节点任意位置来监听通知/事件,也可以终止冒泡过程,终止冒泡后,通知将不会再向上传递。 Flutter中很多地方使用了通知,如可滚动组件(Scrollable Widget)滑动时就会分发滚动通知(ScrollNotification),而Scrollbar正是通过监听ScrollNotification来确定滚动条位置的。 下面是一个监听可滚动组件滚动通知的例子: NotificationListener( onNotification: (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文档。 上例中,我们通过NotificationListener来监听子ListView的滚动通知的,NotificationListener定义如下: class NotificationListener extends StatelessWidget { const NotificationListener({ Key key, @required this.child, this.onNotification, }) : super(key: key); ...//省略无关代码 } 我们可以看到: NotificationListener 继承自StatelessWidget类,所以它可以直接嵌套到Widget树中。 NotificationListener 可以指定一个模板参数,该模板参数类型必须是继承自Notification;当显式指定模板参数时,NotificationListener 便只会接收该参数类型的通知。举个例子,如果我们将上例子代码给为: //指定监听通知的类型为滚动结束通知(ScrollEndNotification) NotificationListener( onNotification: (notification){ //只会在滚动结束时才会触发此回调 print(notification); }, child: ListView.builder( itemCount: 100, itemBuilder: (context, index) { return ListTile(title: Text(\"$index\"),); } ), ); 上面代码运行后便只会在滚动结束时在控制台打印出通知的信息。 onNotification回调为通知处理回调,其函数签名如下: typedef NotificationListenerCallback = bool Function(T notification); 它的返回值类型为布尔值,当返回值为true时,阻止冒泡,其父级Widget将再也收不到该通知;当返回值为false 时继续向上冒泡通知。 Flutter的UI框架实现中,除了在可滚动组件在滚动过程中会发出ScrollNotification之外,还有一些其它的通知,如SizeChangedLayoutNotification、KeepAliveNotification 、LayoutChangedNotification等,Flutter正是通过这种通知机制来使父元素可以在一些特定时机来做一些事情。 自定义通知 除了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+\" \"; }); return true; }, 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。 运行效果如图8-6所示: 阻止冒泡 我们将上面的例子改为: class NotificationRouteState extends State { String _msg=\"\"; @override Widget build(BuildContext context) { //监听通知 return NotificationListener( onNotification: (notification){ print(notification.msg); //打印通知 return false; }, child: NotificationListener( onNotification: (notification) { setState(() { _msg+=notification.msg+\" \"; }); return false; }, child: ...//省略重复代码 ), ); } } 上列中两个NotificationListener进行了嵌套,子NotificationListener的onNotification回调返回了false,表示不阻止冒泡,所以父NotificationListener仍然会受到通知,所以控制台会打印出通知信息;如果将子NotificationListener的onNotification回调的返回值改为true,则父NotificationListener便不会再打印通知了,因为子NotificationListener已经终止通知冒泡了。 通知冒泡原理 我们在上面介绍了通知冒泡的现象及使用,现在我们更深入一些,介绍一下Flutter框架中是如何实现通知冒泡的。为了搞清楚这个问题,就必须看一下源码,我们从通知分发的的源头出发,然后再顺腾摸瓜。由于通知是通过Notification的dispatch(context)方法发出的,那我们先看看dispatch(context)方法中做了什么,下面是相关源码: void dispatch(BuildContext target) { target?.visitAncestorElements(visitAncestor); } dispatch(context)中调用了当前context的visitAncestorElements方法,该方法会从当前Element开始向上遍历父级元素;visitAncestorElements有一个遍历回调参数,在遍历过程中对遍历到的父级元素都会执行该回调。遍历的终止条件是:已经遍历到根Element或某个遍历回调返回false。源码中传给visitAncestorElements方法的遍历回调为visitAncestor方法,我们看看visitAncestor方法的实现: //遍历回调,会对每一个父级Element执行此回调 bool visitAncestor(Element element) { //判断当前element对应的Widget是否是NotificationListener。 //由于NotificationListener是继承自StatelessWidget, //故先判断是否是StatelessElement if (element is StatelessElement) { //是StatelessElement,则获取element对应的Widget,判断 //是否是NotificationListener 。 final StatelessWidget widget = element.widget; if (widget is NotificationListener) { //是NotificationListener,则调用该NotificationListener的_dispatch方法 if (widget._dispatch(this, element)) return false; } } return true; } visitAncestor会判断每一个遍历到的父级Widget是否是NotificationListener,如果不是,则返回true继续向上遍历,如果是,则调用NotificationListener的_dispatch方法,我们看看_dispatch方法的源码: bool _dispatch(Notification notification, Element element) { // 如果通知监听器不为空,并且当前通知类型是该NotificationListener // 监听的通知类型,则调用当前NotificationListener的onNotification if (onNotification != null && notification is T) { final bool result = onNotification(notification); // 返回值决定是否继续向上遍历 return result == true; } return false; } 我们可以看到NotificationListener的onNotification回调最终是在_dispatch方法中执行的,然后会根据返回值来确定是否继续向上冒泡。上面的源码实现其实并不复杂,通过阅读这些源码,一些额外的点读者可以注意一下: Context上也提供了遍历Element树的方法。 我们可以通过Element.widget得到element节点对应的widget;我们已经反复讲过Widget和Element的对应关系,读者通过这些源码来加深理解。 总结 Flutter中通过通知冒泡实现了一套自低向上的消息传递机制,这个和Web开发中浏览器的事件冒泡原理类似,Web开发者可以类比学习。另外我们通过源码了解了Flutter 通知冒泡的流程和原理,便于读者加深理解和学习Flutter的框架设计思想,在此,再次建议读者在平时学习中能多看看源码,定会受益匪浅。 "},"chapter9/":{"url":"chapter9/","title":"第九章:动画","keywords":"","body":"简介 精心设计的动画会让用户界面感觉更直观、流畅,能改善用户体验。 Flutter可以轻松实现各种动画类型,对于许多widget,特别是Material Design widgets,都带有在其设计规范中定义的标准动画效果(但也可以自定义这些效果)。本章将详细介绍Flutter的动画系统,并会通过几个小实例来演示,以帮助开发者迅速理解并掌握动画的开发流程与原理。 本章目录 Flutter动画简介 动画结构 自定义路由过渡动画 Hero动画 交错动画 "},"chapter9/intro.html":{"url":"chapter9/intro.html","title":"9.1:Flutter动画简介","keywords":"","body":"9.1 Flutter动画简介 在任何系统的UI框架中,动画实现的原理都是相同的,即:在一段时间内,快速地多次改变UI外观;由于人眼会产生视觉暂留,所以最终看到的就是一个“连续”的动画,这和电影的原理是一样的。我们将UI的一次改变称为一个动画帧,对应一次屏幕刷新,而决定动画流畅度的一个重要指标就是帧率FPS(Frame Per Second),即每秒的动画帧数。很明显,帧率越高则动画就会越流畅!一般情况下,对于人眼来说,动画帧率超过16FPS,就比较流畅了,超过32FPS就会非常的细腻平滑,而超过32FPS,人眼基本上就感受不到差别了。由于动画的每一帧都是要改变UI输出,所以在一个时间段内连续的改变UI输出是比较耗资源的,对设备的软硬件系统要求都较高,所以在UI系统中,动画的平均帧率是重要的性能指标,而在Flutter中,理想情况下是可以实现60FPS的,这和原生应用能达到的帧率是基本是持平的。 Flutter中动画抽象 为了方便开发者创建动画,不同的UI系统对动画都进行了一些抽象,比如在Android中可以通过XML来描述一个动画然后设置给View。Flutter中也对动画进行了抽象,主要涉及Animation、Curve、Controller、Tween这四个角色,它们一起配合来完成一个完整动画,下面我们一一来介绍它们。 Animation Animation是一个抽象类,它本身和UI渲染没有任何关系,而它主要的功能是保存动画的插值和状态;其中一个比较常用的Animation类是Animation。Animation对象是一个在一段时间内依次生成一个区间(Tween)之间值的类。Animation对象在整个动画执行过程中输出的值可以是线性的、曲线的、一个步进函数或者任何其他曲线函数等等,这由Curve来决定。 根据Animation对象的控制方式,动画可以正向运行(从起始状态开始,到终止状态结束),也可以反向运行,甚至可以在中间切换方向。Animation还可以生成除double之外的其他类型值,如:Animation 或Animation。在动画的每一帧中,我们可以通过Animation对象的value属性获取动画的当前状态值。 动画通知 我们可以通过Animation来监听动画每一帧以及执行状态的变化,Animation有如下两个方法: addListener();它可以用于给Animation添加帧监听器,在每一帧都会被调用。帧监听器中最常见的行为是改变状态后调用setState()来触发UI重建。 addStatusListener();它可以给Animation添加“动画状态改变”监听器;动画开始、结束、正向或反向(见AnimationStatus定义)时会调用状态改变的监听器。 读者在此只需要知道帧监听器和状态监听器的区别,在后面的章节中我们将会举例说明。 Curve 动画过程可以是匀速的、匀加速的或者先加速后减速等。Flutter中通过Curve(曲线)来描述动画过程,我们把匀速动画称为线性的(Curves.linear),而非匀速动画称为非线性的。 我们可以通过CurvedAnimation来指定动画的曲线,如: final CurvedAnimation curve = new CurvedAnimation(parent: controller, curve: Curves.easeIn); CurvedAnimation和AnimationController(下面介绍)都是Animation类型。CurvedAnimation可以通过包装AnimationController和Curve生成一个新的动画对象 ,我们正是通过这种方式来将动画和动画执行的曲线关联起来的。我们指定动画的曲线为Curves.easeIn,它表示动画开始时比较慢,结束时比较快。 Curves 类是一个预置的枚举类,定义了许多常用的曲线,下面列几种常用的: Curves曲线 动画过程 linear 匀速的 decelerate 匀减速 ease 开始加速,后面减速 easeIn 开始慢,后面快 easeOut 开始快,后面慢 easeInOut 开始慢,然后加速,最后再减速 除了上面列举的, Curves 类中还定义了许多其它的曲线,在此便不一一介绍,读者可以自行查看Curves类定义。 当然我们也可以创建自己Curve,例如我们定义一个正弦曲线: class ShakeCurve extends Curve { @override double transform(double t) { return math.sin(t * math.PI * 2); } } 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()方法可以启动正向动画,reverse()可以启动反向动画。在动画开始执行后开始生成动画帧,屏幕没刷新一次就是一个动画帧,在动画的每一帧,会随着根据动画的曲线来生成当前的动画值(Animation.value),然后根据当前的动画值去构建UI,当所有动画帧依次触发时,动画值会依次改变,所以构建的UI也会依次变化,所以最终我们可以看到一个完成的动画。 另外在动画的每一帧,Animation对象会调用其帧监听器,等动画状态发生改变时(如动画结束)会调用状态改变监听器。 duration表示动画执行的时长,通过它我们可以控制动画的速度。 注意: 在某些情况下,动画值可能会超出AnimationController的[0.0,1.0]的范围,这取决于具体的曲线。例如,fling()函数可以根据我们手指滑动(甩出)的速度(velocity)、力量(force)等来模拟一个手指甩出动画,因此它的动画值可以在[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]。如果我们需要构建UI的动画值在不同的范围或不同的数据类型,则可以使用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中主要定义动画值的映射规则。 下面我们看一个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":"9.2:动画结构","keywords":"","body":"9.2 动画基本结构及状态监听 9.2.1 动画基本结构 在Flutter中我们可以通过多种方式来实现动画,下面通过一个图片逐渐放大示例的不同实现来演示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(\"imgs/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(); } 上面代码执行后截取了其中的两帧,效果如图9-1、9-2所示: 使用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(\"imgs/avatar.png\", width: animation.value, height: animation.value ), ); } } class ScaleAnimationRoute1 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()将会在父组件上下文中调用,这将会导致父组件的build方法重新调用;而有了builder之后,只会导致动画widget自身的build重新调用,避免不必要的rebuild。 通过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等,很多时候都可以复用这些预置的过渡类。 9.2.2 动画状态监听 上面说过,我们可以通过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":"9.3:自定义路由过渡动画","keywords":"","body":"9.3 自定义路由切换动画 我们在第二章”路由管理“一节中讲过:Material组件库中提供了一个MaterialPageRoute组件,它可以使用和平台风格一致的路由切换动画,如在iOS上会左右滑动切换,而在Android上会上下滑动切换。现在,我们如果在Android上也想使用左右切换风格,该怎么做?一个简单的作法是可以直接使用CupertinoPageRoute,如: Navigator.push(context, CupertinoPageRoute( builder: (context)=>PageB(), )); CupertinoPageRoute是Cupertino组件库提供的iOS风格的路由切换组件,它实现的就是左右滑动切换。那么我们如何来自定义路由切换动画呢?答案就是PageRouteBuilder。下面我们来看看如何使用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":"9.4:Hero动画","keywords":"","body":"9.4 Hero动画 Hero指的是可以在路由(页面)之间“飞行”的widget,简单来说Hero动画就是在路由切换时,有一个共享的widget可以在新旧路由间切换。由于共享的widget在新旧路由页面上的位置、外观可能有所差异,所以在路由切换时会从旧路逐渐过渡到新路由中的指定位置,这样就会产生一个Hero动画。 你可能多次看到过 hero 动画。例如,一个路由中显示待售商品的缩略图列表,选择一个条目会将其跳转到一个新路由,新路由中包含该商品的详细信息和“购买”按钮。 在Flutter中将图片从一个路由“飞”到另一个路由称为hero动画,尽管相同的动作有时也称为 共享元素转换。下面我们通过一个示例来体验一下hero 动画。 为什么要将这种可飞行的共享组件称为hero(英雄),有一种说法是说美国文化中的超人是可以飞的,那是美国人心中的大英雄,还有漫威中的超级英雄基本上都是会飞的,所以Flutter开发人员就对这种”会飞的widget\"就起了一个富有浪漫主义的名字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: Scaffold( appBar: AppBar( title: Text(\"原图\"), ), 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包装起来,并提供一个相同的tag即可,中间的过渡帧都是Flutter Framework自动完成的。必须要注意, 前后路由页的共享Hero的tag必须是相同的,Flutter Framework内部正是通过tag来确定新旧路由页widget的对应关系的。 Hero动画的原理比较简单,Flutter Framework知道新旧路由页中共享元素的位置和大小,所以根据这两个端点,在动画执行过程中求出过渡时的插值(中间态)即可,而感到幸运的是,这些事情不需要我们自己动手,Flutter已经帮我们做了! "},"chapter9/stagger_animation.html":{"url":"chapter9/stagger_animation.html","title":"9.5:交织动画","keywords":"","body":"9.5 交织动画 有些时候我们可能会需要一些复杂的动画,这些动画可能由一个动画序列或重叠的动画组成,比如:有一个柱状图,需要在高度增长的同时改变颜色,等到增长到最大高度后,我们需要在X轴上平移一段距离。可以发现上述场景在不同阶段包含了多种动画,要实现这种效果,使用交织动画(Stagger Animation)会非常简单。交织动画需要注意以下几点: 要创建交织动画,需要使用多个动画对象(Animation)。 一个AnimationController控制所有的动画对象。 给每一个动画对象指定时间间隔(Interval) 所有动画都由同一个AnimationController驱动,无论动画需要持续多长时间,控制器的值必须在0.0到1.0之间,而每个动画的间隔(Interval)也必须介于0.0和1.0之间。对于在间隔中设置动画的每个属性,需要分别创建一个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 StaggerRoute extends StatefulWidget { @override _StaggerRouteState createState() => _StaggerRouteState(); } class _StaggerRouteState 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 ), ), ), ); } } 执行效果如图,点击图9-3灰色矩形,就可以看到整个动画效果,图9-4是动画执行过程中的一帧。 "},"chapter9/animated_switcher.html":{"url":"chapter9/animated_switcher.html","title":"9.6:通用\"切换动画\"组件(AnimatedSwitcher)","keywords":"","body":"9.6 通用\"切换动画\"组件(AnimatedSwitcher) 实际开发中,我们经常会遇到切换UI元素的场景,比如Tab切换、路由切换。为了增强用户体验,通常在切换时都会指定一个动画,以使切换过程显得平滑。Flutter SDK组件库中已经提供了一些常用的切换组件,如PageView、TabView等,但是,这些组件并不能覆盖全部的需求场景,为此,Flutter SDK中提供了一个AnimatedSwitcher组件,它定义了一种通用的UI切换抽象。 9.6.1 AnimatedSwitcher AnimatedSwitcher 可以同时对其新、旧子元素添加显示、隐藏动画。也就是说在AnimatedSwitcher的子元素发生变化时,会对其旧元素和新元素,我们先看看AnimatedSwitcher 的定义: const AnimatedSwitcher({ Key key, this.child, @required this.duration, // 新child显示动画时长 this.reverseDuration,// 旧child隐藏的动画时长 this.switchInCurve = Curves.linear, // 新child显示的动画曲线 this.switchOutCurve = Curves.linear,// 旧child隐藏的动画曲线 this.transitionBuilder = AnimatedSwitcher.defaultTransitionBuilder, // 动画构建器 this.layoutBuilder = AnimatedSwitcher.defaultLayoutBuilder, //布局构建器 }) 当AnimatedSwitcher的child发生变化时(类型或Key不同),旧child会执行隐藏动画,新child会执行执行显示动画。究竟执行何种动画效果则由transitionBuilder参数决定,该参数接受一个AnimatedSwitcherTransitionBuilder类型的builder,定义如下: typedef AnimatedSwitcherTransitionBuilder = Widget Function(Widget child, Animation animation); 该builder在AnimatedSwitcher的child切换时会分别对新、旧child绑定动画: 对旧child,绑定的动画会反向执行(reverse) 对新child,绑定的动画会正向指向(forward) 这样一下,便实现了对新、旧child的动画绑定。AnimatedSwitcher的默认值是AnimatedSwitcher.defaultTransitionBuilder : Widget defaultTransitionBuilder(Widget child, Animation animation) { return FadeTransition( opacity: animation, child: child, ); } 可以看到,返回了FadeTransition对象,也就是说默认情况,AnimatedSwitcher会对新旧child执行“渐隐”和“渐显”动画。 例子 下面我们看一个列子:实现一个计数器,然后再每一次自增的过程中,旧数字执行缩小动画隐藏,新数字执行放大动画显示,代码如下: import 'package:flutter/material.dart'; class AnimatedSwitcherCounterRoute extends StatefulWidget { const AnimatedSwitcherCounterRoute({Key key}) : super(key: key); @override _AnimatedSwitcherCounterRouteState createState() => _AnimatedSwitcherCounterRouteState(); } class _AnimatedSwitcherCounterRouteState extends State { int _count = 0; @override Widget build(BuildContext context) { return Center( child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ AnimatedSwitcher( duration: const Duration(milliseconds: 500), transitionBuilder: (Widget child, Animation animation) { //执行缩放动画 return ScaleTransition(child: child, scale: animation); }, child: Text( '$_count', //显示指定key,不同的key会被认为是不同的Text,这样才能执行动画 key: ValueKey(_count), style: Theme.of(context).textTheme.display1, ), ), RaisedButton( child: const Text('+1',), onPressed: () { setState(() { _count += 1; }); }, ), ], ), ); } } 运行示例代码,当点击“+1”按钮时,原先的数字会逐渐缩小直至隐藏,而新数字会逐渐放大,我截取了动画执行过程的一帧,如图9-5所示: 上图是第一次点击“+1”按钮后切换动画的一帧,此时“0”正在逐渐缩小,而“1”正在“0”的中间,正在逐渐放大。 注意:AnimatedSwitcher的新旧child,如果类型相同,则Key必须不相等。 9.6.2 AnimatedSwitcher高级用法 假设现在我们想实现一个类似路由平移切换的动画:旧页面屏幕中向左侧平移退出,新页面重屏幕右侧平移进入。如果要用AnimatedSwitcher的话,我们很快就会发现一个问题:做不到!我们可能会写出下面的代码: AnimatedSwitcher( duration: Duration(milliseconds: 200), transitionBuilder: (Widget child, Animation animation) { var tween=Tween(begin: Offset(1, 0), end: Offset(0, 0)) return SlideTransition( child: child, position: tween.animate(animation), ); }, ...//省略 ) 上面的代码有什么问题呢?我们前面说过在AnimatedSwitcher的child切换时会分别对新child执行正向动画(forward),而对旧child执行反向动画(reverse),所以真正的效果便是:新child确实从屏幕右侧平移进入了,但旧child却会从屏幕右侧(而不是左侧)退出。其实也很容易理解,因为在没有特殊处理的情况下同一个动画的正向和逆向正好是相反(对称)的。 那么问题来了,难道就不能用AnimatedSwitcher了?答案当时是否定的!仔细想想这个问题,究其原因,就是因为同一个Animation正向(forward)和反向(reverse)是对称的。所以如果我们可以打破这种对称性,那么便可以实现这个功能,下面我们来封装一个MySlideTransition,它和SlideTransition唯一的不同就是对动画的反向执行进行了(从左边滑出隐藏): class MySlideTransition extends AnimatedWidget { MySlideTransition({ Key key, @required Animation position, this.transformHitTests = true, this.child, }) : assert(position != null), super(key: key, listenable: position) ; Animation get position => listenable; final bool transformHitTests; final Widget child; @override Widget build(BuildContext context) { Offset offset=position.value; //动画反向执行时,调整x偏移,实现”从左边滑出隐藏“ if (position.status == AnimationStatus.reverse) { offset = Offset(-offset.dx, offset.dy); } return FractionalTranslation( translation: offset, transformHitTests: transformHitTests, child: child, ); } } 调用时,将SlideTransition替换成MySlideTransition即可: AnimatedSwitcher( duration: Duration(milliseconds: 200), transitionBuilder: (Widget child, Animation animation) { var tween=Tween(begin: Offset(1, 0), end: Offset(0, 0)) return MySlideTransition( child: child, position: tween.animate(animation), ); }, ...//省略 ) 运行后,我截取动画执行过程中的一帧,如图9-6所示: 上图中“0”从左侧滑出,而\"1\"从右侧滑入。可以看到,我们通过这种巧妙的方式实现了类似路由进场切换的动画,实际上Flutter路由切换也正是通过AnimatedSwitcher来实现的。 SlideTransitionX 上面的示例我们实现了”左出右入“的动画,那如果要实现”右入左出“、”上入下出“或者 ”下入上出“怎么办?当然,我们可以分别修改上面的代码,但是这样每种动画都得单独定义一个”Transition“,这很麻烦。本节将分装一个通用的SlideTransitionX 来实现这种”出入滑动动画“,代码如下: class SlideTransitionX extends AnimatedWidget { SlideTransitionX({ Key key, @required Animation position, this.transformHitTests = true, this.direction = AxisDirection.down, this.child, }) : assert(position != null), super(key: key, listenable: position) { // 偏移在内部处理 switch (direction) { case AxisDirection.up: _tween = Tween(begin: Offset(0, 1), end: Offset(0, 0)); break; case AxisDirection.right: _tween = Tween(begin: Offset(-1, 0), end: Offset(0, 0)); break; case AxisDirection.down: _tween = Tween(begin: Offset(0, -1), end: Offset(0, 0)); break; case AxisDirection.left: _tween = Tween(begin: Offset(1, 0), end: Offset(0, 0)); break; } } Animation get position => listenable; final bool transformHitTests; final Widget child; //退场(出)方向 final AxisDirection direction; Tween _tween; @override Widget build(BuildContext context) { Offset offset = _tween.evaluate(position); if (position.status == AnimationStatus.reverse) { switch (direction) { case AxisDirection.up: offset = Offset(offset.dx, -offset.dy); break; case AxisDirection.right: offset = Offset(-offset.dx, offset.dy); break; case AxisDirection.down: offset = Offset(offset.dx, -offset.dy); break; case AxisDirection.left: offset = Offset(-offset.dx, offset.dy); break; } } return FractionalTranslation( translation: offset, transformHitTests: transformHitTests, child: child, ); } } 现在如果我们想实现各种”滑动出入动画\"\"便非常容易,只需给direction传递不同的方向值即可,比如要实现”上入下出“,则: AnimatedSwitcher( duration: Duration(milliseconds: 200), transitionBuilder: (Widget child, Animation animation) { var tween=Tween(begin: Offset(1, 0), end: Offset(0, 0)) return SlideTransitionX( child: child, direction: AxisDirection.down, //上入下出 position: animation, ); }, ...//省略其余代码 ) 运行后,我截取动画执行过程中的一帧,如图9-7所示: 上图中“1”从底部滑出,而\"2\"从顶部滑入。读者可以尝试给SlideTransitionX的direction取不同的值来查看运行效果。 总结 本节我们学习了AnimatedSwitcher的详细用法,同时也介绍了打破AnimatedSwitcher动画对称性的方法。我们可以发现:在需要切换新旧UI元素的场景,AnimatedSwitcher将十分实用。 "},"chapter10/":{"url":"chapter10/","title":"第十章:自定义组件","keywords":"","body":"本章目录 自定义Widget方法简介 通过组合现有Widget实现 实例:TurnBox CustomPaint与Canvas 实例:圆形渐变进度条 "},"chapter10/intro.html":{"url":"chapter10/intro.html","title":"10.1:自定义组件方法简介","keywords":"","body":"10.1 自定义组件方法简介 当Flutter提供的现有组件无法满足我们的需求,或者我们为了共享代码需要封装一些通用组件,这时我们就需要自定义组件。在Flutter中自定义组件有三种方式:通过组合其它组件、自绘和实现RenderObject。本节我们先分别介绍一下这三种方式的特点,后面章节中则详细介绍它们的细节。 组合其它Widget 这种方式是通过拼装其它组件来组合成一个新的组件。例如我们之前介绍的Container就是一个组合组件,它是由DecoratedBox、ConstrainedBox、Transform、Padding、Align等组件组成。 在Flutter中,组合的思想非常重要,Flutter提供了非常多的基础组件,而我们的界面开发其实就是按照需要组合这些组件来实现各种不同的布局而已。 自绘 如果遇到无法通过现有的组件来实现需要的UI时,我们可以通过自绘组件的方式来实现,例如我们需要一个颜色渐变的圆形进度条,而Flutter提供的CircularProgressIndicator并不支持在显示精确进度时对进度条应用渐变色(其valueColor 属性只支持执行旋转动画时变化Indicator的颜色),这时最好的方法就是通过自定义组件来绘制出我们期望的外观。我们可以通过Flutter中提供的CustomPaint和Canvas来实现UI自绘。 实现RenderObject Flutter提供的自身具有UI外观的组件,如文本Text、Image都是通过相应的RenderObject(我们将在“Flutter核心原理”一章中详细介绍RenderObject)渲染出来的,如Text是由RenderParagraph渲染;而Image是由RenderImage渲染。RenderObject是一个抽象类,它定义了一个抽象方法paint(...): void paint(PaintingContext context, Offset offset) PaintingContext代表组件的绘制上下文,通过PaintingContext.canvas可以获得Canvas,而绘制逻辑主要是通过Canvas API来实现。子类需要重写此方法以实现自身的绘制逻辑,如RenderParagraph需要实现文本绘制逻辑,而RenderImage需要实现图片绘制逻辑。 可以发现,RenderObject中最终也是通过Canvas API来绘制的,那么通过实现RenderObject的方式和上面介绍的通过CustomPaint和Canvas自绘的方式有什么区别?其实答案很简单,CustomPaint只是为了方便开发者封装的一个代理类,它直接继承自SingleChildRenderObjectWidget,通过RenderCustomPaint的paint方法将Canvas和画笔Painter(需要开发者实现,后面章节介绍)连接起来实现了最终的绘制(绘制逻辑在Painter中)。 总结 “组合”是自定义组件最简单的方法,在任何需要自定义组件的场景下,我们都应该优先考虑是否能够通过组合来实现。而自绘和通过实现RenderObject的方法本质上是一样的,都需要开发者调用Canvas API手动去绘制UI,优点是强大灵活,理论上可以实现任何外观的UI,而缺点是必须了解Canvas API细节,并且得自己去实现绘制逻辑。 在本章接下来的小节中,我们将通过一些实例来详细介绍自定义UI的过程,由于后两种方法本质是相同的,并且Flutter中很多基础组件都是通过RenderObject的形式来实现的,所以后续我们只介绍CustomPaint和Canvas的方式,读者如果对自定义RenderObject的方法好奇,可以查看Flutter中相关基础组件对应的RenderObject的实现源码,如RenderParagraph或RenderImage。 "},"chapter10/combine.html":{"url":"chapter10/combine.html","title":"10.2:组合现有组件","keywords":"","body":"10.2 组合现有组件 在Flutter中页面UI通常都是由一些低阶别的组件组合而成,当我们需要封装一些通用组件时,应该首先考虑是否可以通过组合其它组件来实现,如果可以,则应优先使用组合,因为直接通过现有组件拼装会非常简单、灵活、高效。 示例:自定义渐变按钮 Flutter Material组件库中的按钮默认不支持渐变背景,为了实现渐变背景按钮,我们自定义一个GradientButton组件,它需要支持一下功能: 背景支持渐变色 手指按下时有涟漪效果 可以支持圆角 我们先来看看最终要实现的效果(图10-1): 我们DecoratedBox可以支持背景色渐变和圆角,InkWell在手指按下有涟漪效果,所以我们可以通过组合DecoratedBox和InkWell来实现GradientButton,代码如下: import 'package:flutter/material.dart'; class GradientButton extends StatelessWidget { GradientButton({ this.colors, this.width, this.height, this.onPressed, this.borderRadius, @required this.child, }); // 渐变色数组 final List colors; // 按钮宽高 final double width; final double height; final Widget child; final BorderRadius borderRadius; //点击回调 final GestureTapCallback onPressed; @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), borderRadius: borderRadius, ), child: Material( type: MaterialType.transparency, child: InkWell( splashColor: _colors.last, highlightColor: Colors.transparent, borderRadius: borderRadius, onTap: onPressed, 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是由DecoratedBox、Padding、Center、InkWell等组件组合而成。当然上面的代码只是一个示例,作为一个按钮它还并不完整,比如没有禁用状态,读者可以根据实际需要来完善。 使用GradientButton import 'package:flutter/material.dart'; import '../widgets/index.dart'; class GradientButtonRoute extends StatefulWidget { @override _GradientButtonRouteState createState() => _GradientButtonRouteState(); } class _GradientButtonRouteState extends State { @override Widget build(BuildContext context) { return Container( child: Column( children: [ GradientButton( colors: [Colors.orange, Colors.red], height: 50.0, child: Text(\"Submit\"), onPressed: onTap, ), GradientButton( height: 50.0, colors: [Colors.lightGreen, Colors.green[700]], child: Text(\"Submit\"), onPressed: onTap, ), GradientButton( height: 50.0, colors: [Colors.lightBlue[300], Colors.blueAccent], child: Text(\"Submit\"), onPressed: onTap, ), ], ), ); } onTap() { print(\"button click\"); } } 总结 通过组合的方式定义组件和我们之前写界面并无差异,不过在抽离出单独的组件时我们要考虑代码规范性,如必要参数要用@required 标注,对于可选参数在特定场景需要判空或设置默认值等。这是由于使用者大多时候可能不了解组件的内部细节,所以为了保证代码健壮性,我们需要在用户错误地使用组件时能够兼容或报错提示(使用assert断言函数)。 "},"chapter10/turn_box.html":{"url":"chapter10/turn_box.html","title":"10.3:组合实例:TurnBox","keywords":"","body":"10.3 组合实例: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和child来实现的旋转效果。 在didUpdateWidget中,我们判断要旋转的角度是否发生了变化,如果变了,则执行一个过渡动画。 下面我们测试一下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; }); }, ) ], ), ); } } 测试代码运行后效果如图10-2所示: 当我们点击旋转按钮时,两个图标的旋转都会旋转1/5圈,但旋转的速度是不同的,读者可以自己运行一下示例看看效果。 实际上本示例只组合了RotationTransition一个组件,它是一个最简的组合类组件示例。另外,如果我们封装的是StatefulWidget,那么一定要注意在组件更新时是否需要同步状态。比如我们要封装一个富文本展示组件MyRichText ,它可以自动处理url链接,定义如下: class MyRichText extends StatefulWidget { MyRichText({ Key key, this.text, // 文本字符串 this.linkStyle, // url链接样式 }) : super(key: key); final String text; final TextStyle linkStyle; @override _MyRichTextState createState() => _MyRichTextState(); } 接下来我们在_MyRichTextState中要实现的功能有两个: 解析文本字符串“text”,生成TextSpan缓存起来; 在build中返回最终的富文本样式; _MyRichTextState 实现的代码大致如下: class _MyRichTextState extends State { TextSpan _textSpan; @override Widget build(BuildContext context) { return RichText( text: _textSpan, ); } TextSpan parseText(String text) { // 耗时操作:解析文本字符串,构建出TextSpan。 // 省略具体实现。 } @override void initState() { _textSpan = parseText(widget.text) super.initState(); } } 由于解析文本字符串,构建出TextSpan是一个耗时操作,为了不在每次build的时候都解析一次,所以我们在initState中对解析的结果进行了缓存,然后再build中直接使用解析的结果_textSpan。这看起来很不错,但是上面的代码有一个严重的问题,就是父组件传入的text发生变化时(组件树结构不变),那么MyRichText显示的内容不会更新,原因就是initState只会在State创建时被调用,所以在text发生变化时,parseText没有重新执行,导致_textSpan任然是旧的解析值。要解决这个问题也很简单,我们只需添加一个didUpdateWidget回调,然后再里面重新调用parseText即可: @override void didUpdateWidget(MyRichText oldWidget) { if (widget.text != oldWidget.text) { _textSpan = parseText(widget.text); } super.didUpdateWidget(oldWidget); } 有些读者可能会觉得这个点也很简单,是的,的确很简单,之所以要在这里反复强调是因为这个点在实际开发中很容易被忽略,它虽然简单,但却很重要。总之,当我们在State中会缓存某些依赖Widget参数的数据时,一定要注意在组件更新时是否需要同步状态。 "},"chapter10/custom_paint.html":{"url":"chapter10/custom_paint.html","title":"10.4:自绘组件(CustomPaint与Canvas)","keywords":"","body":"10.4 自绘组件 (CustomPaint与Canvas) 对于一些复杂或不规则的UI,我们可能无法通过组合其它组件的方式来实现,比如我们需要一个正六边形、一个渐变的圆形进度条、一个棋盘等。当然,有时候我们可以使用图片来实现,但在一些需要动态交互的场景静态图片也是实现不了的,比如要实现一个手写输入面板,这时,我们就需要来自己绘制UI外观。 几乎所有的UI系统都会提供一个自绘UI的接口,这个接口通常会提供一块2D画布Canvas,Canvas内部封装了一些基本绘制的API,开发者可以通过Canvas绘制各种自定义图形。在Flutter中,提供了一个CustomPaint 组件,它可以结合画笔CustomPainter来实现自定义图形绘制。 CustomPaint 我们看看CustomPaint构造函数: 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组件中,这样会在绘制时就会创建一个新的绘制层(Layer),其子组件将在新的Layer上绘制,而父组件将在原来Layer上绘制,也就是说RepaintBoundary 子组件的绘制将独立于父组件的绘制,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的过程,首先我们看一下我们的目标效果,如图10-3所示: 代码: 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不需要重绘。 绘制尽可能多的分层;在上面五子棋的示例中,我们将棋盘和棋子的绘制放在了一起,这样会有一个问题:由于棋盘始终是不变的,用户每次落子时变的只是棋子,但是如果按照上面的代码来实现,每次绘制棋子时都要重新绘制一次棋盘,这是没必要的。优化的方法就是将棋盘单独抽为一个组件,并设置其shouldRepaint回调值为false,然后将棋盘组件作为背景。然后将棋子的绘制放到另一个组件中,这样每次落子时只需要绘制棋子。 总结 自绘控件非常强大,理论上可以实现任何2D图形外观,实际上Flutter提供的所有组件最终都是通过调用Canvas绘制出来的,只不过绘制的逻辑被封装起来了,读者有兴趣可以查看具有外观样式的组件源码,找到其对应的RenderObject对象,如Text对应的RenderParagraph对象最终会通过Canvas实现文本绘制逻辑。下一节我们会再通过一个自绘的圆形背景渐变进度条的实例来帮助读者加深印象。 "},"chapter10/gradient_circular_progress_demo.html":{"url":"chapter10/gradient_circular_progress_demo.html","title":"10.5:自绘实例:圆形渐变进度条(自绘)","keywords":"","body":"10.5 自绘实例:圆形背景渐变进度条 本节我们实现一个圆形背景渐变进度条,它支持: 支持多种背景渐变色。 任意弧度;进度条可以不是整圆。 可以自定义粗细、两端是否圆角等样式。 可以发现要实现这样的一个进度条是无法通过现有组件组合而成的,所以我们通过自绘方式实现,代码如下: import 'dart:math'; import 'package:flutter/material.dart'; class GradientCircularProgressIndicator extends StatelessWidget { GradientCircularProgressIndicator({ this.strokeWidth = 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 strokeWidth; /// 圆的半径 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(strokeWidth / (radius * 2 - strokeWidth)); } 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( strokeWidth: strokeWidth, strokeCapRound: strokeCapRound, backgroundColor: backgroundColor, value: value, total: totalAngle, radius: radius, colors: _colors, ) ), ); } } //实现画笔 class _GradientCircularProgressPainter extends CustomPainter { _GradientCircularProgressPainter({ this.strokeWidth: 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 strokeWidth; 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 = strokeWidth / 2.0; double _value = (value ?? .0); _value = _value.clamp(.0, 1.0) * total; double _start = .0; if (strokeCapRound) { _start = asin(strokeWidth/ (size.width - strokeWidth)); } Rect rect = Offset(_offset, _offset) & Size( size.width - strokeWidth, size.height - strokeWidth ); var paint = Paint() ..strokeCap = strokeCapRound ? StrokeCap.round : StrokeCap.butt ..style = PaintingStyle.stroke ..isAntiAlias = true ..strokeWidth = strokeWidth; // 先画背景 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, strokeWidth: 3.0, value: _animationController.value, ), GradientCircularProgressIndicator( colors: [Colors.red, Colors.orange], radius: 50.0, strokeWidth: 3.0, value: _animationController.value, ), GradientCircularProgressIndicator( colors: [Colors.red, Colors.orange, Colors.red], radius: 50.0, strokeWidth: 5.0, value: _animationController.value, ), GradientCircularProgressIndicator( colors: [Colors.teal, Colors.cyan], radius: 50.0, strokeWidth: 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, strokeWidth: 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, strokeWidth: 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, strokeWidth: 5.0, strokeCapRound: true, value: _animationController.value, ), ], ), GradientCircularProgressIndicator( colors: [Colors.blue[700], Colors.blue[200]], radius: 100.0, strokeWidth: 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, strokeWidth: 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, strokeWidth: 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, strokeWidth: 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, ), ), ) ], ), ), ], ), ); }, ), ], ), ), ); } } 怎么样,很炫酷吧!GradientCircularProgressIndicator已经被添加进了笔者维护的flukit组件库中了,读者如果有需要,可以直接依赖flukit包。 "},"chapter11/":{"url":"chapter11/","title":"第十一章:文件操作与网络请求","keywords":"","body":"本章目录 文件操作 Http请求-HttpClient Http请求-Dio package 实例:Http分块下载 WebSocket 使用Socket API Json转Model "},"chapter11/file_operation.html":{"url":"chapter11/file_operation.html","title":"11.1:文件操作","keywords":"","body":"11.1 文件操作 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语言的,故不详细说明,读者需要的话可以自行学习。 "},"chapter11/http.html":{"url":"chapter11/http.html","title":"11.2:Http请求-HttpClient","keywords":"","body":"11.2 通过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的例子,示例效果如图11-1所示: ​ 点击“获取百度首页”按钮后,会请求百度首页,请求成功后,我们将返回内容显示出来并在控制台打印响应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协议非常熟悉。 "},"chapter11/dio.html":{"url":"chapter11/dio.html","title":"11.3:Http请求-Dio package","keywords":"","body":"11.3 Http请求-Dio http库 通过上一节介绍,我们可以发现直接使用HttpClient发起网络请求是比较麻烦的,很多事情得我们手动处理,如果再涉及到文件上传/下载、Cookie管理等就会非常繁琐。幸运的是,Dart社区有一些第三方http请求库,用它们来发起http请求将会简单的多,本节我们介绍一下目前人气较高的dio库。 dio是一个强大的Dart Http请求库,支持Restful API、FormData、拦截器、请求取消、Cookie管理、文件上传/下载、超时等。dio的使用方式随着其版本升级可能会发生变化,如果本节所述内容和dio官方有差异,请以dio官方文档为准。 引入 引入dio: dependencies: dio: ^x.x.x #请使用pub上的最新版本 导入并创建dio实例: import 'package:dio/dio.dart'; Dio dio = 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\",queryParameters:{\"id\":12,\"name\":\"wendu\"}) print(response); 发起一个 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.httpClientAdapter as DefaultHttpClientAdapter).onHttpClientCreate = (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 。 下一节我们将使用dio实现一个分块下载器。 实例 我们通过Github开放的API来请求flutterchina组织下的所有公开的开源项目,实现: 在请求阶段弹出loading 请求结束后,如果请求失败,则展示错误信息;如果成功,则将项目名称列表展示出来。 代码如下: class _FutureBuilderRouteState extends State { Dio _dio = new Dio(); @override Widget build(BuildContext context) { return new Container( alignment: Alignment.center, child: FutureBuilder( future: _dio.get(\"https://api.github.com/orgs/flutterchina/repos\"), builder: (BuildContext context, AsyncSnapshot snapshot) { //请求完成 if (snapshot.connectionState == ConnectionState.done) { Response response = snapshot.data; //发生错误 if (snapshot.hasError) { return Text(snapshot.error.toString()); } //请求成功,通过项目信息构建用于显示项目名称的ListView return ListView( children: response.data.map((e) => ListTile(title: Text(e[\"full_name\"])) ).toList(), ); } //请求未完成时弹出loading return CircularProgressIndicator(); } ), ); } } "},"chapter11/download_with_chunks.html":{"url":"chapter11/download_with_chunks.html","title":"11.4:实例:Http分块下载","keywords":"","body":"11.4 实例:Http分块下载 本节将通过一个“Http分块下载”的示例演示一下dio的具体用法。 原理 Http协议定义了分块传输的响应header字段,但具体是否支持取决于Server的实现,我们可以指定请求头的\"range\"字段来验证服务器是否支持分块传输。例如,我们可以利用curl命令来验证: bogon:~ duwen$ curl -H \"Range: bytes=0-10\" http://download.dcloud.net.cn/HBuilder.9.0.2.macosx_64.dmg -v # 请求头 > GET /HBuilder.9.0.2.macosx_64.dmg HTTP/1.1 > Host: download.dcloud.net.cn > User-Agent: curl/7.54.0 > Accept: */* > Range: bytes=0-10 # 响应头 我们在请求头中添加\"Range: bytes=0-10\"的作用是,告诉服务器本次请求我们只想获取文件0-10(包括10,共11字节)这块内容。如果服务器支持分块传输,则响应状态码为206,表示“部分内容”,并且同时响应头中包含”Content-Range“字段,如果不支持则不会包含。我们看看上面\"Content-Range\"的内容: Content-Range: bytes 0-10/233295878 0-10表示本次返回的区块,233295878代表文件的总长度,单位都是byte, 也就是该文件大概233M多一点。 基于此,我们可以设计一个简单的多线程的文件分块下载器,实现的思路是: 先检测是否支持分块传输,如果不支持,则直接下载;若支持,则将剩余内容分块下载。 各个分块下载时保存到各自临时文件,等到所有分块下载完后合并临时文件。 删除临时文件。 实现 下面是整体的流程: // 通过第一个分块请求检测服务器是否支持分块传输 Response response = await downloadChunk(url, 0, firstChunkSize, 0); if (response.statusCode == 206) { //如果支持 //解析文件总长度,进而算出剩余长度 total = int.parse( response.headers.value(HttpHeaders.contentRangeHeader).split(\"/\").last); int reserved = total - int.parse(response.headers.value(HttpHeaders.contentLengthHeader)); //文件的总块数(包括第一块) int chunk = (reserved / firstChunkSize).ceil() + 1; if (chunk > 1) { int chunkSize = firstChunkSize; if (chunk > maxChunk + 1) { chunk = maxChunk + 1; chunkSize = (reserved / maxChunk).ceil(); } var futures = []; for (int i = 0; i 下面我们使用dio的download API 实现downloadChunk: //start 代表当前块的起始位置,end代表结束位置 //no 代表当前是第几块 Future downloadChunk(url, start, end, no) async { progress.add(0); //progress记录每一块已接收数据的长度 --end; return dio.download( url, savePath + \"temp$no\", //临时文件按照块的序号命名,方便最后合并 onReceiveProgress: createCallback(no), // 创建进度回调,后面实现 options: Options( headers: {\"range\": \"bytes=$start-$end\"}, //指定请求的内容区间 ), ); } 接下来实现mergeTempFiles: Future mergeTempFiles(chunk) async { File f = File(savePath + \"temp0\"); IOSink ioSink= f.openWrite(mode: FileMode.writeOnlyAppend); //合并临时文件 for (int i = 1; i 下面我们看一下完整实现: /// Downloading by spiting as file in chunks Future downloadWithChunks( url, savePath, { ProgressCallback onReceiveProgress, }) async { const firstChunkSize = 102; const maxChunk = 3; int total = 0; var dio = Dio(); var progress = []; createCallback(no) { return (int received, _) { progress[no] = received; if (onReceiveProgress != null && total != 0) { onReceiveProgress(progress.reduce((a, b) => a + b), total); } }; } Future downloadChunk(url, start, end, no) async { progress.add(0); --end; return dio.download( url, savePath + \"temp$no\", onReceiveProgress: createCallback(no), options: Options( headers: {\"range\": \"bytes=$start-$end\"}, ), ); } Future mergeTempFiles(chunk) async { File f = File(savePath + \"temp0\"); IOSink ioSink= f.openWrite(mode: FileMode.writeOnlyAppend); for (int i = 1; i 1) { int chunkSize = firstChunkSize; if (chunk > maxChunk + 1) { chunk = maxChunk + 1; chunkSize = (reserved / maxChunk).ceil(); } var futures = []; for (int i = 0; i 现在可以进行分块下载了: main() async { var url = \"http://download.dcloud.net.cn/HBuilder.9.0.2.macosx_64.dmg\"; var savePath = \"./example/HBuilder.9.0.2.macosx_64.dmg\"; await downloadWithChunks(url, savePath, onReceiveProgress: (received, total) { if (total != -1) { print(\"${(received / total * 100).floor()}%\"); } }); } 思考 分块下载真的能提高下载速度吗? 其实下载速度的主要瓶颈是取决于网络速度和服务器的出口速度,如果是同一个数据源,分块下载的意义并不大,因为服务器是同一个,出口速度确定的,主要取决于网速,而上面的例子正式同源分块下载,读者可以自己对比一下分块和不分块的的下载速度。如果有多个下载源,并且每个下载源的出口带宽都是有限制的,这时分块下载可能会更快一下,之所以说“可能”,是由于这并不是一定的,比如有三个源,三个源的出口带宽都为1G/s,而我们设备所连网络的峰值假设只有800M/s,那么瓶颈就在我们的网络。即使我们设备的带宽大于任意一个源,下载速度依然不一定就比单源单线下载快,试想一下,假设有两个源A和B,速度A源是B源的3倍,如果采用分块下载,两个源各下载一半的话,读者可以算一下所需的下载时间,然后再算一下只从A源下载所需的时间,看看哪个更快。 分块下载的最终速度受设备所在网络带宽、源出口速度、每个块大小、以及分块的数量等诸多因素影响,实际过程中很难保证速度最优。在实际开发中,读者可可以先测试对比后再决定是否使用。 分块下载有什么实际的用处吗? 分块下载还有一个比较使用的场景是断点续传,可以将文件分为若干个块,然后维护一个下载状态文件用以记录每一个块的状态,这样即使在网络中断后,也可以恢复中断前的状态,具体实现读者可以自己尝试一下,还是有一些细节需要特别注意的,比如分块大小多少合适?下载到一半的块如何处理?要不要维护一个任务队列? "},"chapter11/websocket.html":{"url":"chapter11/websocket.html","title":"11.5: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 = IOWebSocketChannel.connect('ws://echo.websocket.org'); 2. 监听来自服务器的消息 现在我们建立了连接,我们可以监听来自服务器的消息,在我们发送消息给测试服务器之后,它会返回相同的消息。 我们如何收取消息并显示它们?在这个例子中,我们将使用一个StreamBuilder 来监听新消息, 并用一个Text来显示它们。 new StreamBuilder( stream: widget.channel.stream, builder: (context, snapshot) { return new Text(snapshot.hasData ? '${snapshot.data}' : ''); }, ); 工作原理 WebSocketChannel提供了一个来自服务器的消息Stream 。该Stream类是dart:async包中的一个基础类。它提供了一种方法来监听来自数据源的异步事件。与Future返回单个异步响应不同,Stream类可以随着时间推移传递很多事件。该StreamBuilder 组件将连接到一个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。 "},"chapter11/socket.html":{"url":"chapter11/socket.html","title":"11.6:使用Socket API","keywords":"","body":"11.6 使用Socket API 我们之前介绍的Http协议和WebSocket协议都属于应用层协议,除了它们,应用层协议还有很多如:SMTP、FTP等,这些应用层协议的实现都是通过Socket API来实现的。其实,操作系统中提供的原生网络请求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,运行后效果如图11-2所示: 可以看到响应内容分两个部分,第一部分是响应头,第二部分是响应体,服务端可以根据请求信息动态来输出响应体。由于本示例请求头比较简单,所以响应体和浏览器中访问的会有差别,读者可以补充一些请求头(如user-agent)来看看输出的变化。 "},"chapter11/json_model.html":{"url":"chapter11/json_model.html","title":"11.7:Json转Dart Model类","keywords":"","body":"11.7 Json转Dart 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第一次创建类时,您会看到与图11-4类似的错误。 这些错误是完全正常的,这是因为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”。 Json_model 包 如果每个项目都要构建一个上面这样的脚本显然很麻烦,为此,我们将上面脚本和生成模板封装了一个包,已经发布到了Pub上,包名为Json_model,开发者把该包加入开发依赖后,便可以用一条命令,根据Json文件生成Dart类。另外Json_model 处于迭代中,功能会逐渐完善,所以建议读者直接使用该包(而不是手动复制上面的代码)。 使用IDE插件生成model 目前Android Studio(或IntelliJ)有几个插件,可以将json文件转成Model类,但插件质量参差不齐,甚至还有一些沾染上了抄袭风波,故笔者在此不做优先推荐,读者有兴趣可以自行了解。但是,我们还是要了解一下IDE插件和Json_model的优劣: Json_model需要单独维护一个存放Json文件的文件夹,如果有改动,只需修改Json文件便可重新生成Model类;而IDE插件一般需要用户手动将Json内容拷贝复制到一个输入框中,这样生成之后Json文件没有存档的化,之后要改动就需要手动。 Json_model可以手动指定某个字段引用的其它Model类,可以避免生成重复的类;而IDE插件一般会为每一个Json文件中所有嵌套对象都单独生成一个Model类,即使这些嵌套对象可能在其它Model类中已经生成过。 Json_model 提供了命令行转化方式,可以方便集成到CI等非UI环境的场景。 FAQ 很多人可能会问Flutter中有没有像Java开发中的Gson/Jackson一样的Json序列化类库?答案是没有!因为这样的库需要使用运行时反射,这在Flutter中是禁用的。运行时反射会干扰Dart的tree shaking,使用tree shaking,可以在release版中“去除”未使用的代码,这可以显著优化应用程序的大小。由于反射会默认应用到所有代码,因此tree shaking会很难工作,因为在启用反射时很难知道哪些代码未被使用,因此冗余代码很难剥离,所以Flutter中禁用了Dart的反射功能,而正因如此也就无法实现动态转化Model的功能。 "},"chapter12/":{"url":"chapter12/","title":"第十二章:包与插件","keywords":"","body":"包与插件 开发package 插件开发:平台通道简介 插件开发:实现Android端API 插件开发:实现IOS端API "},"chapter12/develop_package.html":{"url":"chapter12/develop_package.html","title":"12.1:开发package","keywords":"","body":"12.1 开发Package 第二章中已经讲过如何使用Package(包),我们知道通过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 Package。 第一步:创建Dart包 您可以通过Android Studio:File>New>New Flutter Project 来创建一个Package工程,如图12-1所示: 您也可以通过使用--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为例,它的目录结构如图12-2所示: 在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)运行发布命令重试。 "},"chapter12/platform-channel.html":{"url":"chapter12/platform-channel.html","title":"12.2:平台通道简介","keywords":"","body":"12.2 插件开发:平台通道简介 “平台特定”或“特定平台”中的平台指的就是Flutter应用程序运行的平台,如Android或IOS。我们知道一个完整的Flutter应用程序实际上包括原生代码和Flutter代码两部分。由于Flutter本身只是一个UI系统,它本身是无法提供一些系统能力,比如使用蓝牙、相机、GPS等,因此要在Flutter APP中调用这些能力就必须和原生平台进行通信。为此,Flutter中提供了一个平台通道(platform channel),用于Flutter和原生平台的通信。平台通道正是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, 如果不足32位 java.lang.Long NSNumber numberWithLong: int, 如果不足64位 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 当在发送和接收值时,这些值在消息中的序列化和反序列化会自动进行。 自定义编解码器 除了上面提到的MethodChannel,还可以使用BasicMessageChannel,它支持使用自定义消息编解码器进行基本的异步消息传递。 此外,可以使用专门的BinaryCodec、StringCodec和 JSONMessageCodec类,或创建自己的编解码器。 "},"chapter12/develop_plugin.html":{"url":"chapter12/develop_plugin.html","title":"12.3:开发Flutter插件","keywords":"","body":"12.3 开发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), ], ), ), ); } 至此Flutter部分的测试代码写好了,接下来我们需要实现Android和iOS平台下的API,由于平台API实现部分篇幅较大,我们将在接下来的两节中,分别介绍Android和iOS端API的实现。 "},"chapter12/android_implement.html":{"url":"chapter12/android_implement.html","title":"12.4:插件开发:实现Android端API","keywords":"","body":"12.4 插件开发: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面板中的电池电量。 "},"chapter12/ios_implement.html":{"url":"chapter12/ios_implement.html","title":"12.5:插件开发:实现IOS端API","keywords":"","body":"12.5 插件开发: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,因此应用程序将显示“电池信息不可用”。 "},"chapter13/":{"url":"chapter13/","title":"第十三章:国际化","keywords":"","body":"本章目录 让App支持多语言 实现Localizations 使用Intl包 "},"chapter13/multi_languages_support.html":{"url":"chapter13/multi_languages_support.html","title":"13.1:让App支持多语言","keywords":"","body":"13.1 让App支持多语言 如果我们的应用要支持多种语言,那么我们需要“国际化”它。这意味着我们在开发时需要为应用程序支持的每种语言环境设置“本地化”的一些值,如文本和布局。Flutter SDK已经提供了一些组件和类来帮助我们实现国际化,下面我们来介绍一下Flutter中实现国际化的步骤。 接下来我们以MaterialApp类为入口的应用来说明如何支持国际化。 大多数应用程序都是通过MaterialApp为入口,但根据低级别的WidgetsApp类为入口编写的应用程序也可以使用相同的类和逻辑进行国际化。MaterialApp实际上也是WidgetsApp的一个包装。 注意,”本地化的值和资源“是指我们针对不同语言准备的不同资源,这些资源一般是指文案(字符串),当然也会有一些其他的资源会根据不同语言地区而不同,比如我们需要显示一个APP上架地的国旗图片,那么不同Locale区域我们就需要提供不同的的国旗图片。 支持国际化 默认情况下,Flutter SDK中的组件仅提供美国英语本地化资源(主要是文本)。要添加对其他语言的支持,应用程序须添加一个名为“flutter_localizations”的包依赖,然后还需要在MaterialApp中进行一些配置。 要使用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 组件支持多语言。 GlobalWidgetsLocalizations.delegate定义组件默认的文本方向,从左到右或从右到左,这是因为有些语言的阅读习惯并不是从左到右,比如如阿拉伯语就是从右向左的。 supportedLocales也接收一个Locale数组,表示我们的应用支持的语言列表,在本例中我们的应用只支持美国英语和中文简体两种语言。 获取当前区域Locale Locale类是用来标识用户的语言环境的,它包括语言和国家两个标志如: const Locale('zh', 'CN') // 中文简体 我们始终可以通过以下方式来获取应用的当前区域Locale: Locale myLocale = Localizations.localeOf(context); Localizations 组件一般位于widget树中其它业务组件的顶部,它的作用是定义区域Locale以及设置子树依赖的本地化资源。 如果系统的语言环境发生变化,WidgetsApp将创建一个新的Localizations 组件并重建它,这样子树中通过Localizations.localeOf(context) 获取的Locale就会更新。 监听系统语言切换 当我们更改系统语言设置时,APP中的Localizations组件会重新构建,Localizations.localeOf(context) 获取的Locale就会更新,最终界面会重新build达到切换语言的效果。但是这个过程是隐式完成的,我们并没有主动去监听系统语言切换,但是有时我们需要在系统语言发生改变时做一些事,比如系统语言切换为一种我们APP不支持的语言时,我们需要设置一个默认的语言,这时我们就需要监听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,如果某一种语言加载成功则会停止。图13-1是Android系统中设置语言列表的截图: 在Flutter中,应该优先使用localeListResolutionCallback,当然你不必担心Android系统的差异性,如果在低版本的Android系统中,Flutter会自动处理这种情况,这时Locale列表只会包含一项。 Localization 组件 Localizations组件用于加载和查找应用当前语言下的本地化值或资源。应用程序通过Localizations.of(context,type)来引用这些对象。 如果设备的Locale区域设置发生更改,则Localizations 组件会自动加载新区域的Locale值,然后重新build使用(依赖)了它们的组件,之所以会这样,是因为Localizations内部使用了InheritedWidget ,我们在介绍该组件时讲过:当子组件的build函数引用了InheritedWidget时,会创建对InheritedWidget的隐式依赖关系。因此,当InheritedWidget发生更改时,即Localizations的Locale设置发生更改时,将重建所有依赖它的子组件。 本地化值由Localizations的 LocalizationsDelegates 列表加载 。 每个委托必须定义一个异步load() 方法,以生成封装了一系列本地化值的对象。通常这些对象为每个本地化值定义一个方法。 在大型应用程序中,不同模块或Package可能会与自己的本地化值捆绑在一起。 这就是为什么要用Localizations 管理对象表的原因。 要使用由LocalizationsDelegate的load方法之一产生的对象,可以指定一个BuildContext和对象的类型来找到它。例如,Material 组件库的本地化字符串由MaterialLocalizations类定义,此类的实例由MaterialApp类提供的LocalizationDelegate创建, 它们可以如下方式获取到: 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 包包含GlobalMaterialLocalizations和GlobalWidgetsLocalizations的本地化接口的多语言实现, 国际化的应用程序必须按照本节开头说明的那样为这些类指定本地化Delegate。 上述的GlobalMaterialLocalizations和GlobalWidgetsLocalizations只是Material组件库的本地化实现,如果我们要让自己的布局支持多语言,那么就需要实现在即的Localizations,我们将在下一节介绍其具体的实现方式。 "},"chapter13/locallization_implement.html":{"url":"chapter13/locallization_implement.html","title":"13.2:实现Localizations","keywords":"","body":"13.2 实现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组件重新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包来实现这些。 "},"chapter13/intl.html":{"url":"chapter13/intl.html","title":"13.3:使用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 "},"chapter13/faq.html":{"url":"chapter13/faq.html","title":"13.4:国际化常见问题","keywords":"","body":"13.4 国际化常见问题 本节主要解答一下在国际化中常见的问题。 默认语言区域不对 在一些非大陆行货渠道买的一些Android和iOS设备,会出现默认的Locale不是中文简体的情况。这属于正常现象,但是为了防止设备获取的Locale与实际的地区不一致,所有的支持多语言的APP都必须提供一个手动选择语言的入口。 如何对应用标题进行国际化 MaterialApp有一个title属性,用于指定APP的标题。在Android系统中,APP的标题会出现在任务管理器中。所以也需要对title进行国际化。但是问题是很多国际化的配置都是在MaterialApp上设置的,我们无法在构建MaterialApp时通过Localizations.of来获取本地化资源,如: MaterialApp( title: DemoLocalizations.of(context).title, //不能正常工作! localizationsDelegates: [ // 本地化的代理类 GlobalMaterialLocalizations.delegate, GlobalWidgetsLocalizations.delegate, DemoLocalizationsDelegate() // 设置Delegate ], ); 上面代码运行后,DemoLocalizations.of(context).title 是会报错的,原因是Localizations.of会从当前的context沿着widget树向顶部查找DemoLocalizations,但是我们在MaterialApp中设置完DemoLocalizationsDelegate后,实际上DemoLocalizations是在当前context的子树中的,所以DemoLocalizations.of(context)会返回null,报错。那么我们该如何处理这种情况呢?其实很简单,我们只需要设置一个onGenerateTitle回调即可: MaterialApp( onGenerateTitle: (context){ // 此时context在Localizations的子树中 return DemoLocalizations.of(context).title; }, localizationsDelegates: [ DemoLocalizationsDelegate(), ... ], ); 如何为英语系的国家指定同一个locale 英语系的国家非常多,如美国、英国、澳大利亚等,这些英语系国家虽然说的都是英语,但也会有一些区别。如果我们的APP只想提供一种英语(如美国英语)供所有英语系国家使用,我们可以在前面介绍的localeListResolutionCallback中来做兼容: localeListResolutionCallback: (List locales, Iterable supportedLocales) { // 判断当前locale是否为英语系国家,如果是直接返回Locale('en', 'US') } "},"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":"14.1:Flutter UI系统","keywords":"","body":"14.1 Flutter UI系统 在本书的前面章节中,我们多次提到\"UI系统\"这个概念,本书中所指的UI系统特指:基于一个平台,在此平台上实现GUI的一个系统,这里的平台特指操作系统,如Android、iOS或者Windows、macOS。我们说过各个平台UI系统的原理是相通的,也就是说无论是Android还是iOS,他们将一个用户界面展示到屏幕的流程是相似的,所以,在介绍Flutter 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":"14.2:Element和BuildContext","keywords":"","body":"14.2 Element与BuildContext 14.2.1 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方法中首先调用element所对应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数据,具体细节将在下文介绍。 14.2.2 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 { ... } 那这个context对象对应的实现类到底是谁呢?我们顺藤摸瓜,发现build调用是发生在StatelessWidget和StatefulWidget对应的StatelessElement和StatefulElement的build方法中,以StatelessElement为例: class StatelessElement extends ComponentElement { ... @override Widget build() => widget.build(this); ... } 发现build传递的参数是this,很明显!这个BuildContext就是StatelessElement。同样,我们同样发现StatefulWidget的context是StatefulElement。但StatelessElement和StatefulElement本身并没有实现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的功能,假设有一个页面,该页面有一个按钮,按钮的文本是一个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树了,我们在一个新路由页创建它,最终效果如下如图14-1和14-2(点击后)所示: 点击按钮则按钮文本会随机排序。 对于问题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":"14.3:RenderObject与RenderBox","keywords":"","body":"14.3 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。 14.3.1 布局过程 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 组件,它使用KeepAliveParentDataMixin(继承自ParentData) 来保存子节的keepAlive状态。 14.3.2 绘制过程 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() 来绘制溢出部分提示,这个就是我们经常看到的溢出提示,如图14-3所示: RepaintBoundary 我们已经在CustomPaint一节中介绍过RepaintBoundary,现在我们深入的了解一些。与 RelayoutBoundary 相似,RepaintBoundary是用于在确定重绘边界的,与RelayoutBoundary不同的是,这个绘制边界需要由开发者通过RepaintBoundary 组件自己指定,如: 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 如何设置isRepaintBoundary属性呢?其实,如果使用了RepaintBoundary,其对应的RenderRepaintBoundary会自动将isRepaintBoundary设为true的: class RenderRepaintBoundary extends RenderProxyBox { /// Creates a repaint boundary around [child]. RenderRepaintBoundary({ RenderBox child }) : super(child); @override bool get isRepaintBoundary => true; } 14.3.3 命中测试 我们在”事件处理与通知“一章中已经讲过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。 14.3.4 语义化 语义化即Semantics,主要是提供给读屏软件的接口,也是实现辅助功能的基础,通过语义化接口可以让机器理解页面上的内容,对于有视力障碍用户可以使用读屏软件来理解UI内容。如果一个RenderObject要支持语义化接口,可以实现 describeApproximatePaintClip和 visitChildrenForSemantics方法和semanticsAnnotator getter。更多关于语义化的信息可以查看API文档。 14.3.5 总结 本节我们介绍了RenderObject主要的功能和方法,理解这些内容可以帮助我们更好的理解Flutter UI底层原理。我们也可以看到,如果要从头到尾实现一个RenderObject是比较麻烦的,我们必须去实现layout、绘制和命中测试逻辑,但是值得庆幸的是,大多数时候我们可以直接在Widget层通过组合或者CustomPaint完成自定义UI。如果遇到只能定义一个新RenderObject的场景时(如要实现一个新的layout算法的布局容器),可以直接继承自RenderBox,这样可以帮我们减少一部分工作。 "},"chapter14/flutter_app_startup.html":{"url":"chapter14/flutter_app_startup.html","title":"14.4:Flutter从启动到显示","keywords":"","body":"14.4 Flutter运行机制-从启动到显示 本节我们主要介绍一下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 进行关联,即创建出 widget树对应的element树。如果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 和 FrameCallback 的概念: 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 队列。 绘制 渲染和绘制逻辑在RendererBinding中实现,查看其源发,发现在其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(); } 该方法直接调用了RendererBinding的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将图像画在设备屏幕上。 最后 需要注意的是:由于RendererBinding只是一个mixin,而with它的是WidgetsBinding,所以我们需要看看WidgetsBinding中是否重写该方法,查看WidgetsBinding的drawFrame()方法源码: @override void drawFrame() { ...//省略无关代码 try { if (renderViewElement != null) buildOwner.buildScope(renderViewElement); super.drawFrame(); //调用RendererBinding的drawFrame()方法 buildOwner.finalizeTree(); } } 我们发现在调用RendererBinding.drawFrame()方法前会调用 buildOwner.buildScope() (非首次绘制),该方法会将被标记为“dirty” 的 element 进行 rebuild() 。 总结 本节介绍了Flutter APP从启动到显示到屏幕上的主流程,读者可以结合前面章节对Widget、Element以及RenderObject的介绍来加强细节理解。 "},"chapter14/image_and_cache.html":{"url":"chapter14/image_and_cache.html","title":"14.5:Flutter图片加载与缓存","keywords":"","body":"14.5 图片加载原理与缓存 在本书前面章节已经介绍过Image 组件,并提到Flutter框架对加载过的图片是有缓存的(内存),默认最大缓存数量是1000,最大缓存空间为100M。本节便详细介绍Image的原理及图片缓存机制,下面我们先看看ImageProvider 类。 14.5.1 ImageProvider 我们已经知道Image 组件的image 参数是一个必选参数,它是ImageProvider类型。下面我们便详细介绍一下ImageProvider,ImageProvider是一个抽象类,定义了图片数据获取和加载的相关接口。它的主要职责有两个: 提供图片数据源 缓存图片 我们看看ImageProvider抽象类的详细定义: abstract class ImageProvider { ImageStream resolve(ImageConfiguration configuration) { // 实现代码省略 } Future evict({ ImageCache cache, ImageConfiguration configuration = ImageConfiguration.empty }) async { // 实现代码省略 } Future obtainKey(ImageConfiguration configuration); @protected ImageStreamCompleter load(T key); // 需子类实现 } load(T key)方法 加载图片数据源的接口,不同的数据源的加载方法不同,每个ImageProvider的子类必须实现它。比如NetworkImage类和AssetImage类,它们都是ImageProvider的子类,但它们需要从不同的数据源来加载图片数据:NetworkImage是从网络来加载图片数据,而AssetImage则是从最终的应用包里来加载(加载打到应用安装包里的资源图片)。 我们以NetworkImage为例,看看其load方法的实现: @override ImageStreamCompleter load(image_provider.NetworkImage key) { final StreamController chunkEvents = StreamController(); return MultiFrameImageStreamCompleter( codec: _loadAsync(key, chunkEvents), //调用 chunkEvents: chunkEvents.stream, scale: key.scale, ... //省略无关代码 ); } 我们看到,load方法的返回值类型是ImageStreamCompleter ,它是一个抽象类,定义了管理图片加载过程的一些接口,Image Widget中正是通过它来监听图片加载状态的(我们将在下面介绍Image 原理时详细介绍)。 MultiFrameImageStreamCompleter 是 ImageStreamCompleter的一个子类,是flutter sdk预置的类,通过该类,我们以方便、轻松地创建出一个ImageStreamCompleter实例来做为load方法的返回值。 我们可以看到,MultiFrameImageStreamCompleter 需要一个codec参数,该参数类型为Future。Codec 是处理图片编解码的类的一个handler,实际上,它只是一个flutter engine API 的包装类,也就是说图片的编解码逻辑不是在Dart 代码部分实现,而是在flutter engine中实现的。Codec类部分定义如下: @pragma('vm:entry-point') class Codec extends NativeFieldWrapperClass2 { // 此类由flutter engine创建,不应该手动实例化此类或直接继承此类。 @pragma('vm:entry-point') Codec._(); /// 图片中的帧数(动态图会有多帧) int get frameCount native 'Codec_frameCount'; /// 动画重复的次数 /// * 0 表示只执行一次 /// * -1 表示循环执行 int get repetitionCount native 'Codec_repetitionCount'; /// 获取下一个动画帧 Future getNextFrame() { return _futurize(_getNextFrame); } String _getNextFrame(_Callback callback) native 'Codec_getNextFrame'; 我们可以看到Codec最终的结果是一个或多个(动图)帧,而这些帧最终会绘制到屏幕上。 MultiFrameImageStreamCompleter 的 codec参数值为_loadAsync方法的返回值,我们继续看_loadAsync方法的实现: Future _loadAsync( NetworkImage key, StreamController chunkEvents, ) async { try { //下载图片 final Uri resolved = Uri.base.resolve(key.url); final HttpClientRequest request = await _httpClient.getUrl(resolved); headers?.forEach((String name, String value) { request.headers.add(name, value); }); final HttpClientResponse response = await request.close(); if (response.statusCode != HttpStatus.ok) throw Exception(...); // 接收图片数据 final Uint8List bytes = await consolidateHttpClientResponseBytes( response, onBytesReceived: (int cumulative, int total) { chunkEvents.add(ImageChunkEvent( cumulativeBytesLoaded: cumulative, expectedTotalBytes: total, )); }, ); if (bytes.lengthInBytes == 0) throw Exception('NetworkImage is an empty file: $resolved'); // 对图片数据进行解码 return PaintingBinding.instance.instantiateImageCodec(bytes); } finally { chunkEvents.close(); } } 可以看到_loadAsync方法主要做了两件事: 下载图片。 对下载的图片数据进行解码。 下载逻辑比较简单:通过HttpClient从网上下载图片,另外下载请求会设置一些自定义的header,开发者可以通过NetworkImage的headers命名参数来传递。 在图片下载完成后调用了PaintingBinding.instance.instantiateImageCodec(bytes)对图片进行解码,值得注意的是instantiateImageCodec(...)也是一个Native API的包装,实际上会调用Flutter engine的instantiateImageCodec方法,源码如下: String _instantiateImageCodec(Uint8List list, _Callback callback, _ImageInfo imageInfo, int targetWidth, int targetHeight) native 'instantiateImageCodec'; obtainKey(ImageConfiguration)方法 该接口主要是为了配合实现图片缓存,ImageProvider从数据源加载完数据后,会在全局的ImageCache中缓存图片数据,而图片数据缓存是一个Map,而Map的key便是调用此方法的返回值,不同的key代表不同的图片数据缓存。 resolve(ImageConfiguration) 方法 resolve方法是ImageProvider的暴露的给Image的主入口方法,它接受一个ImageConfiguration参数,返回ImageStream,即图片数据流。我们重点看一下resolve执行流程: ImageStream resolve(ImageConfiguration configuration) { ... //省略无关代码 final ImageStream stream = ImageStream(); T obtainedKey; // //定义错误处理函数 Future handleError(dynamic exception, StackTrace stack) async { ... //省略无关代码 stream.setCompleter(imageCompleter); imageCompleter.setError(...); } // 创建一个新Zone,主要是为了当发生错误时不会干扰MainZone final Zone dangerZone = Zone.current.fork(...); dangerZone.runGuarded(() { Future key; // 先验证是否已经有缓存 try { // 生成缓存key,后面会根据此key来检测是否有缓存 key = obtainKey(configuration); } catch (error, stackTrace) { handleError(error, stackTrace); return; } key.then((T key) { obtainedKey = key; // 缓存的处理逻辑在这里,记为A,下面详细介绍 final ImageStreamCompleter completer = PaintingBinding.instance .imageCache.putIfAbsent(key, () => load(key), onError: handleError); if (completer != null) { stream.setCompleter(completer); } }).catchError(handleError); }); return stream; } ImageConfiguration 包含图片和设备的相关信息,如图片的大小、所在的AssetBundle(只有打到安装包的图片存在)以及当前的设备平台、devicePixelRatio(设备像素比等)。Flutter SDK提供了一个便捷函数createLocalImageConfiguration来创建ImageConfiguration 对象: ImageConfiguration createLocalImageConfiguration(BuildContext context, { Size size }) { return ImageConfiguration( bundle: DefaultAssetBundle.of(context), devicePixelRatio: MediaQuery.of(context, nullOk: true)?.devicePixelRatio ?? 1.0, locale: Localizations.localeOf(context, nullOk: true), textDirection: Directionality.of(context), size: size, platform: defaultTargetPlatform, ); } 我们可以发现这些信息基本都是通过Context来获取。 上面代码A处就是处理缓存的主要代码,这里的PaintingBinding.instance.imageCache 是 ImageCache的一个实例,它是PaintingBinding的一个属性,而Flutter框架中的PaintingBinding.instance是一个单例,imageCache事实上也是一个单例,也就是说图片缓存是全局的,统一由PaintingBinding.instance.imageCache 来管理。 下面我们看看ImageCache类定义: const int _kDefaultSize = 1000; const int _kDefaultSizeBytes = 100 _pendingImages = {}; // 缓存队列 final Map _cache = {}; // 缓存数量上限(1000) int _maximumSize = _kDefaultSize; // 缓存容量上限 (100 MB) int _maximumSizeBytes = _kDefaultSizeBytes; // 缓存上限设置的setter set maximumSize(int value) {...} set maximumSizeBytes(int value) {...} ... // 省略部分定义 // 清除所有缓存 void clear() { // ...省略具体实现代码 } // 清除指定key对应的图片缓存 bool evict(Object key) { // ...省略具体实现代码 } ImageStreamCompleter putIfAbsent(Object key, ImageStreamCompleter loader(), { ImageErrorListener onError }) { assert(key != null); assert(loader != null); ImageStreamCompleter result = _pendingImages[key]?.completer; // 图片还未加载成功,直接返回 if (result != null) return result; // 有缓存,继续往下走 // 先移除缓存,后再添加,可以让最新使用过的缓存在_map中的位置更近一些,清理时会LRU来清除 final _CachedImage image = _cache.remove(key); if (image != null) { _cache[key] = image; return image.completer; } try { result = loader(); } catch (error, stackTrace) { if (onError != null) { onError(error, stackTrace); return null; } else { rethrow; } } void listener(ImageInfo info, bool syncCall) { final int imageSize = info?.image == null ? 0 : info.image.height * info.image.width * 4; final _CachedImage image = _CachedImage(result, imageSize); // 下面是缓存处理的逻辑 if (maximumSizeBytes > 0 && imageSize > maximumSizeBytes) { _maximumSizeBytes = imageSize + 1000; } _currentSizeBytes += imageSize; final _PendingImage pendingImage = _pendingImages.remove(key); if (pendingImage != null) { pendingImage.removeListener(); } _cache[key] = image; _checkCacheSize(); } if (maximumSize > 0 && maximumSizeBytes > 0) { final ImageStreamListener streamListener = ImageStreamListener(listener); _pendingImages[key] = _PendingImage(result, streamListener); // Listener is removed in [_PendingImage.removeListener]. result.addListener(streamListener); } return result; } // 当缓存数量超过最大值或缓存的大小超过最大缓存容量,会调用此方法清理到缓存上限以内 void _checkCacheSize() { while (_currentSizeBytes > _maximumSizeBytes || _cache.length > _maximumSize) { final Object key = _cache.keys.first; final _CachedImage image = _cache[key]; _currentSizeBytes -= image.sizeBytes; _cache.remove(key); } ... //省略无关代码 } } 有缓存则使用缓存,没有缓存则调用load方法加载图片,加载成功后: 先判断图片数据有缓存,如果有,则直接返回ImageStream。 如果没有缓存,则调用load(T key)方法从数据源加载图片数据,加载成功后先缓存,然后返回ImageStream。 另外,我们可以看到ImageCache类中有设置缓存上限的setter,所以,如果我们可以自定义缓存上限: PaintingBinding.instance.imageCache.maximumSize=2000; //最多2000张 PaintingBinding.instance.imageCache.maximumSizeBytes = 200 现在我们看一下缓存的key,因为Map中相同key的值会被覆盖,也就是说key是图片缓存的一个唯一标识,只要是不同key,那么图片数据就会分别缓存(即使事实上是同一张图片)。那么图片的唯一标识是什么呢?跟踪源码,很容易发现key正是ImageProvider.obtainKey()方法的返回值,而此方法需要ImageProvider子类去重写,这也就意味着不通的ImageProvider对key的定义逻辑会不同。其实也很好理解,比如对于NetworkImage,将图片的url作为key会很合适,而对于AssetImage,则应该将“包名+路径”作为唯一的key。下面我们以NetworkImage为例,看一下它的obtainKey()实现: @override Future obtainKey(image_provider.ImageConfiguration configuration) { return SynchronousFuture(this); } 代码很简单,创建了一个同步的future,然后直接将自身做为key返回。因为Map中在判断key(此时是NetworkImage对象)是否相等时会使用“==”运算符,那么定义key的逻辑就是NetworkImage的“==”运算符: @override bool operator ==(dynamic other) { ... //省略无关代码 final NetworkImage typedOther = other; return url == typedOther.url && scale == typedOther.scale; } 很清晰,对于网络图片来说,会将其“url+缩放比例”作为缓存的key。也就是说如果两张图片的url或scale只要有一个不同,便会重新下载并分别缓存。 另外,我们需要注意的是,图片缓存是在内存中,并没有进行本地文件持久化存储,这也是为什么网络图片在应用重启后需要重新联网下载的原因。 同时也意味着在应用生命周期内,如果缓存没有超过上限,相同u的图片只会被下载一次。 总结 上面主要结合源码,探索了ImageProvider的主要功能和原理,如果要用一句话来总结ImageProvider功能,那么应该是:加载图片数据并进行缓存、解码。在此再次提醒读者,Flutter的源码是非常好的第一手资料,建议读者多多探索,另外,在阅读源码学西的同时一定要有总结,这样才不至于在源码中迷失。 14.5.2 Image组件原理 前面章节中我们介绍过Image的基础用法,现在我们更深入一些,研究一下Image是如何和ImageProvider配合来获取最终解码后的数据,然后又如何将图片绘制到屏幕上的。 本节换一个思路,我们先不去直接看Image的源码,而根据已经掌握的知识来实现一个简版的“Image组件” MyImage,代码大致如下: class MyImage extends StatefulWidget { const MyImage({ Key key, @required this.imageProvider, }) : assert(imageProvider != null), super(key: key); final ImageProvider imageProvider; @override _MyImageState createState() => _MyImageState(); } class _MyImageState extends State { ImageStream _imageStream; ImageInfo _imageInfo; @override void didChangeDependencies() { super.didChangeDependencies(); // 依赖改变时,图片的配置信息可能会发生改变 _getImage(); } @override void didUpdateWidget(MyImage oldWidget) { super.didUpdateWidget(oldWidget); if (widget.imageProvider != oldWidget.imageProvider) _getImage(); } void _getImage() { final ImageStream oldImageStream = _imageStream; // 调用imageProvider.resolve方法,获得ImageStream。 _imageStream = widget.imageProvider.resolve(createLocalImageConfiguration(context)); //判断新旧ImageStream是否相同,如果不同,则需要调整流的监听器 if (_imageStream.key != oldImageStream?.key) { final ImageStreamListener listener = ImageStreamListener(_updateImage); oldImageStream?.removeListener(listener); _imageStream.addListener(listener); } } void _updateImage(ImageInfo imageInfo, bool synchronousCall) { setState(() { // Trigger a build whenever the image changes. _imageInfo = imageInfo; }); } @override void dispose() { _imageStream.removeListener(ImageStreamListener(_updateImage)); super.dispose(); } @override Widget build(BuildContext context) { return RawImage( image: _imageInfo?.image, // this is a dart:ui Image object scale: _imageInfo?.scale ?? 1.0, ); } } 上面代码流程如下: 通过imageProvider.resolve方法可以得到一个ImageStream(图片数据流),然后监听ImageStream的变化。当图片数据源发生变化时,ImageStream会触发相应的事件,而本例中我们只设置了图片成功的监听器_updateImage,而_updateImage中只更新了_imageInfo。值得注意的是,如果是静态图,ImageStream只会触发一次时间,如果是动态图,则会触发多次事件,每一次都会有一个解码后的图片帧。 _imageInfo 更新后会rebuild,此时会创建一个RawImage Widget。RawImage最终会通过RenderImage来将图片绘制在屏幕上。如果继续跟进RenderImage类,我们会发现RenderImage的paint 方法中调用了paintImage方法,而paintImage方法中通过Canvas的drawImageRect(…)、drawImageNine(...)等方法来完成最终的绘制。 最终的绘制由RawImage来完成。 下面测试一下MyImage: class ImageInternalTestRoute extends StatelessWidget { @override Widget build(BuildContext context) { return Column( children: [ MyImage( imageProvider: NetworkImage( \"https://avatars2.githubusercontent.com/u/20411648?s=460&v=4\", ), ) ], ); } } 运行效果如图14-4所示: 成功了! 现在,想必Image Widget的源码已经没必要在花费篇章去介绍了,读者有兴趣可以自行去阅读。 总结 本节主要介绍了Flutter 图片的加载、缓存和绘制流程。其中ImageProvider主要负责图片数据的加载和缓存,而绘制部分逻辑主要是由RawImage来完成。 而Image正是连接起ImageProvider和RawImage 的桥梁。 "},"chapter15/intro.html":{"url":"chapter15/intro.html","title":"第十五章:一个完整的Flutter应用","keywords":"","body":"15.1 Github客户端示例 本章新建一个Flutter工程,实现一个简单的Github客户端。这个实例的主要目标有两个: 带领读者了解如何使用Flutter来开发一个完整APP,了解Flutter应用开发流程及工程结构等。 对前面章节所学内容的一个应用及总结。 需要注意的是,由于Github本身功能非常多,我们的焦点并不是去实现Github的所有业务功能。因此,我们只需要实现一个APP的骨架,能达到上面这两点即可。下面对我们要实现的功能如下: 实现Github账号登录、退出登录功能 登录后可以查看自己的项目主页 支持换肤 支持多语言 登录状态可以持久化; 要实现上面这些功能会涉及到如下技术点: 网络请求;需要请求Github API。 Json转Dart Model类; 全局状态管理;语言、主题、登录态等都需要全局共享。 持久化存储;保存登录信息,用户信息等。 支持国际化、Intl包的使用 现在,目前已经确定,在接下来章节中,我们将分模块一步一步实现上述功能。 "},"chapter15/code_structure.html":{"url":"chapter15/code_structure.html","title":"15.2:APP代码结构","keywords":"","body":"15.2 Flutter APP代码结构 我们先来创建一个全新的Flutter工程,命名为\"github_client_app\";创建新工程的步骤视读者使用的编辑器而定,都比较简单,在此不再赘述。创建完成后,工程结构如下: github_client_app ├── android ├── ios ├── lib └── test 由于我们需要使用外部图片和Icon资源,所以我们在项目根目录下分别创建”imgs“和”fonts“文件件,前者用于保存图片,后者用于保存Icon文件。关于图片和Icon,读者可以参考第三章中相应的内容。 由于在网络数据传输和持久化时,我们需要通过Json来传输、保存数据;但是在应用开发时我们又需要将Json转成Dart Model类,现在我们使用在第十一章中”Json转Model“小节中介绍的方案,所以,我们需要在根目录下再创建一个用于保存Json文件的”jsons“文件夹。 多语言支持我们使用第十三章”国际化“中介绍的方案,所以还需要在根目录下创建一个\"i10n\"文件夹,用于保存各国语言对应的arb文件。 现在工程目录变为: github_client_app ├── android ├── fonts ├── i10n-arb ├── imgs ├── ios ├── jsons ├── lib └── test 由于我们的Dart代码都在“lib”文件夹下,笔者根据技术选型和经验在lib文件下创建了如下目录: lib ├── common ├── i10n ├── models ├── states ├── routes └── widgets 文件夹 作用 common 一些工具类,如通用方法类、网络接口类、保存全局变量的静态类等 i10n 国际化相关的类都在此目录下 models Json文件对应的Dart Model类会在此目录下 states 保存APP中需要跨组件共享的状态类 routes 存放所有路由页面类 widgets APP内封装的一些Widget组件都在该目录下 注意,使用不同的框架或技术选型会对代码有不同的组织方式,因此,本节介绍的代码组织结构并不是固定或者“最佳”的,在实战中,读者可以自己根据情况调整源码结构。但是无论采取何种源码组织结构,但清晰和解耦是一个通用原则,我们应该让自己的代码结构清晰,以便交流和维护。 "},"chapter15/models.html":{"url":"chapter15/models.html","title":"15.3:Model类定义","keywords":"","body":"15.3 Model类定义 本节我们先梳理一下APP中将用到的数据,然后生成相应的Dart Model类。Json文件转Dart Model的方案采用前面介绍过的 json_model 包方案 Github账号信息 登录Github后,我们需要获取当前登录者的Github账号信息,Github API接口返回Json结构如下: { \"login\": \"octocat\", //用户登录名 \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\", //用户头像地址 \"type\": \"User\", //用户类型,可能是组织 \"name\": \"monalisa octocat\", //用户名字 \"company\": \"GitHub\", //公司 \"blog\": \"https://github.com/blog\", //博客地址 \"location\": \"San Francisco\", // 用户所处地理位置 \"email\": \"octocat@github.com\", // 邮箱 \"hireable\": false, \"bio\": \"There once was...\", // 用户简介 \"public_repos\": 2, // 公开项目数 \"followers\": 20, //关注该用户的人数 \"following\": 0, // 该用户关注的人数 \"created_at\": \"2008-01-14T04:33:35Z\", // 账号创建时间 \"updated_at\": \"2008-01-14T04:33:35Z\", // 账号信息更新时间 \"total_private_repos\": 100, //该用户总的私有项目数(包括参与的其它组织的私有项目) \"owned_private_repos\": 100 //该用户自己的私有项目数 ... //省略其它字段 } 我们在“jsons”目录下创建一个“user.json”文件保存上述信息。 API缓存策略信息 由于Github服务器在国内访问速度较慢,我们对Github API应用一些简单的缓存策略。我们在“jsons”目录下创建一个“cacheConfig.json”文件缓存策略信息,定义如下: { \"enable\":true, // 是否启用缓存 \"maxAge\":1000, // 缓存的最长时间,单位(秒) \"maxCount\":100 // 最大缓存数 } 用户信息 用户信息(Profile)应包括如下信息: Github账号信息;由于我们的APP可以切换账号登录,且登录后再次打开则不需要登录,所以我们需要对用户账号信息和登录状态进行持久化。 应用使用配置信息;没一个用户都应有自己的APP配置信息,如主题、语言、以及数据缓存策略等。 用户注销登录后,为了便于用户在退出APP前再次登录,我们需要记住上次登录的用户名。 需要注意的是,目前Github有三种登录方式,分别是账号密码登录、oauth授权登录、二次认证登录;这三种登录方式的安全性依次加强,但是在本示例中,为了简单起见,我们使用账号密码登录,因此我们需要保存用户的密码。 注意:在这里需要提醒读者,在登录场景中,保护用户账号安全是一个非常重要且永恒的话题,在实际开发中应严格杜绝直接明文存储用户账密的行为。 我们在“jsons”目录下创建一个“profile.json”文件,结构如下: { \"user\":\"$user\", //Github账号信息,结构见\"user.json\" \"token\":\"\", // 登录用户的token(oauth)或密码 \"theme\":5678, //主题色值 \"cache\":\"$cacheConfig\", // 缓存策略信息,结构见\"cacheConfig.json\" \"lastLogin\":\"\", //最近一次的注销登录的用户名 \"locale\":\"\" // APP语言信息 } 项目信息 由于APP主页要显示其所有项目信息,我们在“jsons”目录下创建一个“repo.json”文件保存项目信息。通过参考Github 获取项目信息的API文档,定义出最终的“repo.json”文件结构,如下: { \"id\": 1296269, \"name\": \"Hello-World\", //项目名称 \"full_name\": \"octocat/Hello-World\", //项目完成名称 \"owner\": \"$user\", // 项目拥有者,结构见\"user.json\" \"parent\":\"$repo\", // 如果是fork的项目,则此字段表示fork的父项目信息 \"private\": false, // 是否私有项目 \"description\": \"This your first repo!\", //项目描述 \"fork\": false, // 该项目是否为fork的项目 \"language\": \"JavaScript\",//该项目的主要编程语言 \"forks_count\": 9, // fork了该项目的数量 \"stargazers_count\": 80, //该项目的star数量 \"size\": 108, // 项目占用的存储大小 \"default_branch\": \"master\", //项目的默认分支 \"open_issues_count\": 2, //该项目当前打开的issue数量 \"pushed_at\": \"2011-01-26T19:06:43Z\", \"created_at\": \"2011-01-26T19:01:12Z\", \"updated_at\": \"2011-01-26T19:14:43Z\", \"subscribers_count\": 42, //订阅(关注)该项目的人数 \"license\": { // 该项目的开源许可证 \"key\": \"mit\", \"name\": \"MIT License\", \"spdx_id\": \"MIT\", \"url\": \"https://api.github.com/licenses/mit\", \"node_id\": \"MDc6TGljZW5zZW1pdA==\" } ...//省略其它字段 } 生成Dart Model类 现在,我们需要的Json数据已经定义完毕,现在只需要运行json_model package提供的命令来通过json文件生成相应的Dart类: flutter packages pub run json_model 命令执行成功后,可以看到lib/models文件夹下会生成相应的Dart Model类: ├── models │ ├── cacheConfig.dart │ ├── cacheConfig.g.dart │ ├── index.dart │ ├── profile.dart │ ├── profile.g.dart │ ├── repo.dart │ ├── repo.g.dart │ ├── user.dart │ └── user.g.dart 数据持久化 我们使用shared_preferences包来对登录用户的Profile信息进行持久化。shared_preferences是一个Flutter插件,它通过Android和iOS平台提供的机制来实现数据持久化。由于shared_preferences的使用非常简单,读者可以自行查看其文档,在此不再赘述。 "},"chapter15/globals.html":{"url":"chapter15/globals.html","title":"15.4:全局变量及共享状态","keywords":"","body":"15.4 全局变量及共享状态 应用程序中通常会包含一些贯穿APP生命周期的变量信息,这些信息在APP大多数地方可能都会被用到,比如当前用户信息、Local信息等。在Flutter中我们把需要全局共享的信息氛围两类:全局变量和共享状态。全局变量就是单纯指会贯穿整个APP生命周期的变量,用于单纯的保存一些信息,或者封装一些全局工具和方法的对象。而共享状态则是指哪些需要跨组件或跨路由共享的信息,这些信息通常也是全局变量,而共享状态和全局变量的不同在于前者者发生改变时需要通知所有使用该状态的组件,而后者不需要。为此,我们将全局变量和共享状态分开单独管理。 15.4.1 全局变量-Global类 我们在“lib/common”目录下创建一个Global类,它主要管理APP的全局变量,定义如下: // 提供四套可选主题色 const _themes = [ Colors.blue, Colors.cyan, Colors.teal, Colors.green, Colors.red, ]; class Global { static SharedPreferences _prefs; static Profile profile = Profile(); // 网络缓存对象 static NetCache netCache = NetCache(); // 可选的主题列表 static List get themes => _themes; // 是否为release版 static bool get isRelease => bool.fromEnvironment(\"dart.vm.product\"); //初始化全局信息,会在APP启动时执行 static Future init() async { _prefs = await SharedPreferences.getInstance(); var _profile = _prefs.getString(\"profile\"); if (_profile != null) { try { profile = Profile.fromJson(jsonDecode(_profile)); } catch (e) { print(e); } } // 如果没有缓存策略,设置默认缓存策略 profile.cache = profile.cache ?? CacheConfig() ..enable = true ..maxAge = 3600 ..maxCount = 100; //初始化网络请求相关配置 Git.init(); } // 持久化Profile信息 static saveProfile() => _prefs.setString(\"profile\", jsonEncode(profile.toJson())); } Global类的各个字段的意义都有注释,在此不再赘述,需要注意的是init()需要在App启动时就要执行,所以应用的main方法如下: void main() => Global.init().then((e) => runApp(MyApp())); 在此,一定要确保Global.init()方法不能抛出异常,否则 runApp(MyApp())根本执行不到。 15.4.2 共享状态 有了全局变量,我们还需要考虑如何跨组件共享状态。当然,如果我们将要共享的状态全部用全局变量替代也是可以的,但是这在Flutter开发中并不是一个好主意,因为组件的状态是和UI相关,而在状态改变时我们会期望依赖该状态的UI组件会自动更新,如果使用全局变量,那么我们必须得去手动处理状态变动通知、接收机制以及变量和组件依赖关系。因此,本实例中,我们使用前面介绍过的Provider包来实现跨组件状态共享,因此我们需要定义相关的Provider。在本实例中,需要共享的状态有登录用户信息、APP主题信息、APP语言信息。由于这些信息改变后都要立即通知其它依赖的该信息的Widget更新,所以我们应该使用ChangeNotifierProvider,另外,这些信息改变后都是需要更新Profile信息并进行持久化的。综上所述,我们可以定义一个ProfileChangeNotifier基类,然后让需要共享的Model继承自该类即可,ProfileChangeNotifier定义如下: class ProfileChangeNotifier extends ChangeNotifier { Profile get _profile => Global.profile; @override void notifyListeners() { Global.saveProfile(); //保存Profile变更 super.notifyListeners(); //通知依赖的Widget更新 } } 用户状态 用户状态在登录状态发生变化时更新、通知其依赖项,我们定义如下: class UserModel extends ProfileChangeNotifier { User get user => _profile.user; // APP是否登录(如果有用户信息,则证明登录过) bool get isLogin => user != null; //用户信息发生变化,更新用户信息并通知依赖它的子孙Widgets更新 set user(User user) { if (user?.login != _profile.user?.login) { _profile.lastLogin = _profile.user?.login; _profile.user = user; notifyListeners(); } } } APP主题状态 主题状态在用户更换APP主题时更新、通知其依赖项,定义如下: class ThemeModel extends ProfileChangeNotifier { // 获取当前主题,如果为设置主题,则默认使用蓝色主题 ColorSwatch get theme => Global.themes .firstWhere((e) => e.value == _profile.theme, orElse: () => Colors.blue); // 主题改变后,通知其依赖项,新主题会立即生效 set theme(ColorSwatch color) { if (color != theme) { _profile.theme = color[500].value; notifyListeners(); } } } APP语言状态 当APP语言选为跟随系统(Auto)时,在系通语言改变时,APP语言会更新;当用户在APP中选定了具体语言时(美国英语或中文简体),则APP便会一直使用用户选定的语言,不会再随系统语言而变。语言状态类定义如下: class LocaleModel extends ProfileChangeNotifier { // 获取当前用户的APP语言配置Locale类,如果为null,则语言跟随系统语言 Locale getLocale() { if (_profile.locale == null) return null; var t = _profile.locale.split(\"_\"); return Locale(t[0], t[1]); } // 获取当前Locale的字符串表示 String get locale => _profile.locale; // 用户改变APP语言后,通知依赖项更新,新语言会立即生效 set locale(String locale) { if (locale != _profile.locale) { _profile.locale = locale; notifyListeners(); } } } "},"chapter15/network.html":{"url":"chapter15/network.html","title":"15.5:网络请求封装","keywords":"","body":"15.5 网络请求封装 本节我们会基于前面介绍过的dio网络库封装APP中用到的网络请求接口,并同时应用一个简单的缓存策略。下面我们先介绍一下网络接口缓存原来,然后再封装APP的业务请求接口。 15.5.1 网络接口缓存 由于在国内访问Github服务器速度较慢,所以我们应用一些简单的缓存策略:将请求的url作为key,对请求的返回值在一个指定时间段类进行缓存,另外设置一个最大缓存数,当超过最大缓存数后移除最早的一条缓存。但是也得提供一种针对特定接口或请求决定是否启用缓存的机制,这种机制可以指定哪些接口或那次请求不应用缓存,这种机制是很有必要的,比如登录接口就不应该缓存,又比如用户在下拉刷新时就不应该再应用缓存。在实现缓存之前我们先定义保存缓存信息的CacheObject类: class CacheObject { CacheObject(this.response) : timeStamp = DateTime.now().millisecondsSinceEpoch; Response response; int timeStamp; // 缓存创建时间 @override bool operator ==(other) { return response.hashCode == other.hashCode; } //将请求uri作为缓存的key @override int get hashCode => response.realUri.hashCode; } 接下来我们需要实现具体的缓存策略,由于我们使用的是dio package,所以我们可以直接通过拦截器来实现缓存策略: import 'dart:collection'; import 'package:dio/dio.dart'; import '../index.dart'; class CacheObject { CacheObject(this.response) : timeStamp = DateTime.now().millisecondsSinceEpoch; Response response; int timeStamp; @override bool operator ==(other) { return response.hashCode == other.hashCode; } @override int get hashCode => response.realUri.hashCode; } class NetCache extends Interceptor { // 为确保迭代器顺序和对象插入时间一致顺序一致,我们使用LinkedHashMap var cache = LinkedHashMap(); @override onRequest(RequestOptions options) { if (!Global.profile.cache.enable) return options; // refresh标记是否是\"下拉刷新\" bool refresh = options.extra[\"refresh\"] == true; //如果是下拉刷新,先删除相关缓存 if (refresh) { if (options.extra[\"list\"] == true) { //若是列表,则只要url中包含当前path的缓存全部删除(简单实现,并不精准) cache.removeWhere((key, v) => key.contains(options.path)); } else { // 如果不是列表,则只删除uri相同的缓存 delete(options.uri.toString()); } return options; } if (options.extra[\"noCache\"] != true && options.method.toLowerCase() == 'get') { String key = options.extra[\"cacheKey\"] ?? options.uri.toString(); var ob = cache[key]; if (ob != null) { //若缓存未过期,则返回缓存内容 if ((DateTime.now().millisecondsSinceEpoch - ob.timeStamp) / 1000 关于代码的解释都在注释中了,在此需要说明的是dio包的option.extra是专门用于扩展请求参数的,我们通过定义了“refresh”和“noCache”两个参数实现了”针对特定接口或请求决定是否启用缓存的机制“,这两个参数含义如下: 参数名 类型 解释 refresh bool 如果为true,则本次请求不使用缓存,但新的请求结果依然会被缓存 noCache bool 本次请求禁用缓存,请求结果也不会被缓存。 15.5.2 封装网络请求 一个完整的APP,可能会涉及很多网络请求,为了便于管理、收敛请求入口,工程上最好的作法就是将所有网络请求放到同一个源码文件中。由于我们的接口都是请求的Github 开发平台提供的API,所以我们定义一个Git类,专门用于Github API接口调用。另外,在调试过程中,我们通常需要一些工具来查看网络请求、响应报文,使用网络代理工具来调试网络数据问题是主流方式。配置代理需要在应用中指定代理服务器的地址和端口,另外Github API是HTTPS协议,所以在配置完代理后还应该禁用证书校验,这些配置我们在Git类初始化时执行(init()方法)。下面是Git类的源码: import 'dart:async'; import 'dart:convert'; import 'dart:io'; import 'package:dio/dio.dart'; import 'package:flutter/material.dart'; import '../index.dart'; class Git { // 在网络请求过程中可能会需要使用当前的context信息,比如在请求失败时 // 打开一个新路由,而打开新路由需要context信息。 Git([this.context]) { _options = Options(extra: {\"context\": context}); } BuildContext context; Options _options; static Dio dio = new Dio(BaseOptions( baseUrl: 'https://api.github.com/', headers: { HttpHeaders.acceptHeader: \"application/vnd.github.squirrel-girl-preview,\" \"application/vnd.github.symmetra-preview+json\", }, )); static void init() { // 添加缓存插件 dio.interceptors.add(Global.netCache); // 设置用户token(可能为null,代表未登录) dio.options.headers[HttpHeaders.authorizationHeader] = Global.profile.token; // 在调试模式下需要抓包调试,所以我们使用代理,并禁用HTTPS证书校验 if (!Global.isRelease) { (dio.httpClientAdapter as DefaultHttpClientAdapter).onHttpClientCreate = (client) { client.findProxy = (uri) { return \"PROXY 10.1.10.250:8888\"; }; //代理工具会提供一个抓包的自签名证书,会通不过证书校验,所以我们禁用证书校验 client.badCertificateCallback = (X509Certificate cert, String host, int port) => true; }; } } // 登录接口,登录成功后返回用户信息 Future login(String login, String pwd) async { String basic = 'Basic ' + base64.encode(utf8.encode('$login:$pwd')); var r = await dio.get( \"/users/$login\", options: _options.merge(headers: { HttpHeaders.authorizationHeader: basic }, extra: { \"noCache\": true, //本接口禁用缓存 }), ); //登录成功后更新公共头(authorization),此后的所有请求都会带上用户身份信息 dio.options.headers[HttpHeaders.authorizationHeader] = basic; //清空所有缓存 Global.netCache.cache.clear(); //更新profile中的token信息 Global.profile.token = basic; return User.fromJson(r.data); } //获取用户项目列表 Future> getRepos( {Map queryParameters, //query参数,用于接收分页信息 refresh = false}) async { if (refresh) { // 列表下拉刷新,需要删除缓存(拦截器中会读取这些信息) _options.extra.addAll({\"refresh\": true, \"list\": true}); } var r = await dio.get( \"user/repos\", queryParameters: queryParameters, options: _options, ); return r.data.map((e) => Repo.fromJson(e)).toList(); } } 可以看到我们在init()方法中,我们判断了是否是调试环境,然后做了一些针对调试环境的网络配置(设置代理和禁用证书校验)。而Git.init()方法是应用启动时被调用的(Global.init()方法中会调用Git.init())。 另外需要注意,我们所有的网络请求是通过同一个dio实例(静态变量)发出的,在创建该dio实例时我们将Github API的基地址和API支持的Header进行了全局配置,这样所有通过该dio实例发出的请求都会默认使用者些配置。 在本实例中,我们只用到了登录接口和获取用户项目的接口,所以在Git类中只定义了login(…)和getRepos(…)方法,如果读者要在本实例的基础上扩充功能,读者可以将其它的接口请求方法添加到Git类中,这样便实现了网络请求接口在代码层面的集中管理和维护。 "},"chapter15/entry.html":{"url":"chapter15/entry.html","title":"15.6:App入口及首页","keywords":"","body":"15.6 APP入口及主页 本节来介绍一下APP入口及首页。 15.6.1 APP入口 main函数为APP入口函数,实现如下: void main() => Global.init().then((e) => runApp(MyApp())); 初始化完成后才会加载UI(MyApp),MyApp 是应用的入口Widget,实现如下: class MyApp extends StatelessWidget { // This widget is the root of your application. @override Widget build(BuildContext context) { return MultiProvider( providers: [ ChangeNotifierProvider.value(value: ThemeModel()), ChangeNotifierProvider.value(value: UserModel()), ChangeNotifierProvider.value(value: LocaleModel()), ], child: Consumer2( builder: (BuildContext context, themeModel, localeModel, Widget child) { return MaterialApp( theme: ThemeData( primarySwatch: themeModel.theme, ), onGenerateTitle: (context){ return GmLocalizations.of(context).title; }, home: HomeRoute(), //应用主页 locale: localeModel.getLocale(), //我们只支持美国英语和中文简体 supportedLocales: [ const Locale('en', 'US'), // 美国英语 const Locale('zh', 'CN'), // 中文简体 //其它Locales ], localizationsDelegates: [ // 本地化的代理类 GlobalMaterialLocalizations.delegate, GlobalWidgetsLocalizations.delegate, GmLocalizationsDelegate() ], localeResolutionCallback: (Locale _locale, Iterable supportedLocales) { if (localeModel.getLocale() != null) { //如果已经选定语言,则不跟随系统 return localeModel.getLocale(); } else { Locale locale; //APP语言跟随系统语言,如果系统语言不是中文简体或美国英语, //则默认使用美国英语 if (supportedLocales.contains(_locale)) { locale= _locale; } else { locale= Locale('en', 'US'); } return locale; } }, // 注册命名路由表 routes: { \"login\": (context) => LoginRoute(), \"themes\": (context) => ThemeChangeRoute(), \"language\": (context) => LanguageRoute(), }, ); }, ), ); } } 在上面的代码中: 我们的根widget是MultiProvider,它将主题、用户、语言三种状态绑定到了应用的根上,如此一来,任何路由中都可以通过Provider.of()来获取这些状态,也就是说这三种状态是全局共享的! HomeRoute是应用的主页。 在构建MaterialApp时,我们配置了APP支持的语言列表,以及监听了系统语言改变事件;另外MaterialApp消费(依赖)了ThemeModel和LocaleModel,所以当APP主题或语言改变时MaterialApp会重新构建 我们注册了命名路由表,以便在APP中可以直接通过路由名跳转。 为了支持多语言(本APP中我们支持美国英语和中文简体两种语言)我们实现了一个GmLocalizationsDelegate,子Widget中都可以通过GmLocalizations来动态获取APP当前语言对应的文案。关于GmLocalizationsDelegate和GmLocalizations的实现方式读者可以参考”国际化“一章中的介绍,此处不再赘述。 15.6.2 主页 为了简单起见,当APP启动后,如果之前已登录了APP,则显示该用户项目列表;如果之前未登录,则显示一个登录按钮,点击后跳转到登录页。另外,我们实现一个抽屉菜单,里面包含当前用户头像及APP的菜单。下面我们先看看要实现的效果,如图15-1、15-2所示: 我们在”lib/routes“下创建一个”home_page.dart“文件,实现如下: class HomeRoute extends StatefulWidget { @override _HomeRouteState createState() => _HomeRouteState(); } class _HomeRouteState extends State { @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text(GmLocalizations.of(context).home), ), body: _buildBody(), // 构建主页面 drawer: MyDrawer(), //抽屉菜单 ); } ...// 省略 } 上面代码中,主页的标题(title)我们是通过GmLocalizations.of(context).home来获得,GmLocalizations是我们提供的一个Localizations类,用于支持多语言,因此当APP语言改变时,凡是使用GmLocalizations动态获取的文案都会是相应语言的文案,这在前面”国际化“一章中已经介绍过,读者可以前翻查阅。 我们通过 _buildBody()方法来构建主页内容,_buildBody()方法实现代码如下: Widget _buildBody() { UserModel userModel = Provider.of(context); if (!userModel.isLogin) { //用户未登录,显示登录按钮 return Center( child: RaisedButton( child: Text(GmLocalizations.of(context).login), onPressed: () => Navigator.of(context).pushNamed(\"login\"), ), ); } else { //已登录,则展示项目列表 return InfiniteListView( onRetrieveData: (int page, List items, bool refresh) async { var data = await Git(context).getRepos( refresh: refresh, queryParameters: { 'page': page, 'page_size': 20, }, ); //把请求到的新数据添加到items中 items.addAll(data); // 如果接口返回的数量等于'page_size',则认为还有数据,反之则认为最后一页 return data.length==20; }, itemBuilder: (List list, int index, BuildContext ctx) { // 项目信息列表项 return RepoItem(list[index]); }, ); } } } 上面代码注释很清楚:如果用户未登录,显示登录按钮;如果用户已登录,则展示项目列表。这里项目列表使用了InfiniteListView Widget,它是flukit package中提供的。InfiniteListView同时支持了下拉刷新和上拉加载更多两种功能。onRetrieveData 为数据获取回调,该回调函数接收三个参数: 参数名 类型 解释 page int 当前页号 items List 保存当前列表数据的List refresh bool 是否是下拉刷新触发 返回值类型为bool,为true时表示还有数据,为false时则表示后续没有数据了。onRetrieveData 回调中我们调用Git(context).getRepos(...)来获取用户项目列表,同时指定每次请求获取20条。当获取成功时,首先要将新获取的项目数据添加到items中,然后根据本次请求的项目条数是否等于期望的20条来判断还有没有更多的数据。在此需要注意,Git(context).getRepos(…)方法中需要refresh参数来判断是否使用缓存。 itemBuilder为列表项的builder,我们需要在该回调中构建每一个列表项Widget。由于列表项构建逻辑较负责,我们单独封装一个RepoItem Widget 专门用于构建列表项UI。RepoItem 实现如下: import '../index.dart'; class RepoItem extends StatefulWidget { // 将`repo.id`作为RepoItem的默认key RepoItem(this.repo) : super(key: ValueKey(repo.id)); final Repo repo; @override _RepoItemState createState() => _RepoItemState(); } class _RepoItemState extends State { @override Widget build(BuildContext context) { var subtitle; return Padding( padding: const EdgeInsets.only(top: 8.0), child: Material( color: Colors.white, shape: BorderDirectional( bottom: BorderSide( color: Theme.of(context).dividerColor, width: .5, ), ), child: Padding( padding: const EdgeInsets.only(top: 0.0, bottom: 16), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ ListTile( dense: true, leading: gmAvatar( //项目owner头像 widget.repo.owner.avatar_url, width: 24.0, borderRadius: BorderRadius.circular(12), ), title: Text( widget.repo.owner.login, textScaleFactor: .9, ), subtitle: subtitle, trailing: Text(widget.repo.language ?? \"\"), ), // 构建项目标题和简介 Padding( padding: const EdgeInsets.symmetric(horizontal: 16.0), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Text( widget.repo.fork ? widget.repo.full_name : widget.repo.name, style: TextStyle( fontSize: 15, fontWeight: FontWeight.bold, fontStyle: widget.repo.fork ? FontStyle.italic : FontStyle.normal, ), ), Padding( padding: const EdgeInsets.only(top: 8, bottom: 12), child: widget.repo.description == null ? Text( GmLocalizations.of(context).noDescription, style: TextStyle( fontStyle: FontStyle.italic, color: Colors.grey[700]), ) : Text( widget.repo.description, maxLines: 3, style: TextStyle( height: 1.15, color: Colors.blueGrey[700], fontSize: 13, ), ), ), ], ), ), // 构建卡片底部信息 _buildBottom() ], ), ), ), ); } // 构建卡片底部信息 Widget _buildBottom() { const paddingWidth = 10; return IconTheme( data: IconThemeData( color: Colors.grey, size: 15, ), child: DefaultTextStyle( style: TextStyle(color: Colors.grey, fontSize: 12), child: Padding( padding: const EdgeInsets.symmetric(horizontal: 16), child: Builder(builder: (context) { var children = [ Icon(Icons.star), Text(\" \" + widget.repo.stargazers_count .toString() .padRight(paddingWidth)), Icon(Icons.info_outline), Text(\" \" + widget.repo.open_issues_count .toString() .padRight(paddingWidth)), Icon(MyIcons.fork), //我们的自定义图标 Text(widget.repo.forks_count.toString().padRight(paddingWidth)), ]; if (widget.repo.fork) { children.add(Text(\"Forked\".padRight(paddingWidth))); } if (widget.repo.private == true) { children.addAll([ Icon(Icons.lock), Text(\" private\".padRight(paddingWidth)) ]); } return Row(children: children); }), ), ), ); } } 上面代码有两点需要注意: 在构建项目拥有者头像时调用了gmAvatar(…)方法,该方法是是一个全局工具函数,专门用于获取头像图片,实现如下: Widget gmAvatar(String url, { double width = 30, double height, BoxFit fit, BorderRadius borderRadius, }) { var placeholder = Image.asset( \"imgs/avatar-default.png\", //头像占位图,加载过程中显示 width: width, height: height ); return ClipRRect( borderRadius: borderRadius ?? BorderRadius.circular(2), child: CachedNetworkImage( imageUrl: url, width: width, height: height, fit: fit, placeholder: (context, url) =>placeholder, errorWidget: (context, url, error) =>placeholder, ), ); } 代码中调用了CachedNetworkImage 是cached_network_image包中提供的一个Widget,它不仅可以在图片加载过程中指定一个占位图,而且还可以对网络请求的图片进行缓存,更多详情读者可以自行查阅其文档。 由于Flutter 的Material 图标库中没有fork图标,所以我们在iconfont.cn上找了一个fork图标,然后根据”图片和Icon“一节中介绍的使用自定义字体图标的方法集成到了我们的项目中。 15.6.3 抽屉菜单 抽屉菜单分为两部分:顶部头像和底部功能菜单项。当用户未登录,则抽屉菜单顶部会显示一个默认的灰色占位图,若用户已登录,则会显示用户的头像。抽屉菜单底部有”换肤“和”语言“两个固定菜单,若用户已登录,则会多一个”注销“菜单。用户点击”换肤“和”语言“两个菜单项,会进入相应的设置页面。我们的抽屉菜单效果如图15-3、15-4所示: 实现代码如下: class MyDrawer extends StatelessWidget { const MyDrawer({ Key key, }) : super(key: key); @override Widget build(BuildContext context) { return Drawer( //移除顶部padding child: MediaQuery.removePadding( context: context, removeTop: true, child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ _buildHeader(), //构建抽屉菜单头部 Expanded(child: _buildMenus()), //构建功能菜单 ], ), ), ); } Widget _buildHeader() { return Consumer( builder: (BuildContext context, UserModel value, Widget child) { return GestureDetector( child: Container( color: Theme.of(context).primaryColor, padding: EdgeInsets.only(top: 40, bottom: 20), child: Row( children: [ Padding( padding: const EdgeInsets.symmetric(horizontal: 16.0), child: ClipOval( // 如果已登录,则显示用户头像;若未登录,则显示默认头像 child: value.isLogin ? gmAvatar(value.user.avatar_url, width: 80) : Image.asset( \"imgs/avatar-default.png\", width: 80, ), ), ), Text( value.isLogin ? value.user.login : GmLocalizations.of(context).login, style: TextStyle( fontWeight: FontWeight.bold, color: Colors.white, ), ) ], ), ), onTap: () { if (!value.isLogin) Navigator.of(context).pushNamed(\"login\"); }, ); }, ); } // 构建菜单项 Widget _buildMenus() { return Consumer( builder: (BuildContext context, UserModel userModel, Widget child) { var gm = GmLocalizations.of(context); return ListView( children: [ ListTile( leading: const Icon(Icons.color_lens), title: Text(gm.theme), onTap: () => Navigator.pushNamed(context, \"themes\"), ), ListTile( leading: const Icon(Icons.language), title: Text(gm.language), onTap: () => Navigator.pushNamed(context, \"language\"), ), if(userModel.isLogin) ListTile( leading: const Icon(Icons.power_settings_new), title: Text(gm.logout), onTap: () { showDialog( context: context, builder: (ctx) { //退出账号前先弹二次确认窗 return AlertDialog( content: Text(gm.logoutTip), actions: [ FlatButton( child: Text(gm.cancel), onPressed: () => Navigator.pop(context), ), FlatButton( child: Text(gm.yes), onPressed: () { //该赋值语句会触发MaterialApp rebuild userModel.user = null; Navigator.pop(context); }, ), ], ); }, ); }, ), ], ); }, ); } } 用户点击”注销“,userModel.user 会被置空,此时所有依赖userModel的组件都会被rebuild,如主页会恢复成未登录的状态。 本小节我们介绍了APP入口MaterialApp的一些配置,然后实现了APP的首页。后面我们将展示登录页、换肤页、语言切换页。 "},"chapter15/login_page.html":{"url":"chapter15/login_page.html","title":"15.7:登录页","keywords":"","body":"15.7 登录页 我们说过Github有多种登录方式,为了简单起见,我们只实现通过用户名和密码登录。在实现登录页时有四点需要注意: 可以自动填充上次登录的用户名(如果有)。 为了防止密码输入错误,密码框应该有开关可以看明文。 用户名或密码字段在调用登录接口前有本地合法性校验(比如不能为空)。 登录成功后需更新用户信息。 实现代码如下: import '../index.dart'; class LoginRoute extends StatefulWidget { @override _LoginRouteState createState() => _LoginRouteState(); } class _LoginRouteState extends State { TextEditingController _unameController = new TextEditingController(); TextEditingController _pwdController = new TextEditingController(); bool pwdShow = false; //密码是否显示明文 GlobalKey _formKey = new GlobalKey(); bool _nameAutoFocus = true; @override void initState() { // 自动填充上次登录的用户名,填充后将焦点定位到密码输入框 _unameController.text = Global.profile.lastLogin; if (_unameController.text != null) { _nameAutoFocus = false; } super.initState(); } @override Widget build(BuildContext context) { var gm = GmLocalizations.of(context); return Scaffold( appBar: AppBar(title: Text(gm.login)), body: Padding( padding: const EdgeInsets.all(16.0), child: Form( key: _formKey, autovalidate: true, child: Column( children: [ TextFormField( autofocus: _nameAutoFocus, controller: _unameController, decoration: InputDecoration( labelText: gm.userName, hintText: gm.userNameOrEmail, prefixIcon: Icon(Icons.person), ), // 校验用户名(不能为空) validator: (v) { return v.trim().isNotEmpty ? null : gm.userNameRequired; }), TextFormField( controller: _pwdController, autofocus: !_nameAutoFocus, decoration: InputDecoration( labelText: gm.password, hintText: gm.password, prefixIcon: Icon(Icons.lock), suffixIcon: IconButton( icon: Icon( pwdShow ? Icons.visibility_off : Icons.visibility), onPressed: () { setState(() { pwdShow = !pwdShow; }); }, )), obscureText: !pwdShow, //校验密码(不能为空) validator: (v) { return v.trim().isNotEmpty ? null : gm.passwordRequired; }, ), Padding( padding: const EdgeInsets.only(top: 25), child: ConstrainedBox( constraints: BoxConstraints.expand(height: 55.0), child: RaisedButton( color: Theme.of(context).primaryColor, onPressed: _onLogin, textColor: Colors.white, child: Text(gm.login), ), ), ), ], ), ), ), ); } void _onLogin() async { // 提交前,先验证各个表单字段是否合法 if ((_formKey.currentState as FormState).validate()) { showLoading(context); User user; try { user = await Git(context).login(_unameController.text, _pwdController.text); // 因为登录页返回后,首页会build,所以我们传false,更新user后不触发更新 Provider.of(context, listen: false).user = user; } catch (e) { //登录失败则提示 if (e.response?.statusCode == 401) { showToast(GmLocalizations.of(context).userNameOrPasswordWrong); } else { showToast(e.toString()); } } finally { // 隐藏loading框 Navigator.of(context).pop(); } if (user != null) { // 返回 Navigator.of(context).pop(); } } } } 代码很简单,关键地方都有注释,不再赘述,下面我们看一下运行效果,如图15-5所示。 "},"chapter15/language_and_theme_setting.html":{"url":"chapter15/language_and_theme_setting.html","title":"15.8:多语言和多主题","keywords":"","body":"15.8 多语言和多主题 本实例APP中语言和主题都是可以设置的,而两者都是通过ChangeNotifierProvider来实现的:我们在main函数中使用了Consumer2,依赖了ThemeModel和LocaleModel,因此,当我们在语言和主题设置页更该当前的配置后,Consumer2的builder都会重新执行,构建一个新的MaterialApp,所以修改会立即生效。下面看一下语言和主题设置页的实现。 15.8.1 语言选择页 APP语言选择页提供三个选项:中文简体、美国英语、跟随系统。我们将当前APP使用的语言高亮显示,并且在后面添加一个”对号“图标,实现如下: class LanguageRoute extends StatelessWidget { @override Widget build(BuildContext context) { var color = Theme.of(context).primaryColor; var localeModel = Provider.of(context); var gm = GmLocalizations.of(context); //构建语言选择项 Widget _buildLanguageItem(String lan, value) { return ListTile( title: Text( lan, // 对APP当前语言进行高亮显示 style: TextStyle(color: localeModel.locale == value ? color : null), ), trailing: localeModel.locale == value ? Icon(Icons.done, color: color) : null, onTap: () { // 更新locale后MaterialApp会重新build localeModel.locale = value; }, ); } return Scaffold( appBar: AppBar( title: Text(gm.language), ), body: ListView( children: [ _buildLanguageItem(\"中文简体\", \"zh_CN\"), _buildLanguageItem(\"English\", \"en_US\"), _buildLanguageItem(gm.auto, null), ], ), ); } } 上面代码逻辑很简单,唯一需要注意的是我们在build(…)方法里面定义了_buildLanguageItem(…)方法,它和在LanguageRoute类中定义该方法的区别就在于:在build(…)内定义的方法可以共享build(...)方法上下文中的变量,本例中是共享了localeModel。当然,如果_buildLanguageItem(…)的实现复杂一些的话不建议这样做,此时最好是将其作为LanguageRoute类的方法。该页面运行效果如图15-6、15-7所示: 切换语言后立即生效。 15.8.2 主题选择页 一个完整的主题Theme包括很多选项,这些选项在ThemeData中定义。本实例为了简单起见,我们只配置主题颜色。我们提供几种默认预定义的主题色供用户选择,用户点击一种色块后则更新主题。主题选择页的实现代码如下: class ThemeChangeRoute extends StatelessWidget{ @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text(GmLocalizations.of(context).theme), ), body: ListView( //显示主题色块 children: Global.themes.map((e) { return GestureDetector( child: Padding( padding: const EdgeInsets.symmetric(vertical: 5, horizontal: 16), child: Container( color: e, height: 40, ), ), onTap: () { //主题更新后,MaterialApp会重新build Provider.of(context).theme = e; }, ); }).toList(), ), ); } } 运行效果如图15-8所示: 点击其它主题色块后,APP主题色立马切换生效。 "}} \ No newline at end of file +{"./":{"url":"./","title":"缘起","keywords":"","body":" 简介 本书是第一本系统介绍Flutter技术的中文书籍,它是Flutter中文社区发起的开源项目之一,旨在帮助开发者入门,系统地、循序渐进的了解Flutter。 本书官网访问量较大,由于服务器配置有限,所以某些时段访问本站可能略有延迟,如果延迟较久,读者可以直接在Github上阅读本书。 关于作者 作者wendux,高级技术专家(前端方向)、掘金知名专栏作者、Flutter中文网发起人、Flutter中文社区开源项目发起人;Github社区知名开发者,是dio、fly、dsBridge等多个知名开源项目作者。曾就职于百度、小赢科技等互联网公司,从事过PC桌面开发、移动端开发以及Web开发,负责过多次核心技术攻关,现就职于字节跳动业务团队,目前闲暇时,主要关注大前端行业发展。 广告:长期招聘前端、移动端高工,有意者请发简历到duwen32767@163.com 或加微信Demons-du,期待和你做同事! 缘起 在全球,随着Flutter被越来越多的知名公司应用在自己的商业APP中,Flutter这门新技术也逐渐进入了移动开发者的视野,尤其是当Google在2018年IO大会上发布了第一个Preview版本后,国内刮起来一股学习Flutter的热潮。 在Flutter发布之初,当时,我在看完Flutter原理介绍后,就对它产生了浓厚的兴趣。当时笔者身边也一些人比较关注Flutter,我也被经常问到关于Flutter的一些问题,比如Flutter怎么样?和RN有什么区别?Flutter为什么要用Dart?当时也听到了一些批评的声音,比如有些人说Flutter只是重复造轮子,没啥亮点、Flutter最大的缺点就是使用了Dart语言等。在听到这些问题及论调后,我深知这是对Flutter的不了解而造成的,这和当时国内缺乏Flutter中文文档和教程有直接关系,很多人对Flutter的了解都只停留在Google的发布会介绍(有中文翻译)。 在笔者深入的了解Flutter后,深知Flutter必将是一个会改变移动开发格局的里程碑级作品,它从设计之初就对性能和开发效率兼顾,并且借鉴了React(一个Web开发框架)的响应式的UI框架设计思想等,总之,很难用一两句话说完Flutter的优点,同时我也很快成为了Flutter的路转粉。 为了更好的帮助中国开发者了解这门新技术,我在2018年初开始翻译Flutter官网文档,同年4月份上线了Flutter中文网,上线后反响很强烈,Flutter中文网也很快被传播开,百度搜索排名迅速蹿升到前三,截止目前,Flutter中文官网日PV在7万左右,每日独立访问人数近一万多。 虽然Flutter中文网给中国开发者提供了很好的第一手了解Flutter的资料,但是笔者还会经常遇到一些对Flutter技术处于围观而不愿尝试的开发者。这主要是因为当时Flutter在国内没有成功案例,再加上新技术都有学习成本,所以即使有文档,也会有一些开发者犹豫是否来学习。为了解决这部分开发者的疑虑,我就想如果能用Flutter开发一个完整的APP发布到应用商店,这样开发者就可以在犹豫的时候可以先实际感受一下Flutter应用,这样有个直观的了解后,就会容易做出判断,为此,我开发了Gitme,它是一个Github客户端,它支持了源码浏览、Issue、Label等Github的大多数功能,到目前为止,通过Gitme登录过Github账号的用户有8000多人,日活用户有1000人。更重要的是,有很多人正是用了Gitme后,才来学Flutter的。 无论是做Flutter中文网,还是写Gitme,主要目标都是帮助开发者学习Flutter,同时消除围观开发者疑虑。但当开发者们真正开始动手时,Flutter的生态问题就变得尤为突出。由于在2018年初Flutter刚起步时,很多基础的包和库都是空白,少数已有的一些库也大都是预览版(未到1.0),存在很多bug。这个状况不是一两个人花一两天能搞定的,这是需要聚整个Flutter开发者社群之力,耗费数年时间才可能有所改善。因此,在2018年4月份,我以Flutter中文网名义发起了Flutter开源计划,该计划主要是开发一些常用的包来丰富Flutter生态,帮助开发者提高开发效率。自在github建立Flutter中文开发者社区账号以来,前后开源了dio、cookieJar、flukit等多个项目,而dio在开源两周后,就迅速成为Flutter第三方包中Star排名第一的开源库。 虽然做的事情已经够多了,但是仍有一些很有必要去做的事情,由于时间原因,一直被搁置。 随着学习Flutter的人越来越多,一部分开发者通过查看官网的文档就能入门,但也有很多开发者感觉学习时仍然有些吃力,主要原因有两个,首先官网的文档主要是为了引导开发者快速上手的,讲的并不是很细;其次是我们虽然翻译了官方文档,但是对于Flutter SDK文档并没有翻译,而在开发中遇到的一些具体问题通常都得去查看SDK文档。所以,要解决这两个问题,必须得有一个系统化的Flutter教程,它不仅可以快速引导开发者入门,而且也能触及到一些细节和原理,最好也能提供一些学习和研究Flutter的方法。因此,如果能有一本能系统地介绍Flutter的书籍便是便是非常棒的!但是,当时没有一本关于Flutter的中文书籍,因此,我便计划写一本能由浅入深、系统介绍Flutter的书。2018年12月,《Flutter实战》完成初稿,并在Github上开源,同时上线了《Flutter实战》电子书官网 ,至今每天有3000多人在线浏览本书。那为什么不直接出版?如果直接出版,不仅有稿费,而且也能保护知识产权,而直接开源,不就就只能当雷锋了?其实,无论是做中文网、写Gitme、做Flutter开源项目,我的出发点都是为了能帮助中国开发者了解、学习Flutter,而这是一件非常有意义的事,只要坚持做对别人有价值的事,那么上帝迟早会奖赏你;当然我们也在网站中留了打赏的按钮,如果读者觉得有帮助,可以扫码打赏,请笔者喝一杯咖啡。另外由于成书比较仓促,当时书中也有很多错误,开源后,有很多读者提PR来纠正书中的错别字,时至今日,有78名开发者为本书提过PR,我在此,衷心的感谢你们。 起初,我没有出版实体书的打算,当时我以为开发者直接通过在线访问本书官网即方便又不用付费,何乐而不为。但在本书上线后,很多读者来添加微信好友,表示非常有收益,很期待出版纸质书,甚至有比较热心的读者想提前付定金预定!我理解,这是大家对我所做之事的认可和鼓励。考虑到,确实有一部分读者,尤其是还没毕业的同学,可能更喜欢通过书籍去学习,为此,我已经和机械工业出版社合作,目前本书纸质版正在出版中,敬请关注。 本书特色 笔者在大学时读过候捷(真名侯俊杰)写的一些C++相关书籍,在他的《深入浅出MFC》一书中,有一句话我映像非常深 “唯有深入,方能浅出”。我非常认同这句话,对于一门技术,只有了解的深入,才能用最浅显、通俗的话语描述出。我在写作本书时,深入浅出就是一个主要目标。所以,本书的目标不仅是想告诉读者如何使用Flutter,而且也非常关注各个知识点的底层实现以及设计思想。从本书章节划分上来看,入门篇为“浅出”,进阶篇则是“深入”。另外由于PC客户端开发、移动开发、Web开发这些经验我都有,而Flutter本质上是一个UI系统,而UI系统的设计和实现在”大前端“下有很多相通之处,所以在本书中的一些知识点我也会对比一些其他UI系统(主要是Android或Web)相应的实现,便于有相关开发经验的读者对比理解。 本书读者对象 读者至少熟悉一种编程语言。 读者最好接触过PC客户端、移动开发或Web前端开发中的一种。 本书不适合做为编程的入门读物。 关于随书源码 由于篇幅所限,本书中大多数示例代码都只是部分核心代码,读者可以去这里查看下载。 致谢 感谢一直以来支持Flutter中文网、Flutter开源项目的人以及所有对本书提过PR的人,正是因为有你们,才有这本书。另外尤其感谢给本书打赏过的同学,你们的支持给了我很大的鼓励。 权益 最后,知识是应该付费的,创作不易,开源不等于免费,如果您是本书读者并手头宽裕,可以点击下面打赏按钮打赏;当然,如果您囊中羞涩,您也可以阅读本书,但我对您有个小小的要求,希望您在阅读的过程中能积极参与到本书的纠错以及未完成内容的创作上来,也算是有所付出。 近来在网上发现很多原封不动复制本书的镜像网站和大量复制或引用了本书但未注明出处的博客、文章甚至书籍;对此,笔者在此声明,本书著作权归wendux所有,任何组织或个人在未经授权的情况下复制、拷贝、抄袭本书用于商业目的,笔者保留追究其法律责任的权利。如果是非商业目的的转载和引用,请注明出处并附上本书网址。另外如有出版机构愿意为本书出版实体书或者想转载本书内容,亦或是想合作,请加微信Demons-du. 最后 如果您发现本书中的错误,欢迎点击右上角的”编辑按钮“,提PR。如果您想一起参与本书创作,可以参考《Flutter实战》贡献指南。 "},"chapter1/":{"url":"chapter1/","title":"第一章:起步","keywords":"","body":"本章目录 移动开发技术简介 Flutter简介 搭建Flutter开发环境 Dart语言简介 "},"chapter1/mobile_development_intro.html":{"url":"chapter1/mobile_development_intro.html","title":"1.1:移动开发技术简介","keywords":"","body":"1.1 移动开发技术简介 本节将主要介绍一下移动开发技术的进化历程,主要是想让读者知道Flutter技术出现的背景。笔者认为,了解一门新技术出现的背景是非常重要的,因为只有了解之前是什么样的,才能理解为什么会是现在这样。 1.1.1 原生开发与跨平台技术 原生开发 原生应用程序是指某一个移动平台(比如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) 在接下来的章节中我们逐个来看看这三类框架的原理及优缺点。 1.1.2 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不堪重任。 1.1.3 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(Domain Specific Language) 语法是基于 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(Just In Time),执行效率和AOT(Ahead Of Time)代码仍有差距。 由于渲染依赖原生控件,不同平台的控件需要单独维护,并且当系统更新时,社区控件可能会滞后;除此之外,其控件系统也会受到原生UI系统限制,例如,在Android中,手势冲突消歧规则是固定的,这在使用不同人写的控件嵌套时,手势冲突问题将会变得非常棘手。 1.1.4 QT Mobile 在本篇中,我们看看最后一种跨平台技术:自绘UI+原生。这种技术的思路是,通过在不同平台实现一个统一接口的渲染引擎来绘制UI,而不依赖系统原生控件,所以可以做到不同平台UI的一致性。注意,自绘引擎解决的是UI的跨平台问题,如果涉及其它系统能力调用,依然要涉及原生开发。这种平台技术的优点如下: 性能高;由于自绘引擎是直接调用系统API来绘制UI,所以性能和原生控件接近。 灵活、组件库易维护、UI外观保真度和一致性高;由于UI渲染不依赖原生控件,也就不需要根据不同平台的控件单独维护一套组件库,所以代码容易维护。由于组件库是同一套代码、同一个渲染引擎,所以在不同平台,组件显示外观可以做到高保真和高一致性;另外,由于不依赖原生控件,也就不会受原生布局系统的限制,这样布局系统会非常灵活。 不足: 动态性不足;为了保证UI绘制性能,自绘UI系统一般都会采用AOT模式编译其发布包,所以应用发布后,不能像Hybrid和RN那些使用JavaScript(JIT)作为开发语言的框架那样动态下发代码。 开发效率低:QT使用C++作为其开发语言,而编程需要效率是直接会影响APP开发效率的,C++作为一门静态语言,在UI开发方面灵活性不及JavaScript这样的动态语言,另外,C++需要开发者手动去管理内存分配,没有JavaScript及Java中垃圾回收(GC)的机制。 也许你已经猜到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是移动端开发跨平台自绘引擎的先驱,但却成为了烈士。 1.1.5 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。而今天(2019年5月29日),已经有65K的Star。经历了短短2年多的时间,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未来如何,心中自有定论。到现在为止,我们已经对移动端开发技术有了一个全面的了解,接下来我们便要进入本书的主题,你准备好了吗! 1.1.6 小节 本章主要介绍了目前移动开发中三种跨平台技术,现在我们从框架角度对比一下: 技术类型 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":"1.2:初识Flutter","keywords":"","body":"1.2 初识Flutter 1.2.1 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作为其绘图引擎。 高性能 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细节的了解,再回过头来看,相信你会有更深的体会。 1.2.2 Flutter框架结构 本节我们先对Flutter的框架做一个整体介绍,旨在让读者心中有一个整体的印象,这对初学者来说非常重要。如果一下子便深入到Flutter中,就会像是一个在沙漠中没有地图的人,即使可以找到一个绿洲,但是他也不会知道下一个绿洲在哪。因此,无论学什么技术,都要现有一张清晰的“地图”,而我们的学习过程就是“按图索骥”,这样我们才不会陷于细节而“目无全牛”。言归正传,我们看一下Flutter官方提供的Flutter框架图,如图1-1所示: 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。 1.2.3 如何学习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相关的文章、博客,读者可以多去浏览、阅读。 总结 有了资料和社区后,对于我们学习者自身来说,最重要的还是要多动手、多实践,在本书后面的章节中,希望读者能够亲自动手写一下示例。准备好了吗,下一章中,我们将正式进入Flutter的世界! "},"chapter1/install_flutter.html":{"url":"chapter1/install_flutter.html","title":"1.3:搭建Flutter开发环境","keywords":"","body":"1.3 搭建Flutter开发环境 工欲善其事必先利其器,本节首先会分别介绍一下在Windows和macOS下Flutter SDK的安装,然后再介绍一下配IDE和模拟器的使用。 1.3.1 安装Flutter 由于Flutter会同时构建Android和IOS两个平台的发布包,所以Flutter同时依赖Android SDK和iOS SDK,在安装Flutter时也需要安装相应平台的构建工具和SDK。下面我们分别介绍一下Windows和macOS下的环境搭建。 注意:本节介绍的安装方式随着Flutter的升级可能会发生变化,如果下面介绍的内容在您安装Flutter时已经失效,请访问Flutter官网,按照官网最新的安装教程安装。 使用镜像 由于在国内访问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/,打开后如图1-2所示: 注意,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、stable,其中stable分支为稳定分支(日后有新的稳定版本发布后可能也会有新的稳定分支,如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 获取项目所有依赖包的最新版本。 1.3.2 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工具栏,如图1-3所示: 在 target selector 中, 选择一个运行该应用的Android设备。如果没有列出可用,请选择 Tools>Android>AVD Manager 并在那里创建一个。 在工具栏中点击 Run图标。 如果一切正常, 您应该在您的设备或模拟器上会看到启动的应用程序: 体验热重载 Flutter 可以通过 热重载(hot reload) 实现快速的开发周期,热重载就是无需重启应用程序就能实时加载修改后的代码,并且不会丢失状态。简单的对代码进行更改,然后告诉IDE或命令行工具你需要重新加载(点击reload按钮),你就会在你的设备或模拟器上看到更改。 打开lib/main.dart文件 将字符串 'You have pushed the button this many times:' 更改为 'You have clicked the button this many times:' 不要按“停止”按钮; 让您的应用继续运行. 要查更改,请调用 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), 或者点击 热重载按钮 (绿色圆形箭头按钮)。 你会立即在运行的应用程序中看到更新的字符串。 1.3.3 连接设备运行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,如图1-5: 任何Apple ID都支持开发和测试,但若想将应用分发到App Store,就必须注册Apple开发者计划,有关详情读者可以自行了解。 当您第一次attach真机设备进行iOS开发时,需要同时信任你的Mac和该设备上的开发证书。首次将iOS设备连接到Mac时,请在对话框中选择 Trust。 然后,转到iOS设备上的设置菜单,选择 常规>设备管理 并信任您的证书。 如果Xcode中的自动签名失败,请验证项目的 General > Identity > Bundle Identifier 值是否唯一,如图1-7所示: 运行 flutter run启动flutter应用程序。 1.3.4 常见配置问题 Android Studio问题 缺少依赖库问题 上手安卓最常遇见的问题之一,错误如图1-8所示,此时点击超链接即可自动跳转到安装页面 安装之后重新运行即可,如图1-9: 连接不上Android Repository 这也是最常见的问题之一,当你发现自己无法下载部分依赖的时候,请优先考虑这种情况。进入 File -> Settings -> Appearance & Behavior -> System Settings -> Android SDK -> SDK Update Sites 列表,可以看到此时的 Android Repository 无法连接,如图1-10所示: 这是由于要去Google下载Android SDK,但在国内目前无法访问Google所致,因此,我们可以配置代理或使用vpn。 安卓包配置问题 一般格式为 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() maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' } //添加这一句 } } 进入 File/ Settings/ Build, Execution, Deployment/ BuildTools/ Gradle/ Android Studio 中,勾选上 Enable embedded Maven repository ,重启 Android Studio 即可解决。 注意:存在这样的一种情况,当你根据上述步骤设置了之后,依旧无法解决这个问题,并有类似于 Could not HEAD maven.aliyun.com 的报错信息,请检查 C:\\Users\\{user_name}\\.gradle\\gradle.properties 是否有设置代理。删除后问题即可解决。 Hot Reload 热重载失效问题 在给 Terminal 之类的终端模拟器设置代理之后,会导致”Hot Reload“重载失效,此时调用 Save (cmd-s / ctrl-s)将不会进行热重载,热重载按钮 (带有闪电⚡️图标的按钮)也不会显示,将代理移除即可解决。 另外,有些情况下热重载是不生效的,比如修改了main函数、修改了全局静态方法等,读者可以认为”Hot Reload“只会重新构建整个widget树,如果变动不在构建widget树的过程中,”Hot Reload“就不会起作用。 "},"chapter1/dart.html":{"url":"chapter1/dart.html","title":"1.4:Dart语言简介","keywords":"","body":"1.4 Dart语言简介 在之前我们已经介绍过Dart语言的相关特性,读者可以翻看一下,如果读者已经熟悉Dart语法,可以跳过本节,如果你还不了解Dart,也不用担心,按照笔者经验,如果你有过其他编程语言经验(尤其是Java和JavaScript)的话会非常容易上手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语法。 1.4.1 变量声明 var 类似于JavaScript中的var,它可以接收任何类型的变量,但最大的不同是Dart中var变量一旦赋值,类型便会确定,则不能再改变其类型,如: var t; t = \"hi world\"; // 下面代码在dart中会报错,因为变量t的类型已经确定为String, // 类型一旦确定后则不能再更改其类型。 t = 1000; 上面的代码在JavaScript是没有问题的,前端开发者需要注意一下,之所以有此差异是因为Dart本身是一个强类型语言,任何变量都是有确定类型的,在Dart中,当用var声明一个变量后,Dart在编译时会根据第一次赋值数据的类型来推断其类型,编译结束后其类型就已经被确定,而JavaScript是纯粹的弱类型脚本语言,var只是变量的声明方式而已。 dynamic和Object Object 是Dart所有对象的根基类,也就是说所有类型都是Object的子类(包括Function和Null),所以任何类型的数据都可以赋值给Object声明的对象. dynamic与var一样都是关键词,声明的变量可以赋值任意对象。 而dynamic与Object相同之处在于,他们声明的变量可以在后期改变赋值类型。 dynamic t; Object x; t = \"hi world\"; x = 'Hello Object'; //下面代码没有问题 t = 1000; x = 1000; dynamic与Object不同的是,dynamic声明的对象编译器会提供所有可能的组合, 而Object声明的对象只能使用Object的属性与方法, 否则编译器会报错。如: dynamic a; Object b; main() { a = \"\"; b = \"\"; printLengths(); } printLengths() { // no warning print(a.length); // warning: // The getter 'length' is not defined for the class 'Object' print(b.length); } 变量a不会报错, 变量b编译器会报错 dynamic的这个特性与Objective-C中的id作用很像. 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\"; 1.4.2 函数 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中使用非常多。 1.4.3 异步支持 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)的调用链。 1.4.4 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来实现一个订阅者模式的事件总线? 1.4.5 Dart和Java及JavaScript对比 通过上面介绍,相信你对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(目前只停留在Lambda表达式),而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":"2.1:计数器示例","keywords":"","body":"2.1 计数器应用示例 用Android Studio和VS Code创建的Flutter应用模板默认是一个简单的计数器示例。本节先仔细讲解一下这个计数器Demo的源码,让读者对Flutter应用程序结构有个基本了解,然后在随后的小节中将会基于此示例,一步一步添加一些新的功能来介绍Flutter应用的其它概念与技术。 对于接下来的示例,希望读者可以跟着笔者一起亲自动手来写一下,这样不仅可以加深印象,而且也会对介绍的概念与技术有一个真切的体会。如果你还不是很熟悉Dart语言或者没有移动开发经验,不用担心,只要你熟悉面向对象和基本编程概念(如变量、循环和条件控制),则可以完成本示例。 2.1.1 创建Flutter应用模板 通过Android Studio或VS Code创建一个新的Flutter工程,命名为\"first_flutter_app\"。创建好后,就会得到一个计数器应用的Demo。 注意,默认Demo示例可能随着编辑器Flutter插件的版本变化而变化,本例中会介绍计数器示例的全部代码,所以不会对本示例产生影响。 我们先运行创建的工程,效果如图2-1所示: 该计数器示例中,每点击一次右下角带“+”号的悬浮按钮,屏幕中央的数字就会加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(MyApp()); 与C/C++、Java类似,Flutter 应用中main函数为应用程序的入口。main函数中调用了runApp 方法,它的功能是启动Flutter应用。runApp它接受一个Widget参数,在本示例中它是一个MyApp对象,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)等,它们嗾使以widget的形式提供。 Flutter在构建页面时,会调用组件的build方法,widget的主要工作是提供一个build()方法来描述如何构建UI界面(通常是通过组合、拼装其它基础widget)。 MaterialApp 是Material库中提供的Flutter APP框架,通过它可以设置应用的名称、主题、语言、首页及路由列表等。MaterialApp也是一个widget。 Scaffold 是Material库中提供的页面脚手架,它包含导航栏和Body以及FloatingActionButton(如果需要的话)。 本书后面示例中,路由默认都是通过Scaffold创建。 home 为Flutter应用的首页,它也是一个widget。 2.1.2 首页 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 是Flutter应用的首页,它继承自StatefulWidget类,表示它是一个有状态的组件(Stateful widget)。关于Stateful widget我们将在第三章”Widget简介“一节自习介绍,现在我们只需简单认为有状态的组件(Stateful widget) 和无状态的组件(Stateless widget)有两点不同: Stateful widget可以拥有状态,这些状态在widget生命周期中是可以变的,而Stateless widget是不可变的。 Stateful widget至少由两个类组成: 一个StatefulWidget类。 一个 State类; StatefulWidget类本身是不变的,但是State类中持有的状态在widget生命周期中可能会发生变化。 _MyHomePageState类是MyHomePage类对应的状态类。看到这里,读者可能已经发现:和MyApp 类不同, MyHomePage类中并没有build方法,取而代之的是,build方法被挪到了_MyHomePageState方法中,至于为什么这么做,先留个疑问,在分析完完整代码后再来解答。 State类 接下来,我们看看_MyHomePageState中都包含哪些东西: 该组件的状态。由于我们只需要维护一个点击次数计数器,所以定义一个_counter状态: 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树(后同”组件树“或”部件树“)的body属性。组件树可以很复杂。 body的组件树中包含了一个Center 组件,Center 可以将其子组件树对齐到屏幕中心。此例中, Center 子组件是一个Column 组件,Column的作用是将其所有子组件沿屏幕垂直方向依次排列; 此例中Column子组件是两个 Text,第一个Text 显示固定文本 “You have pushed the button this many times:”,第二个Text 显示_counter状态的数值。 floatingActionButton是页面右下角的带“+”的悬浮按钮,它的onPressed属性接受一个回调函数,代表它被点击后的处理器,本例中直接将_incrementCounter方法作为其处理函数。 现在,我们将整个计数器执行流程串起来:当右下角的floatingActionButton按钮被点击之后,会调用_incrementCounter方法。在_incrementCounter方法中,首先会自增_counter计数器(状态),然后setState会通知Flutter框架状态发生变化,接着,Flutter框架会调用build方法以新的状态重新构建UI,最终显示在设备屏幕上。 为什么要将build方法放在State中,而不是放在StatefulWidget中? 现在,我们回答之前提出的问题,为什么build()方法房在State(而不是StatefulWidget)中 ?这主要是为了提高开发的灵活性。如果将build()方法在StatefulWidget中则会有两个问题: 状态访问不便 试想一下,如果我们的StatefulWidget有很多状态,而每次状态改变都要调用build方法,由于状态是保存在State中的,如果build方法在StatefulWidget中,那么build方法和状态分别在两个类中,那么构建时读取状态将会很不方便!试想一下,如果真的将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":"2.2:路由管理","keywords":"","body":"2.2 路由管理 路由(Route)在移动开发中通常指页面(Page),这跟web开发中单页应用的Route概念意义是相同的,Route在Android中通常指一个Activity,在iOS中指一个ViewController。所谓路由管理,就是管理页面之间如何跳转,通常也可被称为导航管理。Flutter中的路由管理和原生开发类似,无论是Android还是iOS,导航管理都会维护一个路由栈,路由入栈(push)操作对应打开一个新页面,路由出栈(pop)操作对应页面关闭操作,而路由管理主要是指如何来管理路由栈。 2.2.1 一个简单示例 我们在上一节“计数器”示例的基础上,做如下修改: 创建一个新路由,命名“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, MaterialPageRoute(builder: (context) { return NewRoute(); })); }, ), ], ) 我们添加了一个打开新路由的按钮,并将按钮文字颜色设置为蓝色,点击该按钮后就会打开新的路由页面,效果如图2-2和2-3所示。 2.2.2 MaterialPageRoute MaterialPageRoute继承自PageRoute类,PageRoute类是一个抽象类,表示占有整个屏幕空间的一个模态路由页面,它还定义了路由构建及切换时过渡动画的相关接口及属性。MaterialPageRoute 是Material组件库提供的组件,它可以针对不同平台,实现与平台页面切换动画风格一致的路由切换动画: 对于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来实现,我们将在后面介绍动画时,实现一个自定义的路由组件。 2.2.3 Navigator Navigator是一个路由管理的组件,它提供了打开和退出路由页方法。Navigator通过一个栈来管理活动路由集合。通常当前屏幕显示的页面就是栈顶的路由。Navigator提供了一系列方法来管理路由栈,在此我们只介绍其最常用的两个方法: Future push(BuildContext context, Route route) 将给定的路由入栈(即打开新的页面),返回值是一个Future对象,用以接收新路由出栈(即关闭)时的返回数据。 bool pop(BuildContext context, [ result ]) 将栈顶路由出栈,result为页面关闭时返回给上一个页面的数据。 Navigator 还有很多其它方法,如Navigator.replace、Navigator.popUntil等,详情请参考API文档或SDK源码注释,在此不再赘述。下面我们还需要介绍一下路由相关的另一个概念“命名路由”。 实例方法 Navigator类中第一个参数为context的静态方法都对应一个Navigator的实例方法, 比如Navigator.push(BuildContext context, Route route)等价于Navigator.of(context).push(Route route) ,下面命名路由相关的方法也是一样的。 2.2.4 路由传值 很多时候,在路由跳转时我们需要带一些参数,比如打开商品详情页时,我们需要带一个商品id,这样商品详情页才知道展示哪个商品信息;又比如我们在填写订单时需要选择收获地址,打开地址选择页后,可以将用户选择的地址返回到订单页等等。下面我们通过一个简单的示例来演示新旧路由如何传参。 示例 我们创建一个TipRoute路由,它接受一个提示文本参数,负责将传入它的文本显示在页面上,另外TipRoute中我们添加一个“返回”按钮,点击后在返回上一个路由的同时会带上一个返回参数,下面我们看一下实现代码。 TipRoute实现代码: class TipRoute extends StatelessWidget { TipRoute({ Key key, @required this.text, // 接收一个text参数 }) : super(key: key); final String text; @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text(\"提示\"), ), body: Padding( padding: EdgeInsets.all(18), child: Center( child: Column( children: [ Text(text), RaisedButton( onPressed: () => Navigator.pop(context, \"我是返回值\"), child: Text(\"返回\"), ) ], ), ), ), ); } } 下面是打开新路由TipRoute的代码: class RouterTestRoute extends StatelessWidget { @override Widget build(BuildContext context) { return Center( child: RaisedButton( onPressed: () async { // 打开`TipRoute`,并等待返回结果 var result = await Navigator.push( context, MaterialPageRoute( builder: (context) { return TipRoute( // 路由参数 text: \"我是提示xxxx\", ); }, ), ); //输出`TipRoute`路由返回结果 print(\"路由返回值: $result\"); }, child: Text(\"打开提示页\"), ), ); } } 运行上面代码,点击RouterTestRoute页的”打开提示页“按钮,会打开TipRoute页,运行效果如图2-4所示下: 需要说明: 提示文案”我是提示xxxx“是通过TipRoute的text参数传递给新路由页的。我们可以通过等待Navigator.push(…)返回的Future来获取新路由的返回数据。 在TipRoute页中有两种方式可以返回到上一页;第一种方式时直接点击导航栏返回箭头,第二种方式是点击页面中的”返回“按钮。这两种返回方式的区别是前者不会返回数据给上一个路由,而后者会。下面是分别点击页面中的返回按钮和导航栏返回箭头后,RouterTestRoute页中print方法在控制台输出的内容: I/flutter (27896): 路由返回值: 我是返回值 I/flutter (27896): 路由返回值: null 上面介绍的是非命名路由的传值方式,命名路由的传值方式会有所不同,我们会在下面介绍命名路由时介绍。 2.2.5 命名路由 所谓”命名路由“(Named Route)即有名字的路由,我们可以先给路由起一个名字,然后就可以通过路由名字直接打开新的路由了,这为路由管理带来了一种直观、简单的方式。 路由表 要想使用命名路由,我们必须先提供并注册一个路由表(routing table),这样应用程序才知道哪个名字与哪个路由组件相对应。其实注册路由表就是给路由起名字,路由表的定义如下: Map routes; 它是一个Map,key为路由的名字,是个字符串;value是个builder回调函数,用于生成相应的路由widget。我们在通过路由名字打开新路由时,应用会根据路由名字在路由表中查找到对应的WidgetBuilder回调函数,然后调用该回调函数生成路由widget并返回。 注册路由表 路由表的注册方式很简单,我们回到之前“计数器”的示例,然后在MyApp类的build方法中找到MaterialApp,添加routes属性,代码如下: MaterialApp( title: 'Flutter Demo', theme: ThemeData( primarySwatch: Colors.blue, ), //注册路由表 routes:{ \"new_page\":(context)=>NewRoute(), ... // 省略其它路由注册信息 } , home: MyHomePage(title: 'Flutter Demo Home Page'), ); 现在我们就完成了路由表的注册。上面的代码中home路由并没有使用命名路由,如果我们也想将home注册为命名路由应该怎么做呢?其实很简单,直接看代码: MaterialApp( title: 'Flutter Demo', initialRoute:\"/\", //名为\"/\"的路由作为应用的home(首页) theme: ThemeData( primarySwatch: Colors.blue, ), //注册路由表 routes:{ \"new_page\":(context)=>NewRoute(), \"/\":(context)=> MyHomePage(title: 'Flutter Demo Home Page'), //注册首页路由 } ); 可以看到,我们只需在路由表中注册一下MyHomePage路由,然后将其名字作为MaterialApp的initialRoute属性值即可,该属性决定应用的初始路由页是哪一个命名路由。 通过路由名打开新路由页 要通过路由名称来打开新路由,可以使用Navigator 的pushNamed方法: Future pushNamed(BuildContext context, String routeName,{Object arguments}) 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”按钮,依然可以打开新的路由页。 命名路由参数传递 在Flutter最初的版本中,命名路由是不能传递参数的,后来才支持了参数;下面展示命名路由如何传递并获取路由参数: 我们先注册一个路由: routes:{ \"new_page\":(context)=>EchoRoute(), } , 在路由页通过RouteSetting对象获取路由参数: class EchoRoute extends StatelessWidget { @override Widget build(BuildContext context) { //获取路由参数 var args=ModalRoute.of(context).settings.arguments //...省略无关代码 } } 在打开路由时传递参数 Navigator.of(context).pushNamed(\"new_page\", arguments: \"hi\"); 适配 假设我们也想将上面路由传参示例中的TipRoute路由页注册到路由表中,以便也可以通过路由名来打开它。但是,由于TipRoute接受一个text 参数,我们如何在不改变TipRoute源码的前提下适配这种情况?其实很简单: MaterialApp( ... //省略无关代码 routes: { \"tip2\": (context){ return TipRoute(text: ModalRoute.of(context).settings.arguments); }, }, ); 2.2.6 路由生成钩子 假设我们要开发一个电商APP,当用户没有登录时可以看店铺、商品等信息,但交易记录、购物车、用户个人信息等页面需要登录后才能看。为了实现上述功能,我们需要在打开每一个路由页前判断用户登录状态!如果每次打开路由前我们都需要去判断一下将会非常麻烦,那有什么更好的办法吗?答案是有! MaterialApp有一个onGenerateRoute属性,它在打开命名路由时会可能会被调用,之所以说可能,是因为当调用Navigator.pushNamed(...)打开命名路由时,如果指定的路由名在路由表中已注册,则会调用路由表中的builder函数来生成路由组件;如果路由表中没有注册,才会调用onGenerateRoute来生成路由。onGenerateRoute回调签名如下: Route Function(RouteSettings settings) 有了onGenerateRoute回调,要实现上面控制页面权限的功能就非常容易:我们放弃使用路由表,取而代之的是提供一个onGenerateRoute回调,然后在该回调中进行统一的权限控制,如: MaterialApp( ... //省略无关代码 onGenerateRoute:(RouteSettings settings){ return MaterialPageRoute(builder: (context){ String routeName = settings.name; // 如果访问的路由页需要登录,但当前未登录,则直接返回登录页路由, // 引导用户登录;其它情况则正常打开路由。 } ); } ); 注意,onGenerateRoute只会对命名路由生效。 2.2.7 总结 本章先介绍了Flutter中路由管理、传参的方式,然后又着重介绍了命名路由相关内容。在此需要说明一点,由于命名路由只是一种可选的路由管理方式,在实际开发中,读者可能心中会犹豫到底使用哪种路由管理方式。在此,根据笔者经验,建议读者最好统一使用命名路由的管理方式,这将会带来如下好处: 语义化更明确。 代码更好维护;如果使用匿名路由,则必须在调用Navigator.push的地方创建新路由页,这样不仅需要import新路由页的dart文件,而且这样的代码将会非常分散。 可以通过onGenerateRoute做一些全局的路由跳转前置处理逻辑。 综上所述,笔者比较建议使用命名路由,当然这并不是什么金科玉律,读者可以根据自己偏好或实际情况来决定。 另外,还有一些关于路由管理的内容我们没有介绍,比如路由MaterialApp中还有navigatorObservers和onUnknownRoute两个回调属性,前者可以监听所有路由跳转动作,后者在打开一个不存在的命名路由时会被调用,由于这些功能并不常用,而且也比较简单,我们便不再花费篇幅来介绍了,读者可以自行查看API文档。 "},"chapter2/flutter_package_mgr.html":{"url":"chapter2/flutter_package_mgr.html","title":"2.3:包管理","keywords":"","body":"2.3 包管理 在软件开放,很多时候有一些公共的库或SDK可能会被很多项目用到,因此,将这些代码单独抽到一个独立模块,然后哪个项目需要使用时再直接集成这个模块,便可大大提高开发效率。很多编程语言或开发工具都支持这种“模块共享”机制,如Java语言中这种独立模块会被打成一个jar包,Android中的aar包,Web开发中的npm包等。为了方便表述,我们将这种可共享的独立模块统一称为“包”( Package)。 一个APP在实际开发中往往会依赖很多包,而这些包通常都有交叉依赖关系、版本依赖等,如果由开发者手动来管理应用中的依赖包将会非常麻烦。因此,各种开发生态或编程语言官方通常都会提供一些包管理工具,比如在Android提供了Gradle来管理依赖,iOS用Cocoapods或Carthage来管理依赖,Node中通过npm等。而在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发布我们的包和插件。我们将在后面的章节中介绍如何向Pub发布我们的包和插件。 示例 接下来,我们实现一个显示随机字符串的widget。有一个名为“english_words”的开源软件包,其中包含数千个常用的英文单词以及一些实用功能。我们首先在pub上找到english_words这个包(如图2-5所示),确定其最新的版本号和是否支持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时(图2-6),单击右上角的 Packages get 。 这会将依赖包安装到您的项目。我们可以在控制台中看到以下内容: flutter packages get Running \"flutter packages get\" in flutter_in_action... Process finished with exit code 0 我们也可以在控制台,定位到当前工程目录,然后手动运行flutter packages get 命令来下载依赖包。另外,需要注意dependencies和dev_dependencies的区别,前者的依赖包将作为APP的源码的一部分参与编译,生成最终的安装包。而后者的依赖包只是作为开发阶段的一些工具包,主要是用于帮助我们提高开发、测试效率,比如flutter的自动化测试包等。 引入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 添加到 _MyHomePageState.build 的Column的子widget中。 Column( mainAxisAlignment: MainAxisAlignment.center, children: [ ... //省略无关代码 RandomWordsWidget(), ], ) 如果应用程序正在运行,请使用热重载按钮(⚡️图标) 更新正在运行的应用程序。每次单击热重载或保存项目时,都会在正在运行的应用程序中随机选择不同的单词对。 这是因为单词对是在 build 方法内部生成的。每次热更新时,build方法都会被执行,运行效果如图2-7所示。 其它依赖方式 上文所述的依赖方式是依赖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开发中常用的,但还有一些其它依赖方式,完整的内容读者可以自行查看:https://www.dartlang.org/tools/pub/dependencies 。 总结 本节介绍了Flutter中包管理、引用、下载的整体流程,我们将在后面的章节中介绍如果开发并发布我们自己的包。 "},"chapter2/flutter_assets_mgr.html":{"url":"chapter2/flutter_assets_mgr.html","title":"2.4:资源管理","keywords":"","body":"2.4 资源管理 Flutter APP安装包中会包含代码和 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”,见图2-8)。 只需按照Android开发人员指南中的说明, 将其替换为所需的资源,并遵守每种屏幕密度(dpi)的建议图标大小标准。 注意: 如果您重命名.png文件,则还必须在您AndroidManifest.xml的标签的android:icon属性中更新名称。 iOS 在Flutter项目的根目录中,导航到.../ios/Runner。该目录中Assets.xcassets/AppIcon.appiconset已经包含占位符图片(见图2-9), 只需将它们替换为适当大小的图片,保留原始文件名称。 更新启动页 在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进行自定义,如图2-11所示。 "},"chapter2/flutter_app_debug.html":{"url":"chapter2/flutter_app_debug.html","title":"2.5:调试Flutter APP","keywords":"","body":"2.5 调试Flutter应用 有各种各样的工具和功能来帮助调试Flutter应用程序。 Dart 分析器 在运行应用程序前,请运行flutter analyze测试你的代码。这个工具是一个静态代码检查工具,它是dartanalyzer工具的一个包装,主要用于分析代码并帮助开发者发现可能的错误,比如,Dart分析器大量使用了代码中的类型注释来帮助追踪问题,避免var、无类型的参数、无类型的列表文字等。 如果你使用IntelliJ的Flutter插件,那么分析器在打开IDE时就已经自动启用了,如果读者使用的是其它IDE,强烈建议读者启用Dart 分析器,因为在大多数时候,Dart 分析器可以在代码运行前发现大多数问题。 Dart Observatory (语句级的单步调试和分析器) 如果我们使用flutter run启动应用程序,那么当它运行时,我们可以打开Observatory工具的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应用调试过程中,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)) ... #省略剩余内容 这是一个“扁平化”的树,显示了通过各种构建函数投影的所有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) ... # 省略 这是根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时,它将覆盖这样一个网格。 您也可以直接使用GridPaper组件将这种网格覆盖在非Material应用程序上 。 "},"chapter2/thread_model_and_error_report.html":{"url":"chapter2/thread_model_and_error_report.html","title":"2.6:Dart线程模型及异常捕获","keywords":"","body":"2.6 Flutter异常捕获 在介绍Flutter异常捕获之前必须先了解一下Dart单线程模型,只有了解了Dart的代码执行流程,我们才能知道该在什么地方去捕获异常。 2.6.1 Dart单线程模型 在Java和Objective-C(以下简称“OC”)中,如果程序发生异常且没有被捕获,那么程序将会终止,但是这在Dart或JavaScript中则不会!究其原因,这和它们的运行机制有关系。Java和OC都是多线程模型的编程语言,任意一个线程触发异常且该异常未被捕获时,就会导致整个进程退出。但Dart和JavaScript不会,它们都是单线程模型,运行机制很相似(但有区别),下面我们通过Dart官方提供的一张图来看看Dart大致运行原理: Dart 在单线程中是以消息循环机制来运行的,其中包含两个任务队列,一个是“微任务队列” microtask queue,另一个叫做“事件队列” event queue。从图中可以发现,微任务队列的执行优先级高于事件队列。 现在我们来介绍一下Dart线程运行过程,如上图中所示,入口函数 main() 执行完后,消息循环机制便启动了。首先会按照先进先出的顺序逐个执行微任务队列中的任务,当所有微任务队列执行完后便开始执行事件队列中的任务,事件任务执行完毕后再去执行微任务,如此循环往复,生生不息。 在Dart中,所有的外部事件任务都在事件队列中,如IO、计时器、点击、以及绘制事件等,而微任务通常来源于Dart内部,并且微任务非常少,之所以如此,是因为微任务队列优先级高,如果微任务太多,执行时间总和就越久,事件队列任务的延迟也就越久,对于GUI应用来说最直观的表现就是比较卡,所以必须得保证微任务队列不会太长。值得注意的是,我们可以通过Future.microtask(…)方法向微任务队列插入一个任务。 在事件循环中,当某个任务发生异常并没有被捕获时,程序并不会退出,而直接导致的结果是当前任务的后续代码就不会被执行了,也就是说一个任务中的异常是不会影响其它任务执行的。 2.6.2 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":"第三章:基础组件","keywords":"","body":"基础Widget 本节介绍一下Flutter中常用的一些基础widget,由于大多数widget的属性都比较多,我们在介绍widget时会着重介绍常用的属性,而不会像API文档一样所有属性都介绍,关于属性详细的信息请参考Flutter SDK文档。 本章目录 Widget简介 文本、字体样式 按钮 图片和Icon 单选框和复选框 输入框和表单 "},"chapter3/flutter_widget_intro.html":{"url":"chapter3/flutter_widget_intro.html","title":"3.1:Widget简介","keywords":"","body":"3.1 Widget简介 3.1.1 概念 在前面的介绍中,我们知道在Flutter中几乎所有的对象都是一个Widget。与原生开发中“控件”不同的是,Flutter中的Widget的概念更广泛,它不仅可以表示UI元素,也可以表示一些功能性的组件如:用于手势检测的 GestureDetector widget、用于APP主题数据传递的Theme等等,而原生开发中的控件通常只是指UI元素。在后面的内容中,我们在描述UI元素时可能会用到“控件”、“组件”这样的概念,读者心里需要知道他们就是widget,只是在不同场景的不同表述而已。由于Flutter主要就是用于构建用户界面的,所以,在大多数时候,读者可以认为widget就是一个控件,不必纠结于概念。 3.1.2 Widget与Element 在Flutter中,Widget的功能是“描述一个UI元素的配置数据”,它就是说,Widget其实并不是表示最终绘制在设备屏幕上的显示元素,而它只是描述显示元素的一个配置数据。 实际上,Flutter中真正代表屏幕上显示元素的类是Element,也就是说Widget只是描述Element的配置数据!有关Element的详细介绍我们将在本书后面的高级部分深入介绍,现在,读者只需要知道:Widget只是UI元素的一个配置数据,并且一个Widget可以对应多个Element。这是因为同一个Widget对象可以被添加到UI树的不同部分,而真正渲染时,UI树的每一个Element节点都会对应一个Widget对象。总结一下: Widget实际上就是Element的配置数据,Widget树实际上是一个配置树,而真正的UI渲染树是由Element构成;不过,由于Element是通过Widget生成的,所以它们之间有对应关系,在大多数场景,我们可以宽泛地认为Widget树就是指UI控件树或UI渲染树。 一个Widget对象可以对应多个Element对象。这很好理解,根据同一份配置(Widget),可以创建多个实例(Element)。 读者应该将这两点牢记在心中。 3.1.3 Widget主要接口 我们先来看一下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类来实现一个新组件,相反,我们通常会通过继承StatelessWidget或StatefulWidget来间接继承Widget类来实现。StatelessWidget和StatefulWidget都是直接继承自Widget类,而这两个类也正是Flutter中非常重要的两个抽象类,它们引入了两种Widget模型,接下来我们将重点介绍一下这两个类。 3.1.4 StatelessWidget 在之前的章节中,我们已经简单介绍过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需要接收子Widget,那么child或children参数通常应被放在参数列表的最后。同样是按照惯例,Widget的属性应尽可能的被声明为final,防止被意外改变。 然后我们可以通过如下方式使用它: Widget build(BuildContext context) { return Echo(text: \"hello world\"); } 运行后效果如图3-1所示: 3.1.5 StatefulWidget 和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对象到树中”这样的描述。其实,无论哪种描述,其意思都是在描述“一棵构成用户界面的节点元素的树”,读者不必纠结于这些概念,还是那句话“得其神,忘其形”,因此,本书中出现的各种“树”,如果没有特别说明,读者都可抽象的认为它是“一棵构成用户界面的节点元素的树”。 3.1.6 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 Scaffold( body: 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对象从树中被永久移除时调用;通常在此回调中释放资源。 StatefulWidget生命周期如图3-2所示: 注意:在继承StatefulWidget重写其方法时,对于包含@mustCallSuper标注的父类方法,都要在子类方法中先调用父类方法。 3.1.7 Flutter SDK内置组件库介绍 Flutter提供了一套丰富、强大的基础组件,在基础组件库之上Flutter又提供了一套Material风格(Android默认的视觉风格)和一套Cupertino风格(iOS视觉风格)的组件库。要使用基础组件库,需要先导入: import 'package:flutter/widgets.dart'; 下面我们介绍一下常用的组件。 基础组件 Text:该组件可让您创建一个带格式的文本。 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组件 Flutter提供了一套丰富的Material组件,它可以帮助我们构建遵循Material Design设计规范的应用程序。Material应用程序以MaterialApp 组件开始, 该组件在应用程序的根部创建了一些必要的组件,比如Theme组件,它用于配置应用的主题。 是否使用MaterialApp完全是可选的,但是使用它是一个很好的做法。在之前的示例中,我们已经使用过多个Material 组件了,如:Scaffold、AppBar、FlatButton等。要使用Material 组件,需要先引入它: import 'package:flutter/material.dart'; Cupertino组件 Flutter也提供了一套丰富的Cupertino风格的组件,尽管目前还没有Material 组件那么丰富,但是它仍在不断的完善中。值得一提的是在Material 组件库中有一些组件可以根据实际运行平台来切换表现风格,比如MaterialPageRoute,在路由切换时,如果是Android系统,它将会使用Android系统默认的页面切换动画(从底向上);如果是iOS系统,它会使用iOS系统默认的页面切换动画(从右向左)。由于在前面的示例中还没有Cupertino组件的示例,下面我们实现一个简单的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: () {} ), ), ); } } 下面(图3-3)是在iPhoneX上页面效果截图: 关于示例 本章后面章节的示例中会使用一些布局类组件,如Scaffold、Row、Column等,这些组件将在后面“布局类组件”一章中详细介绍,读者可以先不用关注。 总结 Flutter提供了丰富的组件,在实际的开发中你可以根据需要随意使用它们,而不必担心引入过多组件库会让你的应用安装包变大,这不是web开发,dart在编译时只会编译你使用了的代码。由于Material和Cupertino都是在基础组件库之上的,所以如果我们的应用中引入了这两者之一,则不需要再引入flutter/widgets.dart了,因为它们内部已经引入过了。 "},"chapter3/state_manage.html":{"url":"chapter3/state_manage.html","title":"3.2:状态管理","keywords":"","body":"3.2 状态管理 响应式的编程框架中都会有一个永恒的主题——“状态(State)管理”,无论是在React/Vue(两者都是支持响应式编程的Web开发框架)还是Flutter中,他们讨论的问题和解决的思想都是一致的。所以,如果你对React/Vue的状态管理有了解,可以跳过本节。言归正传,我们想一个问题,StatefulWidget的状态应该被谁管理?Widget本身?父Widget?都会?还是另一个对象?答案是取决于实际情况!以下是管理状态的最常见的方法: Widget管理自己的状态。 Widget管理子Widget状态。 混合管理(父Widget和子Widget都管理状态)。 如何决定使用哪种管理方法?下面是官方给出的一些原则可以帮助你做决定: 如果状态是用户数据,如复选框的选中状态、滑块的位置,则该状态最好由父Widget管理。 如果状态是有关界面外观效果的,例如颜色、动画,那么状态最好由Widget本身来管理。 如果某一个状态是不同Widget共享的则最好由它们共同的父Widget管理。 在Widget内部管理状态封装性会好一些,而在父Widget中管理会比较灵活。有些时候,如果不确定到底该怎么管理状态,那么推荐的首选是在父widget中管理(灵活会显得更重要一些)。 接下来,我们将通过创建三个简单示例TapboxA、TapboxB和TapboxC来说明管理状态的不同方式。 这些例子功能是相似的 ——创建一个盒子,当点击它时,盒子背景会在绿色与灰色之间切换。状态 _active确定颜色:绿色为true ,灰色为false,如图3-4所示。 下面的例子将使用GestureDetector来识别点击事件,关于该GestureDetector的详细内容我们将在后面“事件处理”一章中介绍。 3.2.1 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], ), ), ); } } 3.2.2 父Widget管理子Widget的状态 对于父Widget来说,管理状态并告诉其子Widget何时更新通常是比较好的方式。 例如,IconButton是一个图标按钮,但它是一个无状态的Widget,因为我们认为父Widget需要知道该按钮是否被点击来采取相应的处理。 在以下示例中,TapboxB通过回调将其状态导出到其父组件,状态由父组件管理,因此它的父组件为StatefulWidget。但是由于TapboxB不管理任何状态,所以TapboxB为StatelessWidget。 ParentWidgetState 类: 为TapboxB 管理_active状态。 实现_handleTapboxChanged(),当盒子被点击时调用的方法。 当状态改变时,调用setState()更新UI。 TapboxB 类: 继承StatelessWidget类,因为所有状态都由其父组件处理。 当检测到点击时,它会通知父组件。 // 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], ), ), ); } } 3.2.3 混合状态管理 对于一些组件来说,混合管理的方式会非常有用。在这种情况下,组件自身管理一些内部状态,而父组件管理一些其他外部状态。 在下面TapboxC示例中,手指按下时,盒子的周围会出现一个深绿色的边框,抬起时,边框消失。点击完成后,盒子的颜色改变。 TapboxC将其_active状态导出到其父组件中,但在内部管理其_highlight状态。这个例子有两个状态对象_ParentWidgetState和_TapboxCState。 _ParentWidgetStateC类: 管理_active 状态。 实现 _handleTapboxChanged() ,当盒子被点击时调用。 当点击盒子并且_active状态改变时调用setState()更新UI。 _TapboxCState 对象: 管理_highlight 状态。 GestureDetector监听所有tap事件。当用户点下时,它添加高亮(深绿色边框);当用户释放时,会移除高亮。 当按下、抬起、或者取消点击时更新_highlight状态,调用setState()更新UI。 当点击时,将状态的改变传递给父组件。 //---------------------------- 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; @override _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); } @override 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, ), ), ); } } 另一种实现可能会将高亮状态导出到父组件,但同时保持_active状态为内部状态,但如果你要将该TapBox给其它人使用,可能没有什么意义。 开发人员只会关心该框是否处于Active状态,而不在乎高亮显示是如何管理的,所以应该让TapBox内部处理这些细节。 3.3.4 全局状态管理 当应用中需要一些跨组件(包括跨路由)的状态需要同步时,上面介绍的方法便很难胜任了。比如,我们有一个设置页,里面可以设置应用的语言,我们为了让设置实时生效,我们期望在语言状态发生改变时,APP中依赖应用语言的组件能够重新build一下,但这些依赖应用语言的组件和设置页并不在一起,所以这种情况用上面的方法很难管理。这时,正确的做法是通过一个全局状态管理器来处理这种相距较远的组件之间的通信。目前主要有两种办法: 实现一个全局的事件总线,将语言状态改变对应为一个事件,然后在APP中依赖应用语言的组件的initState 方法中订阅语言改变的事件。当用户在设置页切换语言后,我们发布语言改变事件,而订阅了此事件的组件就会收到通知,收到通知后调用setState(...)方法重新build一下自身即可。 使用一些专门用于状态管理的包,如Provider、Redux,读者可以在pub上查看其详细信息。 本书将在\"功能型组件\"一章中介绍Provider包的实现原理及用法,同时也将会在\"事件处理与通知\"一章中实现一个全局事件总线,读者有需要可以直接翻看。 "},"chapter3/text.html":{"url":"chapter3/text.html","title":"3.3:文本、字体样式","keywords":"","body":"3.3 文本及样式 3.3.1 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, ); 运行效果如图3-5所示: textAlign:文本的对齐方式;可以选择左对齐、右对齐还是居中。注意,对齐的参考系是Text widget本身。本例中虽然是指定了居中对齐,但因为Text文本内容宽度不足一行,Text的宽度和文本内容长度相等,那么这时指定对齐方式是没有意义的,只有Text宽度大于文本内容长度时指定此属性才有意义。下面我们指定一个较长的字符串: Text(\"Hello world \"*6, //字符串重复六次 textAlign: TextAlign.center, ); 运行效果如图3-6所示: ​ 字符串内容超过一行,Text宽度等于屏幕宽度,第二行文本便会居中显示。 maxLines、overflow:指定文本显示的最大行数,默认情况下,文本是自动折行的,如果指定此参数,则文本最多不会超过指定的行。如果有多余的文本,可以通过overflow来指定截断方式,默认是直接截断,本例中指定的截断方式TextOverflow.ellipsis,它会将多余文本截断后以省略符“...”表示;TextOverflow的其它截断方式请参考SDK文档。 textScaleFactor:代表文本相对于当前字体大小的缩放因子,相对于去设置文本的样式style属性的fontSize,它是调整字体大小的一个快捷方式。该属性的默认值可以通过MediaQueryData.textScaleFactor获得,如果没有MediaQuery,那么会默认值将为1.0。 3.3.2 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 ), ); 效果如图3-7所示: 此示例只展示了TextStyle的部分属性,它还有一些其它属性,属性名基本都是自解释的,在此不再赘述,读者可以查阅SDK文档。值得注意的是: height:该属性用于指定行高,但它并不是一个绝对值,而是一个因子,具体的行高等于fontSize*height。 fontFamily :由于不同平台默认支持的字体集不同,所以在手动指定字体时一定要先在不同平台测试一下。 fontSize:该属性和Text的textScaleFactor都用于控制字体大小。但是有两个主要区别: fontSize可以精确指定字体大小,而textScaleFactor只能通过缩放比例来控制。 textScaleFactor主要是用于系统字体大小设置改变时对Flutter应用字体进行全局调整,而fontSize通常用于单个文本,字体大小不会跟随系统字体大小变化。 3.3.3 TextSpan 在上面的例子中,Text的所有文本内容只能按同一种样式,如果我们需要对一个Text内容的不同部分按照不同的样式显示,这时就可以使用TextSpan,它代表文本的一个“片段”。我们看看TextSpan的定义: const TextSpan({ TextStyle style, Sting text, List children, GestureRecognizer recognizer, }); 其中style 和 text属性代表该文本片段的样式和内容。 children是一个TextSpan的数组,也就是说TextSpan可以包括其他TextSpan。而recognizer用于对该文本片段上用于手势进行识别处理。下面我们看一个效果(图3-8),然后用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,它是点击链接后的一个处理器(代码已省略),关于手势识别的更多内容我们将在后面单独介绍。 3.3.4 DefaultTextStyle 在Widget树中,文本的样式默认是可以被继承的(子类文本类组件未指定具体样式时可以使用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。示例运行效果如图3-9: 3.3.5 字体 可以在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":"3.4:按钮","keywords":"","body":"3.4 按钮 3.4.1 Material组件库中的按钮 Material 组件库中提供了多种按钮组件如RaisedButton、FlatButton、OutlineButton等,它们都是直接或间接对RawMaterialButton组件的包装定制,所以他们大多数属性都和RawMaterialButton一样。在介绍各个按钮时我们先介绍其默认外观,而按钮的外观大都可以通过属性来自定义,我们在后面统一介绍这些属性。另外,所有Material 库中的按钮都有如下相同点: 按下时都会有“水波动画”(又称“涟漪动画”,就是点击时按钮上会出现水波荡漾的动画)。 有一个onPressed属性来设置点击回调,当按钮按下时会执行该回调,如果不提供该回调则按钮会处于禁用状态,禁用状态不响应用户点击。 RaisedButton RaisedButton 即\"漂浮\"按钮,它默认带有阴影和灰色背景。按下后,阴影会变大,如图3-10所示: 使用RaisedButton非常简单,如: RaisedButton( child: Text(\"normal\"), onPressed: () {}, ); FlatButton FlatButton即扁平按钮,默认背景透明并不带阴影。按下后,会有背景色,如图3-11所示: 使用FlatButton也很简单,代码如下: FlatButton( child: Text(\"normal\"), onPressed: () {}, ) OutlineButton OutlineButton默认有一个边框,不带阴影且背景透明。按下后,边框颜色会变亮、同时出现背景和阴影(较弱),如图3-12所示: 使用OutlineButton也很简单,代码如下: OutlineButton( child: Text(\"normal\"), onPressed: () {}, ) IconButton IconButton是一个可点击的Icon,不包括文字,默认没有背景,点击后会出现背景,如图3-13所示: 代码如下: IconButton( icon: Icon(Icons.thumb_up), onPressed: () {}, ) 带图标的按钮 RaisedButton、FlatButton、OutlineButton都有一个icon 构造函数,通过它可以轻松创建带图标的按钮,如图3-14所示: 代码如下: RaisedButton.icon( icon: Icon(Icons.send), label: Text(\"发送\"), onPressed: _onPressed, ), OutlineButton.icon( icon: Icon(Icons.add), label: Text(\"添加\"), onPressed: _onPressed, ), FlatButton.icon( icon: Icon(Icons.info), label: Text(\"详情\"), onPressed: _onPressed, ), 3.4.2 自定义按钮外观 按钮外观可以通过其属性来定义,不同按钮属性大同小异,我们以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, //按钮的内容 }) 其中大多数属性名都是自解释的,我们不赘述。下面我们通过一个示例来看看如何自定义按钮。 示例 定义一个背景蓝色,两边圆角的按钮。效果如图3-15所示: 代码如下: 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,这是为了保证按钮文字颜色为浅色。 Flutter 中没有提供去除背景的设置,假若我们需要去除背景,则可以通过将背景颜色设置为全透明来实现。对应上面的代码,便是将 color: Colors.blue 替换为 color: Color(0x000000)。 细心的读者可能会发现这个按钮没有阴影(点击之后也没有),这样会显得没有质感。其实这也很容易,将上面的FlatButton换成RaisedButton就行,其它代码不用改(这里 color 也不做更改),换了之后的效果如图3-16所示: 是不是有质感了!之所以会这样,是因为RaisedButton默认有配置阴影: const RaisedButton({ ... this.elevation = 2.0, //正常状态下的阴影 this.highlightElevation = 8.0,//按下时的阴影 this.disabledElevation = 0.0,// 禁用时的阴影 ... } 值得注意的是,在Material 组件库中,我们会在很多组件中见到elevation相关的属性,它们都是用来控制阴影的,这是因为阴影在Material设计风格中是一种很重要的表现形式,以后在介绍其它组件时,便不再赘述。 如果我们想实现一个背景渐变的圆角按钮,按钮有没有相应的属性呢?答案是否定的,但是,我们可以通过其它方式来实现,我们将在后面\"自定义组件\"一章中实现。 "},"chapter3/img_and_icon.html":{"url":"chapter3/img_and_icon.html","title":"3.5:图片和Icon","keywords":"","body":"3.5 图片及ICON 3.5.1 图片 Flutter中,我们可以通过Image组件来加载并显示图片,Image的数据源可以是asset、文件、内存以及网络。 ImageProvider ImageProvider 是一个抽象类,主要定义了图片数据获取的接口load(),从不同的数据源获取图片需要实现不同的ImageProvider ,如AssetImage是实现了从Asset中加载图片的ImageProvider,而NetworkImage实现了从网络加载图片的ImageProvider。 Image Image widget有一个必选的image参数,它对应一个ImageProvider。下面我们分别演示一下如何从asset和网络加载图片。 从asset中加载图片 在工程根目录下创建一个images目录,并将图片avatar.png拷贝到该目录。 在pubspec.yaml中的flutter部分添加如下内容: assets: - images/avatar.png 注意: 由于 yaml 文件对缩进严格,所以必须严格按照每一层两个空格的方式进行缩进,此处assets前面应有两个空格。 加载该图片 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, ) 运行上面两个示例,图片加载成功后如图3-17所示: 参数 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:图片没有适应策略,会在显示空间内显示图片,如果图片比显示空间大,则显示空间只会显示图片中间部分。 一图胜万言! 我们队一个宽高相同的头像图片应用不同的fit值,效果如图3-18所示: color和 colorBlendMode:在图片绘制时可以对每一个像素进行颜色混合处理,color指定混合色,而colorBlendMode指定混合模式,下面是一个简单的示例: Image( image: AssetImage(\"images/avatar.png\"), width: 100.0, color: Colors.blue, colorBlendMode: BlendMode.difference, ); 运行效果如图3-19所示(彩色): repeat:当图片本身大小小于显示空间时,指定图片的重复规则。简单示例如下: Image( image: AssetImage(\"images/avatar.png\"), width: 100.0, height: 200.0, repeat: ImageRepeat.repeatY , ) 运行后效果如图3-20所示: 完整的示例代码如下: import 'package:flutter/material.dart'; class ImageAndIconRoute extends StatelessWidget { @override Widget build(BuildContext context) { var img=AssetImage(\"imgs/avatar.png\"); return SingleChildScrollView( child: Column( children: [ Image( image: img, height: 50.0, width: 100.0, fit: BoxFit.fill, ), Image( image: img, height: 50, width: 50.0, fit: BoxFit.contain, ), Image( image: img, width: 100.0, height: 50.0, fit: BoxFit.cover, ), Image( image: img, width: 100.0, height: 50.0, fit: BoxFit.fitWidth, ), Image( image: img, width: 100.0, height: 50.0, fit: BoxFit.fitHeight, ), Image( image: img, width: 100.0, height: 50.0, fit: BoxFit.scaleDown, ), Image( image: img, height: 50.0, width: 100.0, fit: BoxFit.none, ), Image( image: img, width: 100.0, color: Colors.blue, colorBlendMode: BlendMode.difference, fit: BoxFit.fill, ), Image( image: img, width: 100.0, height: 200.0, repeat: ImageRepeat.repeatY , ) ].map((e){ return Row( children: [ Padding( padding: EdgeInsets.all(16.0), child: SizedBox( width: 100, child: e, ), ), Text(e.fit.toString()) ], ); }).toList() ), ); } } Image缓存 Flutter框架对加载过的图片是有缓存的(内存),默认最大缓存数量是1000,最大缓存空间为100M。关于Image的详细内容及原理我们将会在后面进阶部分深入介绍。 3.5.2 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 ), ); 运行效果如图3-21所示: 通过这个示例可以看到,使用图标就像使用文本一样,但是这种方式需要我们提供每个图标的码点,这并对开发者不友好,所以,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,), ], ) 运行后效果如图3-22所示: "},"chapter3/radio_and_checkbox.html":{"url":"chapter3/radio_and_checkbox.html","title":"3.6:单选框和复选框","keywords":"","body":"3.6 单选开关和复选框 Material 组件库中提供了Material风格的单选开关Switch和复选框Checkbox,它们都是继承自StatelessWidget,所以它们本身不会保存当前选择状态,因此它们的选中状态都是由父组件来管理的。当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()通知Flutter framework重新构建UI。 属性及外观 Switch和Checkbox属性比较简单,读者可以查看API文档,它们都有一个activeColor属性,用于设置激活态的颜色。至于大小,到目前为止,Checkbox的大小是固定的,无法自定义,而Switch只能定义宽度,高度也是固定的。值得一提的是Checkbox有一个属性tristate ,表示是否为三态,其默认值为false ,这时Checkbox有两种状态即“选中”和“不选中”,对应的value值为true和false 。如果tristate值为true时,value的值会增加一个状态null,读者可以自行了解。 总结 通过Switch和Checkbox我们可以看到,虽然它们本身是与状态(是否选中)关联的,但它们却不是自己来维护状态,而是需要父组件来管理状态,然后当用户点击时,再通过事件通知给父组件,这样是合理的,因为Switch和Checkbox是否选中本就和用户数据关联,而这些用户数据也不可能是它们的私有状态。我们在自定义组件时也应该思考一下哪种状态的管理方式最为合理。 "},"chapter3/input_and_form.html":{"url":"chapter3/input_and_form.html","title":"3.7:输入框和表单","keywords":"","body":"3.7 输入框及表单 Material组件库中提供了输入框组件TextField和表单组件Form。下面我们分别介绍一下。 3.7.1 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系统下键盘样式如图3-24所示: 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, ), ], ); 运行后,效果如图3-25所示: 获取输入内容 获取输入内容有两种方式: 定义两个变量,用于保存用户名和密码,然后在onChange触发时,各自保存一下输入内容。 通过controller直接获取。 第一种方式比较简单,不在举例,我们来重点看一下第二种方式,我们以用户名输入框举例: 定义一个controller: //定义一个controller TextEditingController _unameController = 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 = TextEditingController(); 设置默认值,并从第三个字符开始选中后面的字符 _selectionController.text=\"hello world!\"; _selectionController.selection=TextSelection( baseOffset: 2, extentOffset: _selectionController.text.length ); 设置controller: TextField( controller: _selectionController, ) 运行效果如图3-26所示: 控制焦点 焦点可以通过FocusNode和FocusScopeNode来控制,默认情况下,焦点由FocusScope来管理,它代表焦点控制范围,可以在这个范围内可以通过FocusScopeNode在输入框之间移动焦点、设置默认焦点等。我们可以通过FocusScope.of(context) 来获取Widget树中默认的FocusScopeNode。下面看一个示例,在此示例中创建两个TextField,第一个自动获取焦点,然后创建两个按钮: 点击第一个按钮可以将焦点从第一个TextField挪到第二个TextField。 点击第二个按钮可以关闭键盘。 我们要实现的效果如图3-27所示: 代码如下: 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, ) ], ) ) 运行效果如图3-28所示: 我们成功的自定义了下划线颜色和提问文字样式,细心的读者可能已经发现,通过这种方式自定义后,输入框在获取焦点时,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)) ), ) 运行效果: 通过这种组件组合的方式,也可以定义背景圆角等。一般来说,优先通过decoration来自定义样式,如果decoration实现不了,再用widget组合的方式。 思考题:在这个示例中,下划线颜色是固定的,所以获得焦点后颜色仍然为灰色,如何实现点击后下滑线也变色呢? 3.7.2 表单Form 实际业务中,在正式向服务器提交数据前,都会对各个输入框数据进行合法性校验,但是对每一个TextField都分别进行校验将会是一件很麻烦的事。还有,如果用户想清除一组TextField的内容,除了一个一个清除有没有什么更好的办法呢?为此,Flutter提供了一个Form 组件,它可以对输入框进行分组,然后进行一些统一操作,如输入内容校验、输入框重置以及输入内容保存。 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组件,它继承自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 Scaffold( appBar: AppBar( title:Text(\"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()){ //验证通过提交数据 } }, ), ), ], ), ) ], ), ), ), ); } } 运行后效果如图3-29所示: 注意,登录按钮的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是否正确。 "},"chapter3/progress.html":{"url":"chapter3/progress.html","title":"3.8:进度指示器","keywords":"","body":"3.8 进度指示器 Material 组件库中提供了两种进度指示器:LinearProgressIndicator和CircularProgressIndicator,它们都可以同时用于精确的进度指示和模糊的进度指示。精确进度通常用于任务进度可以计算和预估的情况,比如文件下载;而模糊进度则用户任务进度无法准确获得的情况,如下拉刷新,数据提交等。 LinearProgressIndicator LinearProgressIndicator是一个线性、条状的进度条,定义如下: LinearProgressIndicator({ double value, Color backgroundColor, Animation valueColor, ... }) value:value表示当前的进度,取值范围为[0,1];如果value为null时则指示器会执行一个循环动画(模糊进度);当value不为null时,指示器为一个具体进度的进度条。 backgroundColor:指示器的背景色。 valueColor: 指示器的进度条颜色;值得注意的是,该值类型是Animation,这允许我们对进度条的颜色也可以指定动画。如果我们不需要对进度条颜色执行动画,换言之,我们想对进度条应用一种固定的颜色,此时我们可以通过AlwaysStoppedAnimation来指定。 示例 // 模糊进度条(会执行一个动画) LinearProgressIndicator( backgroundColor: Colors.grey[200], valueColor: AlwaysStoppedAnimation(Colors.blue), ), //进度条显示50% LinearProgressIndicator( backgroundColor: Colors.grey[200], valueColor: AlwaysStoppedAnimation(Colors.blue), value: .5, ) 运行效果如图3-30所示: 第一个进度条在执行循环动画:蓝色条一直在移动,而第二个进度条是静止的,停在50%的位置。 CircularProgressIndicator CircularProgressIndicator是一个圆形进度条,定义如下: CircularProgressIndicator({ double value, Color backgroundColor, Animation valueColor, this.strokeWidth = 4.0, ... }) 前三个参数和LinearProgressIndicator相同,不再赘述。strokeWidth 表示圆形进度条的粗细。示例如下: // 模糊进度条(会执行一个旋转动画) CircularProgressIndicator( backgroundColor: Colors.grey[200], valueColor: AlwaysStoppedAnimation(Colors.blue), ), //进度条显示50%,会显示一个半圆 CircularProgressIndicator( backgroundColor: Colors.grey[200], valueColor: AlwaysStoppedAnimation(Colors.blue), value: .5, ), 运行效果如图3-31所示: 第一个进度条会执行旋转动画,而第二个进度条是静止的,它停在50%的位置。 自定义尺寸 我们可以发现LinearProgressIndicator和CircularProgressIndicator,并没有提供设置圆形进度条尺寸的参数;如果我们希望LinearProgressIndicator的现细一些,或者希望CircularProgressIndicator的圆大一些该怎么做? 其实LinearProgressIndicator和CircularProgressIndicator都是取父容器的尺寸作为绘制的边界的。知道了这点,我们便可以通过尺寸限制类Widget,如ConstrainedBox、SizedBox (我们将在后面容器类组件一章中介绍)来指定尺寸,如: // 线性进度条高度指定为3 SizedBox( height: 3, child: LinearProgressIndicator( backgroundColor: Colors.grey[200], valueColor: AlwaysStoppedAnimation(Colors.blue), value: .5, ), ), // 圆形进度条直径指定为100 SizedBox( height: 100, width: 100, child: CircularProgressIndicator( backgroundColor: Colors.grey[200], valueColor: AlwaysStoppedAnimation(Colors.blue), value: .7, ), ), 运行效果如图3-32所示: 注意,如果CircularProgressIndicator显示空间的宽高不同,则会显示为椭圆。如: // 宽高不等 SizedBox( height: 100, width: 130, child: CircularProgressIndicator( backgroundColor: Colors.grey[200], valueColor: AlwaysStoppedAnimation(Colors.blue), value: .7, ), ), 运行效果如图3-33所示: 进度色动画 前面说过可以通过valueColor对进度条颜色做动画,关于动画我们将在后面专门的章节详细介绍,这里先给出一个例子,读者在了解了Flutter动画一章后再回过头来看。 我们实现一个进度条在3秒内从灰色变成蓝色的动画: import 'package:flutter/material.dart'; class ProgressRoute extends StatefulWidget { @override _ProgressRouteState createState() => _ProgressRouteState(); } class _ProgressRouteState extends State with SingleTickerProviderStateMixin { AnimationController _animationController; @override void initState() { //动画执行时间3秒 _animationController = new AnimationController(vsync: this, duration: Duration(seconds: 3)); _animationController.forward(); _animationController.addListener(() => setState(() => {})); super.initState(); } @override void dispose() { _animationController.dispose(); super.dispose(); } @override Widget build(BuildContext context) { return SingleChildScrollView( child: Column( children: [ Padding( padding: EdgeInsets.all(16), child: LinearProgressIndicator( backgroundColor: Colors.grey[200], valueColor: ColorTween(begin: Colors.grey, end: Colors.blue) .animate(_animationController), // 从灰色变成蓝色 value: _animationController.value, ), ); ], ), ); } } 自定义进度指示器样式 定制进度指示器风格样式,可以通过CustomPainter Widget 来自定义绘制逻辑,实际上LinearProgressIndicator和CircularProgressIndicator也正是通过CustomPainter来实现外观绘制的。关于CustomPainter,我们将在后面“自定义Widget”一章中详细介绍。 flutter_spinkit 包提供了多种风格的模糊进度指示器,读者若是感兴趣,可以参考。 "},"chapter4/":{"url":"chapter4/","title":"第四章:布局类组件","keywords":"","body":"本章目录 布局类Widgets简介 线性布局Row、Column 弹性布局Flex 流式布局Wrap、Flow 层叠布局Stack、Positioned "},"chapter4/intro.html":{"url":"chapter4/intro.html","title":"4.1:布局类组件简介","keywords":"","body":"4.1 布局类组件简介 布局类组件都会包含一个或多个子组件,不同的布局类组件对子组件排版(layout)方式不同。我们在前面说过Element树才是最终的绘制树,Element树是通过Widget树来创建的(通过Widget.createElement()),嗯Widget其实就是Element的配置数据。在Flutter中,根据Widget是否需要包含子节点将Widget分为了三类,分别对应三种Element,如下表: Widget 对应的Element 用途 LeafRenderObjectWidget LeafRenderObjectElement 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)。 布局类组件就是指直接或间接继承(包含)MultiChildRenderObjectWidget的Widget,它们一般都会有一个children属性用于接收子Widget。我们看一下继承关系 Widget > RenderObjectWidget > (Leaf/SingleChild/MultiChild)RenderObjectWidget 。 RenderObjectWidget类中定义了创建、更新RenderObject的方法,子类必须实现他们,关于RenderObject我们现在只需要知道它是最终布局、渲染UI界面的对象即可,也就是说,对于布局类组件来说,其布局算法都是通过对应的RenderObject对象来实现的,所以读者如果对接下来介绍的某个布局类组件的原理感兴趣,可以查看其对应的RenderObject的实现,比如Stack(层叠布局)对应的RenderObject对象就是RenderStack,而层叠布局的实现就在RenderStack中。 在本章中,为了让读者对布局类Widget有个快速的认识,所以我们并不会深入到RenderObject的细节中去。在学习本章时,读者的重点是掌握不同布局组件的布局特点,具体原理和细节等我们对Flutter整体入门后,感兴趣的话再去研究。 "},"chapter4/row_and_column.html":{"url":"chapter4/row_and_column.html","title":"4.2:线性布局(Row、Column)","keywords":"","body":"4.2 线性布局(Row和Column) 所谓线性布局,即指沿水平或垂直方向排布子组件。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:表示水平方向子组件的布局顺序(是从左往右还是从右往左),默认为系统当前Locale环境的文本方向(如中文、英语都是从左往右,而阿拉伯语是从右往左)。 mainAxisSize:表示Row在主轴(水平)方向占用的空间,默认是MainAxisSize.max,表示尽可能多的占用水平方向的空间,此时无论子widgets实际占用多少水平空间,Row的宽度始终等于水平方向的最大宽度;而MainAxisSize.min表示尽可能少的占用水平空间,当子组件没有占满水平剩余空间,则Row的实际宽度等于所有子组件占用的的水平空间; mainAxisAlignment:表示子组件在Row所占用的水平空间内对齐方式,如果mainAxisSize值为MainAxisSize.min,则此属性无意义,因为子组件的宽度等于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:表示子组件在纵轴方向的对齐方式,Row的高度等于子组件中最高的子元素高度,它的取值和MainAxisAlignment一样(包含start、end、 center三个值),不同的是crossAxisAlignment的参考系是verticalDirection,即verticalDirection值为VerticalDirection.down时crossAxisAlignment.start指顶部对齐,verticalDirection值为VerticalDirection.up时,crossAxisAlignment.start指底部对齐;而crossAxisAlignment.end和crossAxisAlignment.start正好相反; children :子组件数组。 示例 请阅读下面代码,先想象一下运行的结果: 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 \"), ], ), ], ); 实际运行结果如图4-1所示: 解释:第一个Row很简单,默认为居中对齐;第二个Row,由于mainAxisSize值为MainAxisSize.min,Row的宽度等于两个Text的宽度和,所以对齐是无意义的,所以会从左往右显示;第三个Row设置textDirection值为TextDirection.rtl,所以子组件会从右向左的顺序排列,而此时MainAxisAlignment.end表示左对齐,所以最终显示结果就是图中第三行的样子;第四个Row测试的是纵轴的对齐方式,由于两个子Text字体不一样,所以其高度也不同,我们指定了verticalDirection值为VerticalDirection.up,即从低向顶排列,而此时crossAxisAlignment值为CrossAxisAlignment.start表示底对齐。 Column Column可以在垂直方向排列其子组件。参数和Row一样,不同的是布局方向为垂直,主轴纵轴正好相反,读者可类比Row来理解,下面看一个例子: import 'package:flutter/material.dart'; class CenterColumnRoute extends StatelessWidget { @override Widget build(BuildContext context) { return Column( crossAxisAlignment: CrossAxisAlignment.center, children: [ Text(\"hi\"), Text(\"world\"), ], ); } } 运行效果如图4-2所示: 解释: 由于我们没有指定Column的mainAxisSize,所以使用默认值MainAxisSize.max,则Column会在垂直方向占用尽可能多的空间,此例中为屏幕高度。 由于我们指定了 crossAxisAlignment 属性为CrossAxisAlignment.center,那么子项在Column纵轴方向(此时为水平方向)会居中对齐。注意,在水平方向对齐是有边界的,总宽度为Column占用空间的实际宽度,而实际的宽度取决于子项中宽度最大的Widget。在本例中,Column有两个子Widget,而显示“world”的Text宽度最大,所以Column的实际宽度则为Text(\"world\") 的宽度,所以居中对齐后Text(\"hi\")会显示在Text(\"world\")的中间部分。 实际上,Row和Column都只会在主轴方向占用尽可能大的空间,而纵轴的长度则取决于他们最大子元素的长度。如果我们想让本例中的两个文本控件在整个手机屏幕中间对齐,我们有两种方法: 将Column的宽度指定为屏幕宽度;这很简单,我们可以通过ConstrainedBox或SizedBox(我们将在后面章节中专门介绍着两个Widget)来强制更改宽度限制,例如: ConstrainedBox( constraints: BoxConstraints(minWidth: double.infinity), child: Column( crossAxisAlignment: CrossAxisAlignment.center, children: [ Text(\"hi\"), Text(\"world\"), ], ), ); 将minWidth设为double.infinity,可以使宽度占用尽可能多的空间。 使用Center Widget;我们将在后面章节中介绍。 特殊情况 如果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 \"), ], ), ) ], ), ), ); 运行效果如图4-3所示: 如果要让里面的Column占满外部Column,可以使用Expanded 组件: Expanded( child: Container( color: Colors.red, child: Column( mainAxisAlignment: MainAxisAlignment.center, //垂直方向居中对齐 children: [ Text(\"hello world \"), Text(\"I am Jack \"), ], ), ), ) 运行效果如图4-4所示: 我们将在介绍弹性布局时详细介绍Expanded。 "},"chapter4/flex.html":{"url":"chapter4/flex.html","title":"4.3:弹性布局(Flex)","keywords":"","body":"4.3 弹性布局(Flex) 弹性布局允许子组件按照一定比例来分配父容器空间。弹性布局的概念在其它UI系统中也都存在,如H5中的弹性盒子布局,Android中的FlexboxLayout等。Flutter中的弹性布局主要通过Flex和Expanded来配合实现。 Flex Flex组件可以沿着水平或垂直方向排列子组件,如果你知道主轴方向,使用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子组件所占用的空间。 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, ), ), ], ), ), ), ], ); } } 运行效果如图4-5所示: 示例中的Spacer的功能是占用指定比例的空间,实际上它只是Expanded的一个包装类,Spacer的源码如下: class Spacer extends StatelessWidget { const Spacer({Key key, this.flex = 1}) : assert(flex != null), assert(flex > 0), super(key: key); final int flex; @override Widget build(BuildContext context) { return Expanded( flex: flex, child: const SizedBox.shrink(), ); } } 小结 弹性布局比较简单,唯一需要注意的就是Row、Column以及Flex的关系。 "},"chapter4/wrap_and_flow.html":{"url":"chapter4/wrap_and_flow.html","title":"4.4:流式布局(Wrap、Flow)","keywords":"","body":"4.4 流式布局 在介绍Row和Colum时,如果子widget超出屏幕范围,则会报溢出错误,如: Row( children: [ Text(\"xxx\"*100) ], ); 运行效果如图4-6所示: 可以看到,右边溢出部分报错。这是因为Row默认只有一行,如果超出屏幕不会折行。我们把超出屏幕显示范围会自动折行的布局称为流式布局。Flutter中通过Wrap和Flow来支持流式布局,将上例中的Row换成Wrap后溢出部分则会自动折行,下面我们分别介绍Wrap和Flow. 4.4.1 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'), ), ], ) 运行效果如图4-7所示: 4.4.2 Flow 我们一般很少会使用Flow,因为其过于复杂,需要自己实现子widget的位置转换,在很多场景下首先要考虑的是Wrap是否满足需求。Flow主要用于一些需要自定义布局策略或性能要求较高(如动画中)的场景。Flow有如下优点: 性能好;Flow是一个对子组件尺寸以及位置调整非常高效的控件,Flow用转换矩阵在对子组件进行位置调整的时候进行了优化:在Flow定位过后,如果子组件的尺寸或者位置发生了变化,在FlowDelegate中的paintChildren()方法中调用context.paintChild 进行重绘,而context.paintChild在重绘时使用了转换矩阵,并没有实际调整组件位置。 灵活;由于我们需要自己实现FlowDelegate的paintChildren()方法,所以我们需要自己计算每一个组件的位置,因此,可以自定义布局策略。 缺点: 使用复杂。 不能自适应子组件大小,必须通过指定父容器大小或实现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 运行效果见图4-8: 可以看到我们主要的任务就是实现paintChildren,它的主要任务是确定每个子widget位置。由于Flow不能自适应子widget的大小,我们通过在getSize返回一个固定大小来指定Flow的大小。 "},"chapter4/stack.html":{"url":"chapter4/stack.html","title":"4.5:层叠布局(Stack、Positioned)","keywords":"","body":"4.5 层叠布局 Stack、Positioned 层叠布局和Web中的绝对定位、Android中的Frame布局是相似的,子组件可以根据距父容器四个角的位置来确定自身的位置。绝对定位允许子组件堆叠起来(按照代码中声明的顺序)。Flutter中使用Stack和Positioned这两个组件来配合实现绝对定位。Stack允许子组件堆叠,而Positioned用于根据Stack的四个角来确定子组件的位置。 Stack Stack({ this.alignment = AlignmentDirectional.topStart, this.textDirection, this.fit = StackFit.loose, this.overflow = Overflow.clip, List children = const [], }) alignment:此参数决定如何去对齐没有定位(没有使用Positioned)或部分定位的子组件。所谓部分定位,在这里特指没有在某一个轴上定位:left、right为横轴,top、bottom为纵轴,只要包含某个轴上的一个定位属性就算在该轴上有定位。 textDirection:和Row、Wrap的textDirection功能一样,都用于确定alignment对齐的参考系,即:textDirection的值为TextDirection.ltr,则alignment的start代表左,end代表右,即从左往右的顺序;textDirection的值为TextDirection.rtl,则alignment的start代表右,end代表左,即从右往左的顺序。 fit:此参数用于确定没有定位的子组件如何去适应Stack的大小。StackFit.loose表示使用子组件的大小,StackFit.expand表示扩伸到Stack的大小。 overflow:此属性决定如何显示超出Stack显示空间的子组件;值为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用于指定需要定位元素的宽度和高度。注意,Positioned的width、height 和其它地方的意义稍微有点区别,此处用于配合left、top 、right、 bottom来定位组件,举个例子,在水平方向时,你只能指定left、right、width三个属性中的两个,如指定left和width后,right会自动算出(left+width),如果同时指定三个属性则会报错,垂直方向同理。 示例 在下面的例子中,我们通过对几个Text组件的定位来演示Stack和Positioned的特性: //通过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\"), ) ], ), ); 运行效果见图4-9: 由于第一个子文本组件Text(\"Hello world\")没有指定定位,并且alignment值为Alignment.center,所以它会居中显示。第二个子文本组件Text(\"I am Jack\")只指定了水平方向的定位(left),所以属于部分定位,即垂直方向上没有定位,那么它在垂直方向的对齐方式则会按照alignment指定的对齐方式对齐,即垂直方向居中。对于第三个子文本组件Text(\"Your friend\"),和第二个Text原理一样,只不过是水平方向没有定位,则水平方向居中。 我们给上例中的Stack指定一个fit属性,然后将三个子文本组件的顺序调整一下: 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\"), ) ], ), 显示效果如图4-10所示: 可以看到,由于第二个子文本组件没有定位,所以fit属性会对它起作用,就会占满Stack。由于Stack子元素是堆叠的,所以第一个子文本组件被第二个遮住了,而第三个在最上层,所以可以正常显示。 "},"chapter4/alignment.html":{"url":"chapter4/alignment.html","title":"4.6:对齐与相对定位(Align)","keywords":"","body":"4.6 对齐与相对定位(Align) 在上一节中我们讲过通过Stack和Positioned,我们可以指定一个或多个子元素相对于父元素各个边的精确偏移,并且可以重叠。但如果我们只想简单的调整一个子元素在父元素中的位置的话,使用Align组件会更简单一些。 4.6.1 Align Align 组件可以调整子组件的位置,并且可以根据子组件的宽高来确定自身的的宽高,定义如下: Align({ Key key, this.alignment = Alignment.center, this.widthFactor, this.heightFactor, Widget child, }) alignment : 需要一个AlignmentGeometry类型的值,表示子组件在父组件中的起始位置。AlignmentGeometry 是一个抽象类,它有两个常用的子类:Alignment和 FractionalOffset,我们将在下面的示例中详细介绍。 widthFactor和heightFactor是用于确定Align 组件本身宽高的属性;它们是两个缩放因子,会分别乘以子元素的宽、高,最终的结果就是Align 组件的宽高。 示例 我们先来看一个简单的例子: Container( height: 120.0, width: 120.0, color: Colors.blue[50], child: Align( alignment: Alignment.topRight, child: FlutterLogo( size: 60, ), ), ) 运行效果如图4-11所示: FlutterLogo 是Flutter SDK提供的一个组件,内容就是Flutter的商标。在上面的例子中,我们显式指定了Container的宽、高都为120。如果我们不显式指定宽高,而通过同时指定widthFactor和heightFactor 为2也是可以达到同样的效果: Align( widthFactor: 2, heightFactor: 2, alignment: Alignment.topRight, child: FlutterLogo( size: 60, ), ), 因为FlutterLogo的宽高为60,则Align的最终宽高都为2*60=120。 另外,我们通过Alignment.topRight将FlutterLogo定位在Container的右上角。那Alignment.topRight是什么呢?通过源码我们可以看到其定义如下: //右上角 static const Alignment topRight = Alignment(1.0, -1.0); 可以看到它只是Alignment的一个实例,下面我们介绍一下Alignment。 Alignment Alignment继承自AlignmentGeometry,表示矩形内的一个点,他有两个属性x、y,分别表示在水平和垂直方向的偏移,Alignment定义如下: Alignment(this.x, this.y) Alignment Widget会以矩形的中心点作为坐标原点,即Alignment(0.0, 0.0) 。x、y的值从-1到1分别代表矩形左边到右边的距离和顶部到底边的距离,因此2个水平(或垂直)单位则等于矩形的宽(或高),如Alignment(-1.0, -1.0) 代表矩形的左侧顶点,而Alignment(1.0, 1.0)代表右侧底部终点,而Alignment(1.0, -1.0) 则正是右侧顶点,即Alignment.topRight。为了使用方便,矩形的原点、四个顶点,以及四条边的终点在Alignment类中都已经定义为了静态常量。 Alignment可以通过其坐标转换公式将其坐标转为子元素的具体偏移坐标: (Alignment.x*childWidth/2+childWidth/2, Alignment.x*childHeight+childHeight/2) 其中childWidth为子元素的宽度,childHeight为子元素高度。 现在我们再看看上面的示例,我们将Alignment(1.0, -1.0)带入上面公式,可得FlutterLogo的实际偏移坐标正是(60,0)。下面再看一个例子: Align( widthFactor: 2, heightFactor: 2, alignment: Alignment(2,0.0), child: FlutterLogo( size: 60, ), ) 我们可以先想象一下运行效果:将Alignment(2,0.0)带入上述坐标转换公式,可以得到FlutterLogo的实际偏移坐标为(90,30)。实际运行如图4-12所示: FractionalOffset FractionalOffset 继承自 Alignment,它和 Alignment唯一的区别就是坐标原点不同!FractionalOffset 的坐标原点为矩形的左侧顶点,这和布局系统的一致,所以理解起来会比较容易。FractionalOffset的坐标转换公式为: 实际偏移 = (FractionalOffse.x * childWidth, FractionalOffse.y * childHeight) 下面看一个例子: Container( height: 120.0, width: 120.0, color: Colors.blue[50], child: Align( alignment: FractionalOffset(0.2, 0.6), child: FlutterLogo( size: 60, ), ), ) 实际运行效果如图4-13所示下: 我们将FractionalOffset(0.2, 0.6)带入坐标转换公式得FlutterLogo实际偏移为(12,36),和实际运行效果吻合。 4.6.2 Align和Stack对比 可以看到,Align和Stack/Positioned都可以用于指定子元素相对于父元素的偏移,但它们还是有两个主要区别: 定位参考系统不同;Stack/Positioned定位的的参考系可以是父容器矩形的四个顶点;而Align则需要先通过alignment 参数来确定坐标原点,不同的alignment会对应不同原点,最终的偏移是需要通过alignment的转换公式来计算出。 Stack可以有多个子元素,并且子元素可以堆叠,而Align只能有一个子元素,不存在堆叠。 4.6.3 Center组件 我们在前面章节的例子中已经使用过Center组件来居中子元素了,现在我们正式来介绍一下它。通过查找SDK源码,我们看到Center组件定义如下: class Center extends Align { const Center({ Key key, double widthFactor, double heightFactor, Widget child }) : super(key: key, widthFactor: widthFactor, heightFactor: heightFactor, child: child); } 可以看到Center继承自Align,它比Align只少了一个alignment 参数;由于Align的构造函数中alignment 值为Alignment.center,所以,我们可以认为Center组件其实是对齐方式确定(Alignment.center)了的Align。 总结 本节重点介绍了Align组件及两种偏移类Alignment 和FractionalOffset,读者需要理解这两种偏移类的区别及各自的坐标转化公式。另外,在此建议读者在需要制定一些精确的偏移时应优先使用FractionalOffset,因为它的坐标原点和布局系统相同,能更容易算出实际偏移。 在后面,我们又介绍了Align组件和Stack/Positioned、Center的关系,读者可以对比理解。 还有,熟悉Web开发的同学可能会发现Align组件的特性和Web开发中相对定位(position: relative)非常像,是的!在大多数时候,我们可以直接使用Align组件来实现Web中相对定位的效果,读者可以类比记忆。 "},"chapter5/":{"url":"chapter5/","title":"第五章:容器类组件","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":"5.1:填充(Padding)","keywords":"","body":"5.1 填充(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。 示例 下面的示例主要展示了EdgeInsets的不同用法,比较简单,源码如下: 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\"), ) ], ), ); } } 运行效果如图5-1所示: "},"chapter5/constrainedbox_and_sizebox.html":{"url":"chapter5/constrainedbox_and_sizebox.html","title":"5.2:尺寸限制类容器(ConstrainedBox等)","keywords":"","body":"5.2 尺寸限制类容器 尺寸限制类容器用于限制容器大小,Flutter中提供了多种这样的容器,如ConstrainedBox、SizedBox、UnconstrainedBox、AspectRatio等,本节将介绍一些常用的。 5.2.1 ConstrainedBox ConstrainedBox用于对子组件添加额外的约束。例如,如果你想让子组件的最小高度是80像素,你可以使用const BoxConstraints(minHeight: 80.0)作为子组件的约束。 示例 我们先定义一个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 ), ) 运行效果如图5-2所示: 可以看到,我们虽然将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文档。 5.2.2 SizedBox SizedBox用于给子元素指定固定的宽高,如: SizedBox( width: 80.0, height: 80.0, child: redBox ) 运行效果如图5-3所示: 实际上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: ..., ); } 5.2.3 多重限制 如果某一个组件有多个父级ConstrainedBox限制,那么最终会是哪个生效?我们看一个例子: ConstrainedBox( constraints: BoxConstraints(minWidth: 60.0, minHeight: 60.0), //父 child: ConstrainedBox( constraints: BoxConstraints(minWidth: 90.0, minHeight: 20.0),//子 child: redBox, ) ) 上面我们有父子两个ConstrainedBox,他们的限制条件不同,运行后效果如图5-4所示: 最终显示效果是宽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, ) ) 运行效果如图5-5所示: 最终的显示效果仍然是90,高60,效果相同,但意义不同,因为此时minWidth生效的是父ConstrainedBox,而minHeight是子ConstrainedBox生效。 通过上面示例,我们发现有多重限制时,对于minWidth和minHeight来说,是取父子中相应数值较大的。实际上,只有这样才能保证父限制与子限制不冲突。 思考题:对于maxWidth和maxHeight,多重限制的策略是什么样的呢? 5.2.4 UnconstrainedBox UnconstrainedBox不会对子组件产生任何限制,它允许其子组件按照其本身大小绘制。一般情况下,我们会很少直接使用此组件,但在\"去除\"多重限制的时候也许会有帮助,我们看下下面的代码: 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)仍然是生效的,只不过它不影响最终子元素redBox的大小,但仍然还是占有相应的空间,可以认为此时的父ConstrainedBox是作用于子UnconstrainedBox上,而redBox只受子ConstrainedBox限制,这一点请读者务必注意。 那么有什么方法可以彻底去除父ConstrainedBox的限制吗?答案是否定的!所以在此提示读者,在定义一个通用的组件时,如果要对子组件指定限制,那么一定要注意,因为一旦指定限制条件,子组件如果要进行相关自定义大小时将可能非常困难,因为子组件在不更改父组件的代码的情况下无法彻底去除其限制条件。 在实际开发中,当我们发现已经使用SizedBox或ConstrainedBox给子元素指定了宽高,但是仍然没有效果时,几乎可以断定:已经有父元素已经设置了限制!举个例子,如Material组件库中的AppBar(导航栏)的右侧菜单中,我们使用SizedBox指定了loading按钮的大小,代码如下: AppBar( title: Text(title), actions: [ SizedBox( width: 20, height: 20, child: CircularProgressIndicator( strokeWidth: 3, valueColor: AlwaysStoppedAnimation(Colors.white70), ), ) ], ) 上面代码运行后,效果如图5-7所示: 我们会发现右侧loading按钮大小并没有发生变化!这正是因为AppBar中已经指定了actions按钮的限制条件,所以我们要自定义loading按钮大小,就必须通过UnconstrainedBox来“去除”父元素的限制,代码如下: AppBar( title: Text(title), actions: [ UnconstrainedBox( child: SizedBox( width: 20, height: 20, child: CircularProgressIndicator( strokeWidth: 3, valueColor: AlwaysStoppedAnimation(Colors.white70), ), ), ) ], ) 运行后效果如图5-8所示: 生效了! 5.2.4 其它尺寸限制类容器 除了上面介绍的这些常用的尺寸限制类容器外,还有一些其他的尺寸限制类容器,比如AspectRatio,它可以指定子组件的长宽比、LimitedBox 用于指定最大宽高、FractionallySizedBox 可以根据父容器宽高的百分比来设置子组件宽高等,由于这些容器使用起来都比较简单,我们便不再赘述,读者可以自行了解。 "},"chapter5/decoratedbox.html":{"url":"chapter5/decoratedbox.html","title":"5.3:装饰容器(DecoratedBox)","keywords":"","body":"5.3 装饰容器DecoratedBox DecoratedBox可以在其子组件绘制前(或后)绘制一些装饰(Decoration),如背景、边框、渐变等。DecoratedBox定义如下: const DecoratedBox({ Decoration decoration, DecorationPosition position = DecorationPosition.background, Widget child }) decoration:代表将要绘制的装饰,它的类型为Decoration。Decoration是一个抽象类,它定义了一个接口 createBoxPainter(),子类的主要职责是需要通过实现它来创建一个画笔,该画笔用于绘制装饰。 position:此属性决定在哪里绘制Decoration,它接收DecorationPosition的枚举类型,该枚举类有两个值: background:在子组件之后绘制,即背景装饰。 foreground:在子组件之上绘制,即前景。 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),), ) ) 运行后效果如图5-9所示: 怎么样,通过BoxDecoration我们实现了一个渐变按钮的外观,但此示例还不是一个标准的按钮,因为它还不能响应点击事件,我们将在后面“自定义组件”一章中实现一个完整功能的GradientButton。另外,上面的例子中使用了LinearGradient类,它用于定义线性渐变的类,Flutter中还提供了其它渐变配置类,如RadialGradient、SweepGradient,读者若有需要可以自行查看API文档。 "},"chapter5/transform.html":{"url":"chapter5/transform.html","title":"5.4:变换(Transform)","keywords":"","body":"5.4 变换(Transform) Transform可以在其子组件绘制时对其应用一些矩阵变换来实现一些特效。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!'), ), ), ); 运行效果如图5-10所示: 关于矩阵变换的相关内容属于线性代数范畴,本书不做讨论,读者有兴趣可以自行了解。本书中,我们把焦点放在Flutter中一些常见的变换效果上。另外,由于矩阵变化时发生在绘制时,而无需重新布局和构建等过程,所以性能很好。 平移 Transform.translate接收一个offset参数,可以在绘制时沿x、y轴对子组件平移指定的距离。 DecoratedBox( decoration:BoxDecoration(color: Colors.red), //默认原点为左上角,左移20像素,向上平移5像素 child: Transform.translate( offset: Offset(-20.0, -5.0), child: Text(\"Hello world\"), ), ) 效果如图5-11所示: 旋转 Transform.rotate可以对子组件进行旋转变换,如: 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; 效果如图5-12所示: 缩放 Transform.scale可以对子组件进行缩小或放大,如: DecoratedBox( decoration:BoxDecoration(color: Colors.red), child: Transform.scale( scale: 1.5, //放大到1.5倍 child: Text(\"Hello world\") ) ); 效果如图5-13所示: 注意 Transform的变换是应用在绘制阶段,而并不是应用在布局(layout)阶段,所以无论对子组件应用何种变化,其占用空间的大小和在屏幕上的位置都是固定不变的,因为这些是在布局阶段就确定的。下面我们具体说明: 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),) ], ) 运行效果如图5-14所示: 由于第一个Text应用变换(放大)后,其在绘制时会放大,但其占用的空间依然为红色部分,所以第二个Text会紧挨着红色部分,最终就会出现文字重合。 由于矩阵变化只会作用在绘制阶段,所以在某些场景下,在UI需要变化时,可以直接通过矩阵变化来达到视觉上的UI改变,而不需要去重新触发build流程,这样会节省layout的开销,所以性能会比较好。如之前介绍的Flow组件,它内部就是用矩阵变换来更新UI,除此之外,Flutter的动画组件中也大量使用了Transform以提高性能。 思考题:使用Transform对其子组件先进行平移然后再旋转和先旋转再平移,两者最终的效果一样吗?为什么? RotatedBox RotatedBox和Transform.rotate功能相似,它们都可以对子组件进行旋转变换,但是有一点不同:RotatedBox的变换是在layout阶段,会影响在子组件的位置和大小。我们将上面介绍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),) ], ), 效果如图5-15所示: 由于RotatedBox是作用于layout阶段,所以子组件会旋转90度(而不只是绘制的内容),decoration会作用到子组件所占用的实际空间上,所以最终就是上图的效果,读者可以和前面Transform.rotate示例对比理解。 "},"chapter5/container.html":{"url":"chapter5/container.html","title":"5.5:Container容器","keywords":"","body":"5.5 Container 我们在前面的章节示例中多次用到过Container组件,本节我们就详细介绍一下Container组件。Container是一个组合类容器,它本身不对应具体的RenderObject,它是DecoratedBox、ConstrainedBox、Transform、Padding、Align等组件组合的一个多功能容器,所以我们只需通过一个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, }) Container的大多数属性在介绍其它容器时都已经介绍过了,不再赘述,但有两点需要说明: 容器的大小可以通过width、height属性来指定,也可以通过constraints来指定;如果它们同时存在时,width、height优先。实际上Container内部会根据width、height来生成一个constraints。 color和decoration是互斥的,如果同时设置它们则会报错!实际上,当指定color时,Container内会自动创建一个decoration。 实例 我们通过Container来实现如图5-16所示的卡片: 实现代码如下: 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具备多种组件的功能,通过查看Container源码,我们会很容易发现它正是前面我们介绍过的多种组件组合而成。在Flutter中,Container组件也正是组合优先于继承的实例。 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 组件来实现的,上面的示例代码实际上等价于: ... 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":"5.6:Scaffold、TabBar、底部导航","keywords":"","body":"5.6 Scaffold、TabBar、底部导航 Material组件库提供了丰富多样的组件,本节介绍一些常用的组件,其余的读者可以自行查看文档或Flutter Gallery中Material组件部分的示例。 Flutter Gallery是Flutter官方提供的Flutter Demo,源码位于flutter源码中的examples目录下,笔者强烈建议用户将Flutter Gallery示例跑起来,它是一个很全面的Flutter示例应用,是非常好的参考Demo,也是笔者学习Flutter的第一手资料。 5.6.1 Scaffold 一个完整的数路由页可能会包含导航栏、抽屉菜单(Drawer)以及底部Tab导航菜单等。如果每个路由页面都需要开发者自己手动去实现这些,这会是一件非常麻烦且无聊的事。幸运的是,Flutter Material组件库提供了一些现成的组件来减少我们的开发任务。Scaffold是一个路由页的骨架,我们使用它可以很容易地拼装出一个完整的页面。 示例 我们实现一个页面,它包含: 一个导航栏 导航栏右边有一个分享按钮 有一个抽屉菜单 有一个底部导航 右下角有一个悬浮的动作按钮 最终效果如图5-18、图5-19所示: 实现代码如下: 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(){ } } 上面代码中我们用到了如下组件: 组件名称 解释 AppBar 一个导航栏骨架 MyDrawer 抽屉菜单 BottomNavigationBar 底部导航栏 FloatingActionButton 漂浮按钮 下面我们来分别介绍一下它们。 5.6.2 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(); }, ); }), ... ) 代码运行效果如图5-20所示: 可以看到左侧菜单已经替换成功。 代码中打开抽屉菜单的方法在ScaffoldState中,通过Scaffold.of(context)可以获取父级最近的Scaffold 组件的State对象,原理可以参考本书后面“Element与BuildContext” 一章。Flutter还有一种通用的获取State对象的方法——通过GlobalKey来获取! 步骤分两步: 给目标StatefulWidget添加GlobalKey。 //定义一个globalKey, 由于GlobalKey要保持全局唯一性,我们使用静态变量存储 static GlobalKey _globalKey= new GlobalKey(); ... Scaffold( key: _globalKey , //设置key ... ) 通过GlobalKey来获取State对象 _globalKey.currentState.openDrawer() TabBar 下面我们通过“bottom”属性来添加一个导航栏底部Tab按钮组,将要实现的效果如图5-21所示: 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 组件,它是Material组件库提供的Material风格的Tab菜单。 Tab组件有三个可选参数,除了可以指定文字外,还可以指定Tab菜单图标,或者直接自定义组件样式。Tab组件定义如下: Tab({ Key key, this.text, // 菜单文本 this.icon, // 菜单图标 this.child, // 自定义组件样式 }) 开发者可以根据实际需求来定制。 TabBarView 通过TabBar我们只能生成一个静态的菜单,真正的Tab页还没有实现。由于Tab菜单和Tab页的切换需要同步,我们需要通过TabController去监听Tab菜单的切换去切换Tab页,代码如: _tabController.addListener((){ switch(_tabController.index){ case 1: ...; case 2: ... ; } }); 如果我们Tab页可以滑动切换的话,还需要在滑动过程中更新TabBar指示器的偏移!显然,要手动处理这些是很麻烦的,为此,Material库提供了一个TabBarView组件,通过它不仅可以轻松的实现Tab页,而且可以非常容易的配合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(), ), ... // 省略无关代码 ) 运行后效果如图5-22所示: 现在,无论是点击导航栏Tab菜单还是在页面上左右滑动,Tab页面都会切换,并且Tab菜单的状态和Tab页面始终保持同步!那它们是如何实现同步的呢?细心的读者可能已经发现,上例中TabBar和TabBarView的controller是同一个!正是如此,TabBar和TabBarView正是通过同一个controller来实现菜单切换和滑动状态同步的,有关TabController的详细信息,我们不再本书做过多介绍,使用时读者直接查看SDK即可。 另外,Material组件库也提供了一个PageView 组件,它和TabBarView功能相似,读者可以自行了解一下。 5.6.3 抽屉菜单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, //移除抽屉菜单顶部默认留白 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默认的一些留白(比如Drawer默认顶部会留和手机状态栏等高的留白),读者可以尝试传递不同的参数来看看实际效果。抽屉菜单页由顶部和底部组成,顶部由用户头像和昵称组成,底部是一个菜单列表,用ListView实现,关于ListView我们将在后面“可滚动组件”一节详细介绍。 5.6.4 FloatingActionButton FloatingActionButton是Material设计规范中的一种特殊Button,通常悬浮在页面的某一个位置作为某种常用动作的快捷入口,如本节示例中页面右下角的\"➕\"号按钮。我们可以通过Scaffold的floatingActionButton属性来设置一个FloatingActionButton,同时通过floatingActionButtonLocation属性来指定其在页面中悬浮的位置,这个比较简单,不再赘述。 5.6.5 底部Tab导航栏 我们可以通过Scaffold的bottomNavigationBar属性来设置底部导航,如本节开始示例所示,我们通过Material组件库提供的BottomNavigationBar和BottomNavigationBarItem两种组件来实现Material风格的底部导航栏。可以看到上面的实现代码非常简单,所以不再赘述,但是如果我们想实现如图5-23所示效果的底部导航栏应该怎么做呢? Material组件库中提供了一个BottomAppBar 组件,它可以和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示例中就有一个”钻石“形状的示例,读者感兴趣可以自行查看。 "},"chapter5/clip.html":{"url":"chapter5/clip.html","title":"5.7:剪裁(Clip)","keywords":"","body":"5.7 剪裁(Clip) Flutter中提供了一些剪裁函数,用于对组件进行剪裁。 剪裁Widget 作用 ClipOval 子组件为正方形时剪裁为内贴圆形,为矩形时,剪裁为内贴椭圆 ClipRRect 将子组件剪裁为圆角矩形 ClipRect 剪裁子组件到实际占用的矩形大小(溢出部分剪裁) 下面看一个例子: import 'package:flutter/material.dart'; class ClipTestRoute extends StatelessWidget { @override Widget build(BuildContext context) { // 头像 Widget avatar = Image.asset(\"imgs/avatar.png\", width: 60.0); return Center( child: Column( children: [ avatar, //不剪裁 ClipOval(child: avatar), //剪裁为圆形 ClipRRect( //剪裁为圆角矩形 borderRadius: BorderRadius.circular(5.0), child: avatar, ), Row( mainAxisAlignment: MainAxisAlignment.center, children: [ Align( alignment: Alignment.topLeft, widthFactor: .5,//宽度设为原来宽度一半,另一半会溢出 child: avatar, ), Text(\"你好世界\", style: TextStyle(color: Colors.green),) ], ), Row( mainAxisAlignment: MainAxisAlignment.center, children: [ ClipRect(//将溢出部分剪裁 child: Align( alignment: Alignment.topLeft, widthFactor: .5,//宽度设为原来宽度一半 child: avatar, ), ), Text(\"你好世界\",style: TextStyle(color: Colors.green)) ], ), ], ), ); } } 运行效果如图5-24所示: 上面示例代码注释比较详细,在此不再赘述。但值得一提的是最后的两个Row!它们通过Align设置widthFactor为0.5后,图片的实际宽度等于60×0.5,即原宽度一半,但此时图片溢出部分依然会显示,所以第一个“你好世界”会和图片的另一部分重合,为了剪裁掉溢出部分,我们在第二个Row中通过ClipRect将溢出部分剪裁掉了。 CustomClipper 如果我们想剪裁子组件的特定区域,比如,在上面示例的图片中,如果我们只想截取图片中部40×30像素的范围应该怎么做?这时我们可以使用CustomClipper来自定义剪裁区域,实现代码如下: 首先,自定义一个CustomClipper: class MyClipper extends CustomClipper { @override Rect getClip(Size size) => Rect.fromLTWH(10.0, 15.0, 40.0, 30.0); @override bool shouldReclip(CustomClipper oldClipper) => false; } getClip()是用于获取剪裁区域的接口,由于图片大小是60×60,我们返回剪裁区域为Rect.fromLTWH(10.0, 15.0, 40.0, 30.0),及图片中部40×30像素的范围。 shouldReclip() 接口决定是否重新剪裁。如果在应用中,剪裁区域始终不会发生变化时应该返回false,这样就不会触发重新剪裁,避免不必要的性能开销。如果剪裁区域会发生变化(比如在对剪裁区域执行一个动画),那么变化后应该返回true来重新执行剪裁。 然后,我们通过ClipRect来执行剪裁,为了看清图片实际所占用的位置,我们设置一个红色背景: DecoratedBox( decoration: BoxDecoration( color: Colors.red ), child: ClipRect( clipper: MyClipper(), //使用自定义的clipper child: avatar ), ) 运行效果如图5-25所示: 可以看到我们的剪裁成功了,但是图片所占用的空间大小仍然是60×60(红色区域),这是因为剪裁是在layout完成后的绘制阶段进行的,所以不会影响组件的大小,这和Transform原理是相似的。 "},"chapter6/":{"url":"chapter6/","title":"第六章:可滚动组件","keywords":"","body":"本章目录 可滚动Widgets简介 SingleChildScrollView ListView GridView CustomScrollView 滚动监听及控制ScrollController "},"chapter6/intro.html":{"url":"chapter6/intro.html","title":"6.1:可滚动组件简介","keywords":"","body":"6.1 可滚动组件简介 当组件内容超过当前显示视口(ViewPort)时,如果没有特殊处理,Flutter则会提示Overflow错误。为此,Flutter提供了多种可滚动组件(Scrollable Widget)用于显示列表和长布局。在本章中,我们先介绍一下常用的可滚动组件(如ListView、GridView等),然后介绍一下ScrollController。可滚动组件都直接或间接包含一个Scrollable组件,因此它们包括一些共同的属性,为了避免重复介绍,我们在此统一介绍一下: Scrollable({ ... this.axisDirection = AxisDirection.down, this.controller, this.physics, @required this.viewportBuilder, //后面介绍 }) axisDirection滚动方向。 physics:此属性接受一个ScrollPhysics类型的对象,它决定可滚动组件如何响应用户操作,比如用户滑动完抬起手指后,继续执行动画;或者滑动到边界时,如何显示。默认情况下,Flutter会根据具体平台分别使用不同的ScrollPhysics对象,应用不同的显示效果,如当滑动到边界时,继续拖动的话,在iOS上会出现弹性效果,而在Android上会出现微光效果。如果你想在所有平台下使用同一种效果,可以显式指定一个固定的ScrollPhysics,Flutter SDK中包含了两个ScrollPhysics的子类,他们可以直接使用: ClampingScrollPhysics:Android下微光效果。 BouncingScrollPhysics:iOS下弹性效果。 controller:此属性接受一个ScrollController对象。ScrollController的主要作用是控制滚动位置和监听滚动事件。默认情况下,Widget树中会有一个默认的PrimaryScrollController,如果子树中的可滚动组件没有显式的指定controller,并且primary属性值为true时(默认就为true),可滚动组件会使用这个默认的PrimaryScrollController。这种机制带来的好处是父组件可以控制子树中可滚动组件的滚动行为,例如,Scaffold正是使用这种机制在iOS中实现了点击导航栏回到顶部的功能。我们将在本章后面“滚动控制”一节详细介绍ScrollController。 Scrollbar Scrollbar是一个Material风格的滚动指示器(滚动条),如果要给可滚动组件添加滚动条,只需将Scrollbar作为可滚动组件的任意一个父级组件即可,如: Scrollbar( child: SingleChildScrollView( ... ), ); Scrollbar和CupertinoScrollbar都是通过ScrollController来监听滚动事件来确定滚动条位置的。关于ScrollController的详细内容我们将在本章最后一节中专门介绍。 CupertinoScrollbar CupertinoScrollbar是iOS风格的滚动条,如果你使用的是Scrollbar,那么在iOS平台它会自动切换为CupertinoScrollbar。 ViewPort视口 在很多布局系统中都有ViewPort的概念,在Flutter中,术语ViewPort(视口),如无特别说明,则是指一个Widget的实际显示区域。例如,一个ListView的显示区域高度是800像素,虽然其列表项总高度可能远远超过800像素,但是其ViewPort仍然是800像素。 基于Sliver的延迟构建 通常可滚动组件的子组件可能会非常多、占用的总高度也会非常大;如果要一次性将子组件全部构建出将会非常昂贵!为此,Flutter中提出一个Sliver(中文为”薄片“的意思)概念,如果一个可滚动组件支持Sliver模型,那么该滚动可以将子组件分成好多个”薄片“(Sliver),只有当Sliver出现在视口中时才会去构建它,这种模型也称为”基于Sliver的延迟构建模型“。可滚动组件中有很多都支持基于Sliver的延迟构建模型,如ListView、GridView,但是也有不支持该模型的,如SingleChildScrollView。 主轴和纵轴 在可滚动组件的坐标描述中,通常将滚动方向称为主轴,非滚动方向称为纵轴。由于可滚动组件的默认方向一般都是沿垂直方向,所以默认情况下主轴就是指垂直方向,水平方向同理。 "},"chapter6/single_child_scrollview.html":{"url":"chapter6/single_child_scrollview.html","title":"6.2:SingleChildScrollView","keywords":"","body":"6.2 SingleChildScrollView SingleChildScrollView类似于Android中的ScrollView,它只能接收一个子组件。定义如下: 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时,那么滑动方向就是从右往左。其实此属性本质上是决定可滚动组件的初始滚动位置是在“头”还是“尾”,取false时,初始滚动位置在“头”,反之则在“尾”,读者可以自己试验。 primary:指是否使用widget树中默认的PrimaryScrollController;当滑动方向为垂直方向(scrollDirection值为Axis.vertical)并且没有指定controller时,primary默认为true. 需要注意的是,通常SingleChildScrollView只应在期望的内容不会超过屏幕太多时使用,这是因为SingleChildScrollView不支持基于Sliver的延迟实例化模型,所以如果预计视口可能包含超出屏幕尺寸太多的内容时,那么使用SingleChildScrollView将会非常昂贵(性能差),此时应该使用一些支持Sliver延迟加载的可滚动组件,如ListView。 示例 下面是一个将大写字母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(), ), ), ), ); } } 运行效果如图6-1所示: "},"chapter6/listview.html":{"url":"chapter6/listview.html","title":"6.3:ListView","keywords":"","body":"6.3 ListView ListView是最常用的可滚动组件之一,它可以沿一个方向线性排布所有子组件,并且它也支持基于Sliver的延迟构建模型。我们看看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 [], }) 上面参数分为两组:第一组是可滚动组件的公共参数,本章第一节中已经介绍过,不再赘述;第二组是ListView各个构造函数(ListView有多个构造函数)的共同参数,我们重点来看看这些参数,: itemExtent:该参数如果不为null,则会强制children的”长度“为itemExtent的值;这里的”长度“是指滚动方向上子组件的长度,也就是说如果滚动方向是垂直方向,则itemExtent代表子组件的高度;如果滚动方向为水平方向,则itemExtent就代表子组件的宽度。在ListView中,指定itemExtent比让子组件自己决定自身长度会更高效,这是因为指定itemExtent后,滚动系统可以提前知道列表的长度,而无需每次构建子组件时都去再计算一下,尤其是在滚动位置频繁变化时(滚动系统需要频繁去计算列表高度)。 shrinkWrap:该属性表示是否根据子组件的总长度来设置ListView的长度,默认值为false 。默认情况下,ListView的会在滚动方向尽可能多的占用空间。当ListView在一个无边界(滚动方向上)的容器中时,shrinkWrap必须为true。 addAutomaticKeepAlives:该属性表示是否将列表项(子组件)包裹在AutomaticKeepAlive 组件中;典型地,在一个懒加载列表中,如果将列表项包裹在AutomaticKeepAlive中,在该列表项滑出视口时它也不会被GC(垃圾回收),它会使用KeepAliveNotification来保存其状态。如果列表项自己维护其KeepAlive状态,那么此参数必须置为false。 addRepaintBoundaries:该属性表示是否将列表项(子组件)包裹在RepaintBoundary组件中。当可滚动组件滚动时,将列表项包裹在RepaintBoundary中可以避免列表项重绘,但是当列表项重绘的开销非常小(如一个颜色块,或者一个较短的文本)时,不添加RepaintBoundary反而会更高效。和addAutomaticKeepAlive一样,如果列表项自己维护其KeepAlive状态,那么此参数必须置为false。 注意:上面这些参数并非ListView特有,在本章后面介绍的其它可滚动组件也可能会拥有这些参数,它们的含义是相同的。 默认构造函数 默认构造函数有一个children参数,它接受一个Widget列表(List)。这种方式适合只有少量的子组件的情况,因为这种方式需要将所有children都提前创建好(这需要做大量工作),而不是等到子widget真正显示的时候再创建,也就是说通过默认构造函数构建的ListView没有应用基于Sliver的懒加载模型。实际上通过此方式创建的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'), ], ); 再次强调,可滚动组件通过一个List来作为其children属性时,只适用于子组件较少的情况,这是一个通用规律,并非ListView自己的特性,像GridView也是如此。 ListView.builder ListView.builder适合列表项比较多(或者无限)的情况,因为只有当子组件真正显示的时候才会被创建,也就说通过该构造函数创建的ListView是支持基于Sliver的懒加载模型的。下面看一下ListView.builder的核心参数列表: ListView.builder({ // ListView公共参数已省略 ... @required IndexedWidgetBuilder itemBuilder, int itemCount, ... }) itemBuilder:它是列表项的构建器,类型为IndexedWidgetBuilder,返回值为一个widget。当列表滚动到具体的index位置时,会调用该构建器构建列表项。 itemCount:列表项的数量,如果为null,则为无限列表。 可滚动组件的构造函数如果需要一个列表项Builder,那么通过该构造函数构建的可滚动组件通常就是支持基于Sliver的懒加载模型的,反之则不支持,这是个一般规律。我们在后面在介绍可滚动组件的构造函数时将不再专门说明其是否支持基于Sliver的懒加载模型了。 下面看一个例子: ListView.builder( itemCount: 100, itemExtent: 50.0, //强制高度为50.0 itemBuilder: (BuildContext context, int index) { return ListTile(title: Text(\"$index\")); } ); 运行效果如图6-2所示: 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() { super.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(() { //重新构建列表 }); }); } } 运行后效果如图6-4、6-5所示: 代码比较简单,读者可以参照代码中的注释理解,故不再赘述。需要说明的是,_retrieveData()的功能是模拟从数据源异步获取数据,我们使用english_words包的generateWordPairs()方法每次生成20个单词。 添加固定列表头 很多时候我们需要给列表添加一个固定表头,比如我们想实现一个商品列表,需要在列表顶部添加一个“商品列表”标题,期望的效果如图6-6所示: 我们按照之前经验,写出如下代码: @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\")); }), ), ... 运行效果如图6-7所示: 可以看到,现在没有触发异常并且列表已经显示出来了,但是我们的手机屏幕高度要大于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\")); }), ) ... 运行效果如下图6-8所示: 可以看到,我们期望的效果实现了,但是这种方法并不优雅,如果页面布局发生变化,比如表头布局调整导致表头高度改变,那么剩余空间的高度就得重新计算。那么有什么方法可以自动拉伸ListView以填充屏幕剩余空间的方法吗?当然有!答案就是Flex。前面已经介绍过在弹性布局中,可以使用Expanded自动拉伸组件大小,并且我们也说过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生成列表项组件,更多详情请参考API文档。 "},"chapter6/gridview.html":{"url":"chapter6/gridview.html","title":"6.4:GridView","keywords":"","body":"6.4 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子组件如何排列(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两个参数共同决定的。注意,这里的子元素指的是子组件的最大显示空间,注意确保子组件的实际大小不要超出子元素的空间。 下面看一个例子: 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)内的话,子元素最终实际长度都为112.5,而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":"6.5:CustomScrollView","keywords":"","body":"6.5 CustomScrollView CustomScrollView是可以使用Sliver来自定义滚动模型(效果)的组件。它可以包含多种滚动模型,举个例子,假设有一个页面,顶部需要一个GridView,底部需要一个ListView,而要求整个页面的滑动效果是统一的,即它们看起来是一个整体。如果使用GridView+ListView来实现的话,就不能保证一致的滑动效果,因为它们的滚动效果是分离的,所以这时就需要一个\"胶水\",把这些彼此独立的可滚动组件\"粘\"起来,而CustomScrollView的功能就相当于“胶水”。 可滚动组件的Sliver版 Sliver在前面讲过,有细片、薄片之意,在Flutter中,Sliver通常指可滚动组件子元素(就像一个个薄片一样)。但是在CustomScrollView中,需要粘起来的可滚动组件就是CustomScrollView的Sliver了,如果直接将ListView、GridView作为CustomScrollView是不行的,因为它们本身是可滚动组件而并不是Sliver!因此,为了能让可滚动组件能和CustomScrollView配合使用,Flutter提供了一些可滚动组件的Sliver版,如SliverList、SliverGrid等。实际上Sliver版的可滚动组件和非Sliver版的可滚动组件最大的区别就是前者不包含滚动模型(子身不能再滚动),而后者包含滚动模型 ,也正因如此,CustomScrollView才可以将多个Sliver\"粘\"在一起,这些Sliver共用CustomScrollView的Scrollable,所以最终才实现了统一的滑动效果。 Sliver系列Widget比较多,我们不会一一介绍,读者只需记住它的特点,需要时再去查看文档即可。上面之所以说“大多数“Sliver都和可滚动组件对应,是由于还有一些如SliverPadding、SliverAppBar等是和可滚动组件无关的,它们主要是为了结合CustomScrollView一起使用,这是因为CustomScrollView的子组件必须都是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个子组件。 底部SliverFixedExtentList:它是一个所有子元素高度都为50像素的列表。 运行效果如图: "},"chapter6/scroll_controller.html":{"url":"chapter6/scroll_controller.html","title":"6.6:滚动监听及控制(ScrollController)","keywords":"","body":"6.6 滚动监听及控制 在前几节中,我们介绍了Flutter中常用的可滚动组件,也说过可以用ScrollController来控制可滚动组件的滚动位置,本节先介绍一下ScrollController,然后以ListView为例,展示一下ScrollController的具体用法。最后,再介绍一下路由切换时如何来保存滚动位置。 6.6.1 ScrollController ScrollController构造函数如下: ScrollController({ double initialScrollOffset = 0.0, //初始滚动位置 this.keepScrollOffset = true,//是否保存滚动位置 ... }) 我们介绍一下ScrollController常用的属性和方法: offset:可滚动组件当前的滚动位置。 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是一个用于保存页面(路由)相关数据的组件,它并不会影响子树的UI外观,其实,PageStorage是一个功能型组件,它拥有一个存储桶(bucket),子树中的Widget可以通过指定不同的PageStorageKey来存储各自的数据或状态。 每次滚动结束,可滚动组件都会将滚动位置offset存储到PageStorage中,当可滚动组件重新创建时再恢复。如果ScrollController.keepScrollOffset为false,则滚动位置将不会被存储,可滚动组件重新创建时会使用ScrollController.initialScrollOffset;ScrollController.keepScrollOffset为true时,可滚动组件在第一次创建时,会滚动到initialScrollOffset处,因为这时还没有存储过滚动位置。在接下来的滚动中就会存储、恢复滚动位置,而initialScrollOffset会被忽略。 当一个路由中包含多个可滚动组件时,如果你发现在进行一些跳转或切换操作后,滚动位置不能正确恢复,这时你可以通过显式指定PageStorageKey来分别跟踪不同的可滚动组件的位置,如: ListView(key: PageStorageKey(1), ... ); ... ListView(key: PageStorageKey(2), ... ); 不同的PageStorageKey,需要不同的值,这样才可以为不同可滚动组件保存其滚动位置。 注意:一个路由中包含多个可滚动组件时,如果要分别跟踪它们的滚动位置,并非一定就得给他们分别提供PageStorageKey。这是因为Scrollable本身是一个StatefulWidget,它的状态中也会保存当前滚动位置,所以,只要可滚动组件本身没有被从树上detach掉,那么其State就不会销毁(dispose),滚动位置就不会丢失。只有当Widget发生结构变化,导致可滚动组件的State销毁或重新构建时才会丢失状态,这种情况就需要显式指定PageStorageKey,通过PageStorage来存储滚动位置,一个典型的场景是在使用TabBarView时,在Tab发生切换时,Tab页中的可滚动组件的State就会销毁,这时如果想恢复滚动位置就需要指定PageStorageKey。 ScrollPosition ScrollPosition是用来保存可滚动组件的滚动位置的。一个ScrollController对象可以同时被多个可滚动组件使用,ScrollController会为每一个可滚动组件创建一个ScrollPosition对象,这些ScrollPosition保存在ScrollController的positions属性中(List)。ScrollPosition是真正保存滑动位置信息的对象,offset只是一个便捷属性: double get offset => position.pixels; 一个ScrollController虽然可以对应多个可滚动组件,但是有一些操作,如读取滚动位置offset,则需要一对一!但是我们仍然可以在一对多的情况下,通过其它方法读取滚动位置,举个例子,假设一个ScrollController同时被两个可滚动组件使用,那么我们可以通过如下方式分别读取他们的滚动位置: ... controller.positions.elementAt(0).pixels controller.positions.elementAt(1).pixels ... 我们可以通过controller.positions.length来确定controller被几个可滚动组件使用。 ScrollPosition的方法 ScrollPosition有两个常用方法:animateTo() 和 jumpTo(),它们是真正来控制跳转滚动位置的方法,ScrollController的这两个同名方法,内部最终都会调用ScrollPosition的。 ScrollController控制原理 我们来介绍一下ScrollController的另外三个方法: ScrollPosition createScrollPosition( ScrollPhysics physics, ScrollContext context, ScrollPosition oldPosition); void attach(ScrollPosition position) ; void detach(ScrollPosition position) ; 当ScrollController和可滚动组件关联时,可滚动组件首先会调用ScrollController的createScrollPosition()方法来创建一个ScrollPosition来存储滚动位置信息,接着,可滚动组件会调用attach()方法,将创建的ScrollPosition添加到ScrollController的positions属性中,这一步称为“注册位置”,只有注册后animateTo() 和 jumpTo()才可以被调用。 当可滚动组件销毁时,会调用ScrollController的detach()方法,将其ScrollPosition对象从ScrollController的positions属性中移除,这一步称为“注销位置”,注销后animateTo() 和 jumpTo() 将不能再被调用。 需要注意的是,ScrollController的animateTo() 和 jumpTo()内部会调用所有ScrollPosition的animateTo() 和 jumpTo(),以实现所有和该ScrollController关联的可滚动组件都滚动到指定的位置。 6.6.2 滚动监听 Flutter Widget树中子Widget可以通过发送通知(Notification)与父(包括祖先)Widget通信。父级组件可以通过NotificationListener组件来监听自己关注的通知,这种通信方式类似于Web开发中浏览器的事件冒泡,我们在Flutter中沿用“冒泡”这个术语,关于通知冒泡我们将在后面”事件处理与通知“一章中详细介绍。 可滚动组件在滚动时会发送ScrollNotification类型的通知,ScrollBar正是通过监听滚动通知来实现的。通过NotificationListener监听滚动事件和通过ScrollController有两个主要的不同: 通过NotificationListener可以在从可滚动组件到widget树根之间任意位置都能监听。而ScrollController只能和具体的可滚动组件关联后才可以。 收到滚动事件后获得的信息不同;NotificationListener在收到滚动事件时,通知中会携带当前滚动位置和ViewPort的一些信息,而ScrollController只能获取当前滚动位置。 示例 下面,我们监听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, ) ], ), ), ); } } 运行结果如图6-16所示: 在接收到滚动事件时,参数类型为ScrollNotification,它包括一个metrics属性,它的类型是ScrollMetrics,该属性包含当前ViewPort及滚动位置等信息: pixels:当前滚动位置。 maxScrollExtent:最大可滚动长度。 extentBefore:滑出ViewPort顶部的长度;此示例中相当于顶部滑出屏幕上方的列表长度。 extentInside:ViewPort内部长度;此示例中屏幕显示的列表部分的长度。 extentAfter:列表中未滑入ViewPort部分的长度;此示例中列表底部未显示到屏幕范围部分的长度。 atEdge:是否滑到了可滚动组件的边界(此示例中相当于列表顶或底部)。 ScrollMetrics还有一些其它属性,读者可以自行查阅API文档。 "},"chapter7/":{"url":"chapter7/","title":"第七章:功能型组件","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":"7.1:导航返回拦截(WillPopScope)","keywords":"","body":"7.1 导航返回拦截(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":"7.2:数据共享(InheritedWidget)","keywords":"","body":"7.2 数据共享(InheritedWidget) InheritedWidget是Flutter中非常重要的一个功能型组件,它提供了一种数据在widget树种从上到下的传递、共享方式,比如我们在应用的根widget中通过InheritedWidget共享了一个数据,那么我们便可以在任意子widget中来获取该共享的数据!这个特性在一些需要在widget树中共享数据的场景中非常方便!如Flutter SDK中正是通过InheritedWidget来共享应用主题(Theme)和Locale (当前语言环境)信息的。 InheritedWidget和React中的context功能类似,和逐级传递数据相比,它们能实现组件跨级传递数据。InheritedWidget的在widget树中数据传递方向是从上到下的,这和通知Notification(将在下一章中介绍)的传递方向正好相反。 didChangeDependencies 在之前介绍StatefulWidget时,我们提到State对象有一个didChangeDependencies回调,它会在“依赖”发生变化时被Flutter Framework调用。而这个“依赖”指的就是子widget是否使用了父widget中InheritedWidget的数据!如果使用了,则代表子widget依赖有依赖InheritedWidget;如果没有使用则代表没有依赖。这种机制可以使子组件在所依赖的InheritedWidget变化时来更新自身!比如当主题、locale(语言)等发生变化时,依赖其的子widget的didChangeDependencies方法将会被调用。 下面我们看一下之前“计数器”示例应用程序的InheritedWidget版本。需要说明的是,本示例主要是为了演示InheritedWidget的功能特性,并不是计数器的推荐实现方式。 首先,我们通过继承InheritedWidget,将当前计数器点击次数保存在ShareDataWidget的data属性中: class ShareDataWidget extends InheritedWidget { ShareDataWidget({ @required this.data, Widget child }) :super(child: child); final int data; //需要在子树中共享的数据,保存点击次数 //定义一个便捷方法,方便子树中的widget获取共享数据 static ShareDataWidget of(BuildContext context) { return context.inheritFromWidgetOfExactType(ShareDataWidget); } //该回调决定当data发生变化时,是否通知子树中依赖data的Widget @override bool updateShouldNotify(ShareDataWidget old) { //如果返回true,则子树中依赖(build函数中有调用)本widget //的子widget的`state.didChangeDependencies`会被调用 return old.data != data; } } 然后我们实现一个子组件_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), ) ], ), ), ); } } 运行后界面如图7-1所示: 每点击一次按钮,计数器就会自增,控制台就会打印一句日志: I/flutter ( 8513): Dependencies change 可见依赖发生变化后,其didChangeDependencies()会被调用。但是读者要注意,如果_TestWidget的build方法中没有使用ShareDataWidget的数据,那么它的didChangeDependencies()将不会被调用,因为它并没有依赖ShareDataWidget。例如,我们将__TestWidgetState代码该为下面这样,didChangeDependencies()将不会被调用: class __TestWidgetState extends State { @override Widget build(BuildContext context) { // 使用InheritedWidget中的共享数据 // return Text(ShareDataWidget // .of(context) // .data // .toString()); return Text(\"text\"); } @override void didChangeDependencies() { super.didChangeDependencies(); // build方法中没有依赖InheritedWidget,此回调不会被调用。 print(\"Dependencies change\"); } } 上面的代码中,我们将build()方法中依赖ShareDataWidget的代码注释掉了,然后返回一个固定Text,这样一来,当点击Increment按钮后,ShareDataWidget的data虽然发生变化,但由于__TestWidgetState并未依赖ShareDataWidget,所以__TestWidgetState的didChangeDependencies方法不会被调用。其实,这个机制很好理解,因为在数据发生变化时只对使用该数据的Widget更新是合理并且性能友好的。 思考题:Flutter framework是怎么知道子widget有没有依赖InheritedWidget的? 应该在didChangeDependencies()中做什么? 一般来说,子widget很少会重写此方法,因为在依赖改变后framework也都会调用build()方法。但是,如果你需要在依赖改变后执行一些昂贵的操作,比如网络请求,这时最好的方式就是在此方法中执行,这样可以避免每次build()都执行这些昂贵操作。 深入了解InheritedWidget 现在来思考一下,如果我们只想在__TestWidgetState中引用ShareDataWidget数据,但却不希望在ShareDataWidget发生变化时调用__TestWidgetState的didChangeDependencies()方法应该怎么办?其实答案很简单,我们只需要将ShareDataWidget.of()的实现改一下即可: //定义一个便捷方法,方便子树中的widget获取共享数据 static ShareDataWidget of(BuildContext context) { //return context.inheritFromWidgetOfExactType(ShareDataWidget); return context.ancestorInheritedElementForWidgetOfExactType(ShareDataWidget).widget; } 唯一的改动就是获取ShareDataWidget对象的方式,把inheritFromWidgetOfExactType()方法换成了context.ancestorInheritedElementForWidgetOfExactType(ShareDataWidget).widget,那么他们到底有什么区别呢,我们看一下这两个方法的源码(实现代码在Element类中,Context和Element的关系我们将在后面专门介绍): @override InheritedElement ancestorInheritedElementForWidgetOfExactType(Type targetType) { final InheritedElement ancestor = _inheritedWidgets == null ? null : _inheritedWidgets[targetType]; return ancestor; } @override InheritedWidget inheritFromWidgetOfExactType(Type targetType, { Object aspect }) { final InheritedElement ancestor = _inheritedWidgets == null ? null : _inheritedWidgets[targetType]; //多出的部分 if (ancestor != null) { assert(ancestor is InheritedElement); return inheritFromElement(ancestor, aspect: aspect); } _hadUnsatisfiedDependencies = true; return null; } 我们可以看到,inheritFromWidgetOfExactType() 比 ancestorInheritedElementForWidgetOfExactType()多调了inheritFromElement方法,inheritFromElement源码如下: @override InheritedWidget inheritFromElement(InheritedElement ancestor, { Object aspect }) { //注册依赖关系 _dependencies ??= HashSet(); _dependencies.add(ancestor); ancestor.updateDependencies(this, aspect); return ancestor.widget; } 可以看到inheritFromElement方法中主要是注册了依赖关系!看到这里也就清晰了,调用inheritFromWidgetOfExactType() 和 ancestorInheritedElementForWidgetOfExactType()的却别就是前者会注册依赖关系,而后者不会,所以在调用inheritFromWidgetOfExactType()时,InheritedWidget和依赖它的子孙组件关系变完成了注册,之后当InheritedWidget发生变化时,就会更新依赖它的孙组件,也就是会调用依赖它的孙组件的didChangeDependencies()方法和build()方法。而当调用的是 ancestorInheritedElementForWidgetOfExactType()时,由于没有注册依赖关系,所以之后当InheritedWidget发生变化时,就不会更新相应的子孙Widget。 注意,如果将上面示例中ShareDataWidget.of()方法实现改成调用ancestorInheritedElementForWidgetOfExactType(),运行示例后,点击\"Increment\"按钮,会发现__TestWidgetState的didChangeDependencies()方法确实不会再被调用,但是其build()仍然会被调用!造成这个的原因其实是,点击\"Increment\"按钮后,会调用_InheritedWidgetTestRouteState的setState()方法,此时会重新构建整个页面,由于示例中,__TestWidget 并没有任何缓存,所以它也都会被重新构建,所以也会调用build()方法。 那么,现在就带来了一个问题:实际上,我们只想更新子树中依赖了ShareDataWidget的组件,而现在只要调用_InheritedWidgetTestRouteState的setState()方法,所有子节点都会被重新build,这很没必要,那么有什么办法可以避免呢?答案是缓存!一个简单的作法就是通过封装一个StatefulWidget,将子Widget树缓存起来,具体作法下一节我们将通过实现一个Provider Widget 来演示如何缓存,以及如何利用InheritedWidget 来实现Flutter全局状态共享。 "},"chapter7/provider.html":{"url":"chapter7/provider.html","title":"7.3: 跨组件状态共享(Provider)","keywords":"","body":"7.3 跨组件状态共享(Provider) 在Flutter开发中,状态管理是一个永恒的话题。一般的原则是:如果状态是组件私有的,则应该由组件自己管理;如果状态要跨组件共享,则该状态应该由各个组件共同的父元素来管理。对于组件私有的状态管理很好理解,但对于跨组件共享的状态,管理的方式就比较多了,如使用全局事件总线EventBus(将在下一章中介绍),它是一个观察者模式的实现,通过它就可以实现跨组件状态同步:状态持有方(发布者)负责更新、发布状态,状态使用方(观察者)监听状态改变事件来执行一些操作。下面我们看一个登陆状态同步的简单示例: 定义事件: enum Event{ login, ... //省略其它事件 } 登录页代码大致如下: // 登录状态改变后发布状态改变事件 bus.emit(Event.login); 依赖登录状态的页面: void onLoginChanged(e){ //登录状态变化处理逻辑 } @override void initState() { //订阅登录状态改变事件 bus.on(Event.login,onLogin); super.initState(); } @override void dispose() { //取消订阅 bus.off(Event.login,onLogin); super.dispose(); } 我们可以发现,通过观察者模式来实现跨组件状态共享有一些明显的缺点: 必须显式定义各种事件,不好管理 订阅者必须需显式注册状态改变回调,也必须在组件销毁时手动去解绑回调以避免内存泄露。 在Flutter当中有没有更好的跨组件状态管理方式了呢?答案是肯定的,那怎么做的?我们想想前面介绍的InheritedWidget,它的天生特性就是能绑定InheritedWidget与依赖它的子孙组件的依赖关系,并且当InheritedWidget数据发生变化时,可以自动更新依赖的子孙组件!利用这个特性,我们可以将需要跨组件共享的状态保存在InheritedWidget中,然后在子组件中引用InheritedWidget即可,Flutter社区著名的Provider包正是基于这个思想实现的一套跨组件状态共享解决方案,接下来我们便详细介绍一下Provider的用法及原理。 Provider 为了加强读者的理解,我们不直接去看Provider包的源代码,相反,我会带着你根据上面描述的通过InheritedWidget实现的思路来一步一步地实现一个最小功能的Provider。 首先,我们需要一个保存需要共享的数据InheritedWidget,由于具体业务数据类型不可预期,为了通用性,我们使用泛型,定义一个通用的InheritedProvider类,它继承自InheritedWidget: // 一个通用的InheritedWidget,保存任需要跨组件共享的状态 class InheritedProvider extends InheritedWidget { InheritedProvider({@required this.data, Widget child}) : super(child: child); //共享状态使用泛型 final T data; @override bool updateShouldNotify(InheritedProvider old) { //在此简单返回true,则每次更新都会调用依赖其的子孙节点的`didChangeDependencies`。 return true; } } 数据保存的地方有了,那么接下来我们需要做的就是在数据发生变化的时候来重新构建InheritedProvider,那么现在就面临两个问题: 数据发生变化怎么通知? 谁来重新构建InheritedProvider? 第一个问题其实很好解决,我们当然可以使用之前介绍的eventBus来进行事件通知,但是为了更贴近Flutter开发,我们使用Flutter中SDK中提供的ChangeNotifier类 ,它继承自Listenable,也实现了一个Flutter风格的发布者-订阅者模式,ChangeNotifier定义大致如下: class ChangeNotifier implements Listenable { @override void addListener(VoidCallback listener) { //添加监听器 } @override void removeListener(VoidCallback listener) { //移除监听器 } void notifyListeners() { //通知所有监听器,触发监听器回调 } ... //省略无关代码 } 我们可以通过调用addListener()和removeListener()来添加、移除监听器(订阅者);通过调用notifyListeners() 可以触发所有监听器回调。 现在,我们将要共享的状态放到一个Model类中,然后让它继承自ChangeNotifier,这样当共享的状态改变时,我们只需要调用notifyListeners() 来通知订阅者,然后由订阅者来重新构建InheritedProvider,这也是第二个问题的答案!接下来我们便实现这个订阅者类: // 该方法用于在Dart中获取模板类型 Type _typeOf() => T; class ChangeNotifierProvider extends StatefulWidget { ChangeNotifierProvider({ Key key, this.data, this.child, }); final Widget child; final T data; //定义一个便捷方法,方便子树中的widget获取共享数据 static T of(BuildContext context) { final type = _typeOf>(); final provider = context.inheritFromWidgetOfExactType(type) as InheritedProvider; return provider.data; } @override _ChangeNotifierProviderState createState() => _ChangeNotifierProviderState(); } 该类继承StatefulWidget,然后定义了一个of()静态方法供子类方便获取Widget树中的InheritedProvider中保存的共享状态(model),下面我们实现该类对应的_ChangeNotifierProviderState类: class _ChangeNotifierProviderState extends State> { void update() { //如果数据发生变化(model类调用了notifyListeners),重新构建InheritedProvider setState(() => {}); } @override void didUpdateWidget(ChangeNotifierProvider oldWidget) { //当Provider更新时,如果新旧数据不\"==\",则解绑旧数据监听,同时添加新数据监听 if (widget.data != oldWidget.data) { oldWidget.data.removeListener(update); widget.data.addListener(update); } super.didUpdateWidget(oldWidget); } @override void initState() { // 给model添加监听器 widget.data.addListener(update); super.initState(); } @override void dispose() { // 移除model的监听器 widget.data.removeListener(update); super.dispose(); } @override Widget build(BuildContext context) { return InheritedProvider( data: widget.data, child: widget.child, ); } } 可以看到_ChangeNotifierProviderState类的主要作用就是监听到共享状态(model)改变时重新构建Widget树。注意,在_ChangeNotifierProviderState类中调用setState()方法,widget.child始终是同一个,所以执行build时,InheritedProvider的child引用的始终是同一个子widget,所以widget.child并不会重新build,这也就相当于对child进行了缓存!当然如果ChangeNotifierProvider父级Widget重新build时,则其传入的child便有可能会发生变化。 现在我们所需要的各个工具类都已完成,下面我们通过一个购物车的例子来看看怎么使用上面的这些类。 购物车示例 我们需要实现一个显示购物车中所有商品总价的功能: 向购物车中添加新商品时总价更新 定义一个Item类,用于表示商品信息: class Item { Item(this.price, this.count); double price; //商品单价 int count; // 商品份数 //... 省略其它属性 } 定义一个保存购物车内商品数据的CartModel类: class CartModel extends ChangeNotifier { // 用于保存购物车中商品列表 final List _items = []; // 禁止改变购物车里的商品信息 UnmodifiableListView get items => UnmodifiableListView(_items); // 购物车中商品的总价 double get totalPrice => _items.fold(0, (value, item) => value + item.count * item.price); // 将 [item] 添加到购物车。这是唯一一种能从外部改变购物车的方法。 void add(Item item) { _items.add(item); // 通知监听器(订阅者),重新构建InheritedProvider, 更新状态。 notifyListeners(); } } CartModel即要跨组件共享的model类。最后我们构建示例页面: class ProviderRoute extends StatefulWidget { @override _ProviderRouteState createState() => _ProviderRouteState(); } class _ProviderRouteState extends State { @override Widget build(BuildContext context) { return Center( child: ChangeNotifierProvider( data: CartModel(), child: Builder(builder: (context) { return Column( children: [ Builder(builder: (context){ var cart=ChangeNotifierProvider.of(context); return Text(\"总价: ${cart.totalPrice}\"); }), Builder(builder: (context){ print(\"RaisedButton build\"); //在后面优化部分会用到 return RaisedButton( child: Text(\"添加商品\"), onPressed: () { //给购物车中添加商品,添加后总价会更新 ChangeNotifierProvider.of(context).add(Item(20.0, 1)); }, ); }), ], ); }), ), ); } } 运行示例后效果如图7-2所示: 每次点击”添加商品“按钮,总价就会增加20,我们期望的功能实现了!可能有些读者会疑惑,我们饶了一大圈实现这么简单的功能有意义么?其实,就这个例子来看,只是更新同一个路由页中的一个状态,我们使用ChangeNotifierProvider的优势并不明显,但是如果我们是做一个购物APP呢?由于购物车数据是通常回事整个APP共享的数据,会跨路由共享,如果我们将ChangeNotifierProvider放在整个应用的Widget树的根上,那么整个APP就可以共享购物车的数据了,这时ChangeNotifierProvider的优势将会非常明显。 虽然上面的例子比较简单,但它却将Provider的原理和流程体现的很清楚,图7-3是Provider的原理图: Model变化后会自动通知ChangeNotifierProvider(订阅者),ChangeNotifierProvider内部会重新构建InheritedWidget,而依赖该InheritedWidget的子孙Widget就会更新。 我们可以发现使用Provider,将会带来如下收益: 我们的业务代码更关注数据了,只要更新Model,则UI会自动更新,而不用在状态改变后再去手动调用setState()来显式更新页面。 数据改变的消息传递被屏蔽了,我们无需手动去处理状态改变事件的发布和订阅了,这一切都被封装在Provider中了。这真的很棒,帮我们省掉了大量的工作! 在大型复杂应用中,尤其是需要全局共享的状态非常多时,使用Provider将会大大简化我们的代码逻辑,降低出错的概率,提高开发效率。 优化 我们上面实现的ChangeNotifierProvider是有两个明显缺点:代码组织为题和性能问题,下面我们一一讨论。 代码组织问题 我们先看一下构建显示总价Text的代码: Builder(builder: (context){ var cart=ChangeNotifierProvider.of(context); return Text(\"总价: ${cart.totalPrice}\"); }) 这段代码有两点可以优化: 需要显式调用ChangeNotifierProvider.of,当APP内部依赖CartModel很多时,这样的代码将很冗余。 语义化不明确;由于ChangeNotifierProvider是订阅者,那么依赖CartModel的Widget自然就是订阅者,其实也就是状态的消费者,如果我们用Builder Widget来构建,语义话就不是很明确;如果我们能使用一个具有明确语义的Widget,比如就叫Consumer,这样最终的代码语义将会很明确,只要看到Consumer,我们就知道它是依赖某个跨组件或全局的状态。 为了优化这两个问题,我们可以封装一个Consumer Widget,实现如下: // 这是一个便捷类,会获得当前context和指定数据类型的Provider class Consumer extends StatelessWidget { Consumer({ Key key, @required this.builder, this.child, }) : assert(builder != null), super(key: key); final Widget child; final Widget Function(BuildContext context, T value) builder; @override Widget build(BuildContext context) { return builder( context, ChangeNotifierProvider.of(context), //自动获取Model ); } } Consumer实现非常简单,它通过指定模板参数,然后再内部自动调用ChangeNotifierProvider.of获取相应的Model,并且Consumer这个名字本身也是具有确切语义(消费者)。现在上面的代码块可以优化为如下这样: Consumer( builder: (context, cart)=> Text(\"总价: ${cart.totalPrice}\"); ) 是不是很优雅! 性能问题 上面的代码还有一个性能问题,就在构建”添加按钮“的代码处: Builder(builder: (context) { print(\"RaisedButton build\"); // 构建时输出日志 return RaisedButton( child: Text(\"添加商品\"), onPressed: () { ChangeNotifierProvider.of(context).add(Item(20.0, 1)); }, ); } 我们点击”添加商品“按钮后,由于购物车商品总价会变化,所以显示总价的Text更新是符合预期的,但是”添加商品“按钮本身没有变化,是不应该被重新build的。但是我们运行示例,每次点击”添加商品“按钮,控制台都会输出\"RaisedButton build\"日志,也就是说”添加商品“按钮在每次点击时其自身都会重新build!这是为什么呢?如果你已经理解了InheritedWidget的更新机制,那么答案一眼就能看出:这是因为构建RaisedButton的Builder中调用了ChangeNotifierProvider.of,也就是说依赖了Widget树上面的InheritedWidget(即InheritedProvider )Widget,所以当添加完商品后,CartModel发生变化,会通知ChangeNotifierProvider, 而ChangeNotifierProvider则会重新构建子树,所以InheritedProvider将会更新,此时依赖它的子孙Widget就会被重新构建。 问题的原因搞清楚了,那么我们如何避免这不必要重构呢?既然按钮重新被build是因为按钮和InheritedWidget建立了依赖关系,那么我们只要打破或解除这种依赖关系就可以了。那么如何解除按钮和InheritedWidget的依赖关系呢?我们上一节介绍InheritedWidget时已经讲过了:调用inheritFromWidgetOfExactType() 和 ancestorInheritedElementForWidgetOfExactType()的却别就是前者会注册依赖关系,而后者不会。所以我们只需要将ChangeNotifierProvider.of的实现改为下面这样既可: //添加一个listen参数,表示是否建立依赖关系 static T of(BuildContext context, {bool listen = true}) { final type = _typeOf>(); final provider = listen ? context.inheritFromWidgetOfExactType(type) as InheritedProvider : context.ancestorInheritedElementForWidgetOfExactType(type)?.widget as InheritedProvider; return provider.data; } 然后我们将调用部分代码改为: Column( children: [ Consumer( builder: (BuildContext context, cart) =>Text(\"总价: ${cart.totalPrice}\"), ), Builder(builder: (context) { print(\"RaisedButton build\"); return RaisedButton( child: Text(\"添加商品\"), onPressed: () { // listen 设为false,不建立依赖关系 ChangeNotifierProvider.of(context, listen: false) .add(Item(20.0, 1)); }, ); }) ], ) 修改后在此运行上面的示例,我们会发现点击”添加商品“按钮后,控制台不会再输出\"RaisedButton build\"了,即按钮不会被重新构建了。而总价仍然会更新,这是因为Consumer中调用ChangeNotifierProvider.of时listen值为默认值true,所以还是会建立依赖关系。 至此我们便实现了一个迷你的Provider,它具备Pub上Provider Package中的核心功能;但是我们的迷你版功能并不全面,如只实现了一个可监听的ChangeNotifierProvider,并没有实现只用于数据共享的Provider;还有就是我们的实现还有些边界没有考虑的到,比如如何保证在Widget树重新build时Model始终是单例等。所以建议读者在实战中还是使用Provider Package,而本节实现这个迷你Provider的主要目的主要是为了帮助读者了解Provider Package底层的原理。 其它状态管理包 现在Flutter社区已经有很多专门用于状态管理的包了,在此我们列出几个相对评分比较高的: 包名 介绍 Provider & Scoped Model 这两个包都是基于InheritedWidget的,原理相似 Redux 是Web开发中React生态链中Redux包的Flutter实现 MobX 是Web开发中React生态链中MobX包的Flutter实现 BLoC 是BLoC模式的Flutter实现 在此笔者不对这些包做推荐,读者有兴趣都可以研究一下,了解它们各自的思想。 总结 本节通过介绍事件总线在跨组件共享中的一些缺点引出了通过InheritedWidget来实现状态的共享的思想,然后基于该思想实现了一个简单的Provider,在实现的过程中也更深入的探索了InheritedWidget与其依赖项的注册机制和更新机制。通过本节的学习,读者应该达到两个目标,首先是对InheritedWidget彻底吃透,其次是Provider的设计思想。 InheritedWidget是Flutter中非常重要的一个Widget,像国际化、主题等都是通过它来实现,所以我们也不惜篇幅,通过好几节来介绍它的,在下一节中,我们将介绍另一个基于InheritedWidget的组件Theme(主题)。 "},"chapter7/theme.html":{"url":"chapter7/theme.html","title":"7.4:颜色和主题(Theme)","keywords":"","body":"7.4 颜色和主题 7.4.1 颜色 在介绍主题前我们先了解一些Flutter中的Color类。Color类中颜色以一个int值保存,我们知道显示器颜色是由红、绿、蓝三基色组成,每种颜色站8比特,存储结构如下: Bit(位) 颜色 0-7 蓝色 8-15 绿色 16-23 红色 24-31 Alpha (不透明度) 上面表格中的的字段在Color类中都有对应的属性,而Color中的众多方法也就是操作这些属性的,由于大多比较简单,读者可以查看类定义了解。在此我们主要讨论两点:色值转换和亮度。 如何将颜色字符串转成Color对象 如Web开发中的色值通常是一个字符串如\"#dc380d\",它是一个RGB值,我们可以通过下面这些方法将其转为Color类: Color(0xffdc380d); //如果颜色固定可以直接使用整数值 //颜色是一个字符串变量 var c = \"dc380d\"; Color(int.parse(c,radix:16)|0xFF000000) //通过位运算符将Alpha设置为FF Color(int.parse(c,radix:16)).withAlpha(255) //通过方法将Alpha设置为FF 颜色亮度 假如我们需要要实现一个背景颜色和Title可以自定义导航栏,并且背景色为深色时我们应该让Title显示浅色;背景色为浅色时,Title显示深色。要实现这个功能,我们就需要来计算背景色的亮度。Color类中提供了一个computeLuminance()方法,他可以返回一个[0-1]的一个值,数字越大颜色就越浅,我们可以根据它来动态确定Title的颜色,下面是导航栏NavBar的简单实现: class NavBar extends StatelessWidget { final String title; final Color color; //背景颜色 NavBar({ Key key, this.color, this.title, }); @override Widget build(BuildContext context) { return Container( constraints: BoxConstraints( minHeight: 52, minWidth: double.infinity, ), decoration: BoxDecoration( color: color, boxShadow: [ //阴影 BoxShadow( color: Colors.black26, offset: Offset(0, 3), blurRadius: 3, ), ], ), child: Text( title, style: TextStyle( fontWeight: FontWeight.bold, //根据背景色亮度来确定Title颜色 color: color.computeLuminance() 测试代码如下: Column( children: [ //背景为蓝色,则title自动为白色 NavBar(color: Colors.blue, title: \"标题\"), //背景为白色,则title自动为黑色 NavBar(color: Colors.white, title: \"标题\"), ] ) 运行效果如图7-4所示: MaterialColor MaterialColor是实现Material Design中的颜色的类,它包含一种颜色的10个级别的渐变色。MaterialColor通过\"[]\"运算符的索引值来代表颜色的深度,有效的索引有:50,100,200,…,900,数字越大,颜色越深。MaterialColor的默认值为索引等于500的颜色。举个例子,Colors.blue是预定义的一个MaterialColor类对象,定义如下: static const MaterialColor blue = MaterialColor( _bluePrimaryValue, { 50: Color(0xFFE3F2FD), 100: Color(0xFFBBDEFB), 200: Color(0xFF90CAF9), 300: Color(0xFF64B5F6), 400: Color(0xFF42A5F5), 500: Color(_bluePrimaryValue), 600: Color(0xFF1E88E5), 700: Color(0xFF1976D2), 800: Color(0xFF1565C0), 900: Color(0xFF0D47A1), }, ); static const int _bluePrimaryValue = 0xFF2196F3; Colors.blue[50]到Colors.blue[100]的色值从浅蓝到深蓝渐变,效果如图7-5所示: 7.4.2 Theme Theme组件可以为Material APP定义主题数据(ThemeData)。Material组件库里很多组件都使用了主题数据,如导航栏颜色、标题字体、Icon样式等。Theme内会使用InheritedWidget来为其子树共享样式数据。 ThemeData ThemeData用于保存是Material 组件库的主题数据,Material组件需要遵守相应的设计规范,而这些规范可自定义部分都定义在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) ), ), ); } } 运行后点击右下角悬浮按钮则可以切换主题,如图7-6、7-7所示: 需要注意的有三点: 可以通过局部主题覆盖全局主题,正如代码中通过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属性。 "},"chapter7/futurebuilder_and_streambuilder.html":{"url":"chapter7/futurebuilder_and_streambuilder.html","title":"7.5:异步UI更新(FutureBuilder、StreamBuilder)","keywords":"","body":"7.5 异步UI更新(FutureBuilder、StreamBuilder) 很多时候我们会依赖一些异步数据来动态更新UI,比如在打开一个页面时我们需要先从互联网上获取数据,在获取数据的过程中我们显式一个加载框,等获取到数据时我们再渲染页面;又比如我们想展示Stream(比如文件流、互联网数据接收流)的进度。当然,通过StatefulWidget我们完全可以实现上述这些功能。但由于在实际开发中依赖异步数据更新UI的这种场景非常常见,因此Flutter专门提供了FutureBuilder和StreamBuilder两个组件来快速实现这种功能。 7.5.1 FutureBuilder FutureBuilder会依赖一个Future,它会根据所依赖的Future的状态来动态构建自身。我们看一下FutureBuilder构造函数: FutureBuilder({ this.future, this.initialData, @required this.builder, }) future:FutureBuilder依赖的Future,通常是一个异步耗时任务。 initialData:初始数据,用户设置默认数据。 builder:Widget构建器;该构建器会在Future执行的不同阶段被多次调用,构建器签名如下: Function (BuildContext context, AsyncSnapshot snapshot) snapshot会包含当前异步任务的状态信息及结果信息 ,比如我们可以通过snapshot.connectionState获取异步任务的状态信息、通过snapshot.hasError判断异步任务是否有错误等等,完整的定义读者可以查看AsyncSnapshot类定义。 另外,FutureBuilder的builder函数签名和StreamBuilder的builder是相同的。 示例 我们实现一个路由,当该路由打开时我们从网上获取数据,获取数据时弹一个加载框;获取结束时,如果成功则显示获取到的数据,如果失败则显示错误。由于我们还没有介绍在flutter中如何发起网络请求,所以在这里我们不真正去网络请求数据,而是模拟一下这个过程,隔3秒后返回一个字符串: Future mockNetworkData() async { return Future.delayed(Duration(seconds: 2), () => \"我是从互联网上获取的数据\"); } FutureBuilder使用代码如下: ... Widget build(BuildContext context) { return Center( child: FutureBuilder( future: mockNetworkData(), builder: (BuildContext context, AsyncSnapshot snapshot) { // 请求已结束 if (snapshot.connectionState == ConnectionState.done) { if (snapshot.hasError) { // 请求失败,显示错误 return Text(\"Error: ${snapshot.error}\"); } else { // 请求成功,显示数据 return Text(\"Contents: ${snapshot.data}\"); } } else { // 请求未结束,显示loading return CircularProgressIndicator(); } }, ), ); } 运行结果如图7-8、7-9所示: 上面代码中我们在builder中根据当前异步任务状态ConnectionState来返回不同的widget。ConnectionState是一个枚举类,定义如下: enum ConnectionState { /// 当前没有异步任务,比如[FutureBuilder]的[future]为null时 none, /// 异步任务处于等待状态 waiting, /// Stream处于激活状态(流上已经有数据传递了),对于FutureBuilder没有该状态。 active, /// 异步任务已经终止. done, } 注意,ConnectionState.active只在StreamBuilder中才会出现。 7.5.2 StreamBuilder 我们知道,在Dart中Stream 也是用于接收异步事件数据,和Future 不同的是,它可以接收多个异步操作的结果,它常用于会多次读取数据的异步任务场景,如网络内容下载、文件读写等。StreamBuilder正是用于配合Stream来展示流上事件(数据)变化的UI组件。下面看一下StreamBuilder的默认构造函数: StreamBuilder({ Key key, this.initialData, Stream stream, @required this.builder, }) 可以看到和FutureBuilder的构造函数只有一点不同:前者需要一个future,而后者需要一个stream。 示例 我们创建一个计时器的示例:每隔1秒,计数加1。这里,我们使用Stream来实现每隔一秒生成一个数字: Stream counter() { return Stream.periodic(Duration(seconds: 1), (i) { return i; }); } StreamBuilder使用代码如下: Widget build(BuildContext context) { return StreamBuilder( stream: counter(), // //initialData: ,// a Stream or null builder: (BuildContext context, AsyncSnapshot snapshot) { if (snapshot.hasError) return Text('Error: ${snapshot.error}'); switch (snapshot.connectionState) { case ConnectionState.none: return Text('没有Stream'); case ConnectionState.waiting: return Text('等待数据...'); case ConnectionState.active: return Text('active: ${snapshot.data}'); case ConnectionState.done: return Text('Stream已关闭'); } return null; // unreachable }, ); } 读者可以自己运行本示例查看运行结果。注意,本示例只是为了演示StreamBuilder的使用,在实战中,凡是UI会依赖多个异步数据而发生变化的场景都可以使用StreamBuilder。 "},"chapter7/dailog.html":{"url":"chapter7/dailog.html","title":"7.6:对话框详解","keywords":"","body":"7.6 对话框详解 本节将详细介绍一下Flutter中话框对话框的使用方式、实现原理、样式定制及状态管理。 7.6.1 使用对话框 对话框本质上也是UI布局,通常一个对话框会包含标题、内容,以及一些操作按钮,为此,Material库中提提供了一些现成的对话框组件来用于快速的构建出一个完整的对话框。 AlertDialog 下面我们主要介绍一下Material库中的AlertDialog组件,它的构造函数定义如下: const AlertDialog({ Key key, this.title, //对话框标题组件 this.titlePadding, // 标题填充 this.titleTextStyle, //标题文本样式 this.content, // 对话框内容组件 this.contentPadding = const EdgeInsets.fromLTRB(24.0, 20.0, 24.0, 24.0), //内容的填充 this.contentTextStyle,// 内容文本样式 this.actions, // 对话框操作按钮组 this.backgroundColor, // 对话框背景色 this.elevation,// 对话框的阴影 this.semanticLabel, //对话框语义化标签(用于读屏软件) this.shape, // 对话框外形 }) 参数都比较简单,不在赘述。下面我们看一个例子,假如我们要在删除文件事弹出一个确认对话框,该对话框如图7-10所示: 该对话框样式代码如下: AlertDialog( title: Text(\"提示\"), content: Text(\"您确定要删除当前文件吗?\"), actions: [ FlatButton( child: Text(\"取消\"), onPressed: () => Navigator.of(context).pop(), //关闭对话框 ), FlatButton( child: Text(\"删除\"), onPressed: () { // ... 执行删除操作 Navigator.of(context).pop(true); //关闭对话框 }, ), ], ); 实现代码很简单,不在赘述。唯一需要注意的是我们是通过Navigator.of(context).pop(…)方法来关闭对话框的,这和路由返回的方式是一致的,并且都可以返回一个结果数据。现在,对话框我们已经构建好了,那么如何将它弹出来呢?还有对话框返回的数据如何应如何被接收呢?这些问题的答案都在showDialog()方法中。 showDialog()是Material组件库提供的一个用于弹出Material风格对话框的方法,签名如下: Future showDialog({ @required BuildContext context, bool barrierDismissible = true, //点击对话框barrier(遮罩)时是否关闭它 WidgetBuilder builder, // 对话框UI的builder }) 该方法只有两个参数,含义见注释。该方法返回一个Future,它正是用于接收对话框的返回值:如果我们是通过点击对话框遮罩关闭的,则Future的值为null,否则为我们通过Navigator.of(context).pop(result)返回的result值,下面我们看一下整个示例: //点击该按钮后弹出对话框 RaisedButton( child: Text(\"对话框1\"), onPressed: () async { //弹出对话框并等待其关闭 bool delete = await showDeleteConfirmDialog1(); if (delete == null) { print(\"取消删除\"); } else { print(\"已确认删除\"); //... 删除文件 } }, ), // 弹出对话框 Future showDeleteConfirmDialog1() { return showDialog( context: context, builder: (context) { return AlertDialog( title: Text(\"提示\"), content: Text(\"您确定要删除当前文件吗?\"), actions: [ FlatButton( child: Text(\"取消\"), onPressed: () => Navigator.of(context).pop(), // 关闭对话框 ), FlatButton( child: Text(\"删除\"), onPressed: () { //关闭对话框并返回true Navigator.of(context).pop(true); }, ), ], ); }, ); } 示例运行后,我们点击对话框“取消”按钮或遮罩,控制台就会输出\"取消删除\",如果点击“删除”按钮,控制台就会输出\"已确认删除\"。 注意:如果AlertDialog的内容过长,内容将会溢出,这在很多时候可能不是我们期望的,所以如果对话框内容过长时,可以用SingleChildScrollView将内容包裹起来。 SimpleDialog SimpleDialog也是Material组件库提供的对话框,它会展示一个列表,用于列表选择的场景。下面是一个选择APP语言的示例,运行结果如图7-11。 实现代码如下: Future changeLanguage() async { int i = await showDialog( context: context, builder: (BuildContext context) { return SimpleDialog( title: const Text('请选择语言'), children: [ SimpleDialogOption( onPressed: () { // 返回1 Navigator.pop(context, 1); }, child: Padding( padding: const EdgeInsets.symmetric(vertical: 6), child: const Text('中文简体'), ), ), SimpleDialogOption( onPressed: () { // 返回2 Navigator.pop(context, 2); }, child: Padding( padding: const EdgeInsets.symmetric(vertical: 6), child: const Text('美国英语'), ), ), ], ); }); if (i != null) { print(\"选择了:${i == 1 ? \"中文简体\" : \"美国英语\"}\"); } } 列表项组件我们使用了SimpleDialogOption组件来包装了一下,它相当于一个FlatButton,只不过按钮文案是左对齐的,并且padding较小。上面示例运行后,用户选择一种语言后,控制台就会打印出它。 Dialog 实际上AlertDialog和SimpleDialog都使用了Dialog类。由于AlertDialog和SimpleDialog中使用了IntrinsicWidth来尝试通过子组件的实际尺寸来调整自身尺寸,这就导致他们的子组件不能是延迟加载模型的组件(如ListView、GridView 、 CustomScrollView等),如下面的代码运行后会报错。 AlertDialog( content: ListView( children: ...//省略 ), ); 如果我们就是需要嵌套一个ListView应该怎么做?这时,我们可以直接使用Dialog类,如: Dialog( child: ListView( children: ...//省略 ), ); 下面我们看一个弹出一个有30个列表项的对话框示例,运行效果如图7-12所示: 实现代码如下: Future showListDialog() async { int index = await showDialog( context: context, builder: (BuildContext context) { var child = Column( children: [ ListTile(title: Text(\"请选择\")), Expanded( child: ListView.builder( itemCount: 30, itemBuilder: (BuildContext context, int index) { return ListTile( title: Text(\"$index\"), onTap: () => Navigator.of(context).pop(index), ); }, )), ], ); //使用AlertDialog会报错 //return AlertDialog(content: child); return Dialog(child: child); }, ); if (index != null) { print(\"点击了:$index\"); } } 现在,我们己经介绍完了AlertDialog、SimpleDialog以及Dialog。上面的示例中,我们在调用showDialog时,在builder中都是构建了这三个对话框组件的一种,可能有些读者会惯性的以为在builder中只能返回这三者之一,其实这不是必须的!就拿Dialog的示例来距离,我们完全可以用下面的代码来替代Dialog: // return Dialog(child: child) return UnconstrainedBox( constrainedAxis: Axis.vertical, child: ConstrainedBox( constraints: BoxConstraints(maxWidth: 280), child: Material( child: child, type: MaterialType.card, ), ), ); 上面代码运行后可以实现一样的效果。现在我们总结一下:AlertDialog、SimpleDialog以及Dialog是Material组件库提供的三种对话框,旨在帮助开发者快速构建出符合Material设计规范的对话框,但读者完全可以自定义对话框样式,因此,我们仍然可以实现各种样式的对话框,这样即带来了易用性,又有很强的扩展性。 7.6.2 对话框打开动画及遮罩 我们可以把对话框分为内部样式和外部样式两部分。内部样式指对话框中显示的具体内容,这部分内容我们已经在上面介绍过了;外部样式包含对话框遮罩样式、打开动画等,本节主要介绍如何自定义这些外部样式。 关于动画相关内容我们将在本书后面章节介绍,下面内容读者可以先了解一下(不必深究),读者可以在学习完动画相关内容后再回头来看。 我们已经介绍过了showDialog方法,它是Material组件库中提供的一个打开Material风格对话框的方法。那如何打开一个普通风格的对话框呢(非Material风格)? Flutter 提供了一个showGeneralDialog方法,签名如下: Future showGeneralDialog({ @required BuildContext context, @required RoutePageBuilder pageBuilder, //构建对话框内部UI bool barrierDismissible, //点击遮罩是否关闭对话框 String barrierLabel, // 语义化标签(用于读屏软件) Color barrierColor, // 遮罩颜色 Duration transitionDuration, // 对话框打开/关闭的动画时长 RouteTransitionsBuilder transitionBuilder, // 对话框打开/关闭的动画 }) 实际上,showDialog方法正是showGeneralDialog的一个封装,定制了Material风格对话框的遮罩颜色和动画。Material风格对话框打开/关闭动画是一个Fade(渐隐渐显)动画,如果我们想使用一个缩放动画就可以通过transitionBuilder来自定义。下面我们自己封装一个showCustomDialog方法,它定制的对话框动画为缩放动画,并同时制定遮罩颜色为Colors.black87: Future showCustomDialog({ @required BuildContext context, bool barrierDismissible = true, WidgetBuilder builder, }) { final ThemeData theme = Theme.of(context, shadowThemeOnly: true); return showGeneralDialog( context: context, pageBuilder: (BuildContext buildContext, Animation animation, Animation secondaryAnimation) { final Widget pageChild = Builder(builder: builder); return SafeArea( child: Builder(builder: (BuildContext context) { return theme != null ? Theme(data: theme, child: pageChild) : pageChild; }), ); }, barrierDismissible: barrierDismissible, barrierLabel: MaterialLocalizations.of(context).modalBarrierDismissLabel, barrierColor: Colors.black87, // 自定义遮罩颜色 transitionDuration: const Duration(milliseconds: 150), transitionBuilder: _buildMaterialDialogTransitions, ); } Widget _buildMaterialDialogTransitions( BuildContext context, Animation animation, Animation secondaryAnimation, Widget child) { // 使用缩放动画 return ScaleTransition( scale: CurvedAnimation( parent: animation, curve: Curves.easeOut, ), child: child, ); } 现在,我们使用showCustomDialog打开文件删除确认对话框,代码如下: ... //省略无关代码 showCustomDialog( context: context, builder: (context) { return AlertDialog( title: Text(\"提示\"), content: Text(\"您确定要删除当前文件吗?\"), actions: [ FlatButton( child: Text(\"取消\"), onPressed: () => Navigator.of(context).pop(), ), FlatButton( child: Text(\"删除\"), onPressed: () { // 执行删除操作 Navigator.of(context).pop(true); }, ), ], ); }, ); 运行效果如图7-13所示: 可以发现,遮罩颜色比通过showDialog方法打开的对话框更深。另外对话框打开/关闭的动画已变为缩放动画了,读者可以亲自运行示例查看效果。 7.6.3 对话框实现原理 我们已经知道对话框最终都是由showGeneralDialog方法打开的,我们来看看它的具体实现: Future showGeneralDialog({ @required BuildContext context, @required RoutePageBuilder pageBuilder, bool barrierDismissible, String barrierLabel, Color barrierColor, Duration transitionDuration, RouteTransitionsBuilder transitionBuilder, }) { return Navigator.of(context, rootNavigator: true).push(_DialogRoute( pageBuilder: pageBuilder, barrierDismissible: barrierDismissible, barrierLabel: barrierLabel, barrierColor: barrierColor, transitionDuration: transitionDuration, transitionBuilder: transitionBuilder, )); } 实现很简单,直接调用Navigator的push方法打开了一个新的对话框路由_DialogRoute,然后返回了push的返回值。可以对话框实际上正是通过路由的形式实现的,这也是为什么我们可以使用Navigator的pop 方法来退出对话框的原因。关于对话框的样式定制在_DialogRoute中,没有什么新的东西,读者可以自行查看。 7.6.4 对话框状态管理 我们在用户选择删除一个文件时,会询问是否产出此文件;在用户选择一个文件夹是,应该再让用户确认是否删除子文件夹。为了在用户选择了文件夹时避免二次弹窗确认是否删除子目录,我们在确认对话框底部添加一个“同时删除子目录?”的复选框,如图7-14所示: 现在就有一个问题:如何管理复选框的选中状态?习惯上,我们会在路由页的State中来管理选中状态,我们可能会写出如下这样的代码: class _DialogRouteState extends State { bool withTree = false; // 复选框选中状态 @override Widget build(BuildContext context) { return Column( children: [ RaisedButton( child: Text(\"对话框2\"), onPressed: () async { bool delete = await showDeleteConfirmDialog2(); if (delete == null) { print(\"取消删除\"); } else { print(\"同时删除子目录: $delete\"); } }, ), ], ); } Future showDeleteConfirmDialog2() { withTree = false; // 默认复选框不选中 return showDialog( context: context, builder: (context) { return AlertDialog( title: Text(\"提示\"), content: Column( crossAxisAlignment: CrossAxisAlignment.start, mainAxisSize: MainAxisSize.min, children: [ Text(\"您确定要删除当前文件吗?\"), Row( children: [ Text(\"同时删除子目录?\"), Checkbox( value: withTree, onChanged: (bool value) { //复选框选中状态发生变化时重新构建UI setState(() { //更新复选框状态 withTree = !withTree; }); }, ), ], ), ], ), actions: [ FlatButton( child: Text(\"取消\"), onPressed: () => Navigator.of(context).pop(), ), FlatButton( child: Text(\"删除\"), onPressed: () { //执行删除操作 Navigator.of(context).pop(withTree); }, ), ], ); }, ); } } 然后,当我们运行上面的代码时我们会发现复选框根本选不中!为什么会这样呢?其实原因很简单,我们知道setState方法只会针对当前context的子树重新build,但是我们的对话框并不是在_DialogRouteState的build 方法中构建的,而是通过showDialog单独构建的,所以调用在_DialogRouteState的context中调用setState是无法影响通过showDialog构建的UI的。另外,我们可以从另外一个角度来理解这个现象,前面说过动画框也是通过路由的方式来实现的,那么上面的代码实际上就等同于企图在父路由中调用setState来让子路由更新,这显然是不行的!简尔言之,根本原因就是context不对。那如何让复选框可点击呢?通常有如下三种方法: 单独抽离出StatefulWidget 既然是context不对,那么直接的思路就是将复选框的选中逻辑单独封装成一个StatefulWidget,然后其再内部管理复选状态。我们先来看看这种方法,下面是实现代码: // 单独封装一个内部管理选中状态的复选框组件 class DialogCheckbox extends StatefulWidget { DialogCheckbox({ Key key, this.value, @required this.onChanged, }); final ValueChanged onChanged; final bool value; @override _DialogCheckboxState createState() => _DialogCheckboxState(); } class _DialogCheckboxState extends State { bool value; @override void initState() { value = widget.value; super.initState(); } @override Widget build(BuildContext context) { return Checkbox( value: value, onChanged: (v) { //将选中状态通过事件的形式抛出 widget.onChanged(v); setState(() { //更新自身选中状态 value = v; }); }, ); } } 下面是弹出对话框的代码: Future showDeleteConfirmDialog3() { bool _withTree = false; //记录复选框是否选中 return showDialog( context: context, builder: (context) { return AlertDialog( title: Text(\"提示\"), content: Column( crossAxisAlignment: CrossAxisAlignment.start, mainAxisSize: MainAxisSize.min, children: [ Text(\"您确定要删除当前文件吗?\"), Row( children: [ Text(\"同时删除子目录?\"), DialogCheckbox( value: _withTree, //默认不选中 onChanged: (bool value) { //更新选中状态 _withTree = !_withTree; }, ), ], ), ], ), actions: [ FlatButton( child: Text(\"取消\"), onPressed: () => Navigator.of(context).pop(), ), FlatButton( child: Text(\"删除\"), onPressed: () { // 将选中状态返回 Navigator.of(context).pop(_withTree); }, ), ], ); }, ); } 最后,就是使用: RaisedButton( child: Text(\"话框3(复选框可点击)\"), onPressed: () async { //弹出删除确认对话框,等待用户确认 bool deleteTree = await showDeleteConfirmDialog3(); if (deleteTree == null) { print(\"取消删除\"); } else { print(\"同时删除子目录: $deleteTree\"); } }, ), 运行后效果如图7-15所示: 可见复选框能选中了,点击“取消”或“删除”后,控制台就会打印出最终的确认状态。 使用StatefulBuilder方法 上面的方法虽然能解决对话框状态更新的问题,但是有一个明显的缺点——对话框上所有需要会改变状态的组件都得单独封装在一个在内部管理状态StatefulWidget中,这样不仅麻烦,而且复用性不大。因此,我们来想想能不能找到一种更简单的方法?上面的方法本质上就是将对话框的状态置于一个StatefulWidget的上下文中,由StatefulWidget在内部管理,那么我们有没有办法在不需要单独抽离组件的情况下创建一个StatefulWidget的上下文呢?想到这里,我们可以从Builder组件的实现获得灵感。在前面介绍过Builder组件可以获得组件所在位置的真正的Context,那它是怎么实现的呢,我们看看它的源码: class Builder extends StatelessWidget { const Builder({ Key key, @required this.builder, }) : assert(builder != null), super(key: key); final WidgetBuilder builder; @override Widget build(BuildContext context) => builder(context); } 可以看到,Builder实际上只是继承了StatelessWidget,然后在build方法中对获取当前context后将构建方法代理到了builder回调,Builder实际上是获取了StatelessWidget 的上下文。那我们能否用相同的方法获取StatefulWidget 上下文,并代理其build方法呢?我们照猫画虎,来封装一个StatefulBuilder方法: class StatefulBuilder extends StatefulWidget { const StatefulBuilder({ Key key, @required this.builder, }) : assert(builder != null), super(key: key); final StatefulWidgetBuilder builder; @override _StatefulBuilderState createState() => _StatefulBuilderState(); } class _StatefulBuilderState extends State { @override Widget build(BuildContext context) => widget.builder(context, setState); } 代码很简单,StatefulBuilder获取了StatefulWidget的上下文,并代理了其构建过程。下面我们就可以通过StatefulBuilder来重构上面的代码了(变动只在DialogCheckbox部分): ... //省略无关代码 Row( children: [ Text(\"同时删除子目录?\"), //使用StatefulBuilder来构建StatefulWidget上下文 StatefulBuilder( builder: (context, _setState) { return Checkbox( value: _withTree, //默认不选中 onChanged: (bool value) { //_setState方法实际就是该StatefulWidget的setState方法, //调用后builder方法会重新被调用 _setState(() { //更新选中状态 _withTree = !_withTree; }); }, ); }, ), ], ), 实际上,这种方法本质上就是子组件通知父组件(StatefulWidget)重新build子组件本身来实现UI更新的,读者可以对比代码理解。实际上StatefulBuilder正是Flutter SDK中提供的一个类,它和Builder的原理是一样的,在此,提醒读者一定要将StatefulBuilder和Builder理解透彻,因为它们在Flutter中是非常实用的。 精妙的解法 要确认这个问题,我们就得先想想UI是怎么更新的,我们知道在调用setState方法后StatefulWidget就会重新build,那setState方法做了什么呢?我们能不能从中找到方法?顺着这个思路,我们就得看一下setState的核心源码: void setState(VoidCallback fn) { ... //省略无关代码 _element.markNeedsBuild(); } 可以发现,setState中调用了Element的markNeedsBuild()方法,我们前面说过,Flutter是一个响应式框架,要更新UI只需改变状态后通知框架页面需要重构即可,而Element的markNeedsBuild()方法正是来实现这个功能的!markNeedsBuild()方法会将当前的Element对象标记为“dirty”(脏的),在每一个Frame,Flutter都会重新构建被标记为“dirty”Element对象。既然如此,我们有没有办法获取到对话框内部UI的Element对象,然后将其表姐为为“dirty”呢?答案是肯定的!我们可以通过Context来得到Element对象,至于Element与Context的关系我们将会在后面“Flutter核心原理”一章中再深入介绍,现在只需要简单的认为:在组件树种,context实际上就是Element对象的引用。知道这个后,那么解决的方案就呼之欲出了,我们可以通过如下方式来让复选框可以更新: Future showDeleteConfirmDialog4() { bool _withTree = false; return showDialog( context: context, builder: (context) { return AlertDialog( title: Text(\"提示\"), content: Column( crossAxisAlignment: CrossAxisAlignment.start, mainAxisSize: MainAxisSize.min, children: [ Text(\"您确定要删除当前文件吗?\"), Row( children: [ Text(\"同时删除子目录?\"), Checkbox( // 依然使用Checkbox组件 value: _withTree, onChanged: (bool value) { // 此时context为对话框UI的根Element,我们 // 直接将对话框UI对应的Element标记为dirty (context as Element).markNeedsBuild(); _withTree = !_withTree; }, ), ], ), ], ), actions: [ FlatButton( child: Text(\"取消\"), onPressed: () => Navigator.of(context).pop(), ), FlatButton( child: Text(\"删除\"), onPressed: () { // 执行删除操作 Navigator.of(context).pop(_withTree); }, ), ], ); }, ); } 上面的代码运行后复选框也可以正常选中。可以看到,我们只用了一行代码便解决了这个问题!当然上面的代码并不是最优,因为我们只需要更新复选框的状态,而此时的context我们用的是对话框的根context,所以会导致整个对话框UI组件全部rebuild,因此最好的作法是将context的“范围”缩小,也就是说只将Checkbox的Element标记为dirty,优化后的代码为: ... //省略无关代码 Row( children: [ Text(\"同时删除子目录?\"), // 通过Builder来获得构建Checkbox的`context`, // 这是一种常用的缩小`context`范围的方式 Builder( builder: (BuildContext context) { return Checkbox( value: _withTree, onChanged: (bool value) { (context as Element).markNeedsBuild(); _withTree = !_withTree; }, ); }, ), ], ), 7.6.5 其它类型的对话框 底部菜单列表 showModalBottomSheet方法可以弹出一个Material风格的底部菜单列表模态对话框,示例如下: // 弹出底部菜单列表模态对话框 Future _showModalBottomSheet() { return showModalBottomSheet( context: context, builder: (BuildContext context) { return ListView.builder( itemCount: 30, itemBuilder: (BuildContext context, int index) { return ListTile( title: Text(\"$index\"), onTap: () => Navigator.of(context).pop(index), ); }, ); }, ); } 点击按钮,弹出该对话框: RaisedButton( child: Text(\"显示底部菜单列表\"), onPressed: () async { int type = await _showModalBottomSheet(); print(type); }, ), 运行后效果如图7-16所示: showModalBottomSheet的实现原理和showGeneralDialog实现原理相同,都是通过路由的方式来实现的,读者可以查看源码对比。但值得一提的是还有一个showBottomSheet方法,该方法会从设备底部向上弹出一个全屏的菜单列表,示例如下: // 返回的是一个controller PersistentBottomSheetController _showBottomSheet() { return showBottomSheet( context: context, builder: (BuildContext context) { return ListView.builder( itemCount: 30, itemBuilder: (BuildContext context, int index) { return ListTile( title: Text(\"$index\"), onTap: (){ // do something print(\"$index\"); Navigator.of(context).pop(); }, ); }, ); }, ); } 运行效果如图7-17所示: PersistentBottomSheetController中包含了一下控制对话框的方法比如close方法可以关闭该对话框,功能比较简单,读者可以自行查看源码。唯一需要注意的是,showBottomSheet和我们上面介绍的弹出对话框的方法原理不同:showBottomSheet是调用widget树顶部的Scaffold组件的ScaffoldState的showBottomSheet同名方法实现,也就是说要调用showBottomSheet方法就必须得保证父级组件中有Scaffold。 Loading框 其实Loading框可以直接通过showDialog+AlertDialog来自定义: showLoadingDialog() { showDialog( context: context, barrierDismissible: false, //点击遮罩不关闭对话框 builder: (context) { return AlertDialog( content: Column( mainAxisSize: MainAxisSize.min, children: [ CircularProgressIndicator(), Padding( padding: const EdgeInsets.only(top: 26.0), child: Text(\"正在加载,请稍后...\"), ) ], ), ); }, ); } 显示效果如图7-18所示: 如果我们嫌Loading框太宽,想自定义对话框宽度,这时只使用SizedBox或ConstrainedBox是不行的,原因是showDialog中已经给对话框设置了宽度限制,根据我们在第五章“尺寸限制类容器”一节中所述,我们可以使用UnconstrainedBox先抵消showDialog对宽度的限制,然后再使用SizedBox指定宽度,代码如下: ... //省略无关代码 UnconstrainedBox( constrainedAxis: Axis.vertical, child: SizedBox( width: 280, child: AlertDialog( content: Column( mainAxisSize: MainAxisSize.min, children: [ CircularProgressIndicator(value: .8,), Padding( padding: const EdgeInsets.only(top: 26.0), child: Text(\"正在加载,请稍后...\"), ) ], ), ), ), ); 代码运行后,效果如图7-19所示: 日历选择 我们先看一下Material风格的日历选择器,如图7-20所示: 实现代码: Future _showDatePicker1() { var date = DateTime.now(); return showDatePicker( context: context, initialDate: date, firstDate: date, lastDate: date.add( //未来30天可选 Duration(days: 30), ), ); } iOS风格的日历选择器需要使用showCupertinoModalPopup方法和CupertinoDatePicker组件来实现: Future _showDatePicker2() { var date = DateTime.now(); return showCupertinoModalPopup( context: context, builder: (ctx) { return SizedBox( height: 200, child: CupertinoDatePicker( mode: CupertinoDatePickerMode.dateAndTime, minimumDate: date, maximumDate: date.add( Duration(days: 30), ), maximumYear: date.year + 1, onDateTimeChanged: (DateTime value) { print(value); }, ), ); }, ); } 运行效果如图7-21所示: "},"chapter8/":{"url":"chapter8/","title":"第八章:事件处理与通知","keywords":"","body":"事件处理与通知 Flutter中的手势系统有两个独立的层。第一层为原始指针(pointer)事件,它描述了屏幕上指针(例如,触摸、鼠标和触控笔)的位置和移动。 第二层为手势,描述由一个或多个指针移动组成的语义动作,如拖动、缩放、双击等。本章将先分别介绍如何处理这两种事件,最后再介绍一下Flutter中重要的Notification机制。 本章目录 原始指针事件处理 手势识别 全局事件总线 通知Notification "},"chapter8/listener.html":{"url":"chapter8/listener.html","title":"8.1:原始指针事件处理","keywords":"","body":"8.1 原始指针事件处理 本节先来介绍一下原始指针事件(Pointer Event,在移动设备上通常为触摸事件),下一节再介绍手势处理。 在移动端,各个平台或UI系统的原始指针事件模型基本都是一致,即:一次完整的事件分为三个阶段:手指按下、手指移动、和手指抬起,而更高级别的手势(如点击、双击、拖动等)都是基于这些原始事件的。 当指针按下时,Flutter会对应用程序执行命中测试(Hit Test),以确定指针与屏幕接触的位置存在哪些组件(widget), 指针按下事件(以及该指针的后续事件)然后被分发到由命中测试发现的最内部的组件,然后从那里开始,事件会在组件树中向上冒泡,这些事件会从最内部的组件被分发到组件树根的路径上的所有组件,这和Web开发中浏览器的事件冒泡机制相似, 但是Flutter中没有机制取消或停止”冒泡“过程,而浏览器的冒泡是可以停止的。注意,只有通过命中测试的组件才能触发事件。 Flutter中可以使用Listener来监听原始触摸事件,按照本书对组件的分类,则Listener也是一个功能性组件。下面是Listener的构造函数定义: 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), ), 运行后效果如图8-1所示: 手指在蓝色矩形区域内移动即可看到当前指针偏移,当触发指针事件时,参数PointerDownEvent、PointerMoveEvent、PointerUpEvent都是PointerEvent的一个子类,PointerEvent类中包括当前指针的一些信息,如: position:它是鼠标相对于当对于全局坐标的偏移。 delta:两次指针移动事件(PointerMoveEvent)的距离。 pressure:按压力度,如果手机屏幕支持压力传感器(如iPhone的3D Touch),此属性会更有意义,如果手机不支持,则始终为1。 orientation:指针移动方向,是一个角度值。 上面只是PointerEvent一些常用属性,除了这些它还有很多属性,读者可以查看API文档。 现在,我们重点来介绍一下behavior属性,它决定子组件如何响应命中测试,它的值类型为HitTestBehavior,这是一个枚举类,有三个枚举值: deferToChild:子组件会一个接一个的进行命中测试,如果子组件中有测试通过的,则当前组件通过,这就意味着,如果指针事件作用于子组件上时,其父级组件也肯定可以收到该事件。 opaque:在命中测试时,将当前组件当成不透明处理(即使本身是透明的),最终的效果相当于当前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\") ), 上例中,只有点击文本内容区域才会触发点击事件,因为 deferToChild 会去子组件判断是否命中测试,而该例中子组件就是 Text(\"Box A\") 。 如果我们想让整个300×150的矩形区域都能点击我们可以将behavior设为HitTestBehavior.opaque。注意,该属性并不能用于在组件树中拦截(忽略)事件,它只是决定命中测试时的组件大小。 translucent:当点击组件透明区域时,可以对自身边界内及底部可视区域都进行命中测试,这意味着点击顶部组件透明区域时,顶部组件和底部组件都可以接收到事件,例如: 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范围内非文本区域点击时(顶部组件透明区域),控制台只会打印“down0”,也就是说顶部组件没有接收到事件,而只有底部接收到了。当放开注释后,再点击时顶部和底部都会接收到事件,此时会打印: I/flutter ( 3039): down1 I/flutter ( 3039): down0 如果behavior值改为HitTestBehavior.opaque,则只会打印\"down1\"。 忽略PointerEvent 假如我们不想让某个子树响应PointerEvent的话,我们可以使用IgnorePointer和AbsorbPointer,这两个组件都能阻止子树接收指针事件,不同之处在于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":"8.2:手势识别","keywords":"","body":"8.2 手势识别 本节先介绍一些Flutter中用于处理手势的GestureDetector和GestureRecognizer,然后再仔细讨论一下手势竞争与冲突问题。 8.2.1 GestureDetector GestureDetector是一个用于手势识别的功能性组件,我们通过它可以来识别各种手势。GestureDetector实际上是指针事件的语义化封装,接下来我们详细介绍一下各种手势识别。 点击、双击、长按 我们通过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; }); } } 运行效果如图8-2所示: 注意: 当同时监听onTap和onDoubleTap事件时,当用户触发tap事件时,会有200毫秒左右的延时,这是因为当用户点击完之后很可能会再次点击以触发双击事件,所以GestureDetector会等一段时间来确定是否为双击事件。如果用户只监听了onTap(没有监听onDoubleTap)事件时,则没有延时。 拖动、滑动 一次完整的手势过程是指用户手指按下到抬起的整个过程,期间,用户按下手指后可能会移动,也可能不会移动。GestureDetector对于拖动和滑动事件是没有区分的,他们本质上是一样的。GestureDetector会将要监听的组件的原点(左上角)作为本次手势的原点,当用户在监听的组件上按下手指时,手势识别就会开始。下面我们看一个拖动圆形字母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); }, ), ) ], ); } } 运行后,就可以在任意方向拖动了,运行效果如图8-3所示: 日志: I/flutter ( 8513): 用户手指按下:Offset(26.3, 101.8) I/flutter ( 8513): Velocity(235.5, 125.8) 代码解释: DragDownDetails.globalPosition:当用户按下时,此属性为用户按下的位置相对于屏幕(而非父组件)原点(左上角)的偏移。 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); }); }, ), ); } } 运行效果如图8-4所示: 现在在图片上双指张开、收缩就可以放大、缩小图片。本示例比较简单,实际中我们通常还需要一些其它功能,如双击放大或缩小一定倍数、双指张开离开屏幕时执行一个减速放大动画等,读者可以在学习完后面”动画“一章中的内容后自己来尝试实现一下。 8.2.2 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()方法来释放资源(主要是取消内部的计时器)。 8.2.3 手势竞争与冲突 竞争 如果在上例中我们同时监听水平和垂直方向的拖动事件,那么我们斜着拖动时哪个方向会生效?实际上取决于第一次移动时两个轴上的位移分量,哪个轴的大,哪个轴在本次滑动事件竞争中就胜出。实际上Flutter中的手势识别引入了一个Arena的概念,Arena直译为“竞技场”的意思,每一个手势识别器(GestureRecognizer)都是一个“竞争者”(GestureArenaMember),当发生滑动事件时,他们都要在“竞技场”去竞争本次事件的处理权,而最终只有一个“竞争者”会胜出(win)。例如,假设有一个ListView,它的第一个子组件也是ListView,如果现在滑动这个子ListView,父ListView会动吗?答案是否定的,这时只有子ListView会动,因为这时子ListView会胜出而获得滑动事件的处理权。 示例 我们以拖动手势为例,同时识别水平和垂直方向的拖动手势,当用户按下手指时就会触发竞争(水平方向和垂直方向),一旦某个方向“获胜”,则直到当次拖动手势结束都会沿着该方向移动。代码如下: 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":"8.3:全局事件总线","keywords":"","body":"8.3 事件总线 在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()始终返回都是同一个实例,读者应该理解并掌握这种方法。 事件总线通常用于组件之间状态共享,但关于组件之间状态共享也有一些专门的包如redux、以及前面介绍过的Provider。对于一些简单的应用,事件总线是足以满足业务需求的,如果你决定使用状态管理包的话,一定要想清楚您的APP是否真的有必要使用它,防止“化简为繁”、过度设计。 "},"chapter8/notification.html":{"url":"chapter8/notification.html","title":"8.4:通知(Notification)","keywords":"","body":"8.4 Notification 通知(Notification)是Flutter中一个重要的机制,在widget树中,每一个节点都可以分发通知,通知会沿着当前节点向上传递,所有父节点都可以通过NotificationListener来监听通知。Flutter中将这种由子向父的传递通知的机制称为通知冒泡(Notification Bubbling)。通知冒泡和用户触摸事件冒泡是相似的,但有一点不同:通知冒泡可以中止,但用户触摸事件不行。 通知冒泡和Web开发中浏览器事件冒泡原理是相似的,都是事件从出发源逐层向上传递,我们可以在上层节点任意位置来监听通知/事件,也可以终止冒泡过程,终止冒泡后,通知将不会再向上传递。 Flutter中很多地方使用了通知,如可滚动组件(Scrollable Widget)滑动时就会分发滚动通知(ScrollNotification),而Scrollbar正是通过监听ScrollNotification来确定滚动条位置的。 下面是一个监听可滚动组件滚动通知的例子: NotificationListener( onNotification: (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文档。 上例中,我们通过NotificationListener来监听子ListView的滚动通知的,NotificationListener定义如下: class NotificationListener extends StatelessWidget { const NotificationListener({ Key key, @required this.child, this.onNotification, }) : super(key: key); ...//省略无关代码 } 我们可以看到: NotificationListener 继承自StatelessWidget类,所以它可以直接嵌套到Widget树中。 NotificationListener 可以指定一个模板参数,该模板参数类型必须是继承自Notification;当显式指定模板参数时,NotificationListener 便只会接收该参数类型的通知。举个例子,如果我们将上例子代码给为: //指定监听通知的类型为滚动结束通知(ScrollEndNotification) NotificationListener( onNotification: (notification){ //只会在滚动结束时才会触发此回调 print(notification); }, child: ListView.builder( itemCount: 100, itemBuilder: (context, index) { return ListTile(title: Text(\"$index\"),); } ), ); 上面代码运行后便只会在滚动结束时在控制台打印出通知的信息。 onNotification回调为通知处理回调,其函数签名如下: typedef NotificationListenerCallback = bool Function(T notification); 它的返回值类型为布尔值,当返回值为true时,阻止冒泡,其父级Widget将再也收不到该通知;当返回值为false 时继续向上冒泡通知。 Flutter的UI框架实现中,除了在可滚动组件在滚动过程中会发出ScrollNotification之外,还有一些其它的通知,如SizeChangedLayoutNotification、KeepAliveNotification 、LayoutChangedNotification等,Flutter正是通过这种通知机制来使父元素可以在一些特定时机来做一些事情。 自定义通知 除了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+\" \"; }); return true; }, 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。 运行效果如图8-6所示: 阻止冒泡 我们将上面的例子改为: class NotificationRouteState extends State { String _msg=\"\"; @override Widget build(BuildContext context) { //监听通知 return NotificationListener( onNotification: (notification){ print(notification.msg); //打印通知 return false; }, child: NotificationListener( onNotification: (notification) { setState(() { _msg+=notification.msg+\" \"; }); return false; }, child: ...//省略重复代码 ), ); } } 上列中两个NotificationListener进行了嵌套,子NotificationListener的onNotification回调返回了false,表示不阻止冒泡,所以父NotificationListener仍然会受到通知,所以控制台会打印出通知信息;如果将子NotificationListener的onNotification回调的返回值改为true,则父NotificationListener便不会再打印通知了,因为子NotificationListener已经终止通知冒泡了。 通知冒泡原理 我们在上面介绍了通知冒泡的现象及使用,现在我们更深入一些,介绍一下Flutter框架中是如何实现通知冒泡的。为了搞清楚这个问题,就必须看一下源码,我们从通知分发的的源头出发,然后再顺腾摸瓜。由于通知是通过Notification的dispatch(context)方法发出的,那我们先看看dispatch(context)方法中做了什么,下面是相关源码: void dispatch(BuildContext target) { target?.visitAncestorElements(visitAncestor); } dispatch(context)中调用了当前context的visitAncestorElements方法,该方法会从当前Element开始向上遍历父级元素;visitAncestorElements有一个遍历回调参数,在遍历过程中对遍历到的父级元素都会执行该回调。遍历的终止条件是:已经遍历到根Element或某个遍历回调返回false。源码中传给visitAncestorElements方法的遍历回调为visitAncestor方法,我们看看visitAncestor方法的实现: //遍历回调,会对每一个父级Element执行此回调 bool visitAncestor(Element element) { //判断当前element对应的Widget是否是NotificationListener。 //由于NotificationListener是继承自StatelessWidget, //故先判断是否是StatelessElement if (element is StatelessElement) { //是StatelessElement,则获取element对应的Widget,判断 //是否是NotificationListener 。 final StatelessWidget widget = element.widget; if (widget is NotificationListener) { //是NotificationListener,则调用该NotificationListener的_dispatch方法 if (widget._dispatch(this, element)) return false; } } return true; } visitAncestor会判断每一个遍历到的父级Widget是否是NotificationListener,如果不是,则返回true继续向上遍历,如果是,则调用NotificationListener的_dispatch方法,我们看看_dispatch方法的源码: bool _dispatch(Notification notification, Element element) { // 如果通知监听器不为空,并且当前通知类型是该NotificationListener // 监听的通知类型,则调用当前NotificationListener的onNotification if (onNotification != null && notification is T) { final bool result = onNotification(notification); // 返回值决定是否继续向上遍历 return result == true; } return false; } 我们可以看到NotificationListener的onNotification回调最终是在_dispatch方法中执行的,然后会根据返回值来确定是否继续向上冒泡。上面的源码实现其实并不复杂,通过阅读这些源码,一些额外的点读者可以注意一下: Context上也提供了遍历Element树的方法。 我们可以通过Element.widget得到element节点对应的widget;我们已经反复讲过Widget和Element的对应关系,读者通过这些源码来加深理解。 总结 Flutter中通过通知冒泡实现了一套自低向上的消息传递机制,这个和Web开发中浏览器的事件冒泡原理类似,Web开发者可以类比学习。另外我们通过源码了解了Flutter 通知冒泡的流程和原理,便于读者加深理解和学习Flutter的框架设计思想,在此,再次建议读者在平时学习中能多看看源码,定会受益匪浅。 "},"chapter9/":{"url":"chapter9/","title":"第九章:动画","keywords":"","body":"简介 精心设计的动画会让用户界面感觉更直观、流畅,能改善用户体验。 Flutter可以轻松实现各种动画类型,对于许多widget,特别是Material Design widgets,都带有在其设计规范中定义的标准动画效果(但也可以自定义这些效果)。本章将详细介绍Flutter的动画系统,并会通过几个小实例来演示,以帮助开发者迅速理解并掌握动画的开发流程与原理。 本章目录 Flutter动画简介 动画结构 自定义路由过渡动画 Hero动画 交错动画 "},"chapter9/intro.html":{"url":"chapter9/intro.html","title":"9.1:Flutter动画简介","keywords":"","body":"9.1 Flutter动画简介 在任何系统的UI框架中,动画实现的原理都是相同的,即:在一段时间内,快速地多次改变UI外观;由于人眼会产生视觉暂留,所以最终看到的就是一个“连续”的动画,这和电影的原理是一样的。我们将UI的一次改变称为一个动画帧,对应一次屏幕刷新,而决定动画流畅度的一个重要指标就是帧率FPS(Frame Per Second),即每秒的动画帧数。很明显,帧率越高则动画就会越流畅!一般情况下,对于人眼来说,动画帧率超过16FPS,就比较流畅了,超过32FPS就会非常的细腻平滑,而超过32FPS,人眼基本上就感受不到差别了。由于动画的每一帧都是要改变UI输出,所以在一个时间段内连续的改变UI输出是比较耗资源的,对设备的软硬件系统要求都较高,所以在UI系统中,动画的平均帧率是重要的性能指标,而在Flutter中,理想情况下是可以实现60FPS的,这和原生应用能达到的帧率是基本是持平的。 Flutter中动画抽象 为了方便开发者创建动画,不同的UI系统对动画都进行了一些抽象,比如在Android中可以通过XML来描述一个动画然后设置给View。Flutter中也对动画进行了抽象,主要涉及Animation、Curve、Controller、Tween这四个角色,它们一起配合来完成一个完整动画,下面我们一一来介绍它们。 Animation Animation是一个抽象类,它本身和UI渲染没有任何关系,而它主要的功能是保存动画的插值和状态;其中一个比较常用的Animation类是Animation。Animation对象是一个在一段时间内依次生成一个区间(Tween)之间值的类。Animation对象在整个动画执行过程中输出的值可以是线性的、曲线的、一个步进函数或者任何其他曲线函数等等,这由Curve来决定。 根据Animation对象的控制方式,动画可以正向运行(从起始状态开始,到终止状态结束),也可以反向运行,甚至可以在中间切换方向。Animation还可以生成除double之外的其他类型值,如:Animation 或Animation。在动画的每一帧中,我们可以通过Animation对象的value属性获取动画的当前状态值。 动画通知 我们可以通过Animation来监听动画每一帧以及执行状态的变化,Animation有如下两个方法: addListener();它可以用于给Animation添加帧监听器,在每一帧都会被调用。帧监听器中最常见的行为是改变状态后调用setState()来触发UI重建。 addStatusListener();它可以给Animation添加“动画状态改变”监听器;动画开始、结束、正向或反向(见AnimationStatus定义)时会调用状态改变的监听器。 读者在此只需要知道帧监听器和状态监听器的区别,在后面的章节中我们将会举例说明。 Curve 动画过程可以是匀速的、匀加速的或者先加速后减速等。Flutter中通过Curve(曲线)来描述动画过程,我们把匀速动画称为线性的(Curves.linear),而非匀速动画称为非线性的。 我们可以通过CurvedAnimation来指定动画的曲线,如: final CurvedAnimation curve = new CurvedAnimation(parent: controller, curve: Curves.easeIn); CurvedAnimation和AnimationController(下面介绍)都是Animation类型。CurvedAnimation可以通过包装AnimationController和Curve生成一个新的动画对象 ,我们正是通过这种方式来将动画和动画执行的曲线关联起来的。我们指定动画的曲线为Curves.easeIn,它表示动画开始时比较慢,结束时比较快。 Curves 类是一个预置的枚举类,定义了许多常用的曲线,下面列几种常用的: Curves曲线 动画过程 linear 匀速的 decelerate 匀减速 ease 开始加速,后面减速 easeIn 开始慢,后面快 easeOut 开始快,后面慢 easeInOut 开始慢,然后加速,最后再减速 除了上面列举的, Curves 类中还定义了许多其它的曲线,在此便不一一介绍,读者可以自行查看Curves类定义。 当然我们也可以创建自己Curve,例如我们定义一个正弦曲线: class ShakeCurve extends Curve { @override double transform(double t) { return math.sin(t * math.PI * 2); } } 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()方法可以启动正向动画,reverse()可以启动反向动画。在动画开始执行后开始生成动画帧,屏幕没刷新一次就是一个动画帧,在动画的每一帧,会随着根据动画的曲线来生成当前的动画值(Animation.value),然后根据当前的动画值去构建UI,当所有动画帧依次触发时,动画值会依次改变,所以构建的UI也会依次变化,所以最终我们可以看到一个完成的动画。 另外在动画的每一帧,Animation对象会调用其帧监听器,等动画状态发生改变时(如动画结束)会调用状态改变监听器。 duration表示动画执行的时长,通过它我们可以控制动画的速度。 注意: 在某些情况下,动画值可能会超出AnimationController的[0.0,1.0]的范围,这取决于具体的曲线。例如,fling()函数可以根据我们手指滑动(甩出)的速度(velocity)、力量(force)等来模拟一个手指甩出动画,因此它的动画值可以在[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]。如果我们需要构建UI的动画值在不同的范围或不同的数据类型,则可以使用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中主要定义动画值的映射规则。 下面我们看一个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":"9.2:动画结构","keywords":"","body":"9.2 动画基本结构及状态监听 9.2.1 动画基本结构 在Flutter中我们可以通过多种方式来实现动画,下面通过一个图片逐渐放大示例的不同实现来演示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(\"imgs/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(); } 上面代码执行后截取了其中的两帧,效果如图9-1、9-2所示: 使用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(\"imgs/avatar.png\", width: animation.value, height: animation.value ), ); } } class ScaleAnimationRoute1 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()将会在父组件上下文中调用,这将会导致父组件的build方法重新调用;而有了builder之后,只会导致动画widget自身的build重新调用,避免不必要的rebuild。 通过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等,很多时候都可以复用这些预置的过渡类。 9.2.2 动画状态监听 上面说过,我们可以通过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":"9.3:自定义路由过渡动画","keywords":"","body":"9.3 自定义路由切换动画 我们在第二章”路由管理“一节中讲过:Material组件库中提供了一个MaterialPageRoute组件,它可以使用和平台风格一致的路由切换动画,如在iOS上会左右滑动切换,而在Android上会上下滑动切换。现在,我们如果在Android上也想使用左右切换风格,该怎么做?一个简单的作法是可以直接使用CupertinoPageRoute,如: Navigator.push(context, CupertinoPageRoute( builder: (context)=>PageB(), )); CupertinoPageRoute是Cupertino组件库提供的iOS风格的路由切换组件,它实现的就是左右滑动切换。那么我们如何来自定义路由切换动画呢?答案就是PageRouteBuilder。下面我们来看看如何使用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":"9.4:Hero动画","keywords":"","body":"9.4 Hero动画 Hero指的是可以在路由(页面)之间“飞行”的widget,简单来说Hero动画就是在路由切换时,有一个共享的widget可以在新旧路由间切换。由于共享的widget在新旧路由页面上的位置、外观可能有所差异,所以在路由切换时会从旧路逐渐过渡到新路由中的指定位置,这样就会产生一个Hero动画。 你可能多次看到过 hero 动画。例如,一个路由中显示待售商品的缩略图列表,选择一个条目会将其跳转到一个新路由,新路由中包含该商品的详细信息和“购买”按钮。 在Flutter中将图片从一个路由“飞”到另一个路由称为hero动画,尽管相同的动作有时也称为 共享元素转换。下面我们通过一个示例来体验一下hero 动画。 为什么要将这种可飞行的共享组件称为hero(英雄),有一种说法是说美国文化中的超人是可以飞的,那是美国人心中的大英雄,还有漫威中的超级英雄基本上都是会飞的,所以Flutter开发人员就对这种”会飞的widget\"就起了一个富有浪漫主义的名字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: Scaffold( appBar: AppBar( title: Text(\"原图\"), ), 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包装起来,并提供一个相同的tag即可,中间的过渡帧都是Flutter Framework自动完成的。必须要注意, 前后路由页的共享Hero的tag必须是相同的,Flutter Framework内部正是通过tag来确定新旧路由页widget的对应关系的。 Hero动画的原理比较简单,Flutter Framework知道新旧路由页中共享元素的位置和大小,所以根据这两个端点,在动画执行过程中求出过渡时的插值(中间态)即可,而感到幸运的是,这些事情不需要我们自己动手,Flutter已经帮我们做了! "},"chapter9/stagger_animation.html":{"url":"chapter9/stagger_animation.html","title":"9.5:交织动画","keywords":"","body":"9.5 交织动画 有些时候我们可能会需要一些复杂的动画,这些动画可能由一个动画序列或重叠的动画组成,比如:有一个柱状图,需要在高度增长的同时改变颜色,等到增长到最大高度后,我们需要在X轴上平移一段距离。可以发现上述场景在不同阶段包含了多种动画,要实现这种效果,使用交织动画(Stagger Animation)会非常简单。交织动画需要注意以下几点: 要创建交织动画,需要使用多个动画对象(Animation)。 一个AnimationController控制所有的动画对象。 给每一个动画对象指定时间间隔(Interval) 所有动画都由同一个AnimationController驱动,无论动画需要持续多长时间,控制器的值必须在0.0到1.0之间,而每个动画的间隔(Interval)也必须介于0.0和1.0之间。对于在间隔中设置动画的每个属性,需要分别创建一个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 StaggerRoute extends StatefulWidget { @override _StaggerRouteState createState() => _StaggerRouteState(); } class _StaggerRouteState 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 ), ), ), ); } } 执行效果如图,点击图9-3灰色矩形,就可以看到整个动画效果,图9-4是动画执行过程中的一帧。 "},"chapter9/animated_switcher.html":{"url":"chapter9/animated_switcher.html","title":"9.6:通用\"切换动画\"组件(AnimatedSwitcher)","keywords":"","body":"9.6 通用\"切换动画\"组件(AnimatedSwitcher) 实际开发中,我们经常会遇到切换UI元素的场景,比如Tab切换、路由切换。为了增强用户体验,通常在切换时都会指定一个动画,以使切换过程显得平滑。Flutter SDK组件库中已经提供了一些常用的切换组件,如PageView、TabView等,但是,这些组件并不能覆盖全部的需求场景,为此,Flutter SDK中提供了一个AnimatedSwitcher组件,它定义了一种通用的UI切换抽象。 9.6.1 AnimatedSwitcher AnimatedSwitcher 可以同时对其新、旧子元素添加显示、隐藏动画。也就是说在AnimatedSwitcher的子元素发生变化时,会对其旧元素和新元素,我们先看看AnimatedSwitcher 的定义: const AnimatedSwitcher({ Key key, this.child, @required this.duration, // 新child显示动画时长 this.reverseDuration,// 旧child隐藏的动画时长 this.switchInCurve = Curves.linear, // 新child显示的动画曲线 this.switchOutCurve = Curves.linear,// 旧child隐藏的动画曲线 this.transitionBuilder = AnimatedSwitcher.defaultTransitionBuilder, // 动画构建器 this.layoutBuilder = AnimatedSwitcher.defaultLayoutBuilder, //布局构建器 }) 当AnimatedSwitcher的child发生变化时(类型或Key不同),旧child会执行隐藏动画,新child会执行执行显示动画。究竟执行何种动画效果则由transitionBuilder参数决定,该参数接受一个AnimatedSwitcherTransitionBuilder类型的builder,定义如下: typedef AnimatedSwitcherTransitionBuilder = Widget Function(Widget child, Animation animation); 该builder在AnimatedSwitcher的child切换时会分别对新、旧child绑定动画: 对旧child,绑定的动画会反向执行(reverse) 对新child,绑定的动画会正向指向(forward) 这样一下,便实现了对新、旧child的动画绑定。AnimatedSwitcher的默认值是AnimatedSwitcher.defaultTransitionBuilder : Widget defaultTransitionBuilder(Widget child, Animation animation) { return FadeTransition( opacity: animation, child: child, ); } 可以看到,返回了FadeTransition对象,也就是说默认情况,AnimatedSwitcher会对新旧child执行“渐隐”和“渐显”动画。 例子 下面我们看一个列子:实现一个计数器,然后再每一次自增的过程中,旧数字执行缩小动画隐藏,新数字执行放大动画显示,代码如下: import 'package:flutter/material.dart'; class AnimatedSwitcherCounterRoute extends StatefulWidget { const AnimatedSwitcherCounterRoute({Key key}) : super(key: key); @override _AnimatedSwitcherCounterRouteState createState() => _AnimatedSwitcherCounterRouteState(); } class _AnimatedSwitcherCounterRouteState extends State { int _count = 0; @override Widget build(BuildContext context) { return Center( child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ AnimatedSwitcher( duration: const Duration(milliseconds: 500), transitionBuilder: (Widget child, Animation animation) { //执行缩放动画 return ScaleTransition(child: child, scale: animation); }, child: Text( '$_count', //显示指定key,不同的key会被认为是不同的Text,这样才能执行动画 key: ValueKey(_count), style: Theme.of(context).textTheme.display1, ), ), RaisedButton( child: const Text('+1',), onPressed: () { setState(() { _count += 1; }); }, ), ], ), ); } } 运行示例代码,当点击“+1”按钮时,原先的数字会逐渐缩小直至隐藏,而新数字会逐渐放大,我截取了动画执行过程的一帧,如图9-5所示: 上图是第一次点击“+1”按钮后切换动画的一帧,此时“0”正在逐渐缩小,而“1”正在“0”的中间,正在逐渐放大。 注意:AnimatedSwitcher的新旧child,如果类型相同,则Key必须不相等。 9.6.2 AnimatedSwitcher高级用法 假设现在我们想实现一个类似路由平移切换的动画:旧页面屏幕中向左侧平移退出,新页面重屏幕右侧平移进入。如果要用AnimatedSwitcher的话,我们很快就会发现一个问题:做不到!我们可能会写出下面的代码: AnimatedSwitcher( duration: Duration(milliseconds: 200), transitionBuilder: (Widget child, Animation animation) { var tween=Tween(begin: Offset(1, 0), end: Offset(0, 0)) return SlideTransition( child: child, position: tween.animate(animation), ); }, ...//省略 ) 上面的代码有什么问题呢?我们前面说过在AnimatedSwitcher的child切换时会分别对新child执行正向动画(forward),而对旧child执行反向动画(reverse),所以真正的效果便是:新child确实从屏幕右侧平移进入了,但旧child却会从屏幕右侧(而不是左侧)退出。其实也很容易理解,因为在没有特殊处理的情况下同一个动画的正向和逆向正好是相反(对称)的。 那么问题来了,难道就不能用AnimatedSwitcher了?答案当时是否定的!仔细想想这个问题,究其原因,就是因为同一个Animation正向(forward)和反向(reverse)是对称的。所以如果我们可以打破这种对称性,那么便可以实现这个功能,下面我们来封装一个MySlideTransition,它和SlideTransition唯一的不同就是对动画的反向执行进行了(从左边滑出隐藏): class MySlideTransition extends AnimatedWidget { MySlideTransition({ Key key, @required Animation position, this.transformHitTests = true, this.child, }) : assert(position != null), super(key: key, listenable: position) ; Animation get position => listenable; final bool transformHitTests; final Widget child; @override Widget build(BuildContext context) { Offset offset=position.value; //动画反向执行时,调整x偏移,实现”从左边滑出隐藏“ if (position.status == AnimationStatus.reverse) { offset = Offset(-offset.dx, offset.dy); } return FractionalTranslation( translation: offset, transformHitTests: transformHitTests, child: child, ); } } 调用时,将SlideTransition替换成MySlideTransition即可: AnimatedSwitcher( duration: Duration(milliseconds: 200), transitionBuilder: (Widget child, Animation animation) { var tween=Tween(begin: Offset(1, 0), end: Offset(0, 0)) return MySlideTransition( child: child, position: tween.animate(animation), ); }, ...//省略 ) 运行后,我截取动画执行过程中的一帧,如图9-6所示: 上图中“0”从左侧滑出,而\"1\"从右侧滑入。可以看到,我们通过这种巧妙的方式实现了类似路由进场切换的动画,实际上Flutter路由切换也正是通过AnimatedSwitcher来实现的。 SlideTransitionX 上面的示例我们实现了”左出右入“的动画,那如果要实现”右入左出“、”上入下出“或者 ”下入上出“怎么办?当然,我们可以分别修改上面的代码,但是这样每种动画都得单独定义一个”Transition“,这很麻烦。本节将分装一个通用的SlideTransitionX 来实现这种”出入滑动动画“,代码如下: class SlideTransitionX extends AnimatedWidget { SlideTransitionX({ Key key, @required Animation position, this.transformHitTests = true, this.direction = AxisDirection.down, this.child, }) : assert(position != null), super(key: key, listenable: position) { // 偏移在内部处理 switch (direction) { case AxisDirection.up: _tween = Tween(begin: Offset(0, 1), end: Offset(0, 0)); break; case AxisDirection.right: _tween = Tween(begin: Offset(-1, 0), end: Offset(0, 0)); break; case AxisDirection.down: _tween = Tween(begin: Offset(0, -1), end: Offset(0, 0)); break; case AxisDirection.left: _tween = Tween(begin: Offset(1, 0), end: Offset(0, 0)); break; } } Animation get position => listenable; final bool transformHitTests; final Widget child; //退场(出)方向 final AxisDirection direction; Tween _tween; @override Widget build(BuildContext context) { Offset offset = _tween.evaluate(position); if (position.status == AnimationStatus.reverse) { switch (direction) { case AxisDirection.up: offset = Offset(offset.dx, -offset.dy); break; case AxisDirection.right: offset = Offset(-offset.dx, offset.dy); break; case AxisDirection.down: offset = Offset(offset.dx, -offset.dy); break; case AxisDirection.left: offset = Offset(-offset.dx, offset.dy); break; } } return FractionalTranslation( translation: offset, transformHitTests: transformHitTests, child: child, ); } } 现在如果我们想实现各种”滑动出入动画\"\"便非常容易,只需给direction传递不同的方向值即可,比如要实现”上入下出“,则: AnimatedSwitcher( duration: Duration(milliseconds: 200), transitionBuilder: (Widget child, Animation animation) { var tween=Tween(begin: Offset(1, 0), end: Offset(0, 0)) return SlideTransitionX( child: child, direction: AxisDirection.down, //上入下出 position: animation, ); }, ...//省略其余代码 ) 运行后,我截取动画执行过程中的一帧,如图9-7所示: 上图中“1”从底部滑出,而\"2\"从顶部滑入。读者可以尝试给SlideTransitionX的direction取不同的值来查看运行效果。 总结 本节我们学习了AnimatedSwitcher的详细用法,同时也介绍了打破AnimatedSwitcher动画对称性的方法。我们可以发现:在需要切换新旧UI元素的场景,AnimatedSwitcher将十分实用。 "},"chapter10/":{"url":"chapter10/","title":"第十章:自定义组件","keywords":"","body":"本章目录 自定义Widget方法简介 通过组合现有Widget实现 实例:TurnBox CustomPaint与Canvas 实例:圆形渐变进度条 "},"chapter10/intro.html":{"url":"chapter10/intro.html","title":"10.1:自定义组件方法简介","keywords":"","body":"10.1 自定义组件方法简介 当Flutter提供的现有组件无法满足我们的需求,或者我们为了共享代码需要封装一些通用组件,这时我们就需要自定义组件。在Flutter中自定义组件有三种方式:通过组合其它组件、自绘和实现RenderObject。本节我们先分别介绍一下这三种方式的特点,后面章节中则详细介绍它们的细节。 组合其它Widget 这种方式是通过拼装其它组件来组合成一个新的组件。例如我们之前介绍的Container就是一个组合组件,它是由DecoratedBox、ConstrainedBox、Transform、Padding、Align等组件组成。 在Flutter中,组合的思想非常重要,Flutter提供了非常多的基础组件,而我们的界面开发其实就是按照需要组合这些组件来实现各种不同的布局而已。 自绘 如果遇到无法通过现有的组件来实现需要的UI时,我们可以通过自绘组件的方式来实现,例如我们需要一个颜色渐变的圆形进度条,而Flutter提供的CircularProgressIndicator并不支持在显示精确进度时对进度条应用渐变色(其valueColor 属性只支持执行旋转动画时变化Indicator的颜色),这时最好的方法就是通过自定义组件来绘制出我们期望的外观。我们可以通过Flutter中提供的CustomPaint和Canvas来实现UI自绘。 实现RenderObject Flutter提供的自身具有UI外观的组件,如文本Text、Image都是通过相应的RenderObject(我们将在“Flutter核心原理”一章中详细介绍RenderObject)渲染出来的,如Text是由RenderParagraph渲染;而Image是由RenderImage渲染。RenderObject是一个抽象类,它定义了一个抽象方法paint(...): void paint(PaintingContext context, Offset offset) PaintingContext代表组件的绘制上下文,通过PaintingContext.canvas可以获得Canvas,而绘制逻辑主要是通过Canvas API来实现。子类需要重写此方法以实现自身的绘制逻辑,如RenderParagraph需要实现文本绘制逻辑,而RenderImage需要实现图片绘制逻辑。 可以发现,RenderObject中最终也是通过Canvas API来绘制的,那么通过实现RenderObject的方式和上面介绍的通过CustomPaint和Canvas自绘的方式有什么区别?其实答案很简单,CustomPaint只是为了方便开发者封装的一个代理类,它直接继承自SingleChildRenderObjectWidget,通过RenderCustomPaint的paint方法将Canvas和画笔Painter(需要开发者实现,后面章节介绍)连接起来实现了最终的绘制(绘制逻辑在Painter中)。 总结 “组合”是自定义组件最简单的方法,在任何需要自定义组件的场景下,我们都应该优先考虑是否能够通过组合来实现。而自绘和通过实现RenderObject的方法本质上是一样的,都需要开发者调用Canvas API手动去绘制UI,优点是强大灵活,理论上可以实现任何外观的UI,而缺点是必须了解Canvas API细节,并且得自己去实现绘制逻辑。 在本章接下来的小节中,我们将通过一些实例来详细介绍自定义UI的过程,由于后两种方法本质是相同的,并且Flutter中很多基础组件都是通过RenderObject的形式来实现的,所以后续我们只介绍CustomPaint和Canvas的方式,读者如果对自定义RenderObject的方法好奇,可以查看Flutter中相关基础组件对应的RenderObject的实现源码,如RenderParagraph或RenderImage。 "},"chapter10/combine.html":{"url":"chapter10/combine.html","title":"10.2:组合现有组件","keywords":"","body":"10.2 组合现有组件 在Flutter中页面UI通常都是由一些低阶别的组件组合而成,当我们需要封装一些通用组件时,应该首先考虑是否可以通过组合其它组件来实现,如果可以,则应优先使用组合,因为直接通过现有组件拼装会非常简单、灵活、高效。 示例:自定义渐变按钮 Flutter Material组件库中的按钮默认不支持渐变背景,为了实现渐变背景按钮,我们自定义一个GradientButton组件,它需要支持一下功能: 背景支持渐变色 手指按下时有涟漪效果 可以支持圆角 我们先来看看最终要实现的效果(图10-1): 我们DecoratedBox可以支持背景色渐变和圆角,InkWell在手指按下有涟漪效果,所以我们可以通过组合DecoratedBox和InkWell来实现GradientButton,代码如下: import 'package:flutter/material.dart'; class GradientButton extends StatelessWidget { GradientButton({ this.colors, this.width, this.height, this.onPressed, this.borderRadius, @required this.child, }); // 渐变色数组 final List colors; // 按钮宽高 final double width; final double height; final Widget child; final BorderRadius borderRadius; //点击回调 final GestureTapCallback onPressed; @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), borderRadius: borderRadius, ), child: Material( type: MaterialType.transparency, child: InkWell( splashColor: _colors.last, highlightColor: Colors.transparent, borderRadius: borderRadius, onTap: onPressed, 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是由DecoratedBox、Padding、Center、InkWell等组件组合而成。当然上面的代码只是一个示例,作为一个按钮它还并不完整,比如没有禁用状态,读者可以根据实际需要来完善。 使用GradientButton import 'package:flutter/material.dart'; import '../widgets/index.dart'; class GradientButtonRoute extends StatefulWidget { @override _GradientButtonRouteState createState() => _GradientButtonRouteState(); } class _GradientButtonRouteState extends State { @override Widget build(BuildContext context) { return Container( child: Column( children: [ GradientButton( colors: [Colors.orange, Colors.red], height: 50.0, child: Text(\"Submit\"), onPressed: onTap, ), GradientButton( height: 50.0, colors: [Colors.lightGreen, Colors.green[700]], child: Text(\"Submit\"), onPressed: onTap, ), GradientButton( height: 50.0, colors: [Colors.lightBlue[300], Colors.blueAccent], child: Text(\"Submit\"), onPressed: onTap, ), ], ), ); } onTap() { print(\"button click\"); } } 总结 通过组合的方式定义组件和我们之前写界面并无差异,不过在抽离出单独的组件时我们要考虑代码规范性,如必要参数要用@required 标注,对于可选参数在特定场景需要判空或设置默认值等。这是由于使用者大多时候可能不了解组件的内部细节,所以为了保证代码健壮性,我们需要在用户错误地使用组件时能够兼容或报错提示(使用assert断言函数)。 "},"chapter10/turn_box.html":{"url":"chapter10/turn_box.html","title":"10.3:组合实例:TurnBox","keywords":"","body":"10.3 组合实例: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和child来实现的旋转效果。 在didUpdateWidget中,我们判断要旋转的角度是否发生了变化,如果变了,则执行一个过渡动画。 下面我们测试一下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; }); }, ) ], ), ); } } 测试代码运行后效果如图10-2所示: 当我们点击旋转按钮时,两个图标的旋转都会旋转1/5圈,但旋转的速度是不同的,读者可以自己运行一下示例看看效果。 实际上本示例只组合了RotationTransition一个组件,它是一个最简的组合类组件示例。另外,如果我们封装的是StatefulWidget,那么一定要注意在组件更新时是否需要同步状态。比如我们要封装一个富文本展示组件MyRichText ,它可以自动处理url链接,定义如下: class MyRichText extends StatefulWidget { MyRichText({ Key key, this.text, // 文本字符串 this.linkStyle, // url链接样式 }) : super(key: key); final String text; final TextStyle linkStyle; @override _MyRichTextState createState() => _MyRichTextState(); } 接下来我们在_MyRichTextState中要实现的功能有两个: 解析文本字符串“text”,生成TextSpan缓存起来; 在build中返回最终的富文本样式; _MyRichTextState 实现的代码大致如下: class _MyRichTextState extends State { TextSpan _textSpan; @override Widget build(BuildContext context) { return RichText( text: _textSpan, ); } TextSpan parseText(String text) { // 耗时操作:解析文本字符串,构建出TextSpan。 // 省略具体实现。 } @override void initState() { _textSpan = parseText(widget.text) super.initState(); } } 由于解析文本字符串,构建出TextSpan是一个耗时操作,为了不在每次build的时候都解析一次,所以我们在initState中对解析的结果进行了缓存,然后再build中直接使用解析的结果_textSpan。这看起来很不错,但是上面的代码有一个严重的问题,就是父组件传入的text发生变化时(组件树结构不变),那么MyRichText显示的内容不会更新,原因就是initState只会在State创建时被调用,所以在text发生变化时,parseText没有重新执行,导致_textSpan任然是旧的解析值。要解决这个问题也很简单,我们只需添加一个didUpdateWidget回调,然后再里面重新调用parseText即可: @override void didUpdateWidget(MyRichText oldWidget) { if (widget.text != oldWidget.text) { _textSpan = parseText(widget.text); } super.didUpdateWidget(oldWidget); } 有些读者可能会觉得这个点也很简单,是的,的确很简单,之所以要在这里反复强调是因为这个点在实际开发中很容易被忽略,它虽然简单,但却很重要。总之,当我们在State中会缓存某些依赖Widget参数的数据时,一定要注意在组件更新时是否需要同步状态。 "},"chapter10/custom_paint.html":{"url":"chapter10/custom_paint.html","title":"10.4:自绘组件(CustomPaint与Canvas)","keywords":"","body":"10.4 自绘组件 (CustomPaint与Canvas) 对于一些复杂或不规则的UI,我们可能无法通过组合其它组件的方式来实现,比如我们需要一个正六边形、一个渐变的圆形进度条、一个棋盘等。当然,有时候我们可以使用图片来实现,但在一些需要动态交互的场景静态图片也是实现不了的,比如要实现一个手写输入面板,这时,我们就需要来自己绘制UI外观。 几乎所有的UI系统都会提供一个自绘UI的接口,这个接口通常会提供一块2D画布Canvas,Canvas内部封装了一些基本绘制的API,开发者可以通过Canvas绘制各种自定义图形。在Flutter中,提供了一个CustomPaint 组件,它可以结合画笔CustomPainter来实现自定义图形绘制。 CustomPaint 我们看看CustomPaint构造函数: 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组件中,这样会在绘制时就会创建一个新的绘制层(Layer),其子组件将在新的Layer上绘制,而父组件将在原来Layer上绘制,也就是说RepaintBoundary 子组件的绘制将独立于父组件的绘制,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的过程,首先我们看一下我们的目标效果,如图10-3所示: 代码: 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不需要重绘。 绘制尽可能多的分层;在上面五子棋的示例中,我们将棋盘和棋子的绘制放在了一起,这样会有一个问题:由于棋盘始终是不变的,用户每次落子时变的只是棋子,但是如果按照上面的代码来实现,每次绘制棋子时都要重新绘制一次棋盘,这是没必要的。优化的方法就是将棋盘单独抽为一个组件,并设置其shouldRepaint回调值为false,然后将棋盘组件作为背景。然后将棋子的绘制放到另一个组件中,这样每次落子时只需要绘制棋子。 总结 自绘控件非常强大,理论上可以实现任何2D图形外观,实际上Flutter提供的所有组件最终都是通过调用Canvas绘制出来的,只不过绘制的逻辑被封装起来了,读者有兴趣可以查看具有外观样式的组件源码,找到其对应的RenderObject对象,如Text对应的RenderParagraph对象最终会通过Canvas实现文本绘制逻辑。下一节我们会再通过一个自绘的圆形背景渐变进度条的实例来帮助读者加深印象。 "},"chapter10/gradient_circular_progress_demo.html":{"url":"chapter10/gradient_circular_progress_demo.html","title":"10.5:自绘实例:圆形渐变进度条(自绘)","keywords":"","body":"10.5 自绘实例:圆形背景渐变进度条 本节我们实现一个圆形背景渐变进度条,它支持: 支持多种背景渐变色。 任意弧度;进度条可以不是整圆。 可以自定义粗细、两端是否圆角等样式。 可以发现要实现这样的一个进度条是无法通过现有组件组合而成的,所以我们通过自绘方式实现,代码如下: import 'dart:math'; import 'package:flutter/material.dart'; class GradientCircularProgressIndicator extends StatelessWidget { GradientCircularProgressIndicator({ this.strokeWidth = 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 strokeWidth; /// 圆的半径 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(strokeWidth / (radius * 2 - strokeWidth)); } 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( strokeWidth: strokeWidth, strokeCapRound: strokeCapRound, backgroundColor: backgroundColor, value: value, total: totalAngle, radius: radius, colors: _colors, ) ), ); } } //实现画笔 class _GradientCircularProgressPainter extends CustomPainter { _GradientCircularProgressPainter({ this.strokeWidth: 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 strokeWidth; 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 = strokeWidth / 2.0; double _value = (value ?? .0); _value = _value.clamp(.0, 1.0) * total; double _start = .0; if (strokeCapRound) { _start = asin(strokeWidth/ (size.width - strokeWidth)); } Rect rect = Offset(_offset, _offset) & Size( size.width - strokeWidth, size.height - strokeWidth ); var paint = Paint() ..strokeCap = strokeCapRound ? StrokeCap.round : StrokeCap.butt ..style = PaintingStyle.stroke ..isAntiAlias = true ..strokeWidth = strokeWidth; // 先画背景 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, strokeWidth: 3.0, value: _animationController.value, ), GradientCircularProgressIndicator( colors: [Colors.red, Colors.orange], radius: 50.0, strokeWidth: 3.0, value: _animationController.value, ), GradientCircularProgressIndicator( colors: [Colors.red, Colors.orange, Colors.red], radius: 50.0, strokeWidth: 5.0, value: _animationController.value, ), GradientCircularProgressIndicator( colors: [Colors.teal, Colors.cyan], radius: 50.0, strokeWidth: 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, strokeWidth: 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, strokeWidth: 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, strokeWidth: 5.0, strokeCapRound: true, value: _animationController.value, ), ], ), GradientCircularProgressIndicator( colors: [Colors.blue[700], Colors.blue[200]], radius: 100.0, strokeWidth: 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, strokeWidth: 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, strokeWidth: 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, strokeWidth: 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, ), ), ) ], ), ), ], ), ); }, ), ], ), ), ); } } 怎么样,很炫酷吧!GradientCircularProgressIndicator已经被添加进了笔者维护的flukit组件库中了,读者如果有需要,可以直接依赖flukit包。 "},"chapter11/":{"url":"chapter11/","title":"第十一章:文件操作与网络请求","keywords":"","body":"本章目录 文件操作 Http请求-HttpClient Http请求-Dio package 实例:Http分块下载 WebSocket 使用Socket API Json转Model "},"chapter11/file_operation.html":{"url":"chapter11/file_operation.html","title":"11.1:文件操作","keywords":"","body":"11.1 文件操作 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语言的,故不详细说明,读者需要的话可以自行学习。 "},"chapter11/http.html":{"url":"chapter11/http.html","title":"11.2:Http请求-HttpClient","keywords":"","body":"11.2 通过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的例子,示例效果如图11-1所示: ​ 点击“获取百度首页”按钮后,会请求百度首页,请求成功后,我们将返回内容显示出来并在控制台打印响应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协议非常熟悉。 "},"chapter11/dio.html":{"url":"chapter11/dio.html","title":"11.3:Http请求-Dio package","keywords":"","body":"11.3 Http请求-Dio http库 通过上一节介绍,我们可以发现直接使用HttpClient发起网络请求是比较麻烦的,很多事情得我们手动处理,如果再涉及到文件上传/下载、Cookie管理等就会非常繁琐。幸运的是,Dart社区有一些第三方http请求库,用它们来发起http请求将会简单的多,本节我们介绍一下目前人气较高的dio库。 dio是一个强大的Dart Http请求库,支持Restful API、FormData、拦截器、请求取消、Cookie管理、文件上传/下载、超时等。dio的使用方式随着其版本升级可能会发生变化,如果本节所述内容和dio官方有差异,请以dio官方文档为准。 引入 引入dio: dependencies: dio: ^x.x.x #请使用pub上的最新版本 导入并创建dio实例: import 'package:dio/dio.dart'; Dio dio = 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\",queryParameters:{\"id\":12,\"name\":\"wendu\"}) print(response); 发起一个 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.httpClientAdapter as DefaultHttpClientAdapter).onHttpClientCreate = (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 。 下一节我们将使用dio实现一个分块下载器。 实例 我们通过Github开放的API来请求flutterchina组织下的所有公开的开源项目,实现: 在请求阶段弹出loading 请求结束后,如果请求失败,则展示错误信息;如果成功,则将项目名称列表展示出来。 代码如下: class _FutureBuilderRouteState extends State { Dio _dio = new Dio(); @override Widget build(BuildContext context) { return new Container( alignment: Alignment.center, child: FutureBuilder( future: _dio.get(\"https://api.github.com/orgs/flutterchina/repos\"), builder: (BuildContext context, AsyncSnapshot snapshot) { //请求完成 if (snapshot.connectionState == ConnectionState.done) { Response response = snapshot.data; //发生错误 if (snapshot.hasError) { return Text(snapshot.error.toString()); } //请求成功,通过项目信息构建用于显示项目名称的ListView return ListView( children: response.data.map((e) => ListTile(title: Text(e[\"full_name\"])) ).toList(), ); } //请求未完成时弹出loading return CircularProgressIndicator(); } ), ); } } "},"chapter11/download_with_chunks.html":{"url":"chapter11/download_with_chunks.html","title":"11.4:实例:Http分块下载","keywords":"","body":"11.4 实例:Http分块下载 本节将通过一个“Http分块下载”的示例演示一下dio的具体用法。 原理 Http协议定义了分块传输的响应header字段,但具体是否支持取决于Server的实现,我们可以指定请求头的\"range\"字段来验证服务器是否支持分块传输。例如,我们可以利用curl命令来验证: bogon:~ duwen$ curl -H \"Range: bytes=0-10\" http://download.dcloud.net.cn/HBuilder.9.0.2.macosx_64.dmg -v # 请求头 > GET /HBuilder.9.0.2.macosx_64.dmg HTTP/1.1 > Host: download.dcloud.net.cn > User-Agent: curl/7.54.0 > Accept: */* > Range: bytes=0-10 # 响应头 我们在请求头中添加\"Range: bytes=0-10\"的作用是,告诉服务器本次请求我们只想获取文件0-10(包括10,共11字节)这块内容。如果服务器支持分块传输,则响应状态码为206,表示“部分内容”,并且同时响应头中包含”Content-Range“字段,如果不支持则不会包含。我们看看上面\"Content-Range\"的内容: Content-Range: bytes 0-10/233295878 0-10表示本次返回的区块,233295878代表文件的总长度,单位都是byte, 也就是该文件大概233M多一点。 基于此,我们可以设计一个简单的多线程的文件分块下载器,实现的思路是: 先检测是否支持分块传输,如果不支持,则直接下载;若支持,则将剩余内容分块下载。 各个分块下载时保存到各自临时文件,等到所有分块下载完后合并临时文件。 删除临时文件。 实现 下面是整体的流程: // 通过第一个分块请求检测服务器是否支持分块传输 Response response = await downloadChunk(url, 0, firstChunkSize, 0); if (response.statusCode == 206) { //如果支持 //解析文件总长度,进而算出剩余长度 total = int.parse( response.headers.value(HttpHeaders.contentRangeHeader).split(\"/\").last); int reserved = total - int.parse(response.headers.value(HttpHeaders.contentLengthHeader)); //文件的总块数(包括第一块) int chunk = (reserved / firstChunkSize).ceil() + 1; if (chunk > 1) { int chunkSize = firstChunkSize; if (chunk > maxChunk + 1) { chunk = maxChunk + 1; chunkSize = (reserved / maxChunk).ceil(); } var futures = []; for (int i = 0; i 下面我们使用dio的download API 实现downloadChunk: //start 代表当前块的起始位置,end代表结束位置 //no 代表当前是第几块 Future downloadChunk(url, start, end, no) async { progress.add(0); //progress记录每一块已接收数据的长度 --end; return dio.download( url, savePath + \"temp$no\", //临时文件按照块的序号命名,方便最后合并 onReceiveProgress: createCallback(no), // 创建进度回调,后面实现 options: Options( headers: {\"range\": \"bytes=$start-$end\"}, //指定请求的内容区间 ), ); } 接下来实现mergeTempFiles: Future mergeTempFiles(chunk) async { File f = File(savePath + \"temp0\"); IOSink ioSink= f.openWrite(mode: FileMode.writeOnlyAppend); //合并临时文件 for (int i = 1; i 下面我们看一下完整实现: /// Downloading by spiting as file in chunks Future downloadWithChunks( url, savePath, { ProgressCallback onReceiveProgress, }) async { const firstChunkSize = 102; const maxChunk = 3; int total = 0; var dio = Dio(); var progress = []; createCallback(no) { return (int received, _) { progress[no] = received; if (onReceiveProgress != null && total != 0) { onReceiveProgress(progress.reduce((a, b) => a + b), total); } }; } Future downloadChunk(url, start, end, no) async { progress.add(0); --end; return dio.download( url, savePath + \"temp$no\", onReceiveProgress: createCallback(no), options: Options( headers: {\"range\": \"bytes=$start-$end\"}, ), ); } Future mergeTempFiles(chunk) async { File f = File(savePath + \"temp0\"); IOSink ioSink= f.openWrite(mode: FileMode.writeOnlyAppend); for (int i = 1; i 1) { int chunkSize = firstChunkSize; if (chunk > maxChunk + 1) { chunk = maxChunk + 1; chunkSize = (reserved / maxChunk).ceil(); } var futures = []; for (int i = 0; i 现在可以进行分块下载了: main() async { var url = \"http://download.dcloud.net.cn/HBuilder.9.0.2.macosx_64.dmg\"; var savePath = \"./example/HBuilder.9.0.2.macosx_64.dmg\"; await downloadWithChunks(url, savePath, onReceiveProgress: (received, total) { if (total != -1) { print(\"${(received / total * 100).floor()}%\"); } }); } 思考 分块下载真的能提高下载速度吗? 其实下载速度的主要瓶颈是取决于网络速度和服务器的出口速度,如果是同一个数据源,分块下载的意义并不大,因为服务器是同一个,出口速度确定的,主要取决于网速,而上面的例子正式同源分块下载,读者可以自己对比一下分块和不分块的的下载速度。如果有多个下载源,并且每个下载源的出口带宽都是有限制的,这时分块下载可能会更快一下,之所以说“可能”,是由于这并不是一定的,比如有三个源,三个源的出口带宽都为1G/s,而我们设备所连网络的峰值假设只有800M/s,那么瓶颈就在我们的网络。即使我们设备的带宽大于任意一个源,下载速度依然不一定就比单源单线下载快,试想一下,假设有两个源A和B,速度A源是B源的3倍,如果采用分块下载,两个源各下载一半的话,读者可以算一下所需的下载时间,然后再算一下只从A源下载所需的时间,看看哪个更快。 分块下载的最终速度受设备所在网络带宽、源出口速度、每个块大小、以及分块的数量等诸多因素影响,实际过程中很难保证速度最优。在实际开发中,读者可可以先测试对比后再决定是否使用。 分块下载有什么实际的用处吗? 分块下载还有一个比较使用的场景是断点续传,可以将文件分为若干个块,然后维护一个下载状态文件用以记录每一个块的状态,这样即使在网络中断后,也可以恢复中断前的状态,具体实现读者可以自己尝试一下,还是有一些细节需要特别注意的,比如分块大小多少合适?下载到一半的块如何处理?要不要维护一个任务队列? "},"chapter11/websocket.html":{"url":"chapter11/websocket.html","title":"11.5: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 = IOWebSocketChannel.connect('ws://echo.websocket.org'); 2. 监听来自服务器的消息 现在我们建立了连接,我们可以监听来自服务器的消息,在我们发送消息给测试服务器之后,它会返回相同的消息。 我们如何收取消息并显示它们?在这个例子中,我们将使用一个StreamBuilder 来监听新消息, 并用一个Text来显示它们。 new StreamBuilder( stream: widget.channel.stream, builder: (context, snapshot) { return new Text(snapshot.hasData ? '${snapshot.data}' : ''); }, ); 工作原理 WebSocketChannel提供了一个来自服务器的消息Stream 。该Stream类是dart:async包中的一个基础类。它提供了一种方法来监听来自数据源的异步事件。与Future返回单个异步响应不同,Stream类可以随着时间推移传递很多事件。该StreamBuilder 组件将连接到一个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。 "},"chapter11/socket.html":{"url":"chapter11/socket.html","title":"11.6:使用Socket API","keywords":"","body":"11.6 使用Socket API 我们之前介绍的Http协议和WebSocket协议都属于应用层协议,除了它们,应用层协议还有很多如:SMTP、FTP等,这些应用层协议的实现都是通过Socket API来实现的。其实,操作系统中提供的原生网络请求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,运行后效果如图11-2所示: 可以看到响应内容分两个部分,第一部分是响应头,第二部分是响应体,服务端可以根据请求信息动态来输出响应体。由于本示例请求头比较简单,所以响应体和浏览器中访问的会有差别,读者可以补充一些请求头(如user-agent)来看看输出的变化。 "},"chapter11/json_model.html":{"url":"chapter11/json_model.html","title":"11.7:Json转Dart Model类","keywords":"","body":"11.7 Json转Dart 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第一次创建类时,您会看到与图11-4类似的错误。 这些错误是完全正常的,这是因为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”。 Json_model 包 如果每个项目都要构建一个上面这样的脚本显然很麻烦,为此,我们将上面脚本和生成模板封装了一个包,已经发布到了Pub上,包名为Json_model,开发者把该包加入开发依赖后,便可以用一条命令,根据Json文件生成Dart类。另外Json_model 处于迭代中,功能会逐渐完善,所以建议读者直接使用该包(而不是手动复制上面的代码)。 使用IDE插件生成model 目前Android Studio(或IntelliJ)有几个插件,可以将json文件转成Model类,但插件质量参差不齐,甚至还有一些沾染上了抄袭风波,故笔者在此不做优先推荐,读者有兴趣可以自行了解。但是,我们还是要了解一下IDE插件和Json_model的优劣: Json_model需要单独维护一个存放Json文件的文件夹,如果有改动,只需修改Json文件便可重新生成Model类;而IDE插件一般需要用户手动将Json内容拷贝复制到一个输入框中,这样生成之后Json文件没有存档的化,之后要改动就需要手动。 Json_model可以手动指定某个字段引用的其它Model类,可以避免生成重复的类;而IDE插件一般会为每一个Json文件中所有嵌套对象都单独生成一个Model类,即使这些嵌套对象可能在其它Model类中已经生成过。 Json_model 提供了命令行转化方式,可以方便集成到CI等非UI环境的场景。 FAQ 很多人可能会问Flutter中有没有像Java开发中的Gson/Jackson一样的Json序列化类库?答案是没有!因为这样的库需要使用运行时反射,这在Flutter中是禁用的。运行时反射会干扰Dart的tree shaking,使用tree shaking,可以在release版中“去除”未使用的代码,这可以显著优化应用程序的大小。由于反射会默认应用到所有代码,因此tree shaking会很难工作,因为在启用反射时很难知道哪些代码未被使用,因此冗余代码很难剥离,所以Flutter中禁用了Dart的反射功能,而正因如此也就无法实现动态转化Model的功能。 "},"chapter12/":{"url":"chapter12/","title":"第十二章:包与插件","keywords":"","body":"包与插件 开发package 插件开发:平台通道简介 插件开发:实现Android端API 插件开发:实现IOS端API "},"chapter12/develop_package.html":{"url":"chapter12/develop_package.html","title":"12.1:开发package","keywords":"","body":"12.1 开发Package 第二章中已经讲过如何使用Package(包),我们知道通过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 Package。 第一步:创建Dart包 您可以通过Android Studio:File>New>New Flutter Project 来创建一个Package工程,如图12-1所示: 您也可以通过使用--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为例,它的目录结构如图12-2所示: 在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)运行发布命令重试。 "},"chapter12/platform-channel.html":{"url":"chapter12/platform-channel.html","title":"12.2:平台通道简介","keywords":"","body":"12.2 插件开发:平台通道简介 “平台特定”或“特定平台”中的平台指的就是Flutter应用程序运行的平台,如Android或IOS。我们知道一个完整的Flutter应用程序实际上包括原生代码和Flutter代码两部分。由于Flutter本身只是一个UI系统,它本身是无法提供一些系统能力,比如使用蓝牙、相机、GPS等,因此要在Flutter APP中调用这些能力就必须和原生平台进行通信。为此,Flutter中提供了一个平台通道(platform channel),用于Flutter和原生平台的通信。平台通道正是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, 如果不足32位 java.lang.Long NSNumber numberWithLong: int, 如果不足64位 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 当在发送和接收值时,这些值在消息中的序列化和反序列化会自动进行。 自定义编解码器 除了上面提到的MethodChannel,还可以使用BasicMessageChannel,它支持使用自定义消息编解码器进行基本的异步消息传递。 此外,可以使用专门的BinaryCodec、StringCodec和 JSONMessageCodec类,或创建自己的编解码器。 如何获取平台信息 Flutter 中提供了一个全局变量defaultTargetPlatform来获取当前应用的平台信息,defaultTargetPlatform定义在\"platform.dart\"中,它的类型是TargetPlatform,这是一个枚举类,定义如下: enum TargetPlatform { android, fuchsia, iOS, } 可以看到目前Flutter只支持这三个平台。我们可以通过如下代码判断平台: if(defaultTargetPlatform==TargetPlatform.android){ // 是安卓系统,do something ... } ... 由于不同平台有它们各自的交互规范,Flutter Material库中的一些组件都针对相应的平台做了一些适配,比如路由组件MaterialPageRoute,它在android和ios中会应用各自平台规范的切换动画。那如果我们想让我们的APP在所有平台都表现一致,比如希望在所有平台路由切换动画都按照ios平台一致的左右滑动切换风格该怎么做?Flutter中提供了一种覆盖默认平台的机制,我们可以通过显式指定debugDefaultTargetPlatformOverride全局变量的值来指定应用平台。比如: debugDefaultTargetPlatformOverride=TargetPlatform.iOS; print(defaultTargetPlatform); // 会输出TargetPlatform.iOS 上面代码即在Android中运行后,Flutter APP就会认为是当前系统是iOS,Material组件库中所有组件交互方式都会和iOS平台对齐,defaultTargetPlatform的值也会变为TargetPlatform.iOS。 "},"chapter12/develop_plugin.html":{"url":"chapter12/develop_plugin.html","title":"12.3:开发Flutter插件","keywords":"","body":"12.3 开发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), ], ), ), ); } 至此Flutter部分的测试代码写好了,接下来我们需要实现Android和iOS平台下的API,由于平台API实现部分篇幅较大,我们将在接下来的两节中,分别介绍Android和iOS端API的实现。 "},"chapter12/android_implement.html":{"url":"chapter12/android_implement.html","title":"12.4:插件开发:实现Android端API","keywords":"","body":"12.4 插件开发: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面板中的电池电量。 "},"chapter12/ios_implement.html":{"url":"chapter12/ios_implement.html","title":"12.5:插件开发:实现IOS端API","keywords":"","body":"12.5 插件开发: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,因此应用程序将显示“电池信息不可用”。 "},"chapter13/":{"url":"chapter13/","title":"第十三章:国际化","keywords":"","body":"本章目录 让App支持多语言 实现Localizations 使用Intl包 "},"chapter13/multi_languages_support.html":{"url":"chapter13/multi_languages_support.html","title":"13.1:让App支持多语言","keywords":"","body":"13.1 让App支持多语言 如果我们的应用要支持多种语言,那么我们需要“国际化”它。这意味着我们在开发时需要为应用程序支持的每种语言环境设置“本地化”的一些值,如文本和布局。Flutter SDK已经提供了一些组件和类来帮助我们实现国际化,下面我们来介绍一下Flutter中实现国际化的步骤。 接下来我们以MaterialApp类为入口的应用来说明如何支持国际化。 大多数应用程序都是通过MaterialApp为入口,但根据低级别的WidgetsApp类为入口编写的应用程序也可以使用相同的类和逻辑进行国际化。MaterialApp实际上也是WidgetsApp的一个包装。 注意,”本地化的值和资源“是指我们针对不同语言准备的不同资源,这些资源一般是指文案(字符串),当然也会有一些其他的资源会根据不同语言地区而不同,比如我们需要显示一个APP上架地的国旗图片,那么不同Locale区域我们就需要提供不同的的国旗图片。 支持国际化 默认情况下,Flutter SDK中的组件仅提供美国英语本地化资源(主要是文本)。要添加对其他语言的支持,应用程序须添加一个名为“flutter_localizations”的包依赖,然后还需要在MaterialApp中进行一些配置。 要使用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 组件支持多语言。 GlobalWidgetsLocalizations.delegate定义组件默认的文本方向,从左到右或从右到左,这是因为有些语言的阅读习惯并不是从左到右,比如如阿拉伯语就是从右向左的。 supportedLocales也接收一个Locale数组,表示我们的应用支持的语言列表,在本例中我们的应用只支持美国英语和中文简体两种语言。 获取当前区域Locale Locale类是用来标识用户的语言环境的,它包括语言和国家两个标志如: const Locale('zh', 'CN') // 中文简体 我们始终可以通过以下方式来获取应用的当前区域Locale: Locale myLocale = Localizations.localeOf(context); Localizations 组件一般位于widget树中其它业务组件的顶部,它的作用是定义区域Locale以及设置子树依赖的本地化资源。 如果系统的语言环境发生变化,WidgetsApp将创建一个新的Localizations 组件并重建它,这样子树中通过Localizations.localeOf(context) 获取的Locale就会更新。 监听系统语言切换 当我们更改系统语言设置时,APP中的Localizations组件会重新构建,Localizations.localeOf(context) 获取的Locale就会更新,最终界面会重新build达到切换语言的效果。但是这个过程是隐式完成的,我们并没有主动去监听系统语言切换,但是有时我们需要在系统语言发生改变时做一些事,比如系统语言切换为一种我们APP不支持的语言时,我们需要设置一个默认的语言,这时我们就需要监听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,如果某一种语言加载成功则会停止。图13-1是Android系统中设置语言列表的截图: 在Flutter中,应该优先使用localeListResolutionCallback,当然你不必担心Android系统的差异性,如果在低版本的Android系统中,Flutter会自动处理这种情况,这时Locale列表只会包含一项。 Localization 组件 Localizations组件用于加载和查找应用当前语言下的本地化值或资源。应用程序通过Localizations.of(context,type)来引用这些对象。 如果设备的Locale区域设置发生更改,则Localizations 组件会自动加载新区域的Locale值,然后重新build使用(依赖)了它们的组件,之所以会这样,是因为Localizations内部使用了InheritedWidget ,我们在介绍该组件时讲过:当子组件的build函数引用了InheritedWidget时,会创建对InheritedWidget的隐式依赖关系。因此,当InheritedWidget发生更改时,即Localizations的Locale设置发生更改时,将重建所有依赖它的子组件。 本地化值由Localizations的 LocalizationsDelegates 列表加载 。 每个委托必须定义一个异步load() 方法,以生成封装了一系列本地化值的对象。通常这些对象为每个本地化值定义一个方法。 在大型应用程序中,不同模块或Package可能会与自己的本地化值捆绑在一起。 这就是为什么要用Localizations 管理对象表的原因。 要使用由LocalizationsDelegate的load方法之一产生的对象,可以指定一个BuildContext和对象的类型来找到它。例如,Material 组件库的本地化字符串由MaterialLocalizations类定义,此类的实例由MaterialApp类提供的LocalizationDelegate创建, 它们可以如下方式获取到: 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 包包含GlobalMaterialLocalizations和GlobalWidgetsLocalizations的本地化接口的多语言实现, 国际化的应用程序必须按照本节开头说明的那样为这些类指定本地化Delegate。 上述的GlobalMaterialLocalizations和GlobalWidgetsLocalizations只是Material组件库的本地化实现,如果我们要让自己的布局支持多语言,那么就需要实现在即的Localizations,我们将在下一节介绍其具体的实现方式。 "},"chapter13/locallization_implement.html":{"url":"chapter13/locallization_implement.html","title":"13.2:实现Localizations","keywords":"","body":"13.2 实现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组件重新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包来实现这些。 "},"chapter13/intl.html":{"url":"chapter13/intl.html","title":"13.3:使用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 "},"chapter13/faq.html":{"url":"chapter13/faq.html","title":"13.4:国际化常见问题","keywords":"","body":"13.4 国际化常见问题 本节主要解答一下在国际化中常见的问题。 默认语言区域不对 在一些非大陆行货渠道买的一些Android和iOS设备,会出现默认的Locale不是中文简体的情况。这属于正常现象,但是为了防止设备获取的Locale与实际的地区不一致,所有的支持多语言的APP都必须提供一个手动选择语言的入口。 如何对应用标题进行国际化 MaterialApp有一个title属性,用于指定APP的标题。在Android系统中,APP的标题会出现在任务管理器中。所以也需要对title进行国际化。但是问题是很多国际化的配置都是在MaterialApp上设置的,我们无法在构建MaterialApp时通过Localizations.of来获取本地化资源,如: MaterialApp( title: DemoLocalizations.of(context).title, //不能正常工作! localizationsDelegates: [ // 本地化的代理类 GlobalMaterialLocalizations.delegate, GlobalWidgetsLocalizations.delegate, DemoLocalizationsDelegate() // 设置Delegate ], ); 上面代码运行后,DemoLocalizations.of(context).title 是会报错的,原因是Localizations.of会从当前的context沿着widget树向顶部查找DemoLocalizations,但是我们在MaterialApp中设置完DemoLocalizationsDelegate后,实际上DemoLocalizations是在当前context的子树中的,所以DemoLocalizations.of(context)会返回null,报错。那么我们该如何处理这种情况呢?其实很简单,我们只需要设置一个onGenerateTitle回调即可: MaterialApp( onGenerateTitle: (context){ // 此时context在Localizations的子树中 return DemoLocalizations.of(context).title; }, localizationsDelegates: [ DemoLocalizationsDelegate(), ... ], ); 如何为英语系的国家指定同一个locale 英语系的国家非常多,如美国、英国、澳大利亚等,这些英语系国家虽然说的都是英语,但也会有一些区别。如果我们的APP只想提供一种英语(如美国英语)供所有英语系国家使用,我们可以在前面介绍的localeListResolutionCallback中来做兼容: localeListResolutionCallback: (List locales, Iterable supportedLocales) { // 判断当前locale是否为英语系国家,如果是直接返回Locale('en', 'US') } "},"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":"14.1:Flutter UI系统","keywords":"","body":"14.1 Flutter UI系统 在本书的前面章节中,我们多次提到\"UI系统\"这个概念,本书中所指的UI系统特指:基于一个平台,在此平台上实现GUI的一个系统,这里的平台特指操作系统,如Android、iOS或者Windows、macOS。我们说过各个平台UI系统的原理是相通的,也就是说无论是Android还是iOS,他们将一个用户界面展示到屏幕的流程是相似的,所以,在介绍Flutter 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":"14.2:Element和BuildContext","keywords":"","body":"14.2 Element与BuildContext 14.2.1 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方法中首先调用element所对应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数据,具体细节将在下文介绍。 14.2.2 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 { ... } 那这个context对象对应的实现类到底是谁呢?我们顺藤摸瓜,发现build调用是发生在StatelessWidget和StatefulWidget对应的StatelessElement和StatefulElement的build方法中,以StatelessElement为例: class StatelessElement extends ComponentElement { ... @override Widget build() => widget.build(this); ... } 发现build传递的参数是this,很明显!这个BuildContext就是StatelessElement。同样,我们同样发现StatefulWidget的context是StatefulElement。但StatelessElement和StatefulElement本身并没有实现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的功能,假设有一个页面,该页面有一个按钮,按钮的文本是一个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树了,我们在一个新路由页创建它,最终效果如下如图14-1和14-2(点击后)所示: 点击按钮则按钮文本会随机排序。 对于问题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":"14.3:RenderObject与RenderBox","keywords":"","body":"14.3 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。 14.3.1 布局过程 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 组件,它使用KeepAliveParentDataMixin(继承自ParentData) 来保存子节的keepAlive状态。 14.3.2 绘制过程 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() 来绘制溢出部分提示,这个就是我们经常看到的溢出提示,如图14-3所示: RepaintBoundary 我们已经在CustomPaint一节中介绍过RepaintBoundary,现在我们深入的了解一些。与 RelayoutBoundary 相似,RepaintBoundary是用于在确定重绘边界的,与RelayoutBoundary不同的是,这个绘制边界需要由开发者通过RepaintBoundary 组件自己指定,如: 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 如何设置isRepaintBoundary属性呢?其实,如果使用了RepaintBoundary,其对应的RenderRepaintBoundary会自动将isRepaintBoundary设为true的: class RenderRepaintBoundary extends RenderProxyBox { /// Creates a repaint boundary around [child]. RenderRepaintBoundary({ RenderBox child }) : super(child); @override bool get isRepaintBoundary => true; } 14.3.3 命中测试 我们在”事件处理与通知“一章中已经讲过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。 14.3.4 语义化 语义化即Semantics,主要是提供给读屏软件的接口,也是实现辅助功能的基础,通过语义化接口可以让机器理解页面上的内容,对于有视力障碍用户可以使用读屏软件来理解UI内容。如果一个RenderObject要支持语义化接口,可以实现 describeApproximatePaintClip和 visitChildrenForSemantics方法和semanticsAnnotator getter。更多关于语义化的信息可以查看API文档。 14.3.5 总结 本节我们介绍了RenderObject主要的功能和方法,理解这些内容可以帮助我们更好的理解Flutter UI底层原理。我们也可以看到,如果要从头到尾实现一个RenderObject是比较麻烦的,我们必须去实现layout、绘制和命中测试逻辑,但是值得庆幸的是,大多数时候我们可以直接在Widget层通过组合或者CustomPaint完成自定义UI。如果遇到只能定义一个新RenderObject的场景时(如要实现一个新的layout算法的布局容器),可以直接继承自RenderBox,这样可以帮我们减少一部分工作。 "},"chapter14/flutter_app_startup.html":{"url":"chapter14/flutter_app_startup.html","title":"14.4:Flutter从启动到显示","keywords":"","body":"14.4 Flutter运行机制-从启动到显示 本节我们主要介绍一下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 进行关联,即创建出 widget树对应的element树。如果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 和 FrameCallback 的概念: 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 队列。 绘制 渲染和绘制逻辑在RendererBinding中实现,查看其源发,发现在其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(); } 该方法直接调用了RendererBinding的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将图像画在设备屏幕上。 最后 需要注意的是:由于RendererBinding只是一个mixin,而with它的是WidgetsBinding,所以我们需要看看WidgetsBinding中是否重写该方法,查看WidgetsBinding的drawFrame()方法源码: @override void drawFrame() { ...//省略无关代码 try { if (renderViewElement != null) buildOwner.buildScope(renderViewElement); super.drawFrame(); //调用RendererBinding的drawFrame()方法 buildOwner.finalizeTree(); } } 我们发现在调用RendererBinding.drawFrame()方法前会调用 buildOwner.buildScope() (非首次绘制),该方法会将被标记为“dirty” 的 element 进行 rebuild() 。 总结 本节介绍了Flutter APP从启动到显示到屏幕上的主流程,读者可以结合前面章节对Widget、Element以及RenderObject的介绍来加强细节理解。 "},"chapter14/image_and_cache.html":{"url":"chapter14/image_and_cache.html","title":"14.5:Flutter图片加载与缓存","keywords":"","body":"14.5 图片加载原理与缓存 在本书前面章节已经介绍过Image 组件,并提到Flutter框架对加载过的图片是有缓存的(内存),默认最大缓存数量是1000,最大缓存空间为100M。本节便详细介绍Image的原理及图片缓存机制,下面我们先看看ImageProvider 类。 14.5.1 ImageProvider 我们已经知道Image 组件的image 参数是一个必选参数,它是ImageProvider类型。下面我们便详细介绍一下ImageProvider,ImageProvider是一个抽象类,定义了图片数据获取和加载的相关接口。它的主要职责有两个: 提供图片数据源 缓存图片 我们看看ImageProvider抽象类的详细定义: abstract class ImageProvider { ImageStream resolve(ImageConfiguration configuration) { // 实现代码省略 } Future evict({ ImageCache cache, ImageConfiguration configuration = ImageConfiguration.empty }) async { // 实现代码省略 } Future obtainKey(ImageConfiguration configuration); @protected ImageStreamCompleter load(T key); // 需子类实现 } load(T key)方法 加载图片数据源的接口,不同的数据源的加载方法不同,每个ImageProvider的子类必须实现它。比如NetworkImage类和AssetImage类,它们都是ImageProvider的子类,但它们需要从不同的数据源来加载图片数据:NetworkImage是从网络来加载图片数据,而AssetImage则是从最终的应用包里来加载(加载打到应用安装包里的资源图片)。 我们以NetworkImage为例,看看其load方法的实现: @override ImageStreamCompleter load(image_provider.NetworkImage key) { final StreamController chunkEvents = StreamController(); return MultiFrameImageStreamCompleter( codec: _loadAsync(key, chunkEvents), //调用 chunkEvents: chunkEvents.stream, scale: key.scale, ... //省略无关代码 ); } 我们看到,load方法的返回值类型是ImageStreamCompleter ,它是一个抽象类,定义了管理图片加载过程的一些接口,Image Widget中正是通过它来监听图片加载状态的(我们将在下面介绍Image 原理时详细介绍)。 MultiFrameImageStreamCompleter 是 ImageStreamCompleter的一个子类,是flutter sdk预置的类,通过该类,我们以方便、轻松地创建出一个ImageStreamCompleter实例来做为load方法的返回值。 我们可以看到,MultiFrameImageStreamCompleter 需要一个codec参数,该参数类型为Future。Codec 是处理图片编解码的类的一个handler,实际上,它只是一个flutter engine API 的包装类,也就是说图片的编解码逻辑不是在Dart 代码部分实现,而是在flutter engine中实现的。Codec类部分定义如下: @pragma('vm:entry-point') class Codec extends NativeFieldWrapperClass2 { // 此类由flutter engine创建,不应该手动实例化此类或直接继承此类。 @pragma('vm:entry-point') Codec._(); /// 图片中的帧数(动态图会有多帧) int get frameCount native 'Codec_frameCount'; /// 动画重复的次数 /// * 0 表示只执行一次 /// * -1 表示循环执行 int get repetitionCount native 'Codec_repetitionCount'; /// 获取下一个动画帧 Future getNextFrame() { return _futurize(_getNextFrame); } String _getNextFrame(_Callback callback) native 'Codec_getNextFrame'; 我们可以看到Codec最终的结果是一个或多个(动图)帧,而这些帧最终会绘制到屏幕上。 MultiFrameImageStreamCompleter 的 codec参数值为_loadAsync方法的返回值,我们继续看_loadAsync方法的实现: Future _loadAsync( NetworkImage key, StreamController chunkEvents, ) async { try { //下载图片 final Uri resolved = Uri.base.resolve(key.url); final HttpClientRequest request = await _httpClient.getUrl(resolved); headers?.forEach((String name, String value) { request.headers.add(name, value); }); final HttpClientResponse response = await request.close(); if (response.statusCode != HttpStatus.ok) throw Exception(...); // 接收图片数据 final Uint8List bytes = await consolidateHttpClientResponseBytes( response, onBytesReceived: (int cumulative, int total) { chunkEvents.add(ImageChunkEvent( cumulativeBytesLoaded: cumulative, expectedTotalBytes: total, )); }, ); if (bytes.lengthInBytes == 0) throw Exception('NetworkImage is an empty file: $resolved'); // 对图片数据进行解码 return PaintingBinding.instance.instantiateImageCodec(bytes); } finally { chunkEvents.close(); } } 可以看到_loadAsync方法主要做了两件事: 下载图片。 对下载的图片数据进行解码。 下载逻辑比较简单:通过HttpClient从网上下载图片,另外下载请求会设置一些自定义的header,开发者可以通过NetworkImage的headers命名参数来传递。 在图片下载完成后调用了PaintingBinding.instance.instantiateImageCodec(bytes)对图片进行解码,值得注意的是instantiateImageCodec(...)也是一个Native API的包装,实际上会调用Flutter engine的instantiateImageCodec方法,源码如下: String _instantiateImageCodec(Uint8List list, _Callback callback, _ImageInfo imageInfo, int targetWidth, int targetHeight) native 'instantiateImageCodec'; obtainKey(ImageConfiguration)方法 该接口主要是为了配合实现图片缓存,ImageProvider从数据源加载完数据后,会在全局的ImageCache中缓存图片数据,而图片数据缓存是一个Map,而Map的key便是调用此方法的返回值,不同的key代表不同的图片数据缓存。 resolve(ImageConfiguration) 方法 resolve方法是ImageProvider的暴露的给Image的主入口方法,它接受一个ImageConfiguration参数,返回ImageStream,即图片数据流。我们重点看一下resolve执行流程: ImageStream resolve(ImageConfiguration configuration) { ... //省略无关代码 final ImageStream stream = ImageStream(); T obtainedKey; // //定义错误处理函数 Future handleError(dynamic exception, StackTrace stack) async { ... //省略无关代码 stream.setCompleter(imageCompleter); imageCompleter.setError(...); } // 创建一个新Zone,主要是为了当发生错误时不会干扰MainZone final Zone dangerZone = Zone.current.fork(...); dangerZone.runGuarded(() { Future key; // 先验证是否已经有缓存 try { // 生成缓存key,后面会根据此key来检测是否有缓存 key = obtainKey(configuration); } catch (error, stackTrace) { handleError(error, stackTrace); return; } key.then((T key) { obtainedKey = key; // 缓存的处理逻辑在这里,记为A,下面详细介绍 final ImageStreamCompleter completer = PaintingBinding.instance .imageCache.putIfAbsent(key, () => load(key), onError: handleError); if (completer != null) { stream.setCompleter(completer); } }).catchError(handleError); }); return stream; } ImageConfiguration 包含图片和设备的相关信息,如图片的大小、所在的AssetBundle(只有打到安装包的图片存在)以及当前的设备平台、devicePixelRatio(设备像素比等)。Flutter SDK提供了一个便捷函数createLocalImageConfiguration来创建ImageConfiguration 对象: ImageConfiguration createLocalImageConfiguration(BuildContext context, { Size size }) { return ImageConfiguration( bundle: DefaultAssetBundle.of(context), devicePixelRatio: MediaQuery.of(context, nullOk: true)?.devicePixelRatio ?? 1.0, locale: Localizations.localeOf(context, nullOk: true), textDirection: Directionality.of(context), size: size, platform: defaultTargetPlatform, ); } 我们可以发现这些信息基本都是通过Context来获取。 上面代码A处就是处理缓存的主要代码,这里的PaintingBinding.instance.imageCache 是 ImageCache的一个实例,它是PaintingBinding的一个属性,而Flutter框架中的PaintingBinding.instance是一个单例,imageCache事实上也是一个单例,也就是说图片缓存是全局的,统一由PaintingBinding.instance.imageCache 来管理。 下面我们看看ImageCache类定义: const int _kDefaultSize = 1000; const int _kDefaultSizeBytes = 100 _pendingImages = {}; // 缓存队列 final Map _cache = {}; // 缓存数量上限(1000) int _maximumSize = _kDefaultSize; // 缓存容量上限 (100 MB) int _maximumSizeBytes = _kDefaultSizeBytes; // 缓存上限设置的setter set maximumSize(int value) {...} set maximumSizeBytes(int value) {...} ... // 省略部分定义 // 清除所有缓存 void clear() { // ...省略具体实现代码 } // 清除指定key对应的图片缓存 bool evict(Object key) { // ...省略具体实现代码 } ImageStreamCompleter putIfAbsent(Object key, ImageStreamCompleter loader(), { ImageErrorListener onError }) { assert(key != null); assert(loader != null); ImageStreamCompleter result = _pendingImages[key]?.completer; // 图片还未加载成功,直接返回 if (result != null) return result; // 有缓存,继续往下走 // 先移除缓存,后再添加,可以让最新使用过的缓存在_map中的位置更近一些,清理时会LRU来清除 final _CachedImage image = _cache.remove(key); if (image != null) { _cache[key] = image; return image.completer; } try { result = loader(); } catch (error, stackTrace) { if (onError != null) { onError(error, stackTrace); return null; } else { rethrow; } } void listener(ImageInfo info, bool syncCall) { final int imageSize = info?.image == null ? 0 : info.image.height * info.image.width * 4; final _CachedImage image = _CachedImage(result, imageSize); // 下面是缓存处理的逻辑 if (maximumSizeBytes > 0 && imageSize > maximumSizeBytes) { _maximumSizeBytes = imageSize + 1000; } _currentSizeBytes += imageSize; final _PendingImage pendingImage = _pendingImages.remove(key); if (pendingImage != null) { pendingImage.removeListener(); } _cache[key] = image; _checkCacheSize(); } if (maximumSize > 0 && maximumSizeBytes > 0) { final ImageStreamListener streamListener = ImageStreamListener(listener); _pendingImages[key] = _PendingImage(result, streamListener); // Listener is removed in [_PendingImage.removeListener]. result.addListener(streamListener); } return result; } // 当缓存数量超过最大值或缓存的大小超过最大缓存容量,会调用此方法清理到缓存上限以内 void _checkCacheSize() { while (_currentSizeBytes > _maximumSizeBytes || _cache.length > _maximumSize) { final Object key = _cache.keys.first; final _CachedImage image = _cache[key]; _currentSizeBytes -= image.sizeBytes; _cache.remove(key); } ... //省略无关代码 } } 有缓存则使用缓存,没有缓存则调用load方法加载图片,加载成功后: 先判断图片数据有缓存,如果有,则直接返回ImageStream。 如果没有缓存,则调用load(T key)方法从数据源加载图片数据,加载成功后先缓存,然后返回ImageStream。 另外,我们可以看到ImageCache类中有设置缓存上限的setter,所以,如果我们可以自定义缓存上限: PaintingBinding.instance.imageCache.maximumSize=2000; //最多2000张 PaintingBinding.instance.imageCache.maximumSizeBytes = 200 现在我们看一下缓存的key,因为Map中相同key的值会被覆盖,也就是说key是图片缓存的一个唯一标识,只要是不同key,那么图片数据就会分别缓存(即使事实上是同一张图片)。那么图片的唯一标识是什么呢?跟踪源码,很容易发现key正是ImageProvider.obtainKey()方法的返回值,而此方法需要ImageProvider子类去重写,这也就意味着不通的ImageProvider对key的定义逻辑会不同。其实也很好理解,比如对于NetworkImage,将图片的url作为key会很合适,而对于AssetImage,则应该将“包名+路径”作为唯一的key。下面我们以NetworkImage为例,看一下它的obtainKey()实现: @override Future obtainKey(image_provider.ImageConfiguration configuration) { return SynchronousFuture(this); } 代码很简单,创建了一个同步的future,然后直接将自身做为key返回。因为Map中在判断key(此时是NetworkImage对象)是否相等时会使用“==”运算符,那么定义key的逻辑就是NetworkImage的“==”运算符: @override bool operator ==(dynamic other) { ... //省略无关代码 final NetworkImage typedOther = other; return url == typedOther.url && scale == typedOther.scale; } 很清晰,对于网络图片来说,会将其“url+缩放比例”作为缓存的key。也就是说如果两张图片的url或scale只要有一个不同,便会重新下载并分别缓存。 另外,我们需要注意的是,图片缓存是在内存中,并没有进行本地文件持久化存储,这也是为什么网络图片在应用重启后需要重新联网下载的原因。 同时也意味着在应用生命周期内,如果缓存没有超过上限,相同u的图片只会被下载一次。 总结 上面主要结合源码,探索了ImageProvider的主要功能和原理,如果要用一句话来总结ImageProvider功能,那么应该是:加载图片数据并进行缓存、解码。在此再次提醒读者,Flutter的源码是非常好的第一手资料,建议读者多多探索,另外,在阅读源码学西的同时一定要有总结,这样才不至于在源码中迷失。 14.5.2 Image组件原理 前面章节中我们介绍过Image的基础用法,现在我们更深入一些,研究一下Image是如何和ImageProvider配合来获取最终解码后的数据,然后又如何将图片绘制到屏幕上的。 本节换一个思路,我们先不去直接看Image的源码,而根据已经掌握的知识来实现一个简版的“Image组件” MyImage,代码大致如下: class MyImage extends StatefulWidget { const MyImage({ Key key, @required this.imageProvider, }) : assert(imageProvider != null), super(key: key); final ImageProvider imageProvider; @override _MyImageState createState() => _MyImageState(); } class _MyImageState extends State { ImageStream _imageStream; ImageInfo _imageInfo; @override void didChangeDependencies() { super.didChangeDependencies(); // 依赖改变时,图片的配置信息可能会发生改变 _getImage(); } @override void didUpdateWidget(MyImage oldWidget) { super.didUpdateWidget(oldWidget); if (widget.imageProvider != oldWidget.imageProvider) _getImage(); } void _getImage() { final ImageStream oldImageStream = _imageStream; // 调用imageProvider.resolve方法,获得ImageStream。 _imageStream = widget.imageProvider.resolve(createLocalImageConfiguration(context)); //判断新旧ImageStream是否相同,如果不同,则需要调整流的监听器 if (_imageStream.key != oldImageStream?.key) { final ImageStreamListener listener = ImageStreamListener(_updateImage); oldImageStream?.removeListener(listener); _imageStream.addListener(listener); } } void _updateImage(ImageInfo imageInfo, bool synchronousCall) { setState(() { // Trigger a build whenever the image changes. _imageInfo = imageInfo; }); } @override void dispose() { _imageStream.removeListener(ImageStreamListener(_updateImage)); super.dispose(); } @override Widget build(BuildContext context) { return RawImage( image: _imageInfo?.image, // this is a dart:ui Image object scale: _imageInfo?.scale ?? 1.0, ); } } 上面代码流程如下: 通过imageProvider.resolve方法可以得到一个ImageStream(图片数据流),然后监听ImageStream的变化。当图片数据源发生变化时,ImageStream会触发相应的事件,而本例中我们只设置了图片成功的监听器_updateImage,而_updateImage中只更新了_imageInfo。值得注意的是,如果是静态图,ImageStream只会触发一次时间,如果是动态图,则会触发多次事件,每一次都会有一个解码后的图片帧。 _imageInfo 更新后会rebuild,此时会创建一个RawImage Widget。RawImage最终会通过RenderImage来将图片绘制在屏幕上。如果继续跟进RenderImage类,我们会发现RenderImage的paint 方法中调用了paintImage方法,而paintImage方法中通过Canvas的drawImageRect(…)、drawImageNine(...)等方法来完成最终的绘制。 最终的绘制由RawImage来完成。 下面测试一下MyImage: class ImageInternalTestRoute extends StatelessWidget { @override Widget build(BuildContext context) { return Column( children: [ MyImage( imageProvider: NetworkImage( \"https://avatars2.githubusercontent.com/u/20411648?s=460&v=4\", ), ) ], ); } } 运行效果如图14-4所示: 成功了! 现在,想必Image Widget的源码已经没必要在花费篇章去介绍了,读者有兴趣可以自行去阅读。 总结 本节主要介绍了Flutter 图片的加载、缓存和绘制流程。其中ImageProvider主要负责图片数据的加载和缓存,而绘制部分逻辑主要是由RawImage来完成。 而Image正是连接起ImageProvider和RawImage 的桥梁。 "},"chapter15/intro.html":{"url":"chapter15/intro.html","title":"第十五章:一个完整的Flutter应用","keywords":"","body":"15.1 Github客户端示例 本章新建一个Flutter工程,实现一个简单的Github客户端。这个实例的主要目标有两个: 带领读者了解如何使用Flutter来开发一个完整APP,了解Flutter应用开发流程及工程结构等。 对前面章节所学内容的一个应用及总结。 需要注意的是,由于Github本身功能非常多,我们的焦点并不是去实现Github的所有业务功能。因此,我们只需要实现一个APP的骨架,能达到上面这两点即可。下面对我们要实现的功能如下: 实现Github账号登录、退出登录功能 登录后可以查看自己的项目主页 支持换肤 支持多语言 登录状态可以持久化; 要实现上面这些功能会涉及到如下技术点: 网络请求;需要请求Github API。 Json转Dart Model类; 全局状态管理;语言、主题、登录态等都需要全局共享。 持久化存储;保存登录信息,用户信息等。 支持国际化、Intl包的使用 现在,目前已经确定,在接下来章节中,我们将分模块一步一步实现上述功能。 "},"chapter15/code_structure.html":{"url":"chapter15/code_structure.html","title":"15.2:APP代码结构","keywords":"","body":"15.2 Flutter APP代码结构 我们先来创建一个全新的Flutter工程,命名为\"github_client_app\";创建新工程的步骤视读者使用的编辑器而定,都比较简单,在此不再赘述。创建完成后,工程结构如下: github_client_app ├── android ├── ios ├── lib └── test 由于我们需要使用外部图片和Icon资源,所以我们在项目根目录下分别创建”imgs“和”fonts“文件件,前者用于保存图片,后者用于保存Icon文件。关于图片和Icon,读者可以参考第三章中相应的内容。 由于在网络数据传输和持久化时,我们需要通过Json来传输、保存数据;但是在应用开发时我们又需要将Json转成Dart Model类,现在我们使用在第十一章中”Json转Model“小节中介绍的方案,所以,我们需要在根目录下再创建一个用于保存Json文件的”jsons“文件夹。 多语言支持我们使用第十三章”国际化“中介绍的方案,所以还需要在根目录下创建一个\"i10n\"文件夹,用于保存各国语言对应的arb文件。 现在工程目录变为: github_client_app ├── android ├── fonts ├── i10n-arb ├── imgs ├── ios ├── jsons ├── lib └── test 由于我们的Dart代码都在“lib”文件夹下,笔者根据技术选型和经验在lib文件下创建了如下目录: lib ├── common ├── i10n ├── models ├── states ├── routes └── widgets 文件夹 作用 common 一些工具类,如通用方法类、网络接口类、保存全局变量的静态类等 i10n 国际化相关的类都在此目录下 models Json文件对应的Dart Model类会在此目录下 states 保存APP中需要跨组件共享的状态类 routes 存放所有路由页面类 widgets APP内封装的一些Widget组件都在该目录下 注意,使用不同的框架或技术选型会对代码有不同的组织方式,因此,本节介绍的代码组织结构并不是固定或者“最佳”的,在实战中,读者可以自己根据情况调整源码结构。但是无论采取何种源码组织结构,但清晰和解耦是一个通用原则,我们应该让自己的代码结构清晰,以便交流和维护。 "},"chapter15/models.html":{"url":"chapter15/models.html","title":"15.3:Model类定义","keywords":"","body":"15.3 Model类定义 本节我们先梳理一下APP中将用到的数据,然后生成相应的Dart Model类。Json文件转Dart Model的方案采用前面介绍过的 json_model 包方案 Github账号信息 登录Github后,我们需要获取当前登录者的Github账号信息,Github API接口返回Json结构如下: { \"login\": \"octocat\", //用户登录名 \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\", //用户头像地址 \"type\": \"User\", //用户类型,可能是组织 \"name\": \"monalisa octocat\", //用户名字 \"company\": \"GitHub\", //公司 \"blog\": \"https://github.com/blog\", //博客地址 \"location\": \"San Francisco\", // 用户所处地理位置 \"email\": \"octocat@github.com\", // 邮箱 \"hireable\": false, \"bio\": \"There once was...\", // 用户简介 \"public_repos\": 2, // 公开项目数 \"followers\": 20, //关注该用户的人数 \"following\": 0, // 该用户关注的人数 \"created_at\": \"2008-01-14T04:33:35Z\", // 账号创建时间 \"updated_at\": \"2008-01-14T04:33:35Z\", // 账号信息更新时间 \"total_private_repos\": 100, //该用户总的私有项目数(包括参与的其它组织的私有项目) \"owned_private_repos\": 100 //该用户自己的私有项目数 ... //省略其它字段 } 我们在“jsons”目录下创建一个“user.json”文件保存上述信息。 API缓存策略信息 由于Github服务器在国内访问速度较慢,我们对Github API应用一些简单的缓存策略。我们在“jsons”目录下创建一个“cacheConfig.json”文件缓存策略信息,定义如下: { \"enable\":true, // 是否启用缓存 \"maxAge\":1000, // 缓存的最长时间,单位(秒) \"maxCount\":100 // 最大缓存数 } 用户信息 用户信息(Profile)应包括如下信息: Github账号信息;由于我们的APP可以切换账号登录,且登录后再次打开则不需要登录,所以我们需要对用户账号信息和登录状态进行持久化。 应用使用配置信息;没一个用户都应有自己的APP配置信息,如主题、语言、以及数据缓存策略等。 用户注销登录后,为了便于用户在退出APP前再次登录,我们需要记住上次登录的用户名。 需要注意的是,目前Github有三种登录方式,分别是账号密码登录、oauth授权登录、二次认证登录;这三种登录方式的安全性依次加强,但是在本示例中,为了简单起见,我们使用账号密码登录,因此我们需要保存用户的密码。 注意:在这里需要提醒读者,在登录场景中,保护用户账号安全是一个非常重要且永恒的话题,在实际开发中应严格杜绝直接明文存储用户账密的行为。 我们在“jsons”目录下创建一个“profile.json”文件,结构如下: { \"user\":\"$user\", //Github账号信息,结构见\"user.json\" \"token\":\"\", // 登录用户的token(oauth)或密码 \"theme\":5678, //主题色值 \"cache\":\"$cacheConfig\", // 缓存策略信息,结构见\"cacheConfig.json\" \"lastLogin\":\"\", //最近一次的注销登录的用户名 \"locale\":\"\" // APP语言信息 } 项目信息 由于APP主页要显示其所有项目信息,我们在“jsons”目录下创建一个“repo.json”文件保存项目信息。通过参考Github 获取项目信息的API文档,定义出最终的“repo.json”文件结构,如下: { \"id\": 1296269, \"name\": \"Hello-World\", //项目名称 \"full_name\": \"octocat/Hello-World\", //项目完成名称 \"owner\": \"$user\", // 项目拥有者,结构见\"user.json\" \"parent\":\"$repo\", // 如果是fork的项目,则此字段表示fork的父项目信息 \"private\": false, // 是否私有项目 \"description\": \"This your first repo!\", //项目描述 \"fork\": false, // 该项目是否为fork的项目 \"language\": \"JavaScript\",//该项目的主要编程语言 \"forks_count\": 9, // fork了该项目的数量 \"stargazers_count\": 80, //该项目的star数量 \"size\": 108, // 项目占用的存储大小 \"default_branch\": \"master\", //项目的默认分支 \"open_issues_count\": 2, //该项目当前打开的issue数量 \"pushed_at\": \"2011-01-26T19:06:43Z\", \"created_at\": \"2011-01-26T19:01:12Z\", \"updated_at\": \"2011-01-26T19:14:43Z\", \"subscribers_count\": 42, //订阅(关注)该项目的人数 \"license\": { // 该项目的开源许可证 \"key\": \"mit\", \"name\": \"MIT License\", \"spdx_id\": \"MIT\", \"url\": \"https://api.github.com/licenses/mit\", \"node_id\": \"MDc6TGljZW5zZW1pdA==\" } ...//省略其它字段 } 生成Dart Model类 现在,我们需要的Json数据已经定义完毕,现在只需要运行json_model package提供的命令来通过json文件生成相应的Dart类: flutter packages pub run json_model 命令执行成功后,可以看到lib/models文件夹下会生成相应的Dart Model类: ├── models │ ├── cacheConfig.dart │ ├── cacheConfig.g.dart │ ├── index.dart │ ├── profile.dart │ ├── profile.g.dart │ ├── repo.dart │ ├── repo.g.dart │ ├── user.dart │ └── user.g.dart 数据持久化 我们使用shared_preferences包来对登录用户的Profile信息进行持久化。shared_preferences是一个Flutter插件,它通过Android和iOS平台提供的机制来实现数据持久化。由于shared_preferences的使用非常简单,读者可以自行查看其文档,在此不再赘述。 "},"chapter15/globals.html":{"url":"chapter15/globals.html","title":"15.4:全局变量及共享状态","keywords":"","body":"15.4 全局变量及共享状态 应用程序中通常会包含一些贯穿APP生命周期的变量信息,这些信息在APP大多数地方可能都会被用到,比如当前用户信息、Local信息等。在Flutter中我们把需要全局共享的信息氛围两类:全局变量和共享状态。全局变量就是单纯指会贯穿整个APP生命周期的变量,用于单纯的保存一些信息,或者封装一些全局工具和方法的对象。而共享状态则是指哪些需要跨组件或跨路由共享的信息,这些信息通常也是全局变量,而共享状态和全局变量的不同在于前者者发生改变时需要通知所有使用该状态的组件,而后者不需要。为此,我们将全局变量和共享状态分开单独管理。 15.4.1 全局变量-Global类 我们在“lib/common”目录下创建一个Global类,它主要管理APP的全局变量,定义如下: // 提供四套可选主题色 const _themes = [ Colors.blue, Colors.cyan, Colors.teal, Colors.green, Colors.red, ]; class Global { static SharedPreferences _prefs; static Profile profile = Profile(); // 网络缓存对象 static NetCache netCache = NetCache(); // 可选的主题列表 static List get themes => _themes; // 是否为release版 static bool get isRelease => bool.fromEnvironment(\"dart.vm.product\"); //初始化全局信息,会在APP启动时执行 static Future init() async { _prefs = await SharedPreferences.getInstance(); var _profile = _prefs.getString(\"profile\"); if (_profile != null) { try { profile = Profile.fromJson(jsonDecode(_profile)); } catch (e) { print(e); } } // 如果没有缓存策略,设置默认缓存策略 profile.cache = profile.cache ?? CacheConfig() ..enable = true ..maxAge = 3600 ..maxCount = 100; //初始化网络请求相关配置 Git.init(); } // 持久化Profile信息 static saveProfile() => _prefs.setString(\"profile\", jsonEncode(profile.toJson())); } Global类的各个字段的意义都有注释,在此不再赘述,需要注意的是init()需要在App启动时就要执行,所以应用的main方法如下: void main() => Global.init().then((e) => runApp(MyApp())); 在此,一定要确保Global.init()方法不能抛出异常,否则 runApp(MyApp())根本执行不到。 15.4.2 共享状态 有了全局变量,我们还需要考虑如何跨组件共享状态。当然,如果我们将要共享的状态全部用全局变量替代也是可以的,但是这在Flutter开发中并不是一个好主意,因为组件的状态是和UI相关,而在状态改变时我们会期望依赖该状态的UI组件会自动更新,如果使用全局变量,那么我们必须得去手动处理状态变动通知、接收机制以及变量和组件依赖关系。因此,本实例中,我们使用前面介绍过的Provider包来实现跨组件状态共享,因此我们需要定义相关的Provider。在本实例中,需要共享的状态有登录用户信息、APP主题信息、APP语言信息。由于这些信息改变后都要立即通知其它依赖的该信息的Widget更新,所以我们应该使用ChangeNotifierProvider,另外,这些信息改变后都是需要更新Profile信息并进行持久化的。综上所述,我们可以定义一个ProfileChangeNotifier基类,然后让需要共享的Model继承自该类即可,ProfileChangeNotifier定义如下: class ProfileChangeNotifier extends ChangeNotifier { Profile get _profile => Global.profile; @override void notifyListeners() { Global.saveProfile(); //保存Profile变更 super.notifyListeners(); //通知依赖的Widget更新 } } 用户状态 用户状态在登录状态发生变化时更新、通知其依赖项,我们定义如下: class UserModel extends ProfileChangeNotifier { User get user => _profile.user; // APP是否登录(如果有用户信息,则证明登录过) bool get isLogin => user != null; //用户信息发生变化,更新用户信息并通知依赖它的子孙Widgets更新 set user(User user) { if (user?.login != _profile.user?.login) { _profile.lastLogin = _profile.user?.login; _profile.user = user; notifyListeners(); } } } APP主题状态 主题状态在用户更换APP主题时更新、通知其依赖项,定义如下: class ThemeModel extends ProfileChangeNotifier { // 获取当前主题,如果为设置主题,则默认使用蓝色主题 ColorSwatch get theme => Global.themes .firstWhere((e) => e.value == _profile.theme, orElse: () => Colors.blue); // 主题改变后,通知其依赖项,新主题会立即生效 set theme(ColorSwatch color) { if (color != theme) { _profile.theme = color[500].value; notifyListeners(); } } } APP语言状态 当APP语言选为跟随系统(Auto)时,在系通语言改变时,APP语言会更新;当用户在APP中选定了具体语言时(美国英语或中文简体),则APP便会一直使用用户选定的语言,不会再随系统语言而变。语言状态类定义如下: class LocaleModel extends ProfileChangeNotifier { // 获取当前用户的APP语言配置Locale类,如果为null,则语言跟随系统语言 Locale getLocale() { if (_profile.locale == null) return null; var t = _profile.locale.split(\"_\"); return Locale(t[0], t[1]); } // 获取当前Locale的字符串表示 String get locale => _profile.locale; // 用户改变APP语言后,通知依赖项更新,新语言会立即生效 set locale(String locale) { if (locale != _profile.locale) { _profile.locale = locale; notifyListeners(); } } } "},"chapter15/network.html":{"url":"chapter15/network.html","title":"15.5:网络请求封装","keywords":"","body":"15.5 网络请求封装 本节我们会基于前面介绍过的dio网络库封装APP中用到的网络请求接口,并同时应用一个简单的缓存策略。下面我们先介绍一下网络接口缓存原来,然后再封装APP的业务请求接口。 15.5.1 网络接口缓存 由于在国内访问Github服务器速度较慢,所以我们应用一些简单的缓存策略:将请求的url作为key,对请求的返回值在一个指定时间段类进行缓存,另外设置一个最大缓存数,当超过最大缓存数后移除最早的一条缓存。但是也得提供一种针对特定接口或请求决定是否启用缓存的机制,这种机制可以指定哪些接口或那次请求不应用缓存,这种机制是很有必要的,比如登录接口就不应该缓存,又比如用户在下拉刷新时就不应该再应用缓存。在实现缓存之前我们先定义保存缓存信息的CacheObject类: class CacheObject { CacheObject(this.response) : timeStamp = DateTime.now().millisecondsSinceEpoch; Response response; int timeStamp; // 缓存创建时间 @override bool operator ==(other) { return response.hashCode == other.hashCode; } //将请求uri作为缓存的key @override int get hashCode => response.realUri.hashCode; } 接下来我们需要实现具体的缓存策略,由于我们使用的是dio package,所以我们可以直接通过拦截器来实现缓存策略: import 'dart:collection'; import 'package:dio/dio.dart'; import '../index.dart'; class CacheObject { CacheObject(this.response) : timeStamp = DateTime.now().millisecondsSinceEpoch; Response response; int timeStamp; @override bool operator ==(other) { return response.hashCode == other.hashCode; } @override int get hashCode => response.realUri.hashCode; } class NetCache extends Interceptor { // 为确保迭代器顺序和对象插入时间一致顺序一致,我们使用LinkedHashMap var cache = LinkedHashMap(); @override onRequest(RequestOptions options) { if (!Global.profile.cache.enable) return options; // refresh标记是否是\"下拉刷新\" bool refresh = options.extra[\"refresh\"] == true; //如果是下拉刷新,先删除相关缓存 if (refresh) { if (options.extra[\"list\"] == true) { //若是列表,则只要url中包含当前path的缓存全部删除(简单实现,并不精准) cache.removeWhere((key, v) => key.contains(options.path)); } else { // 如果不是列表,则只删除uri相同的缓存 delete(options.uri.toString()); } return options; } if (options.extra[\"noCache\"] != true && options.method.toLowerCase() == 'get') { String key = options.extra[\"cacheKey\"] ?? options.uri.toString(); var ob = cache[key]; if (ob != null) { //若缓存未过期,则返回缓存内容 if ((DateTime.now().millisecondsSinceEpoch - ob.timeStamp) / 1000 关于代码的解释都在注释中了,在此需要说明的是dio包的option.extra是专门用于扩展请求参数的,我们通过定义了“refresh”和“noCache”两个参数实现了”针对特定接口或请求决定是否启用缓存的机制“,这两个参数含义如下: 参数名 类型 解释 refresh bool 如果为true,则本次请求不使用缓存,但新的请求结果依然会被缓存 noCache bool 本次请求禁用缓存,请求结果也不会被缓存。 15.5.2 封装网络请求 一个完整的APP,可能会涉及很多网络请求,为了便于管理、收敛请求入口,工程上最好的作法就是将所有网络请求放到同一个源码文件中。由于我们的接口都是请求的Github 开发平台提供的API,所以我们定义一个Git类,专门用于Github API接口调用。另外,在调试过程中,我们通常需要一些工具来查看网络请求、响应报文,使用网络代理工具来调试网络数据问题是主流方式。配置代理需要在应用中指定代理服务器的地址和端口,另外Github API是HTTPS协议,所以在配置完代理后还应该禁用证书校验,这些配置我们在Git类初始化时执行(init()方法)。下面是Git类的源码: import 'dart:async'; import 'dart:convert'; import 'dart:io'; import 'package:dio/dio.dart'; import 'package:flutter/material.dart'; import '../index.dart'; class Git { // 在网络请求过程中可能会需要使用当前的context信息,比如在请求失败时 // 打开一个新路由,而打开新路由需要context信息。 Git([this.context]) { _options = Options(extra: {\"context\": context}); } BuildContext context; Options _options; static Dio dio = new Dio(BaseOptions( baseUrl: 'https://api.github.com/', headers: { HttpHeaders.acceptHeader: \"application/vnd.github.squirrel-girl-preview,\" \"application/vnd.github.symmetra-preview+json\", }, )); static void init() { // 添加缓存插件 dio.interceptors.add(Global.netCache); // 设置用户token(可能为null,代表未登录) dio.options.headers[HttpHeaders.authorizationHeader] = Global.profile.token; // 在调试模式下需要抓包调试,所以我们使用代理,并禁用HTTPS证书校验 if (!Global.isRelease) { (dio.httpClientAdapter as DefaultHttpClientAdapter).onHttpClientCreate = (client) { client.findProxy = (uri) { return \"PROXY 10.1.10.250:8888\"; }; //代理工具会提供一个抓包的自签名证书,会通不过证书校验,所以我们禁用证书校验 client.badCertificateCallback = (X509Certificate cert, String host, int port) => true; }; } } // 登录接口,登录成功后返回用户信息 Future login(String login, String pwd) async { String basic = 'Basic ' + base64.encode(utf8.encode('$login:$pwd')); var r = await dio.get( \"/users/$login\", options: _options.merge(headers: { HttpHeaders.authorizationHeader: basic }, extra: { \"noCache\": true, //本接口禁用缓存 }), ); //登录成功后更新公共头(authorization),此后的所有请求都会带上用户身份信息 dio.options.headers[HttpHeaders.authorizationHeader] = basic; //清空所有缓存 Global.netCache.cache.clear(); //更新profile中的token信息 Global.profile.token = basic; return User.fromJson(r.data); } //获取用户项目列表 Future> getRepos( {Map queryParameters, //query参数,用于接收分页信息 refresh = false}) async { if (refresh) { // 列表下拉刷新,需要删除缓存(拦截器中会读取这些信息) _options.extra.addAll({\"refresh\": true, \"list\": true}); } var r = await dio.get( \"user/repos\", queryParameters: queryParameters, options: _options, ); return r.data.map((e) => Repo.fromJson(e)).toList(); } } 可以看到我们在init()方法中,我们判断了是否是调试环境,然后做了一些针对调试环境的网络配置(设置代理和禁用证书校验)。而Git.init()方法是应用启动时被调用的(Global.init()方法中会调用Git.init())。 另外需要注意,我们所有的网络请求是通过同一个dio实例(静态变量)发出的,在创建该dio实例时我们将Github API的基地址和API支持的Header进行了全局配置,这样所有通过该dio实例发出的请求都会默认使用者些配置。 在本实例中,我们只用到了登录接口和获取用户项目的接口,所以在Git类中只定义了login(…)和getRepos(…)方法,如果读者要在本实例的基础上扩充功能,读者可以将其它的接口请求方法添加到Git类中,这样便实现了网络请求接口在代码层面的集中管理和维护。 "},"chapter15/entry.html":{"url":"chapter15/entry.html","title":"15.6:App入口及首页","keywords":"","body":"15.6 APP入口及主页 本节来介绍一下APP入口及首页。 15.6.1 APP入口 main函数为APP入口函数,实现如下: void main() => Global.init().then((e) => runApp(MyApp())); 初始化完成后才会加载UI(MyApp),MyApp 是应用的入口Widget,实现如下: class MyApp extends StatelessWidget { // This widget is the root of your application. @override Widget build(BuildContext context) { return MultiProvider( providers: [ ChangeNotifierProvider.value(value: ThemeModel()), ChangeNotifierProvider.value(value: UserModel()), ChangeNotifierProvider.value(value: LocaleModel()), ], child: Consumer2( builder: (BuildContext context, themeModel, localeModel, Widget child) { return MaterialApp( theme: ThemeData( primarySwatch: themeModel.theme, ), onGenerateTitle: (context){ return GmLocalizations.of(context).title; }, home: HomeRoute(), //应用主页 locale: localeModel.getLocale(), //我们只支持美国英语和中文简体 supportedLocales: [ const Locale('en', 'US'), // 美国英语 const Locale('zh', 'CN'), // 中文简体 //其它Locales ], localizationsDelegates: [ // 本地化的代理类 GlobalMaterialLocalizations.delegate, GlobalWidgetsLocalizations.delegate, GmLocalizationsDelegate() ], localeResolutionCallback: (Locale _locale, Iterable supportedLocales) { if (localeModel.getLocale() != null) { //如果已经选定语言,则不跟随系统 return localeModel.getLocale(); } else { Locale locale; //APP语言跟随系统语言,如果系统语言不是中文简体或美国英语, //则默认使用美国英语 if (supportedLocales.contains(_locale)) { locale= _locale; } else { locale= Locale('en', 'US'); } return locale; } }, // 注册命名路由表 routes: { \"login\": (context) => LoginRoute(), \"themes\": (context) => ThemeChangeRoute(), \"language\": (context) => LanguageRoute(), }, ); }, ), ); } } 在上面的代码中: 我们的根widget是MultiProvider,它将主题、用户、语言三种状态绑定到了应用的根上,如此一来,任何路由中都可以通过Provider.of()来获取这些状态,也就是说这三种状态是全局共享的! HomeRoute是应用的主页。 在构建MaterialApp时,我们配置了APP支持的语言列表,以及监听了系统语言改变事件;另外MaterialApp消费(依赖)了ThemeModel和LocaleModel,所以当APP主题或语言改变时MaterialApp会重新构建 我们注册了命名路由表,以便在APP中可以直接通过路由名跳转。 为了支持多语言(本APP中我们支持美国英语和中文简体两种语言)我们实现了一个GmLocalizationsDelegate,子Widget中都可以通过GmLocalizations来动态获取APP当前语言对应的文案。关于GmLocalizationsDelegate和GmLocalizations的实现方式读者可以参考”国际化“一章中的介绍,此处不再赘述。 15.6.2 主页 为了简单起见,当APP启动后,如果之前已登录了APP,则显示该用户项目列表;如果之前未登录,则显示一个登录按钮,点击后跳转到登录页。另外,我们实现一个抽屉菜单,里面包含当前用户头像及APP的菜单。下面我们先看看要实现的效果,如图15-1、15-2所示: 我们在”lib/routes“下创建一个”home_page.dart“文件,实现如下: class HomeRoute extends StatefulWidget { @override _HomeRouteState createState() => _HomeRouteState(); } class _HomeRouteState extends State { @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text(GmLocalizations.of(context).home), ), body: _buildBody(), // 构建主页面 drawer: MyDrawer(), //抽屉菜单 ); } ...// 省略 } 上面代码中,主页的标题(title)我们是通过GmLocalizations.of(context).home来获得,GmLocalizations是我们提供的一个Localizations类,用于支持多语言,因此当APP语言改变时,凡是使用GmLocalizations动态获取的文案都会是相应语言的文案,这在前面”国际化“一章中已经介绍过,读者可以前翻查阅。 我们通过 _buildBody()方法来构建主页内容,_buildBody()方法实现代码如下: Widget _buildBody() { UserModel userModel = Provider.of(context); if (!userModel.isLogin) { //用户未登录,显示登录按钮 return Center( child: RaisedButton( child: Text(GmLocalizations.of(context).login), onPressed: () => Navigator.of(context).pushNamed(\"login\"), ), ); } else { //已登录,则展示项目列表 return InfiniteListView( onRetrieveData: (int page, List items, bool refresh) async { var data = await Git(context).getRepos( refresh: refresh, queryParameters: { 'page': page, 'page_size': 20, }, ); //把请求到的新数据添加到items中 items.addAll(data); // 如果接口返回的数量等于'page_size',则认为还有数据,反之则认为最后一页 return data.length==20; }, itemBuilder: (List list, int index, BuildContext ctx) { // 项目信息列表项 return RepoItem(list[index]); }, ); } } } 上面代码注释很清楚:如果用户未登录,显示登录按钮;如果用户已登录,则展示项目列表。这里项目列表使用了InfiniteListView Widget,它是flukit package中提供的。InfiniteListView同时支持了下拉刷新和上拉加载更多两种功能。onRetrieveData 为数据获取回调,该回调函数接收三个参数: 参数名 类型 解释 page int 当前页号 items List 保存当前列表数据的List refresh bool 是否是下拉刷新触发 返回值类型为bool,为true时表示还有数据,为false时则表示后续没有数据了。onRetrieveData 回调中我们调用Git(context).getRepos(...)来获取用户项目列表,同时指定每次请求获取20条。当获取成功时,首先要将新获取的项目数据添加到items中,然后根据本次请求的项目条数是否等于期望的20条来判断还有没有更多的数据。在此需要注意,Git(context).getRepos(…)方法中需要refresh参数来判断是否使用缓存。 itemBuilder为列表项的builder,我们需要在该回调中构建每一个列表项Widget。由于列表项构建逻辑较负责,我们单独封装一个RepoItem Widget 专门用于构建列表项UI。RepoItem 实现如下: import '../index.dart'; class RepoItem extends StatefulWidget { // 将`repo.id`作为RepoItem的默认key RepoItem(this.repo) : super(key: ValueKey(repo.id)); final Repo repo; @override _RepoItemState createState() => _RepoItemState(); } class _RepoItemState extends State { @override Widget build(BuildContext context) { var subtitle; return Padding( padding: const EdgeInsets.only(top: 8.0), child: Material( color: Colors.white, shape: BorderDirectional( bottom: BorderSide( color: Theme.of(context).dividerColor, width: .5, ), ), child: Padding( padding: const EdgeInsets.only(top: 0.0, bottom: 16), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ ListTile( dense: true, leading: gmAvatar( //项目owner头像 widget.repo.owner.avatar_url, width: 24.0, borderRadius: BorderRadius.circular(12), ), title: Text( widget.repo.owner.login, textScaleFactor: .9, ), subtitle: subtitle, trailing: Text(widget.repo.language ?? \"\"), ), // 构建项目标题和简介 Padding( padding: const EdgeInsets.symmetric(horizontal: 16.0), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Text( widget.repo.fork ? widget.repo.full_name : widget.repo.name, style: TextStyle( fontSize: 15, fontWeight: FontWeight.bold, fontStyle: widget.repo.fork ? FontStyle.italic : FontStyle.normal, ), ), Padding( padding: const EdgeInsets.only(top: 8, bottom: 12), child: widget.repo.description == null ? Text( GmLocalizations.of(context).noDescription, style: TextStyle( fontStyle: FontStyle.italic, color: Colors.grey[700]), ) : Text( widget.repo.description, maxLines: 3, style: TextStyle( height: 1.15, color: Colors.blueGrey[700], fontSize: 13, ), ), ), ], ), ), // 构建卡片底部信息 _buildBottom() ], ), ), ), ); } // 构建卡片底部信息 Widget _buildBottom() { const paddingWidth = 10; return IconTheme( data: IconThemeData( color: Colors.grey, size: 15, ), child: DefaultTextStyle( style: TextStyle(color: Colors.grey, fontSize: 12), child: Padding( padding: const EdgeInsets.symmetric(horizontal: 16), child: Builder(builder: (context) { var children = [ Icon(Icons.star), Text(\" \" + widget.repo.stargazers_count .toString() .padRight(paddingWidth)), Icon(Icons.info_outline), Text(\" \" + widget.repo.open_issues_count .toString() .padRight(paddingWidth)), Icon(MyIcons.fork), //我们的自定义图标 Text(widget.repo.forks_count.toString().padRight(paddingWidth)), ]; if (widget.repo.fork) { children.add(Text(\"Forked\".padRight(paddingWidth))); } if (widget.repo.private == true) { children.addAll([ Icon(Icons.lock), Text(\" private\".padRight(paddingWidth)) ]); } return Row(children: children); }), ), ), ); } } 上面代码有两点需要注意: 在构建项目拥有者头像时调用了gmAvatar(…)方法,该方法是是一个全局工具函数,专门用于获取头像图片,实现如下: Widget gmAvatar(String url, { double width = 30, double height, BoxFit fit, BorderRadius borderRadius, }) { var placeholder = Image.asset( \"imgs/avatar-default.png\", //头像占位图,加载过程中显示 width: width, height: height ); return ClipRRect( borderRadius: borderRadius ?? BorderRadius.circular(2), child: CachedNetworkImage( imageUrl: url, width: width, height: height, fit: fit, placeholder: (context, url) =>placeholder, errorWidget: (context, url, error) =>placeholder, ), ); } 代码中调用了CachedNetworkImage 是cached_network_image包中提供的一个Widget,它不仅可以在图片加载过程中指定一个占位图,而且还可以对网络请求的图片进行缓存,更多详情读者可以自行查阅其文档。 由于Flutter 的Material 图标库中没有fork图标,所以我们在iconfont.cn上找了一个fork图标,然后根据”图片和Icon“一节中介绍的使用自定义字体图标的方法集成到了我们的项目中。 15.6.3 抽屉菜单 抽屉菜单分为两部分:顶部头像和底部功能菜单项。当用户未登录,则抽屉菜单顶部会显示一个默认的灰色占位图,若用户已登录,则会显示用户的头像。抽屉菜单底部有”换肤“和”语言“两个固定菜单,若用户已登录,则会多一个”注销“菜单。用户点击”换肤“和”语言“两个菜单项,会进入相应的设置页面。我们的抽屉菜单效果如图15-3、15-4所示: 实现代码如下: class MyDrawer extends StatelessWidget { const MyDrawer({ Key key, }) : super(key: key); @override Widget build(BuildContext context) { return Drawer( //移除顶部padding child: MediaQuery.removePadding( context: context, removeTop: true, child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ _buildHeader(), //构建抽屉菜单头部 Expanded(child: _buildMenus()), //构建功能菜单 ], ), ), ); } Widget _buildHeader() { return Consumer( builder: (BuildContext context, UserModel value, Widget child) { return GestureDetector( child: Container( color: Theme.of(context).primaryColor, padding: EdgeInsets.only(top: 40, bottom: 20), child: Row( children: [ Padding( padding: const EdgeInsets.symmetric(horizontal: 16.0), child: ClipOval( // 如果已登录,则显示用户头像;若未登录,则显示默认头像 child: value.isLogin ? gmAvatar(value.user.avatar_url, width: 80) : Image.asset( \"imgs/avatar-default.png\", width: 80, ), ), ), Text( value.isLogin ? value.user.login : GmLocalizations.of(context).login, style: TextStyle( fontWeight: FontWeight.bold, color: Colors.white, ), ) ], ), ), onTap: () { if (!value.isLogin) Navigator.of(context).pushNamed(\"login\"); }, ); }, ); } // 构建菜单项 Widget _buildMenus() { return Consumer( builder: (BuildContext context, UserModel userModel, Widget child) { var gm = GmLocalizations.of(context); return ListView( children: [ ListTile( leading: const Icon(Icons.color_lens), title: Text(gm.theme), onTap: () => Navigator.pushNamed(context, \"themes\"), ), ListTile( leading: const Icon(Icons.language), title: Text(gm.language), onTap: () => Navigator.pushNamed(context, \"language\"), ), if(userModel.isLogin) ListTile( leading: const Icon(Icons.power_settings_new), title: Text(gm.logout), onTap: () { showDialog( context: context, builder: (ctx) { //退出账号前先弹二次确认窗 return AlertDialog( content: Text(gm.logoutTip), actions: [ FlatButton( child: Text(gm.cancel), onPressed: () => Navigator.pop(context), ), FlatButton( child: Text(gm.yes), onPressed: () { //该赋值语句会触发MaterialApp rebuild userModel.user = null; Navigator.pop(context); }, ), ], ); }, ); }, ), ], ); }, ); } } 用户点击”注销“,userModel.user 会被置空,此时所有依赖userModel的组件都会被rebuild,如主页会恢复成未登录的状态。 本小节我们介绍了APP入口MaterialApp的一些配置,然后实现了APP的首页。后面我们将展示登录页、换肤页、语言切换页。 "},"chapter15/login_page.html":{"url":"chapter15/login_page.html","title":"15.7:登录页","keywords":"","body":"15.7 登录页 我们说过Github有多种登录方式,为了简单起见,我们只实现通过用户名和密码登录。在实现登录页时有四点需要注意: 可以自动填充上次登录的用户名(如果有)。 为了防止密码输入错误,密码框应该有开关可以看明文。 用户名或密码字段在调用登录接口前有本地合法性校验(比如不能为空)。 登录成功后需更新用户信息。 实现代码如下: import '../index.dart'; class LoginRoute extends StatefulWidget { @override _LoginRouteState createState() => _LoginRouteState(); } class _LoginRouteState extends State { TextEditingController _unameController = new TextEditingController(); TextEditingController _pwdController = new TextEditingController(); bool pwdShow = false; //密码是否显示明文 GlobalKey _formKey = new GlobalKey(); bool _nameAutoFocus = true; @override void initState() { // 自动填充上次登录的用户名,填充后将焦点定位到密码输入框 _unameController.text = Global.profile.lastLogin; if (_unameController.text != null) { _nameAutoFocus = false; } super.initState(); } @override Widget build(BuildContext context) { var gm = GmLocalizations.of(context); return Scaffold( appBar: AppBar(title: Text(gm.login)), body: Padding( padding: const EdgeInsets.all(16.0), child: Form( key: _formKey, autovalidate: true, child: Column( children: [ TextFormField( autofocus: _nameAutoFocus, controller: _unameController, decoration: InputDecoration( labelText: gm.userName, hintText: gm.userNameOrEmail, prefixIcon: Icon(Icons.person), ), // 校验用户名(不能为空) validator: (v) { return v.trim().isNotEmpty ? null : gm.userNameRequired; }), TextFormField( controller: _pwdController, autofocus: !_nameAutoFocus, decoration: InputDecoration( labelText: gm.password, hintText: gm.password, prefixIcon: Icon(Icons.lock), suffixIcon: IconButton( icon: Icon( pwdShow ? Icons.visibility_off : Icons.visibility), onPressed: () { setState(() { pwdShow = !pwdShow; }); }, )), obscureText: !pwdShow, //校验密码(不能为空) validator: (v) { return v.trim().isNotEmpty ? null : gm.passwordRequired; }, ), Padding( padding: const EdgeInsets.only(top: 25), child: ConstrainedBox( constraints: BoxConstraints.expand(height: 55.0), child: RaisedButton( color: Theme.of(context).primaryColor, onPressed: _onLogin, textColor: Colors.white, child: Text(gm.login), ), ), ), ], ), ), ), ); } void _onLogin() async { // 提交前,先验证各个表单字段是否合法 if ((_formKey.currentState as FormState).validate()) { showLoading(context); User user; try { user = await Git(context).login(_unameController.text, _pwdController.text); // 因为登录页返回后,首页会build,所以我们传false,更新user后不触发更新 Provider.of(context, listen: false).user = user; } catch (e) { //登录失败则提示 if (e.response?.statusCode == 401) { showToast(GmLocalizations.of(context).userNameOrPasswordWrong); } else { showToast(e.toString()); } } finally { // 隐藏loading框 Navigator.of(context).pop(); } if (user != null) { // 返回 Navigator.of(context).pop(); } } } } 代码很简单,关键地方都有注释,不再赘述,下面我们看一下运行效果,如图15-5所示。 "},"chapter15/language_and_theme_setting.html":{"url":"chapter15/language_and_theme_setting.html","title":"15.8:多语言和多主题","keywords":"","body":"15.8 多语言和多主题 本实例APP中语言和主题都是可以设置的,而两者都是通过ChangeNotifierProvider来实现的:我们在main函数中使用了Consumer2,依赖了ThemeModel和LocaleModel,因此,当我们在语言和主题设置页更该当前的配置后,Consumer2的builder都会重新执行,构建一个新的MaterialApp,所以修改会立即生效。下面看一下语言和主题设置页的实现。 15.8.1 语言选择页 APP语言选择页提供三个选项:中文简体、美国英语、跟随系统。我们将当前APP使用的语言高亮显示,并且在后面添加一个”对号“图标,实现如下: class LanguageRoute extends StatelessWidget { @override Widget build(BuildContext context) { var color = Theme.of(context).primaryColor; var localeModel = Provider.of(context); var gm = GmLocalizations.of(context); //构建语言选择项 Widget _buildLanguageItem(String lan, value) { return ListTile( title: Text( lan, // 对APP当前语言进行高亮显示 style: TextStyle(color: localeModel.locale == value ? color : null), ), trailing: localeModel.locale == value ? Icon(Icons.done, color: color) : null, onTap: () { // 更新locale后MaterialApp会重新build localeModel.locale = value; }, ); } return Scaffold( appBar: AppBar( title: Text(gm.language), ), body: ListView( children: [ _buildLanguageItem(\"中文简体\", \"zh_CN\"), _buildLanguageItem(\"English\", \"en_US\"), _buildLanguageItem(gm.auto, null), ], ), ); } } 上面代码逻辑很简单,唯一需要注意的是我们在build(…)方法里面定义了_buildLanguageItem(…)方法,它和在LanguageRoute类中定义该方法的区别就在于:在build(…)内定义的方法可以共享build(...)方法上下文中的变量,本例中是共享了localeModel。当然,如果_buildLanguageItem(…)的实现复杂一些的话不建议这样做,此时最好是将其作为LanguageRoute类的方法。该页面运行效果如图15-6、15-7所示: 切换语言后立即生效。 15.8.2 主题选择页 一个完整的主题Theme包括很多选项,这些选项在ThemeData中定义。本实例为了简单起见,我们只配置主题颜色。我们提供几种默认预定义的主题色供用户选择,用户点击一种色块后则更新主题。主题选择页的实现代码如下: class ThemeChangeRoute extends StatelessWidget{ @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text(GmLocalizations.of(context).theme), ), body: ListView( //显示主题色块 children: Global.themes.map((e) { return GestureDetector( child: Padding( padding: const EdgeInsets.symmetric(vertical: 5, horizontal: 16), child: Container( color: e, height: 40, ), ), onTap: () { //主题更新后,MaterialApp会重新build Provider.of(context).theme = e; }, ); }).toList(), ), ); } } 运行效果如图15-8所示: 点击其它主题色块后,APP主题色立马切换生效。 "}} \ No newline at end of file diff --git a/docs/chapter12/platform-channel.md b/docs/chapter12/platform-channel.md index 10de25d0..687aef82 100644 --- a/docs/chapter12/platform-channel.md +++ b/docs/chapter12/platform-channel.md @@ -45,4 +45,35 @@ Flutter与原生之间的通信依赖灵活的消息传递方式: ### 自定义编解码器 -除了上面提到的`MethodChannel`,还可以使用[`BasicMessageChannel`](https://docs.flutter.io/flutter/services/BasicMessageChannel-class.html),它支持使用自定义消息编解码器进行基本的异步消息传递。 此外,可以使用专门的[`BinaryCodec`](https://docs.flutter.io/flutter/services/BinaryCodec-class.html)、[`StringCodec`](https://docs.flutter.io/flutter/services/StringCodec-class.html)和 [`JSONMessageCodec`](https://docs.flutter.io/flutter/services/JSONMessageCodec-class.html)类,或创建自己的编解码器。 \ No newline at end of file +除了上面提到的`MethodChannel`,还可以使用[`BasicMessageChannel`](https://docs.flutter.io/flutter/services/BasicMessageChannel-class.html),它支持使用自定义消息编解码器进行基本的异步消息传递。 此外,可以使用专门的[`BinaryCodec`](https://docs.flutter.io/flutter/services/BinaryCodec-class.html)、[`StringCodec`](https://docs.flutter.io/flutter/services/StringCodec-class.html)和 [`JSONMessageCodec`](https://docs.flutter.io/flutter/services/JSONMessageCodec-class.html)类,或创建自己的编解码器。 + +### 如何获取平台信息 + +Flutter 中提供了一个全局变量`defaultTargetPlatform`来获取当前应用的平台信息,`defaultTargetPlatform`定义在"platform.dart"中,它的类型是`TargetPlatform`,这是一个枚举类,定义如下: + +```dart +enum TargetPlatform { + android, + fuchsia, + iOS, +} +``` + +可以看到目前Flutter只支持这三个平台。我们可以通过如下代码判断平台: + +```dart +if(defaultTargetPlatform==TargetPlatform.android){ + // 是安卓系统,do something + ... +} +... +``` + +由于不同平台有它们各自的交互规范,Flutter Material库中的一些组件都针对相应的平台做了一些适配,比如路由组件`MaterialPageRoute`,它在android和ios中会应用各自平台规范的切换动画。那如果我们想让我们的APP在所有平台都表现一致,比如希望在所有平台路由切换动画都按照ios平台一致的左右滑动切换风格该怎么做?Flutter中提供了一种覆盖默认平台的机制,我们可以通过显式指定`debugDefaultTargetPlatformOverride`全局变量的值来指定应用平台。比如: + +```dart +debugDefaultTargetPlatformOverride=TargetPlatform.iOS; +print(defaultTargetPlatform); // 会输出TargetPlatform.iOS +``` + +上面代码即在Android中运行后,Flutter APP就会认为是当前系统是iOS,Material组件库中所有组件交互方式都会和iOS平台对齐,`defaultTargetPlatform`的值也会变为`TargetPlatform.iOS`。 \ No newline at end of file diff --git a/docs/chapter7/dailog.md b/docs/chapter7/dailog.md index 9aa492b2..aa54f510 100644 --- a/docs/chapter7/dailog.md +++ b/docs/chapter7/dailog.md @@ -448,9 +448,9 @@ class _DialogRouteState extends State { } ``` -然后,当我们运行上面的代码时我们会发现复选框根本选不中!为什么会这样呢?其实原因很简单,我们知道`setState`方法只会针对当前context的子树重新build,但是我们的对话框并不是在`_DialogRouteState`的`build` 方法中构建的,而是通过`showDialog`单独构建的,所以调用在`_DialogRouteState`的context中调用`setState`是无法影响通过`showDialog`构建的UI的。另外,我们可以从另外一个角度来理解这个现象,前面说过动画框也是通过路由的方式来实现的,那么上面的代码实际上就等同于企图在父路由中调用`setState`来让子路由更新,这显然是不行的!简尔言之,根本原因就是context不对。那如何让复选框可点击呢?有常规方法和一个精妙的方法,下面我们分别介绍: +然后,当我们运行上面的代码时我们会发现复选框根本选不中!为什么会这样呢?其实原因很简单,我们知道`setState`方法只会针对当前context的子树重新build,但是我们的对话框并不是在`_DialogRouteState`的`build` 方法中构建的,而是通过`showDialog`单独构建的,所以调用在`_DialogRouteState`的context中调用`setState`是无法影响通过`showDialog`构建的UI的。另外,我们可以从另外一个角度来理解这个现象,前面说过动画框也是通过路由的方式来实现的,那么上面的代码实际上就等同于企图在父路由中调用`setState`来让子路由更新,这显然是不行的!简尔言之,根本原因就是context不对。那如何让复选框可点击呢?通常有如下三种方法: -### 常规方法 +### 单独抽离出StatefulWidget 既然是context不对,那么直接的思路就是将复选框的选中逻辑单独封装成一个`StatefulWidget`,然后其再内部管理复选状态。我们先来看看这种方法,下面是实现代码: @@ -567,9 +567,78 @@ RaisedButton( 可见复选框能选中了,点击“取消”或“删除”后,控制台就会打印出最终的确认状态。 +### 使用StatefulBuilder方法 + +上面的方法虽然能解决对话框状态更新的问题,但是有一个明显的缺点——对话框上所有需要会改变状态的组件都得单独封装在一个在内部管理状态`StatefulWidget`中,这样不仅麻烦,而且复用性不大。因此,我们来想想能不能找到一种更简单的方法?上面的方法本质上就是将对话框的状态置于一个`StatefulWidget`的上下文中,由`StatefulWidget`在内部管理,那么我们有没有办法在不需要单独抽离组件的情况下创建一个`StatefulWidget`的上下文呢?想到这里,我们可以从`Builder`组件的实现获得灵感。在前面介绍过`Builder`组件可以获得组件所在位置的真正的Context,那它是怎么实现的呢,我们看看它的源码: + +```dart +class Builder extends StatelessWidget { + const Builder({ + Key key, + @required this.builder, + }) : assert(builder != null), + super(key: key); + final WidgetBuilder builder; + + @override + Widget build(BuildContext context) => builder(context); +} +``` + +可以看到,`Builder`实际上只是继承了`StatelessWidget`,然后在`build`方法中对获取当前context后将构建方法代理到了`builder`回调,`Builder`实际上是获取了`StatelessWidget` 的上下文。那我们能否用相同的方法获取`StatefulWidget` 上下文,并代理其`build`方法呢?我们照猫画虎,来封装一个`StatefulBuilder`方法: + +```dart +class StatefulBuilder extends StatefulWidget { + const StatefulBuilder({ + Key key, + @required this.builder, + }) : assert(builder != null), + super(key: key); + + final StatefulWidgetBuilder builder; + + @override + _StatefulBuilderState createState() => _StatefulBuilderState(); +} + +class _StatefulBuilderState extends State { + @override + Widget build(BuildContext context) => widget.builder(context, setState); +} +``` + +代码很简单,`StatefulBuilder`获取了`StatefulWidget`的上下文,并代理了其构建过程。下面我们就可以通过`StatefulBuilder`来重构上面的代码了(变动只在`DialogCheckbox`部分): + +```dart +... //省略无关代码 +Row( + children: [ + Text("同时删除子目录?"), + //使用StatefulBuilder来构建StatefulWidget上下文 + StatefulBuilder( + builder: (context, _setState) { + return Checkbox( + value: _withTree, //默认不选中 + onChanged: (bool value) { + //_setState方法实际就是该StatefulWidget的setState方法, + //调用后builder方法会重新被调用 + _setState(() { + //更新选中状态 + _withTree = !_withTree; + }); + }, + ); + }, + ), + ], +), +``` + +实际上,这种方法本质上就是子组件通知父组件(StatefulWidget)重新build子组件本身来实现UI更新的,读者可以对比代码理解。实际上`StatefulBuilder`正是Flutter SDK中提供的一个类,它和`Builder`的原理是一样的,在此,提醒读者一定要将`StatefulBuilder`和`Builder`理解透彻,因为它们在Flutter中是非常实用的。 + ### 精妙的解法 -上面的方法虽然能解决对话框状态更新的问题,但是有一个明显的缺点——对话框上所有需要会改变状态的组件都得单独封装在一个在内部管理状态`StatefulWidget`中,这样不仅麻烦,而且复用性不大。因此,我们来想想能不能找到一种更简单的方法?要确认这个问题,我们就得先想想UI是怎么更新的,我们知道在调用`setState`方法后`StatefulWidget`就会重新build,那`setState`方法做了什么呢?我们能不能从中找到方法?顺着这个思路,我们就得看一下`setState`的核心源码: +要确认这个问题,我们就得先想想UI是怎么更新的,我们知道在调用`setState`方法后`StatefulWidget`就会重新build,那`setState`方法做了什么呢?我们能不能从中找到方法?顺着这个思路,我们就得看一下`setState`的核心源码: ```dart void setState(VoidCallback fn) { @@ -784,3 +853,56 @@ UnconstrainedBox( 代码运行后,效果如图7-19所示: ![图7-19](../imgs/7-19.png) + +### 日历选择 + +我们先看一下Material风格的日历选择器,如图7-20所示: + +![图7-20](../imgs/7-20.png) + +实现代码: + +```dart +Future _showDatePicker1() { + var date = DateTime.now(); + return showDatePicker( + context: context, + initialDate: date, + firstDate: date, + lastDate: date.add( //未来30天可选 + Duration(days: 30), + ), + ); +} +``` + +iOS风格的日历选择器需要使用`showCupertinoModalPopup`方法和`CupertinoDatePicker`组件来实现: + +```dart +Future _showDatePicker2() { + var date = DateTime.now(); + return showCupertinoModalPopup( + context: context, + builder: (ctx) { + return SizedBox( + height: 200, + child: CupertinoDatePicker( + mode: CupertinoDatePickerMode.dateAndTime, + minimumDate: date, + maximumDate: date.add( + Duration(days: 30), + ), + maximumYear: date.year + 1, + onDateTimeChanged: (DateTime value) { + print(value); + }, + ), + ); + }, + ); +} +``` + +运行效果如图7-21所示: + +![图7-21](../imgs/7-21.png) \ No newline at end of file diff --git a/docs/img_des.txt b/docs/img_des.txt index 0bcec543..18b9eacf 100644 --- a/docs/img_des.txt +++ b/docs/img_des.txt @@ -134,6 +134,9 @@ 7-16 Material风格的底部菜单列表模态对话框 7-17 showBottomSheet示例 7-18 Loading框 +7-19 Loading框(自定义宽度) +7-20 Material风格的日历选择框 +7-21 iOS风格的日历选择框 8-1 Listener示例 8-2 手势检测(点击、双击、长按)示例 diff --git a/docs/imgs/7-20.png b/docs/imgs/7-20.png new file mode 100644 index 00000000..88066336 Binary files /dev/null and b/docs/imgs/7-20.png differ diff --git a/docs/imgs/7-21.png b/docs/imgs/7-21.png new file mode 100644 index 00000000..decfac4f Binary files /dev/null and b/docs/imgs/7-21.png differ