本次主要是记录Fultter Theme主题的设备与AppBar中的一些属性的使用及说明。目前项目开发有了四个界面。前期主题没太注意,今天看来要好好总结一下近期所学。
成都创新互联公司是一家集网站建设,满洲企业网站建设,满洲品牌网站建设,网站定制,满洲网站建设报价,网络营销,网络优化,满洲网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
首先,Android主题沉浸式设置,Flutter篇:
根据字面意思就能看出来是对状态懒得设置,其中用到了 dart:io 与 flutter/services.dart 这两个重点Mark一下,有时间深入探究一下用法跟能力。回归正题。
主题数据,其中最常用的是 primarySwatch 、 primaryColor 、 accentColor 。
primarySwatch:UI右下角的FloatingActionButton的颜色就是默认取值MaterialColor,
默认是蓝色的,如果修改成primarySwatch,就会变成这个颜色值。只支持MaterialColor。
primaryColor:顶部导航栏和状态栏的颜色修改,需要用到这个属性,类型 Color。
accentColor:前景色(文本、按钮、覆盖边缘效果等)。
看一下项目中的使用
其中 brightness 主题设置较为关键,它是设置状态栏图标与字体颜色的。
brightness: Brightness.dark 状态栏图标与字体颜色为白色。
brightness: Brightness.light 状态栏图标与字体颜色为黑色。
iconTheme :设置appbar icon的颜色,appbar中icon的颜色会根据primaryColor的改变来确定自身的颜色,这里可以在iconTheme中指定icon的颜色。
默认不做修改前:
在App设计中状态栏纯色的这种设计很常见,但是如果状态栏需要为白色的时候就必须为黑色字体。在Android中已经有很多成熟的方案来处理这种情况,那我们现在看看在Flutter中这种情况该怎么处理。
这里的ThemeData即为控制App的主题,primarySwatch设置即可控制主题的各类颜色,但是这里的颜色是需要MaterialColor,但是纯色种的黑色和白色不是MaterialColor。所以不能设置primarySwatch为Colors.white。
注:MaterialColor包含以下这些
那么就只能使用其他方式设置主题为白色。即为设置
此时我们可以看到App的状态栏如下所示(Android)
虽然AppBar变成了白色,但是状态栏是灰色显然不是我们想要的。
尝试设置文字颜色,AppBar的Brightness有两种模式light和dark
这个和SystemUiOverlayStyle的light和dark刚好相反
然后设置状态栏颜色
设置为红色之后,得到以下的样式,可以看到状态栏为红色了,文字为白色
那么接下来我们只需要将状态栏设置为白色或者透明,状态栏文字设置为黑色。
最后得到以下视图
注:使用PreferredSize包裹,可以更得心应手哦!
SystemUiOverlayStyle在设置时其实有很多系统或者版本的限制
[Flutter]使用主题
flutter设置沉浸式状态栏
)
1、紫悦
薰衣草紫身体、深蓝色加紫和玫红色鬃毛、宝石紫色眼睛的小马。在宇宙公主的天才皇家独角兽魔法学院就读,学习魔法知识。认真、自律、有常识,管理能力极佳,喜欢阅读书籍,懂得多数小马都不懂的历史和传说,魔力十分强大,可以使用许多强力的魔法。
2、云宝
天蓝色身体,彩虹色鬃毛,瑰红色眼睛的小马。可爱标志为一朵云下面有一道彩虹闪电。外向、勇敢、爱笑、爱恶作剧,有些男孩子气。飞行时尾端会拖着一道彩虹,另外就算不用翅膀奔跑速度也很快。与醒目露露情同手足。
3、苹果嘉儿
橙黄色身体,金色鬃毛,翡翠绿眼睛,头戴牛仔帽小马。可爱标志为三颗苹果,是小马宝莉第一代就有的的元老小马。后蹄的力气比前蹄大,会用套索做特技,擅长运动,很喜欢苹果,会做各种苹果料理。
4、珍奇
色身体、蓝紫色鬃毛、宝蓝色眼睛的小马。可爱标志一般情况下为三颗菱形蓝宝石。精细蹄工艺与服装设计,是一位流行设计师。向往坎特洛特,希望自己能嫁给贵族成为上流名马,拥有自己的服饰店。
5、柔柔
米黄色身体、淡粉色色鬃毛、蓝绿色眼睛的小马,长相漂亮,个性胆小、内向、善良,说话总是很小声,声音甜美。可爱标志为三只粉红翅膀的蝴蝶。小时候非常不擅长飞行,在云宝为她,而举办的飞行比赛中不慎掉落到可爱标志附近的森林。
6、碧琪
粉色身体,桃红色鬃毛、天蓝色眼睛的小马。可爱标志为两颗蓝气球夹带一颗黄气球。十分积极乐观,是六只小马中的开心果。个性开朗、活泼、积极、乐观,擅常滑冰,喜爱恶作剧和唱歌,剧中大部分的曲目都是她自编自唱的,有着超乎常人的精力。
7、星光熠熠
紫色的独角兽,因幼时好友获得可爱标志后离他而去感到悲伤,因此宣称差异会导致友谊破裂,而完全的平等才是解决之道。所以她利用魔法除去其他小马的可爱标志,然后用等号取代,并以独裁的手段在边境建立起一个反乌托邦式的小镇。后被夺回可爱标志的M6打败。
8、穗龙
一只紫色与绿色相间的小龙,在紫悦幼年时期参加的入学考试中因紫悦暴走的魔力让它从蛋中孵化了出来。紫悦的助手兼室友,会帮着记事、整理资料、找寻书籍、写信,能够吐出绿色的火焰,用它将信烧掉之后便会传送到宇宙公主那边,从宇宙公主那边寄来的信就由自己吐出。
在 Flutter 中定时器相对 iOS 来说比较好的一点就是定时器事件的执行不会受视图拖拽的影响,不涉及到模式。但是需要注意一点的是在页面离开的时候要对定时器进行销毁。
开始的时候我们是在页面中直接使用三方框架 http 进行网络的请求,这里不好的一点就是如果将来我们更换了网络请求框架的话,项目中涉及到网络的请求的地方都需要改动,对项目的影响会比较大。所以这里我们自己封装了一个网络请求类,定义自己的网络请求方法,即使将来更换三方框架的话,我们只需要在我们自己网络请求类里面更换就好,项目的其他地方不用改动。对网络请求进行封装,相信不管是 iOS 项目还是安卓项目肯定也都是这样做的。
这里我们是基于 Dio 这个三方框架进行封装的,在 HttpManager 类中我们定义了 Dio 的单例对象 _dioInstance ,通过单例方法 _getDioInstance 来获取单例对象。我们定义了 post 跟 get 两个静态方法,在这两个方法中我们都调用了私有方法 _sendRequest , _sendRequest 方法中通过该传入的枚举参数 HttpMethod 来区分 Dio 单例对象是调用 get 还是 post 请求。这里需要注意的是方法中一定要使用 async ,返回值前要加 await 。
在聊天页面中我们可以看到顶部的搜索框,这个搜索框是跟列表一起滚动的,所以比较好的实现方式就是把搜索框定义为一个 cell 。其实这个搜索框只有点击事件,点击之后跳转一个新的页面,所以我们只需要使用小部件来实现搜索框的展示就好。搜索框由白色底视图跟图片和文本组成,所以这里我们通过 Stack 部件来实现, children 的第一个元素为白色底视图,图片跟搜索文字用 Row 部件来实现,图片跟文字布局左右排列。
I love animals
I love little animal is a dog, its whole body covered with white hair, like a marshmallow; eyes are round, like two precious stones inlaid in a pair of curved eyebrows; ears are half round, the nose is black, short tail, is very cute.
I give it to eat bones, it will be a piece of a piece, a short short at. It finished chew bones, will bark loudly, as if to say: "little master, thank you." Whenever I go to school, she always give me some distance, until I pretend to be angry and hit it two or three times, it didn't run away home. It will not only send me to school, and I also like to race, run very fast, sometimes, I fell a distance. Usually, it looks very timid, but saw a stranger, but without losing the power suddenly staring at the stranger's every act and every move with open eyes, the key is also called.
It is really a smart and loyal dog!
When I come home from school, is the most happy when the puppy. As long as the puppy at home, I'm waiting for me on my way home from school to home is still a long way to always can see the dog in front of the door. It saw me, I am here will wagged his tail to run to, then in my predecessors capers. Such a cute little dog can be like?
I hope the dog well-nourished, because it is so cute.
我喜爱的动物
我喜欢的小动物是一只小狗,它全身长满白色的毛,像一团棉花糖;眼睛是圆溜溜的,像两颗大宝石镶嵌在一对弯弯的眉毛下;耳朵是半圆形,鼻子是黑色,尾巴短短的,很可爱。
我给它爱吃的骨头,它会一块一块,一小段一小段地啃。它啃完骨头后,就会汪汪地叫几声,好像在说:“小主人,谢谢你。”每当我去上学,她总是会送我一段路程,直到我假装生气打它两三下,它才乖乖地跑回家去。它不但会送我去上学,还喜欢和我一起赛跑,跑得十分快,有时,把我落了一段路程。平时,它看起来很胆小,但看见陌生人时,却又不失威猛地睁着双眼紧盯着陌生人的一举一动,关键时还会大声叫。
它真是一只机灵又尽忠职守的小狗啊!
我放学回家时,可算是小狗最开心的时候。只要小狗在家,我在放学回家的路上离家门口还有一段路总可看见小狗在门前等着我。它看见了我,就会摇着尾巴往我这里飞奔而来,然后在我人前人后蹦来蹦去。这么机灵的小狗能不讨人喜欢吗?
我很希望把这只小狗养得白白胖胖,因为它实在太可爱了。
Flutter的图片缓存机制有问题(可能是我使用的版本1.12.13有问题)
网络图片会默认缓存到本地,但是不管图片是不是完整的或者损坏的,导致页面在下次进入的时候会优先从缓存里读取图片。有些图片是没有加载完成的,或者损坏的,导致图片无法显示。UI效果就是显示成白色的。
一种解决方式:加载前或者退出后清理图片缓存
ImageCache imageCache = PaintingBinding.instance.imageCache;
imageCache.clear();
缺点就是每次图片都想要从网络上获取,增加服务器负担
分享标题:flutter白色,flutter的
网站链接:https://www.cdcxhl.com/article14/dsohege.html
成都网站建设公司_创新互联,为您提供App设计、外贸建站、静态网站、虚拟主机、建站公司、自适应网站
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联