重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
问题描述:
创新互联主要从事网站设计、成都网站制作、网页设计、企业做网站、公司建网站等业务。立足成都服务渭南,十多年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:13518219792
在Flutter开发的过程中,当我们获取到新的数据或者数据发生变化,需要去执行setState进行页面刷新的时候,经常会出现不必要的子节点Widget也进行了build,但实际上我们是不想让它再次build,出现这些问题的典型情况是在使用FutureBuilder的时候,例如:
在上面这个示例中,如果再次调用Build方法,则会触发httpCall()的方法。
那么怎样才能避免不必要的部件构建呢?
分析:
在Flutter中,Build方法的设计方式是pure/without side effects,书面意思是无副作用的/纯粹的,简单点理解我们可以将其含义看作不会对外部的方法或者变量产生影响的。这是因为许多外部因素能够触发新的小部件的构建,例如这些情况:
但是,这也意味着Build方法可以不去触发httpCall()的方法或者不修改任何状态。
解决
回归问题,当前我们面临的问题是Build方法造成了副作用,也就是造成了无关的Build调用麻烦。
所以,只要我们使Build方法保持纯粹/无副作用,这样就算多少次调用它,也不会对其他Widget的Build方法产生影响。
在上面的示例中,我们将Widget转换为StatefulWidget,然后提取httpCall()到initState中,这样问题就解决了
另外,还可以使一个Widget能够在不强迫其子部件也构建的情况下进行重新构建。
在Widget的实例保持不变时;Flutter会有意识的不去重建子部件。这意味着我们可以缓存Widget树的某些部分,以防止不必要的重新构建。
最简单的方法是使用const修饰构造函数:
由于const的修饰,即使调用了数百次build,DecoratedBox的实例也将保持不变。
或者你可以这样使用以达到相同的结果:
在这个例子中,当StreamBuilder收到新值的通知时,即使StreamBuilder的Column进行了重构,subtree也不会进行重构。这是因为由于闭包,MyWidget的实例没有改变。
这种模式在动画中经常使用。典型的是使用AnimatedBuilder和所有的*Transition时,例如AlignTransition。
我们还可以将subtree存储到类的一个字段中,但是并不推荐你这样做,因为它会破坏Flutter的热重载。
我要做的是用BottomNavigationBarItem移除/替换FAB(浮动操作按钮),并将其放在BottomNavigationBar的中心,并为其创建样式。
为了按钮能够根据屏幕宽度进行延伸变宽,用了row和expanded,expanded多大面积,按钮就有多大面积。如果不用row,expanded会向下延伸,就不是我们要的效果了。
OutlineButton控件的child和onPressed是必须的属性,borderSide用来自定义边框颜色和样式。
一. 游泳的基本词汇
把脸埋入水中(词组): put face in water
吐气泡(词组): blow bubbles
漂浮(动词): float
游泳(动词): swim, bathe
趟水(动词):wade
池中嬉戏: play in pool
跳水(动词):dive
跳入泳池:jump in pool
技巧: technique
二. 游泳的竞技比赛用词
strokes (stroke的复数)用作表示 methods of swimming 游泳方法,包括:
1.蝶泳:Butterfly 或简称 fly
海豚式踢腿动作被称为 dolphin kick (kick=踢)
2.仰泳:Backstroke, racing backstroke, 或 back crawl
踢腿动作被称为 浅打水:flutter kick
3.蛙泳:Breaststroke
蛙式踢腿动作 frog kick, modified frog kick or whip kick
4.自由泳:Freestyle, front crawl 或 forward crawl
二十世纪初有两种提高速度的发展 Australian Crawl (澳大利亚式)与 American crawl (美国式)
5.个人混合泳:Individual Medley (IM)
指一个人连续游上述四种样式,每种姿势距离为100,200 或400米
6.四人接力:relay
每个人的赛程叫 leg,最后一位选手被称为anchor
三. 其他:知识 花絮
..侧泳:Sidestroke
剪刀式踢腿 scissors kick
..狗爬式游泳: Dog Paddle
..爬泳:Trudgen Crawl
..“溺死的蛾子” = 通常形容人们第一次尝试蝶泳的样子:Drowning moth
..踏水:Treading water 不是一种姿势。它是一套使游泳者在水中身体保持竖直的腿部动作。
水球运动员常依靠它。水球:Water polo 运动员们:players
..同游表演:Synchronized swimming 被称为 = 花样游泳:water ballet 成对表演(2-8人)
..游泳道的分界线:lane lines 有时是人的“救生索” lifelines
通常不许人靠在上面的原因有四:
1)他们不结实,会断
2)救生员会认为你有危险 救生员:lifeguard
3)真正有困难的人更不容易及时扶到了
4)把它压下去,它失去了边界警示的功能
四.大家平时都接触的(实用的:)
女游泳衣: swimsuit
男式游泳短裤: swimming trunks (永远用复数形式,因为泳裤两条腿)
游泳帽:swimcap
游泳镜: swimming google 防雾: anti-fog 防紫外线镜片: UV Protection Lens
游泳装备: swim gear
踢水板: kickboard 双手扶上面,腿来踢水
漂浮物: floats 绑胳膊上的
耳/鼻夹子:ear/nose clip
脚蹼:swim fins
秒表:stopwatch
(小孩子带到水中的)泳池玩具: pool toy
穿上泳衣 (女孩):put on swimsuit (男孩):put on swimming trunks
梳子: hairbrush
淋浴(名词): shower
香波(名词): shampoo
洗头(动词): shampoo
坐在池边: sit on edge
从池中出来: get out of pool
池边地滑: slippery by pool
擦干身体: dry off
穿上衣服: get dressed
游泳池: swimming pool
波浪池: wave pool
儿童池(浅水池): wading pool
水上滑梯:water slide
泳道: lane
把泳道分开的漂浮线:lane lines
环绕游泳:Circle Swim 是 游泳礼节:lane etiquette 两人以上在同一泳道,始终贴近身体右边的泳道线,并间隔五秒的距离
不在池中方便: don't pee in pool
救生衣: life jacket
救生圈:ring buoy
救生员: lifeguard
游泳教练: swimming instructor,coach
歌名:Never Grow Up 歌手:Taylor Swift
所属专辑:Mother's Love: Mother's Day Songs
Your little hands wrapped around my finger
你的小手紧紧地握着我的手指
And it's so quiet in the world tonight
今晚的世界是如此的安静
Your little eyelids flutter cause you're dreaming
你的眼皮微微颤动,显然你已进入梦乡
So I tuck you in and turn on your favorite nightlight
我帮你盖好被子,打开了你最喜爱的小夜灯
To you everything's funny
对你来说,世界上一切事物都如此有趣
You got nothing to regret
你从不抱怨
I'd give all I have honey
亲爱的,我愿意为你付出我所拥有的一切
If you could stay like that
宝贝,如果你一直可以这样就好了
Oh darling don't you ever grow up don't you ever grow up
亲爱的,你能不能不要长大,不要这么快长大
Just stay this little
就这样一直小小的
Oh darling don't you ever grow up don't you ever grow up
亲爱的,你能不能不要长大,不要这么快长大
It could stay this simple
这样你的世界也就会一直简单而纯洁
I won't let nobody hurt you
我不会让任何人来伤害你
Wont let no one break your heart
更不会让任何人让你心碎
No one will desert you
没有人会抛弃你
Just try to never grow up
只是试着不要长大
Never grow up
永远不要长大
You're in the car on the way to the movies
你坐在车里,在去电影院的路上
And you're mortified your mama's dropping you off
你还因为是妈妈载你去而感到尴尬
At 14 there's just so much you can't do
14岁的你,不是所有事情都力所能及
And you can't wait to move out
你迫不及待地搬出去
Someday and call your own shots
希望有一天闯出自己的一片天地
But don't make her drop you off around the block
但是不要让她送你到离目的地一个街区远的地方
Remember she's getting older too
你要记得,她也在慢慢老去
And don't lose the way that you dance
也不要忘记你一边跳舞
Around in your PJs getting ready for school
一边穿着睡衣匆匆忙忙准备上学的样子
Oh darling don't you ever grow up don't you ever grow up
亲爱的,你能不能不要长大,不要这么快长大
Just stay this little
就这样一直小小的
Oh darling don't you ever grow up don't you ever grow up
亲爱的,你能不能不要长大,不要这么快长大
It could stay this simple
这样你的世界就会永远简简单单
No one's ever burned
没有人伤害你
Nothing's ever left you scarred
没有什么事让你独自害怕
Even though you want to just try to never grow up
即使你依然期待着,也请试着不要那么快长大吧
Take pictures in your mind of your childhood room
把童年时住过的房间像照片一样印在记忆里
Memorize what is sounded like what your dad gets home
每当回想起来,就好像听到爸爸回家时的脚步声一样温暖
Remember the footsteps remember the words said
一定要记住那脚步声,那些温柔的话
And all your little brother's favorite songs
还有所有你弟弟喜欢的歌
I just realized everything I had is someday gonna be gone
后来我才渐渐发现,我所拥有的一切也有一点点失去的那一天
So here I am in my new apartment
就像现在,我在我的新公寓里
In a big city they just dropped me off
他们开车把我带到这个大城市里
It's so much colder than I thought it would be
一切要比我想象中的更加寒冷
So I tuck myself in and turn my nightlight on
我给自己盖好被子,打开了我的小夜灯
Wish I'd never grown up
我多么希望自己永远不会长大
I wish I'd never grown up
我真的希望自己不会长大
Oh I don't wanna grow up
天啊,我一点都不想长大
Wish I'd never grown up
如果我一直不曾长大该多么好
Could still be little
一直小小的
Oh I don't wanna grow up Wish I'd never grow up
我多么希望自己从来不曾长大
It could still be simple
这样我的世界就会一直都是简简单单的
Oh darling don't you ever grow up don't you ever grow up
亲爱的,你能不能不要长大,永远不要长大
Just stay this little
就这样一直小小的
Oh darling don't you ever grow up don't you ever grow up
亲爱的,你能不能不要长大,不要这么快长大
It could stay this simple
这样你的世界就可以一直简单而纯洁
Won't let nobody hurt you
我不会让任何人伤害你
Won't let no one break your heart
更不会让任何人让你心碎
And even through you want to please try to never grow up
所以即使你很期待,也请试着不要那么快长大
Oh Don't you ever grow up
宝贝,能不能永远不要长大
Oh Just never grow up
宝贝,就不要长大了吧
扩展资料:
《Never Grow Up》是美国当红乡村音乐女歌手Taylor Swift新专辑《Speak Now》中的一首歌,主要内容是Taylor对于成长的书写,或许是对自己过去的一部回忆录。
创作背景
Taylor在2010年7月正式搬出父母的房子,开始独立生活。她说这比起她的朋友们来说要晚一些,她的同龄人们多是在十八九岁上大学时就开始独立。
在美国,多数的年轻人都是在这个年纪就开始独立生活了,因此Taylor20岁了才搬出家门算是晚了。记得有一次看明珠台的笑笑小电影,播了一个小短片,讲有个男人三更半夜在家里扮鬼吓他的妈妈。
片段很好笑,但是播完后主持人说了一句:其实这个视频最恐怖的地方不在于这个妈妈在家里被儿子扮鬼吓到,而是她的儿子三四十岁了竟然还和妈妈一起住。
事实上,尽管搬出父母家,但Taylor很多时间都是和父母呆在一起的。所以搬出家门并没有让Taylor和爸爸妈妈缺少相处的机会。因为工作的关系,Taylor和父母仍然保持着十分亲密的关系。
歌曲名:A Walk Outside
歌手:Butterfly Boucher
专辑:Flutterby
Butterfly Boucher
A Walk Outside
Flutterby
Which came first
The love or the love song?
Which is more important
In the long run?
Do you really want to talk about it?!
Take if to the back verada
Have a drink and talk around it
In the end it doesn't matter
In the end we all go home
I thought about it for a minute
Music's in the kiss we hold
Which came first
The love or the love song?
I'm sorry
I guess I was wrong
Let us find the tune without a sound
Find a place that no one's found
Pick it up and put it down
In the end it doesn't matter
In the end they all go home
I thought about it for a minute
Music's in the kiss we hold
Music is a walk outside
Ahhh ahhh... ahhh ahhh...
Clever lines and clever lyrics
All boil down to what goes in them
If they find life then so do we...aahhh...
...yeah ah ha I think we're alive
Music is a walk outside
think it about for a minute
in the end we all go home
Music's in the things that matter
Hear it in the kiss we hold
Music is a walk outside
Which came first
The love or the love song?
Which came first
The love or the love song?
Which came first
The love or the love song?
Which came first
The love or the love song?