<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Dart on 特严赤傲</title><link>https://tianchoy.github.io/categories/dart/</link><description>Recent content in Dart on 特严赤傲</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Thu, 21 May 2026 21:04:00 +0800</lastBuildDate><atom:link href="https://tianchoy.github.io/categories/dart/index.xml" rel="self" type="application/rss+xml"/><item><title>whereType的作用</title><link>https://tianchoy.github.io/posts/dart/wheretype%E7%9A%84%E4%BD%9C%E7%94%A8/</link><pubDate>Thu, 21 May 2026 21:04:00 +0800</pubDate><guid>https://tianchoy.github.io/posts/dart/wheretype%E7%9A%84%E4%BD%9C%E7%94%A8/</guid><description>&lt;p&gt;&lt;code&gt;whereType&amp;lt;Marker&amp;gt;()&lt;/code&gt; 是 Dart 中 Iterable 的一个方法，用于&lt;strong&gt;过滤集合中指定类型的元素&lt;/strong&gt;。&lt;/p&gt;</description></item><item><title>鸿蒙开发app资源库</title><link>https://tianchoy.github.io/posts/dart/%E9%B8%BF%E8%92%99%E5%BC%80%E5%8F%91app%E8%B5%84%E6%BA%90%E5%BA%93/</link><pubDate>Sun, 03 Aug 2025 08:30:18 +0800</pubDate><guid>https://tianchoy.github.io/posts/dart/%E9%B8%BF%E8%92%99%E5%BC%80%E5%8F%91app%E8%B5%84%E6%BA%90%E5%BA%93/</guid><description>&lt;h3 id="鸿蒙图标库"&gt;&#10; 鸿蒙图标库&#10; &lt;a class="heading-link" href="#%e9%b8%bf%e8%92%99%e5%9b%be%e6%a0%87%e5%ba%93"&gt;&#10; &lt;i class="fa-solid fa-link" aria-hidden="true" title="链接到标题"&gt;&lt;/i&gt;&#10; &lt;span class="sr-only"&gt;链接到标题&lt;/span&gt;&#10; &lt;/a&gt;&#10;&lt;/h3&gt;&#10;&lt;p&gt;&lt;a href="https://ohpm.openharmony.cn/#/cn/home" class="external-link" target="_blank" rel="noopener"&gt;鸿蒙第三方插件库&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://developer.huawei.com/consumer/cn/design/harmonyos-symbol/" class="external-link" target="_blank" rel="noopener"&gt;鸿蒙图标库&lt;/a&gt;&lt;/p&gt;&#10;&lt;h4 id="内置图标使用示例"&gt;&#10; 内置图标使用示例&#10; &lt;a class="heading-link" href="#%e5%86%85%e7%bd%ae%e5%9b%be%e6%a0%87%e4%bd%bf%e7%94%a8%e7%a4%ba%e4%be%8b"&gt;&#10; &lt;i class="fa-solid fa-link" aria-hidden="true" title="链接到标题"&gt;&lt;/i&gt;&#10; &lt;span class="sr-only"&gt;链接到标题&lt;/span&gt;&#10; &lt;/a&gt;&#10;&lt;/h4&gt;&#10;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;&#10;&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;&#10;&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1&#10;&lt;/span&gt;&lt;span class="lnt"&gt; 2&#10;&lt;/span&gt;&lt;span class="lnt"&gt; 3&#10;&lt;/span&gt;&lt;span class="lnt"&gt; 4&#10;&lt;/span&gt;&lt;span class="lnt"&gt; 5&#10;&lt;/span&gt;&lt;span class="lnt"&gt; 6&#10;&lt;/span&gt;&lt;span class="lnt"&gt; 7&#10;&lt;/span&gt;&lt;span class="lnt"&gt; 8&#10;&lt;/span&gt;&lt;span class="lnt"&gt; 9&#10;&lt;/span&gt;&lt;span class="lnt"&gt;10&#10;&lt;/span&gt;&lt;span class="lnt"&gt;11&#10;&lt;/span&gt;&lt;span class="lnt"&gt;12&#10;&lt;/span&gt;&lt;span class="lnt"&gt;13&#10;&lt;/span&gt;&lt;span class="lnt"&gt;14&#10;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#10;&lt;td class="lntd"&gt;&#10;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;// SymbolGlyph组件示例 &#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;SymbolGlyph($r(&amp;#39;sys.symbol.ohos_folder_badge_plus&amp;#39;))&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; .fontSize(96)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; .fontColor(Color.Black)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;// SymbolSpan嵌入文本示例&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Text() {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; Span(&amp;#39;通知 &amp;#39;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; SymbolSpan($r(&amp;#39;sys.symbol.bell_fill&amp;#39;))&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;示例中，ohos_folder_badge_plus和bell_fill均为示例，具体图标在鸿蒙图标库中找到&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&lt;/div&gt;&lt;h4 id="传值方式"&gt;&#10; 传值方式&#10; &lt;a class="heading-link" href="#%e4%bc%a0%e5%80%bc%e6%96%b9%e5%bc%8f"&gt;&#10; &lt;i class="fa-solid fa-link" aria-hidden="true" title="链接到标题"&gt;&lt;/i&gt;&#10; &lt;span class="sr-only"&gt;链接到标题&lt;/span&gt;&#10; &lt;/a&gt;&#10;&lt;/h4&gt;&#10;&lt;p&gt;在&lt;code&gt;@ComponentV2&lt;/code&gt;中传值方式与&lt;code&gt;@Component&lt;/code&gt; 不同&lt;/p&gt;</description></item><item><title>关于CupertinoNavigationBar图标对齐问题</title><link>https://tianchoy.github.io/posts/dart/%E5%85%B3%E4%BA%8Ecupertinonavigationbar%E5%9B%BE%E6%A0%87%E5%AF%B9%E9%BD%90%E9%97%AE%E9%A2%98/</link><pubDate>Thu, 24 Jul 2025 20:27:03 +0800</pubDate><guid>https://tianchoy.github.io/posts/dart/%E5%85%B3%E4%BA%8Ecupertinonavigationbar%E5%9B%BE%E6%A0%87%E5%AF%B9%E9%BD%90%E9%97%AE%E9%A2%98/</guid><description>&lt;p&gt;开发一个自定义顶部栏，发现右侧图标与标题不在同一水平线上：&lt;/p&gt;</description></item><item><title>macOS查询安卓和ios模拟器列表</title><link>https://tianchoy.github.io/posts/dart/macos%E6%9F%A5%E8%AF%A2%E5%AE%89%E5%8D%93%E5%92%8Cios%E6%A8%A1%E6%8B%9F%E5%99%A8%E5%88%97%E8%A1%A8/</link><pubDate>Sat, 28 Jun 2025 20:53:38 +0800</pubDate><guid>https://tianchoy.github.io/posts/dart/macos%E6%9F%A5%E8%AF%A2%E5%AE%89%E5%8D%93%E5%92%8Cios%E6%A8%A1%E6%8B%9F%E5%99%A8%E5%88%97%E8%A1%A8/</guid><description>&lt;h3 id="macos查询安卓和ios模拟器列表"&gt;&#10; macOS查询安卓和ios模拟器列表&#10; &lt;a class="heading-link" href="#macos%e6%9f%a5%e8%af%a2%e5%ae%89%e5%8d%93%e5%92%8cios%e6%a8%a1%e6%8b%9f%e5%99%a8%e5%88%97%e8%a1%a8"&gt;&#10; &lt;i class="fa-solid fa-link" aria-hidden="true" title="链接到标题"&gt;&lt;/i&gt;&#10; &lt;span class="sr-only"&gt;链接到标题&lt;/span&gt;&#10; &lt;/a&gt;&#10;&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;&#10;&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;&#10;&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1&#10;&lt;/span&gt;&lt;span class="lnt"&gt; 2&#10;&lt;/span&gt;&lt;span class="lnt"&gt; 3&#10;&lt;/span&gt;&lt;span class="lnt"&gt; 4&#10;&lt;/span&gt;&lt;span class="lnt"&gt; 5&#10;&lt;/span&gt;&lt;span class="lnt"&gt; 6&#10;&lt;/span&gt;&lt;span class="lnt"&gt; 7&#10;&lt;/span&gt;&lt;span class="lnt"&gt; 8&#10;&lt;/span&gt;&lt;span class="lnt"&gt; 9&#10;&lt;/span&gt;&lt;span class="lnt"&gt;10&#10;&lt;/span&gt;&lt;span class="lnt"&gt;11&#10;&lt;/span&gt;&lt;span class="lnt"&gt;12&#10;&lt;/span&gt;&lt;span class="lnt"&gt;13&#10;&lt;/span&gt;&lt;span class="lnt"&gt;14&#10;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#10;&lt;td class="lntd"&gt;&#10;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 安卓模拟器列表&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; ~/Library/Android/sdk/emulator&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;./emulator -list-avds&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 启动安卓模拟器&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;./emulator -avd 你的模拟器名称&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# ios 模拟器列表&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;xcrun simctl list devices &lt;span class="p"&gt;|&lt;/span&gt; grep -v unavailable&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 启动ios模拟器&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;open -a Simulator --args -CurrentDeviceUDID &amp;lt;设备标识符&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&lt;/div&gt;</description></item><item><title>Flutter中使用adaptive_dialog的方法</title><link>https://tianchoy.github.io/posts/dart/flutter%E4%B8%AD%E4%BD%BF%E7%94%A8adaptive_dialog%E7%9A%84%E6%96%B9%E6%B3%95/</link><pubDate>Thu, 26 Jun 2025 22:02:15 +0800</pubDate><guid>https://tianchoy.github.io/posts/dart/flutter%E4%B8%AD%E4%BD%BF%E7%94%A8adaptive_dialog%E7%9A%84%E6%96%B9%E6%B3%95/</guid><description>&lt;p&gt;&lt;code&gt;adaptive_dialog&lt;/code&gt;是一个强大的Flutter插件，它能够根据运行平台(iOS或Android)自动适配对话框样式，提供一致的用户体验。本教程将详细介绍如何使用这个插件。&lt;/p&gt;</description></item><item><title>Flutter 3.0.5 使用BottomNavigationBar数量超过3个时底部导航显示为白色</title><link>https://tianchoy.github.io/posts/dart/flutter-3.0.5-%E4%BD%BF%E7%94%A8bottomnavigationbar%E6%95%B0%E9%87%8F%E8%B6%85%E8%BF%873%E4%B8%AA%E6%97%B6%E5%BA%95%E9%83%A8%E5%AF%BC%E8%88%AA%E6%98%BE%E7%A4%BA%E4%B8%BA%E7%99%BD%E8%89%B2/</link><pubDate>Sun, 20 Oct 2024 11:42:58 +0800</pubDate><guid>https://tianchoy.github.io/posts/dart/flutter-3.0.5-%E4%BD%BF%E7%94%A8bottomnavigationbar%E6%95%B0%E9%87%8F%E8%B6%85%E8%BF%873%E4%B8%AA%E6%97%B6%E5%BA%95%E9%83%A8%E5%AF%BC%E8%88%AA%E6%98%BE%E7%A4%BA%E4%B8%BA%E7%99%BD%E8%89%B2/</guid><description>&lt;p&gt;查询了源码之后，&#10;得出当数量小于等于3时会默认fixed模式下使用主题色，&#10;大于3时则会默认shifting模式下使用白色，&#10;所以，type: BottomNavigationBarType.fixed,&#10;即可.&lt;/p&gt;</description></item><item><title>flutter- ListTile leading加载本地图标</title><link>https://tianchoy.github.io/posts/dart/flutter--listtile-leading%E5%8A%A0%E8%BD%BD%E6%9C%AC%E5%9C%B0%E5%9B%BE%E6%A0%87/</link><pubDate>Sun, 20 Oct 2024 11:42:58 +0800</pubDate><guid>https://tianchoy.github.io/posts/dart/flutter--listtile-leading%E5%8A%A0%E8%BD%BD%E6%9C%AC%E5%9C%B0%E5%9B%BE%E6%A0%87/</guid><description>&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;&#10;&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;&#10;&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1&#10;&lt;/span&gt;&lt;span class="lnt"&gt;2&#10;&lt;/span&gt;&lt;span class="lnt"&gt;3&#10;&lt;/span&gt;&lt;span class="lnt"&gt;4&#10;&lt;/span&gt;&lt;span class="lnt"&gt;5&#10;&lt;/span&gt;&lt;span class="lnt"&gt;6&#10;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#10;&lt;td class="lntd"&gt;&#10;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-javascript" data-lang="javascript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;ListTile&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;leading&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;Images&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;assets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;images/1.png&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;title&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;Text&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;jquery 根据分类id分割数组&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;subtitle&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;Text&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s1"&gt;&amp;#39;写项目的时候遇到一个问题&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;)&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&lt;/div&gt;&lt;p&gt;现在改成这样就可以了：&lt;/p&gt;</description></item><item><title>flutter-firebase-login登陆失败</title><link>https://tianchoy.github.io/posts/dart/flutter-firebase-login%E7%99%BB%E9%99%86%E5%A4%B1%E8%B4%A5/</link><pubDate>Sun, 20 Oct 2024 11:42:58 +0800</pubDate><guid>https://tianchoy.github.io/posts/dart/flutter-firebase-login%E7%99%BB%E9%99%86%E5%A4%B1%E8%B4%A5/</guid><description>&lt;p&gt;用flutter+firebase做推送功能的时候，根据firebase文档提示做，安装好 cli之后，怎么用科学上网都登陆不上去，&#10;然后，在sf找到一些办法，试过之后，生效了。记录一下&lt;/p&gt;</description></item><item><title>flutter不设置appbar内容被状态栏遮住</title><link>https://tianchoy.github.io/posts/dart/flutter%E4%B8%8D%E8%AE%BE%E7%BD%AEappbar%E5%86%85%E5%AE%B9%E8%A2%AB%E7%8A%B6%E6%80%81%E6%A0%8F%E9%81%AE%E4%BD%8F/</link><pubDate>Sun, 20 Oct 2024 11:42:58 +0800</pubDate><guid>https://tianchoy.github.io/posts/dart/flutter%E4%B8%8D%E8%AE%BE%E7%BD%AEappbar%E5%86%85%E5%AE%B9%E8%A2%AB%E7%8A%B6%E6%80%81%E6%A0%8F%E9%81%AE%E4%BD%8F/</guid><description>&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;&#10;&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;&#10;&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1&#10;&lt;/span&gt;&lt;span class="lnt"&gt; 2&#10;&lt;/span&gt;&lt;span class="lnt"&gt; 3&#10;&lt;/span&gt;&lt;span class="lnt"&gt; 4&#10;&lt;/span&gt;&lt;span class="lnt"&gt; 5&#10;&lt;/span&gt;&lt;span class="lnt"&gt; 6&#10;&lt;/span&gt;&lt;span class="lnt"&gt; 7&#10;&lt;/span&gt;&lt;span class="lnt"&gt; 8&#10;&lt;/span&gt;&lt;span class="lnt"&gt; 9&#10;&lt;/span&gt;&lt;span class="lnt"&gt;10&#10;&lt;/span&gt;&lt;span class="lnt"&gt;11&#10;&lt;/span&gt;&lt;span class="lnt"&gt;12&#10;&lt;/span&gt;&lt;span class="lnt"&gt;13&#10;&lt;/span&gt;&lt;span class="lnt"&gt;14&#10;&lt;/span&gt;&lt;span class="lnt"&gt;15&#10;&lt;/span&gt;&lt;span class="lnt"&gt;16&#10;&lt;/span&gt;&lt;span class="lnt"&gt;17&#10;&lt;/span&gt;&lt;span class="lnt"&gt;18&#10;&lt;/span&gt;&lt;span class="lnt"&gt;19&#10;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#10;&lt;td class="lntd"&gt;&#10;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-dart" data-lang="dart"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;//1,引入dart:ui&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;dart:ui&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;//2,获取头部状态栏高度&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;MediaQueryData&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;fromWindow&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;window&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;padding&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;top&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;//具体用法：&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Padding&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nl"&gt;padding:&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;EdgeInsets&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;only&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nl"&gt;top:&lt;/span&gt; &lt;span class="n"&gt;MediaQueryData&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;fromWindow&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;window&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;padding&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;top&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;)&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&lt;/div&gt;</description></item><item><title>flutter父子传值StatefulWidget和StatelessWidget的区别</title><link>https://tianchoy.github.io/posts/dart/flutter%E7%88%B6%E5%AD%90%E4%BC%A0%E5%80%BCstatefulwidget%E5%92%8Cstatelesswidget%E7%9A%84%E5%8C%BA%E5%88%AB/</link><pubDate>Sun, 20 Oct 2024 11:42:58 +0800</pubDate><guid>https://tianchoy.github.io/posts/dart/flutter%E7%88%B6%E5%AD%90%E4%BC%A0%E5%80%BCstatefulwidget%E5%92%8Cstatelesswidget%E7%9A%84%E5%8C%BA%E5%88%AB/</guid><description>&lt;p&gt;父组件：&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;&#10;&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;&#10;&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1&#10;&lt;/span&gt;&lt;span class="lnt"&gt; 2&#10;&lt;/span&gt;&lt;span class="lnt"&gt; 3&#10;&lt;/span&gt;&lt;span class="lnt"&gt; 4&#10;&lt;/span&gt;&lt;span class="lnt"&gt; 5&#10;&lt;/span&gt;&lt;span class="lnt"&gt; 6&#10;&lt;/span&gt;&lt;span class="lnt"&gt; 7&#10;&lt;/span&gt;&lt;span class="lnt"&gt; 8&#10;&lt;/span&gt;&lt;span class="lnt"&gt; 9&#10;&lt;/span&gt;&lt;span class="lnt"&gt;10&#10;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#10;&lt;td class="lntd"&gt;&#10;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-dart" data-lang="dart"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;ElevatedButton&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nl"&gt;onPressed:&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Navigator&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;of&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;context&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;push&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;MaterialPageRoute&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nl"&gt;builder:&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;context&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;FormPage&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nl"&gt;title:&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;form page!&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)));&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;},&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nl"&gt;style:&lt;/span&gt; &lt;span class="n"&gt;ButtonStyle&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nl"&gt;padding:&lt;/span&gt; &lt;span class="n"&gt;MaterialStateProperty&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;all&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="n"&gt;EdgeInsets&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;fromLTRB&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;20&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;10&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;20&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;10&lt;/span&gt;&lt;span class="p"&gt;))),&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nl"&gt;child:&lt;/span&gt; &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="n"&gt;Text&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;传值按钮&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;)&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&lt;/div&gt;&lt;p&gt;子组件的StatelessWidget模式：&lt;/p&gt;</description></item></channel></rss>