当前位置: 首页 > news >正文

网站后台管理系统制作自媒体135网站免费下载安装

网站后台管理系统制作,自媒体135网站免费下载安装,长沙推广引流,宜昌营销网站建设刚开始看到这个功能的时候一定觉得so easy,开始的时候我也是这么觉得的,这还不简单,然而真正写的时候才发现并没有想象的那么简单。 先上图,不上图你们都不想看,我难啊,到Github: https://gith…

刚开始看到这个功能的时候一定觉得so easy,开始的时候我也是这么觉得的,这还不简单,然而真正写的时候才发现并没有想象的那么简单。

先上图,不上图你们都不想看,我难啊,到Github: https://github.com/781238222/flutter-do 上给个小星星可还行,如果能fork一下,那更是感激不尽。

言归正传,完成验证码输入框经历了4个阶段,虽然前3个尝试是失败的,但也想和大家分享下,避免大家再走弯路。

第一阶段:开始的时候,我认为直接修改TextField控件,改改外观就可以了,所以我就直接去改TextField的属性,研究了一遍,发现无法达到要求,系统提供的属性无法达到我的要求。

第二阶段:既然原生的TextField无法实现我的效果,那就重写一个(并不是全部重写,而是把源代码copy出来,修改控制外观的代码),于是我就去copy源代码了,可真正copy的时候发现TextField的关系比较复杂,并不是一个简单的 StatefulWidget 控件,而且需要计算字符的宽度,此方案虽然能实现,但想想就复杂,果断抛弃。

第三阶段:用6个TextField,每一个控制一个验证码,虽然样式及布局上很容易达到要求,但焦点控制问题非常致命,此方案也pass。

第四阶段:经过上面失败的经历,最后我才用如下方案:一个TextField用于输入,而验证码的显示使用 Container ,验证码覆盖在TextField之上,用户无法感知到TextField,这是目前为止我发现的最完美的方案。

焦点问题
正常情况下,出现验证码的页面会弹出键盘,此效果很好实现,指需给TextField指定自动获取焦点即可,代码如下:

TextField(
autofocus:true,

)

如果页面还有其他输入框,那么就不一定要获取焦点了,因此是否获取焦点需要交给用户来决定。

如果开始没有获取焦点就出现了一个问题,用户点击“验证码”的时候需要获取焦点,获取焦点方法如下:

GestureDetector(
onTap: () {
FocusScope.of(context).requestFocus(_focusNode);
},

)

给整个控件的外层添加点击事件, _focusNode 为TextField的 focusNode 。

输入完成后,通常需要关闭键盘,即TextField失去焦点,失去焦点方法如下:

_focusNode.unfocus();
1.

使用
使用非常简单,如下:

Container(
height: 45,
child: VerificationBox(),
)
1.
2.
3.
4.

效果如下:

设置验证码的数量,比如设置4个:

VerificationBox(
count: 4,
)

效果如下:

设置样式,包括边框的颜色、宽度、圆角:

VerificationBox(
borderColor: Colors.lightBlue,
borderWidth: 3,
borderRadius: 50,
)

效果如下:

除了“盒子”样式,还支持下划线样式:

VerificationBox(
type: VerificationBoxItemType.underline,
)

效果如下:

设置数字的样式:

VerificationBox(
textStyle: TextStyle(color: Colors.lightBlue),
)

效果如下:

显示光标,设置光标样式:

VerificationBox(
showCursor: true,
cursorWidth: 2,
cursorColor: Colors.red,
cursorIndent: 10,
cursorEndIndent: 10,
)

效果如下:

还可以设置光标为整个边框,如下:

VerificationBox(
focusBorderColor: Colors.lightBlue,
)

效果如下:
在这里插入图片描述

终极大招,如果你觉得这个效果不好,你可以自定义 decoration :

VerificationBox(
decoration: BoxDecoration(
image: DecorationImage(image: AssetImage(‘images/box.png’)),
),
textStyle: TextStyle(color: Colors.lightBlue),
),
)

效果如下:

在这里插入图片描述

验证码输入完成后回调 onSubmitted ,用法如下:

VerificationBox(onSubmitted: (value){print('$value');},
)

输入完成后,默认键盘消失,设置为不消失,代码如下:

VerificationBox(unfocus: false,
)

Flutter 完美的验证码输入框
https://blog.51cto.com/u_15060545/4007871

http://www.yidumall.com/news/26005.html

相关文章:

  • 凡客网能直接做网站香港疫情最新消息
  • 桂城网站制作专业公司网站外贸推广
  • seo免费网站建设磁力搜索引擎2023
  • 做网站生意多吗怎么自己找外贸订单
  • 性价比高的广州网站建设十大新媒体平台有哪些
  • html查询网站制作十大中文网站排名
  • 四川建设网中标候选人公示企业网站seo排名
  • 哈尔滨哪里做网站如何创建网页链接
  • 廉价网站建设百度最新秒收录方法2023
  • 网站建设及规划网站怎么优化关键词
  • 乌鲁木齐网络公司深圳seo推广培训
  • 全国电子网站建设怎么创作自己的网站
  • wordpress主题出错优化网站怎么做
  • wordpress分享QQ插件广东短视频seo营销
  • 网站建设套路临沂google推广
  • 一个公司做网站需要注意什么条件西安百度推广联系方式
  • 腾讯文件怎么转换wordpress专业百度seo排名优化
  • 网站建设总体规划包括哪些方面网站如何优化排名
  • 学做网站论坛VIP怎么样seo优化报告
  • 自己可以做网站么站长统计代码
  • 移动门网站建设优化网站推广教程排名
  • 欧美 手机网站模板下载 迅雷下载 迅雷下载地址搜狗收录提交
  • 章丘做网站哪家强seo怎么做新手入门
  • 男女之间做下面哪个网站免费网站收录提交入口
  • 用织梦做的网站怎么管理系统营销培训班
  • 出口网站怎么做现在百度推广有用吗
  • 查询自己网站外链河南seo推广
  • 先做网站还是先备案网站关键词排名优化
  • 江苏公司响应式网站建设报价搜索最多的关键词的排名
  • 网站怎么做全站搜索网络营销推广方案设计