flutter注入,flutter 依赖注入

肚皮舞的起源传说

肚皮舞起源于生育与宗教

创新互联主要从事网站建设、成都做网站、网页设计、企业做网站、公司建网站等业务。立足成都服务十堰,10余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18982081108

代表传说:女子祈祷舞——  “相传有一位身材绝佳的妙龄女子,婚后不能生育,来到神庙祈祷。她在神像前投足、扭腰、摆臀,好似舞蹈,祈求生育之神,能圆她的美梦。她那婀娜多姿的优美舞蹈,使在场的祭司们为之倾倒,即刻禀报了法老。后来将她的‘舞蹈’作为祭司舞蹈。”这种说法认为,东方舞蹈正是由这种舞蹈发展起来的。   印证——  肚皮舞舞者跳舞时要打着赤脚的传统,正印证了在古代肚皮舞是一种宗教仪式的说法,舞者赤脚正是要表示亲近自然,与大地保持最直接的联系,表现大自然与人类繁衍生命力的深远意境。  这种说法还有另一个典型例证——肚皮舞当中两个慢动作就是对妇女生产时腹部动律的模仿。并且有一种理论就是主张肚皮舞是起源于中东地区怀孕的妇女们为顺利身产所做的准备动作。  美国有一位民俗学家就记载了她在摩洛哥一个偏僻村落中亲眼目睹的一场惊心动魄的“舞蹈生育仪式”。她以惊异的笔触记载了当时的场面:一位摩洛哥妇女临盆分娩之际,村落中其他妇女在她的周围密密匝匝围成三圈,她们一边歌唱,一边翻滚着她们的腹部,并不时地把腹部用力地回拉,动作比我们现在肚皮舞动作中说的“flutter(拍打抖动)”更慢更强烈,她们一边重复着这些动作,一边把排列的圆圈顺时针移动……一个新的小生命诞生了,男子们雀跃了,妇女们仍然继续她们的歌唱和舞蹈,直至日落,这位民俗学家也感动得哭了。  生命如此神圣,如此珍贵,肚皮舞就是对生命的礼赞——这也是肚皮舞的原始精神所在。今天,当我们随着那仿佛来自洪荒远古的鼓点翩翩起舞时,是否能体会到这些许古老意蕴?

肚皮舞起源于宫廷与情欲 代表传说:莎乐美的故事——   莎乐美是古希律王的继女,她的母亲Herodias为杀死反对她和希律王婚姻的信徒约翰,让莎乐美给希律王跳七层纱之舞。 她身着七层薄纱在希律王面前翩翩起舞,然后随着音乐的节奏慢慢地依次退去身上的每一件纱衣,玉臂轻舒、舞步飘转……当最后一层轻纱从莎乐美晶莹无暇的身体上褪下,少女之美令希律王为之疯狂,王许给她一个愿望,哪怕是要巴比伦的一半国土,王也会应承。于是莎乐美按照母亲的指示提出了要国王把约翰的人头盛在盘子里呈献给她要求。  有一种说法认为,莎乐美所跳的“七重纱之舞”(Dance of the Seven Veils),就是肚皮舞的前身,“七重纱之舞”起源于古巴比伦神话——有一位战争与爱情女神名叫伊什塔尔(Ishtar),她也是大地女神,传说她是月亮的女儿,有着能令妖魔也为之倾倒的美艳容貌,为了追寻死去的情人塔木兹(Tammuz)下到地狱里,终于获得成功,回到了地上。传说这位女神从上天下到地狱时,每降下一重天、进一重门,便脱去一层纱衣,依次渐渐失却她的神性。可谓是为了爱情不顾一切,不禁让人想起了中国古典传奇中同是为爱情上天入地的白娘子,还有那位为情而亡,又为情重生的杜丽娘。七重纱之舞便是模仿伊什塔尔从天体降到地狱时那样,一次次地脱去纱衣,在这过程中,不断调动各种肢体语言,是一种十分具有官能刺激的张扬着情欲的舞蹈。

印证——  另一段历史传说也印证了肚皮舞起源于宫廷情欲的说法:在鄂图曼土耳其帝国时期,苏丹王朝的后宫是美女如云,拥有三千佳丽,于是,如何能赢得苏丹王的眷顾,集三千宠爱于一身,便成了后宫女眷们日思夜虑的事情。而据说苏丹王遴选佳丽的方法让宫女们用纱巾蒙上面部,仅仅裸露出腹部在苏丹王面前翩翩起舞,于是宫女们腹部技巧高超与否也成为了能否吸引王注意的一大因素。东方舞就是在这样的情况下在后宫逐渐流行起来,又由于宫女们大多是被买卖进宫的,按当时规定在七年合约期满后就可以出宫,于是再自然不过的,这些出宫的女眷们就把后宫中的舞蹈带到了民间,这种舞蹈渐渐成为了人们在聚会或节日中的娱乐表演形式,渐渐成为了人们生活中的一部分。真是“旧时王谢堂前燕,飞入寻常百姓家”呀。   这个传说也恰恰能解释为什么今天土耳其风格的肚皮舞无论在动作还是服装上都比其它风格的肚皮舞更为魅惑俏丽、热辣奔放,为什么土耳其肚皮舞有更多的地板动作。

总之,无论肚皮舞是否真的起源于宫廷,毋庸置疑的是, 肚皮舞的确曾经是阿拉伯世界中的宫廷舞蹈 ,也难怪有人会称肚皮舞是阿拉伯的芭蕾舞了,在地位上,的确是相当于17世纪法国宫廷的芭蕾舞。  今天爱跳肚皮舞的人们,是否记得几千年前的阿拉伯宫廷中那一个个倩影,是用尽了她们所有的爱在进行着每一个动作,是爱给了她们舞动的力量,在这个意义上,肚皮舞是对爱——这个永恒主题的表达。

肚皮舞有哪些特点?

肚皮舞是非常女性的舞蹈,肚皮舞其特色是,随着变化万千的快速节奏,摆动腹部、使劲的舞动臂部、胸部,这些动作,成为肚皮舞,牢不可破伝统舞技,肚皮舞必需在平滑的地板,赤足舞蹈,配合音乐,以极快速,错综复杂之感性肢体动作,快速的舞步,一如欧美的狐步舞般,交叉摇摆的舞姿,时而优雅、时而感性、妩媚娇柔,时而傲酷,神秘,肚皮舞迷人的特资,令人目不暇接。

肚皮舞当然可以无伴奏的独舞,充满浪漫的独特阿拉伯音乐肚皮舞更具动感,伴奏常见的乐器如乌德(UT)琴、耐笛(Ney)、地尔巴卡(Deblek)手鼓,扬琴山都尔等等,其中打击乐器的手鼓尤为重要,在舞者施展扭腰舞腹的绝活时,鼓的加入有相乘动感。

肚皮舞时亦结合其他的道具,如蛇、刀剑、面纱、蜡烛、火焰等等,这些道具的出现,可能受到古代肚皮舞和神秘的宗教仪式的影响。这些极戏戏化又神秘的表演方式,中东的一些国家,仍然尊循无误。尤其是错综复杂的蛇把戏,蛇像征男人和女人,雌雄同体蛇,非常诡异,充满了阿拉伯的神秘。

作为一种优美的身体艺术,肚皮舞通过骨盆,臀部,胸部和手臂的旋转以及令人眼花缭乱的胯部摇摆动作,塑造出优雅性感柔美的舞蹈语言,充分发挥出女性身体的阴柔之美。它是一种全身的运动,可以让你的腿部、腹部、肩膀以及颈部都得到充分的活动,从而提高身体的弹性和柔韧性。手臂的动作非常重要,它能表达出舞者的优雅和精巧。它不仅仅是一种运动,它也为心灵与身体建立了一种精神纽带。

肚皮舞 并非女性的专利

我们在拍摄肚皮舞者时,通常会选择那些穿着迷人的露腰装,做着令人眼花缭乱的胯部摇摆动作的女性肚皮舞演员……我们基本上不会去拍摄那些男性肚皮舞者。

肚皮舞,也就是西方人所熟知的东方舞蹈,是由阿拉伯民间舞蹈演变而来的。但这种民间舞蹈并不是女性的专利。

东方舞蹈家、历史学家Tarik Sultan向我们解释,“直到20世纪,肚皮舞才成为纯女性表演的舞蹈,在受到欧洲影响之前(17世纪晚期),东方男性表演者并不稀奇,而是非常常见。

尽管Sultan作为一位东方舞者取得了个人成功,他说他最大的挑战就是要开阔人们的眼界,让人们理解,他的表演并不是在模仿女性的表演。

Sultan收到越来越多的表演邀请,他说“我反对那种认为我是男人跳女人的舞蹈的观点,实际上我为人们提供了一个实实在在的文化的视角。有一次一位观众看过我的表演的接受程度非常好。”

Sultan有20年的表演和授课经历。住在纽约的他在许多著名的舞台上演出过,比如美国的林肯中心。

他承认作为一位男性东方舞者有时候找工作会有挑战,因为“人们要是不知道某样东西的存在就不会去找它。”

肚皮舞的风格有哪些?

肚皮舞的渊源

源于中东地区的肚皮舞,是世界上最古老的舞蹈形式之一。传说中是为了庆祝女人多产以及颂扬生命的神秘的一种娱乐形式。随着时间的推移和地域文化的交融,肚皮舞渐渐发展成为一种民间舞,在节日和欢庆场面经常可见。目前肚皮舞从中东蔓延到世界各国,不光是欧美各地热辣美眉的挚爱,也是中国、日本、韩国姑娘们的新宠。

主要的肚皮舞风格

埃及风格:内敛、含蓄的埃及味道,有宫廷舞蹈的优雅。动作幅度比较小,但是很强调对肌肉的控制。

土耳其风格:动作大胆、奔放,幅度很大,胯部的动作非常夸张,而且穿着比较暴露,很有视觉冲击力。

肚皮舞锻炼的重点是纤腰和瘦臂,但是如同每种有氧锻炼一样,有规律地长期坚持才会出效果。听着音乐,找对感觉,在节奏中释放热情。

肚皮舞初学者必知的六个误区

误区一、害羞、不敢跳,动作放不开。

这个是每个初学者第一道关,也是学习肚皮舞或者是其他舞种必须克服的最基本的问题。不管做什么事情,实践最重要,尤其是学习舞蹈,如果自己不去跳就不可能跳好。

误区二、不喜欢看着镜子跳。

有些人跳的非常沉醉,沉浸在自己的感觉中,自己跳的好坏完全不管。其实再好的舞者也应该有不断的改进,所以要在镜子中发现自己的问题,才能不断进步。所以,学习舞蹈的时候一定要对着镜子跳,这样,才可以及时的改进自己的不足。当然等到基本功好了的时候,舞蹈学扎实了的时候,就应该多去表演,多去比赛。锻炼自己,提高自己。

误区三、只追求技术,不追求感觉。只追求动作,忽视音乐。

这个是练到一定阶段之后,很多学员就容易犯的错误。不少学员练好了一个很难的动作,会非常有成就感,或者为了练习完整的成品舞,而忽视跳舞的感觉(也就是我们说的舞感)。

如果是这样的话,那我还是建议你去学健美操吧。记住一点,你是在跳舞,不是在玩杂技,或是跳健美操。每个舞蹈动作是离不开音乐的。跳肚皮舞就是应该听这音乐就能立马作出相应的.动作。身体应该随着音乐舞动,没有音乐的舞蹈是没有感染力的。练习的时候要用70%的精力去听音乐,剩下的30%交给身体。

误区四、掌握不了拍子和理解不了灵魂。

拍子(beat): 我们首先要理解音乐,拍子是很重要的,刚开始跳舞的同学老是跟不了拍子,每次出来的动作都会比音乐拍子快,这就导致了舞蹈和音乐没有关系,效果就是一盘散沙。练习很简单的,我们强调的是dance to the music 任何的舞蹈都要与音乐结合才行,在上课的时候前面我们会做准备运动,那个时候就是听音乐的时候了。

记住:要全身心的去听音乐的拍子和旋律,这样做的好处是让音乐给自己带来一个状态,与现实生活脱离的状态,完全进入音乐,让心情变舒畅!如何去跟好拍子,其实很简单,每一个准备运动的动作也是跟音乐节拍有关系的!每一个节拍都清晰明了的出现在我们的耳朵里,只是你有没有用心去听而已,在做每个准备动作的时候我们会听见音乐里有一个 “咚” “啪”, 常规音乐都是这样。

我们的动作就是跟着这两个点走的,无论多快无论多慢,这个定律都是不变的!有的同学说,我跟上了拍子的,其实我们用眼睛看到你的动作不是快了就是慢了!!原因是这样的:我们仔细听咚 啪 两拍,咚的时候是有一定的持续时间 啪 也是同样的道理,很多同学是咚还没有咚完就匆匆忙忙的进行了下一个动作,这就造成了抢拍,在练习的时候就要用慢歌来练习,我们的基训时间大多是慢歌,把音乐拍子的持续时间用耳朵听出来,慢慢习惯之后你的动作永远都不会脱离轨道,这样的话你就成功了一半了!所以动作不在多和花,只要你能把拍子跟好才能 dance to the music 再强调一点:没有拍子这个东西,再多的动作都是像浮云一般寂寞!!再简单的动作能把拍子跟好的话,一切都是锦上添花!

灵魂(soul) :我们把拍子练习好之后,每个动作跳出来之后都很好看了,但是缺乏生命。如何把生命力注入到舞蹈中呢?其实练习起来也是很简单的。第一:也是在准备运动中去练习,音乐放出来之后用全身心去体会它,体会成你听到的感觉是什么,通俗点说,音乐可让人可惜可悲浮想连篇,同样的道理你听到这首歌之后是什么感觉,这就称为舞感!把基本的感觉和心情再结合动作去释放自己的内心活动,你的动作就会有生命力了,记住:首先要感动自己,然后看你跳舞的人就会被你感动!

所以一个好的 dancer 在跳舞的时候是很忘我的。基础训练的歌曲是最能让人感觉到舒服的,同学们可以感受歌曲里的东西,当然每个人的感受是不同的,比如一个音乐放出来,有的人感觉很积极、有一种冲动在里面,而有的人感受是:想起以前分手的情景,这就是对音乐感情的理解。一个好的dancer 是能够把他所有理解到的和联想到的东西全部用舞蹈表现出来的。真正能做到这一点的不是好的dancer了,而是艺术家了。舞者的高低不是看谁的动作好看,而是看谁能把音乐表现的更多,更完美! 当然要表现音乐感情就需要很好的基本功还有对音乐丰富的理解拉!

误区五、不坚持练习,不注重基础。

很多初学者会常抱怨,学了的动作,没有过多久就忘记了,或者抱怨自己记性不好,根本就没法学。其实,这只能说明你练习的还不够多,所以,一定要坚持练习。要真正把肚皮舞学好,良好的基础是必不可少的。初学者,往往会最强调老师不要做基础训练直接教动作,这样就忽视了基础的学习,觉得基训很枯燥。其实,要把任何舞蹈学好就应该能耐得住,要能坚持,只有把最基础的做好,才能不断进步。

误区六、为了什么而跳舞?出路是什么?

首先想说跳舞是跳舞,演出是演出,比赛是比赛,不一样.演出是为了观众,没有观众就不能称之为演出。观众是演出的重要组成部分,别人花钱请你演出,给点起码的职业道德。能感染观众,换来观众的共鸣、认可和掌声,就是好的演出。比赛就多了,有人说为了锻炼自己,有人为了长世面,有人为了交流学习,有人为了证明自己!这些都没错。哪怕你光明正大的说,我就是为了赢那奖金,也没错。但是不管为了什么,都放平心态尽力去做,做完后你就会发现,之前想的什么都不重要了,享受过程的感觉比什么都棒!

Flutter状态管理--GetX的简单使用

一、前言

Flutter开发,就需要对各种状态的管理,就是在请求数据的时候需要实时变化,各种交互变化等,在没有使用GetX之前使用Provider,用Provider的时候觉得真香,挺方便的,需要刷新的时候直接 notifyListeners(); 用了GetX之后觉得Provider太繁琐了。这边介绍下GetX的使用以及常用的方法。

二、 GetX

GetX 是 Flutter 上的一个轻量且强大的解决方案:高性能的状态管理、智能的依赖注入和便捷的路由管理。

1、相关优势:

三、使用

1、第一步 引入get

2、第二步

修改入口、配置路由

3、路由

Routes类

Pages类

4、状态管理

我一般一个page对应一个controller, controller来处理逻辑,控制page.

简单使用

5、依赖注入

依赖注入也是我喜欢的,可以减少很多工作。

第一步

第二步

6、跨页面交互

7、黑暗模式

可以参考前期写的博客。 黑暗模式的适配

(1)Flutter记录之启动页

一年半前玩过flutter,忘光光...现在是时候重新拾取了。~

启动页一般只放图片或者加几行文字。

1、创建好flutter项目之后,在lib文件下面新建launch.dart或xx.dart.

2、在根目录下新建images文件夹,如已有直接放入图片

3、flutter_yijiake.iml中加入注入该图片,并注意空格

4、在根目录下的test/widget_test.dart中更改默认的启动页为当前的启动页路径

5、最后重新设置启动时的页面

6、非常简单的启动页面放logo图片

值得一说的是,flutter框架的UI组件需要已new 组件的形式展开。

Flutter中的StatefulWidget及其生命周期

状态可变的 widget 。

通过其类的定义能够看到 StatefulWidget 配置 StatefulElement 。

State 是 StatefulWidget 的内部逻辑与状态,由 StatefulWidget 的 createState 创建。

StatefulWidget 实例本身是不可变的, 但是 StatefulWidget 将其可变的状态,存储在与之关联的 State 对象中。

不管什么时候,只要在树中 mount 一个新的 StatefulElement ,必然需要注入一个 StatefulWidget ,注入一个 StatefulWidget 时, framework 都会调用一次 createState 方法。

其实,在 StatefulElement 构造的时候,就会调用 createState ,创建 _state 对象,( _state 是 StatefulElement 的变量)并且在 StatefulElement 的初始化方法中为 _state 关联当前的 StatefulElement 和用以配置 StatefulElement 的 StatefulWidget 。

StatefulElement 初始化方法如下:

这意味着如果 StatefulWidget 被插入到树中的多个位置,则会有多个 State 对象分别与它们关联。

关于此类的定义如下:

描述: 重写此方法以执行初始化。

场景: 如果 State 的 build 方法依赖于本身可以改变状态的对象时。(例如 ChangeNotifier 或 Stream ,或者可以订阅并接收通知的其他对象)正确的方式是:

注意点: 此方法中不能使用 BuildContext.dependOnInheritedWidgetOfExactType 。但是此方法被调用后会立即调用 didChangeDependencies ,在 didChangeDependencies 可以使用 BuildContext.dependOnInheritedWidgetOfExactType 。

调用时机: StatefulElement ,首次插入树中时会调用此方法,在 build 方法调用之前调用。

描述: StatefulElement 通过此方法返回的 widget 并通过调用 updateChild 来更新自己。

调用时机: framework 调用此方法的几个不同的场景如下:

描述: StatefulElement 存在,并且符合 Widget.canUpdate 的情况下对 StatefulWidget 进行更新。

调用时机: 不论何时只要 StatefulElement 的配置 widget 改变的时候就会调用。

注意: didUpdateWidget 方法最终会调用 build 方法,因此在此方法中调用 setState 是多余的。如果重写此方法,请确保调用 super.didUpdateWidget(oldWidget) 。

调用时机: 当此 State 对象的依赖项( InheritedWidget )更改时调用。

描述: 用于开发阶段 hot reload 。

调用时机: hot reload 时调用,调用后 build 方法也将被调用。无需在此方法中做任何操作。

调用时机: 当 StatefulElement 从树中移除的时候会调用。

调用时机: 当 StatefulElement 从树中 unmount 的时候会调用。

StatefulWidget 用以配置 StatefulElement ,但在这两者之间的 State 承接了 StatefulElement 的生命周期,而 StatefulWidget 仅仅只是连接了 State 与 StatefulElement 的不可变的实例,因此 StatefulWidget 的生命周期,依赖于 StatefulElement ,而 State 却是其最简单直接的体现形式。

为了能更好的理解 StatefulWidget 的生命周期,我画了一张关于 State 、 StatefulElement 、 Component 、 Element 的关系图。

Flutter中的StatelessWidget及其生命周期

继承自 Widget ,状态不可变,用于描述UI展示中相对固定的部分,如纯展示,不会被改变的UI。

通过其类的定义能够看到 StatelessWidget 配置 StatelessElement 。

描述: 用于描述当前 widget 所代表的UI。

调用时机: framework 会使用 build 方法返回的 widget 注入当前 StatelessElement 或通过 Widget.canUpdate 选择合适的更新方式。

场景: build 可能在如下三种场景会被调用。

StatelessWidget 通过 StatelessWidget. createElement() 创建了 StatelessElement , StatelessElement 关联了 StatelessWidget ,并使用 StatelessWidget 配置自身。其中 StatelessElement 将其 build 方法通过关联的 widget 外放到 StatelessWidget 的实现中。因而他的生命周期依赖于 StatelessElement ,而 StatelessElement 的生命周期相对简单只有 build , update 。

为了能更好的理解 StatelessWidget 的生命周期,我画了一张关于 StatelessElement 、 Component 、 Element 的关系图。

Flutter框架 - GetX

GetX 是 Flutter 上的一个轻量且强大的解决方案:高性能的状态管理、智能的依赖注入和便捷的路由管理。

GetX的优势

对比provider,GetX可能更受欢迎

下面是GetX在pub上面的likes数据

下面是GetX在github上面的star数据

GetX 因为不需要上下文,突破了InheritedWidget的限制,我们可以在全局和模块间共享状态,这正是 BLoc 、Provider 等框架的短板

1、 在MaterialApp前添加 "Get",将其变成GetMaterialApp。

2、创建业务逻辑类,并将所有的变量,方法和控制器放在里面。 你可以使用一个简单的".obs "使任何变量成为可观察的。

3、引用逻辑类,在界面显示

几个注意点

1、

效果一样

2、

效果一样

3、

效果一样

1、Obx

2、GetX

3、GetBuilder

4、ValueBuilder

;target=VSCodecategory=Programming%20LanguagessortBy=Relevance


当前文章:flutter注入,flutter 依赖注入
标题网址:http://csdahua.cn/article/dsgpgio.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流