十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
源码分析:
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:国际域名空间、虚拟空间、营销软件、网站建设、谯城网站维护、网站推广。
分析源码可得,TextField 是有状态 StatefulWidget,有丰富的属性,自定义化较高,实践中需要合理利用各种回调;
1、光标的相关属性;cursorColor 为光标颜色,cursorWidth 为光标宽度,cursorRadius 为光标圆角;其中 Radius 提供了 circle 圆角和 elliptical 非圆角两种;
2、textAlign 为文字起始位置,可根据业务光标居左/居右/居中等;注意只是文字开始方向;textDirection 问文字内容方向,从左向右或从右向左;
3、maxLength 为字符长度,设置时默认是展示一行,且右下角有编辑长度与整体长度对比;与 maxLengthEnforced 配合,maxLengthEnforced 为 true 时达到最大字符长度后不可编辑;为 false 时可继续编辑展示有差别;
4、设置 maxLength 之后右下角默认有字符计数器,设置 TextField.noMaxLength 即可只展示输入字符数;
5、maxLines 为允许展现的最大行数,在使用 maxLength 时内容超过一行不会自动换行,因为默认 maxLines=1,此时设置为 null 或固定展示行数即可自动换行;区别在于 null 会展示多行,而 maxLines 最多只展示到设置行数;
6、obscureText 是否隐藏编辑内容,常见的密码格式;
7、enableInteractiveSelection 长按是否出现【剪切/复制/粘贴】菜单;不可为空;
8、keyboardAppearance 为键盘亮度,包括 Brightness.dark/light 两种,但仅限于 iOS 设备;
9、textCapitalization 文字大小写;理论上 sentences 为每句话第一个字母大写;characters为每个字母大写;words 为每个单词首字母大写;但该属性仅限于 text keybord,和尚在本地更换多种方式并未实现,有待研究;
10、keyboardType 为键盘类型,和尚理解整体分为数字键盘和字母键盘等;根据设置的键盘类型,键盘会有差别;
a. 数字键盘
--1-- datetime 键盘上可随时访问 : 和 /;
--2-- phone 键盘上可随时访问 # 和 *;
--3-- number 键盘上可随时访问 + - * /
b. 字母键盘
--1-- emailAddress 键盘上可随时访问 @ 和 .;
--2-- url 键盘上可随时访问 / 和 .;
--3-- multiline 适用于多行文本换行;
--4-- text 默认字母键盘;
11、textInputAction 通常为键盘右下角操作类型,类型众多,建议多多尝试;
12、autofocus 是否自动获取焦点,进入页面优先获取焦点,并弹出键盘,若页面中有多个 TextField 设置 autofocus 为 true 则优先获取第一个焦点;
13、focusNode 手动获取焦点,可配合键盘输入等减少用户操作次数,直接获取下一个 TextField 焦点;
14、enabled 设为 false 之后 TextField 为不可编辑状态;
15、decoration 为边框修饰,可以借此来调整 TextField 展示效果;可以设置前置图标,后置图片,边框属性,内容属性等,会在后续集中尝试;若要完全删除装饰,将 decoration 设置为空即可;
16、inputFormatters 为格式验证,例如原生 Android 中通常会限制输入手机号或其他特殊字符,在 Flutter 中也可以借此来进行格式限制,包括正则表达式;使用时需要引入 package:flutter/services.dart;
a. LengthLimitingTextInputFormatter 限制最长字符;
b. WhitelistingTextInputFormatter 仅允许输入白名单中字符;如 digitsOnly 仅支持数字 [0-9];
c. BlacklistingTextInputFormatter 防止输入黑名单中字符;如 singleLineFormatter 强制输入单行;
分析源码 RegExp("[/]") 可以设置正则表达式;
17、onChanged 文本内容变更时回调,可实时监听 TextField 输入内容;
18、controller 文本控制器,监听输入内容回调;
19、onTap 点击 TextField时回调;
20、onEditingComplete 在提交内容时回调,通常是点击回车按键时回调;
21、onSubmit 在提交时回调,不可与 onEditingComplete 同时使用,区别在于 onSubmit 是带返回值的回调;
问题小结:
当 TextField 设置 enableInteractiveSelection 属性后长按会出现菜单,默认为英文,可通过设置 Flutter 国际化来处理;
(1)在 pubspec.yaml 中集成 flutter_localizations;
2)在 MaterialApp 中设置本地化代理和支持的语言类型;
(1)将 maxLength 设置为 null 仅使用 LengthLimitingTextInputFormatter 限制最长字符;
(2)设置 InputDecoration 中 decoration 属性为空;但是底部有空余,只是隐藏而并非消失;
flutter开发中,图片的引用是必不可少的,所以为了提高效率和精准度,我们需要对不同分辨率的手机使用相对应的切图图片,本章介绍如何进行 图片分辨率适配 和 图片批量拓展处理 。
flutter中会首先根据系统的devicePixelRatio(每一个逻辑像素包含多少个原始像素,可以通过MediaQueryData.devicePixelRatio来得到)来找对应倍数的文件夹下的图片,如果没有对应倍数,找最接近的。
所以在flutter项目中,我们需要构建对应的倍数像素文件夹
之后再pubspec.yaml中,配置assets文件后就可以使用了(如使用"assets/images/jay.png",会自动适配该像素下最接近的jay图片)。
使用flutter-img-sync插件批量化处理,具体操作如下
目前还不能处理gif、webp等格式的图片,而且如果和上边介绍的不同像素比适配方案一起使用的话,由于进行了精准定位,所以指定图片后就不能进行像素适配,这是目前还存在的较大问题,所以目前两者方案只能暂时取一使用。
目前来说react-native使用者及生态更好,flutter发展的更快
1、目前使用react-native的公司及项目非常多,其中不乏有很多大公司及项目,而且react-native目前生态非常的好
2、flutter目前非常的火,发展非常的迅猛,性能非常不错但是问题也是很多的
本次主要是记录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的颜色。
默认不做修改前:
在通往人工智能的路上,Google一直在不停地买买买。而且Google在人工智能领域的收购其实从2006年就开始了。
DeepMind(2014年1月26日被Google收购)
Deepmind可以说是当下最火的人工智能初创公司,于2014年1月26日被Google收购。
虽然被谷歌收购,但是DeepMind一直是独立运营的,他们的目标是开发能够“独立思考”的软件。为了能够开发这种类型的人工智能软件,DeepMind在海量数据集合的帮助下使用机器学习等技术训练自己的人工智能去完成某些工作任务。
api.ai(2016年9月19日被Google收购)
api.ai的API可以透过语音辨识、意图辨识和上下文语境理解等技术,让电脑理解人类语言并转换为行动,协助开发者打造类似Siri的对话式智慧助理,可用于聊天机器人、App、智慧家电等。
api.ai已经证明他们可以协助开发者设计、开发和不断改进会话式界面。超过6万名开发者正使用API.ai的工具开发会话式体验。api.ai提供了业界领先的会话式用户界面平台,能够协助谷歌指导开发者持续开发优秀的自然语言界面。
Moodstocks(2016年7月6日被Google收购)
Moodstocks公司成立于2008年,作为一个小的创业公司,他们的规模并不大。
Moodstocks公司是以图像识别技术为主,并推出了智能手机的图像识别应用程序Moodstocks Notes。在加入谷歌在巴黎的研发团队之后,他们将继续研发自己的视觉图像识别工具。
Dark Blue Labs(2014年10月23日被Google收购)
Dark Blue Labs是一家深度学习公司,主要从事数据架构以及算法开发工作,被收购后并入DeepMind。
Jetpac(2014年8月17日被Google收购)
总部位于旧金山的Jetpac通过Instagram等社交图片分享工具制作城市导游服务。通过分析食品、装饰和人物图片,Jetpac的软件便可对城市的各种特点进行分析。
Jetpac被收购前有三款智能手机应用,包括一款城市导游助手、一款图片分析器和一款图片探测工具,被收购后并入Picasa中。
Emu(2014年8月6日被Google收购)
Emu是一个类似语音助手Siri但却是“通过文本消息服务的内置助手”。
它整合了类似Siri个人助理的功能,将会根据你的聊天记录,自动执行移动助理的任务。比如自动建立日程、设置时间提醒、甚至还能帮你预定餐馆。
Emu被Google收购后主要用于Google Hangouts以及Google Now中。
Flutter(2013年10月2日被Google收购)
Flutter2010年底由Navneet Dalal和Mehul Nariyawala创办,利用计算机视觉技术结合手势监测识别技术,使得用户可以用简单的手势来操控电脑和移动设备。
Flutter被Google收购后主要应用在Android以及Google X项目中。
Wavii(2013年4月23日被Google收购)
Wavii是一家成立于2009年3月的自然语言处理技术公司,总部位于西雅图。
Wavii主要做的是扫描网络、寻找新闻、然后进行总结,并附上文章来源的全文链接。
Wavii被Google收购后主要应用在Google Knowledge Graph(Google知识图谱)中。
DNNresearch(2013年3月12日被Google收购)
DNNresearch公司是由深度学习大神Geoffrey Hinton与他的两个研究生Alex Krizhevsky和Ilya Sutskever成立。由于谷歌在本次收购中没有获得任何实际的产品或服务,所以本次收购实际上属于人才性收购,收购的主体是为了这三人团队。
Viewdle(2012年10月1日被Google收购)
Viewdle是一家成立于2006年的乌克兰公司,被收购前主要做的是增强现实和面部识别。
Viewdle曾经推出的应用包括SocialCamera和Third Eye,Social Camera是其推出的首款应用,用户只需通过Faceprint教会你的相机识别好友,此后只要照片中出现了这些好友,SocialCamera就可以自动为他们打上标签。
Viewdle被Google收购后主要应用在Android中。
Clever Sense(2011年12月13日被Google收购)
Clever Sense是本地推荐应用Alfred的开发商。Alfred的独特之处在于它将人工智能和机器算法有机结合,为用户提供个性化的场所推荐,推荐的场所包括附近的餐馆、咖啡厅、酒吧和夜店。
Clever Sense被Google收购后主要应用在Android中。
PittPatt(2011年7月23日被Google收购)
PittPatt是一家由卡耐基梅隆大学孵化的专注于人脸识别和模式识别公司,其开发了一项能在照片、视频和其他媒介之中识别匹配人脸的技术,创造了一系列人脸检测、跟踪和识别的算法。
PittPatt的人脸检测和跟踪的软件开发工具包(SDK)能在照片中确定人脸的位置,在视频中跟踪人脸的移动情况。
PittPatt被Google收购后主要应用在Android中。
SayNow(2011年1月25日被Google收购)
SayNow是一家成立于2005年的语音识别公司,总部位于美国加州帕罗奥托(Palo Alto)市。
SayNow的平台可将语音通讯、一对一通话和集团通话整合到Facebook和Twitter等社交网站,以及Android和iPhone手机应用中。
SayNow被Google收购后主要应用在Google Voice中。
Phonetic Arts(2010年12月3日被Google收购)
Phonetic Arts公司是一家位于英国的语音合成技术厂商。被Google收购前Phonetic Arts公司的语音合成技术主要用在游戏中,但谷歌希望将该技术用于其电脑声音自动输出系统,以使机器合成的人声更像人类的声音以及更加流利。
Phonetic Arts被Google收购后主要应用在Google Voice和Google Translate中。
Metaweb(2010年7月16日被Google收购)
Metaweb是一家从事语义搜索(Semantic Search)技术开发的风险企业,目标是开发用于Web的语义数据存储的基础结构。
Metaweb被Google收购后主要应用在Google Search中。
Neven Vision(2006年8月15日被Google收购)
这个可以说是Google最早在人工智能领域的收购了,可以追溯到2006年。
Neven Vision是一家图像识别技术公司,其能自动从图片里提取信息、并且辨认图片的内容,被收购前主要应用于手机以及美国政府和执法部门的计量生物学应用中。
Neven Vision被Google收购后主要应用在Picasa以及Google Goggles中。
夏天的飞鸟,飞到我的窗前唱歌,又飞去了。
秋天的黄叶,它们没有什么可唱,只叹息一声,飞落在那里。
stray birds of summer come to my window to sing and fly away.
and yellow leaves of autumn, which have no songs, flutter and fall
there with a sign.
世界上的一队小小的漂泊者呀,请留下你们的足印在我的文字里。
o troupe of little vagrants of the world, leave your footprints in my words.
.
238
腆怯的思想呀,不要怕我。
我是一个诗人。
timid thoughts, do not be afraid of me.
i am a poet.
239
我的心在朦胧的沉默里,似乎充满了蟋蟀的鸣声--声音的灰暗的
暮色。
the dim silence of my mind seems filled with crickets' chirp ---
the grey twilight of sound.
240
爆竹呀,你对群星的侮蔑,又跟着你自己回到地上来了。
rockets, your insult to the stars follows yourself back to the earth.
241
您曾经带领着我,穿过我的白天的拥挤不堪的旅程,而到达了我的黄昏的孤寂之境。
在通宵的寂静里,我等待着它的意义。
thou hast led me through my crowded travels of the day to my evening's
loneliness.
i wait for its meaning through the stillness of the night.
242
我们的生命就似渡过一个大海,我们都相聚在这个狭小的舟中。
死时,我们便到了岸,各往各的世界去了。
this life is the crossing of a sea, where we meet in the same
narrow ship.
in death we reach the shore and go to our different worlds.
243
真理之川从它的错误之沟渠中流过。
the stream of truth flows through its channels of mistakes.
244
今天我的心是在想家了,在想着那跨过时间之海的那一个甜蜜的时候。
my heart is homesick today for the one sweet hour across the sea of time.
245
鸟的歌声是曙光从大地反响过去的回声。
the bird-song is the echo of the morning light back from the earth.
246
晨光问毛茛道:“你是骄傲得不肯和我接吻么?”are you too proud to kiss me?
247
小花问道:“我要怎样地对你唱,怎样地崇拜你呢?太阳呀?”
太阳答道:“只要用你的纯洁的素朴的沉默。”how may i sing to thee and worship, o sun?by the simple silence of thy purity,
248
当人是兽时,他比兽还坏。
man is worse than an animal when he is an animal.
249
黑云受光的接吻时便变成天上的花朵。
dark clouds become heaven's flowers when kissed by light.
250
不要让刀锋讥笑它柄子的拙钝。
let not the sword-blade mock its handle for being blunt.
251
夜的沉默,如一个深深的灯盏,银河便是它燃着的灯光。
the night's silence, like a deep lamp, is burning with the light of
its milky way.
252
死象大海的无限的歌声,日夜冲击着生命的光明岛的四周。
around the sunny island of life swells day and night death's
limitless song of the sea.
253
花瓣似的山峰在饮着日光,这山岂不象一朵花吗繝
is not this mountain like a flower, with its petals of hill, drinking
the sunlight?