flutter获取验证码输入框组件

2023-11-05

代码

import 'package:flutter/material.dart';

class ValidataInputBoxWidget extends StatefulWidget {
  ValidataInputBoxWidget({Key key, this.onChange, this.icon,this.getValidata}) : super(key: key);

  final IconData icon; //输入框icon materialIcon
  final onChange; //输入框change事件
  final getValidata;//点击获取验证码按钮事件

  @override
  State<StatefulWidget> createState() {
    return ValidataInputBoxWidgetBuilder();
  }
}

class ValidataInputBoxWidgetBuilder extends State<ValidataInputBoxWidget> {
  Widget build(BuildContext context) {
    return Container(
      padding: EdgeInsets.only(left: 10.0),
      margin: EdgeInsets.only(bottom: 30.0),
      decoration: BoxDecoration(
          borderRadius: BorderRadius.circular(100.0),//圆角
          border: Border.all(//边框
              width: 1.0,
              style: BorderStyle.solid,
              color: Color.fromRGBO(0, 0, 0, 0.1))),
      child: Row(
        children: <Widget>[
          Expanded(
            flex: 2,
            child: TextField(
            //输入框
              onChanged: widget.onChange,
              decoration: InputDecoration(
                  border: InputBorder.none,
                  icon: widget.icon != null ? Icon(widget.icon) : null),
            ),
          ),
          Expanded(
            flex: 1,
            child: Container(
            //获取验证码按钮
              decoration: BoxDecoration(
                  color: Color(0xff0099ff),
                  borderRadius: BorderRadius.only(
                      bottomRight: Radius.circular(80.0),
                      topRight: Radius.circular(80.0))),
              child: FlatButton(
                shape: RoundedRectangleBorder(
                    borderRadius: BorderRadius.only(
                        bottomRight: Radius.circular(80.0),
                        topRight: Radius.circular(80.0))),
                child: Text('获取验证码',style: TextStyle(color:Colors.white),),
                onPressed: widget.getValidata,
              ),
            ),
          )
        ],
      ),
    );
  }
}

说明

这个组件脱胎于上一篇flutter 自定义样式输入框

预览

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

flutter获取验证码输入框组件 的相关文章

随机推荐

  • 芯片可靠性与商规、工规、车规

    在芯片的国产化浪潮下 国产芯片的出货量和替代率近年来迅速飙升 按出货量比率看 消费电子领域 电源管理芯片和射频前端芯片国产替代率已超过70 工控通信领域 电源管理和信号链芯片国产替代率也超过20 汽车电子领域 电源管理和功率器件的国产替代率
  • 【OpenAI】私有框架代码生成实践

    作者 京东零售 牛晓光 根据现有调研和实践 由OpenAI提供的ChatGPT GPT 4模型和CodeX模型能够很好的理解和生成业界大多数编程语言的逻辑和代码 其中尤其擅长Python JavaScript TypeScript Ruby
  • Python 进程原理 —— 《餐厅里的故事》

    在说明进程之前引入几个概念 本文向你诠释 并行 并发 同步 异步 阻塞 非阻塞 进程等概念 如果不理解这几个概念 在学习进程过程中时刻都在给自己预设障碍 所以我痛定思痛 先了解进程工作原理 概念1 单道程序与多道程序 不在赘述单道程序的工作
  • AHP权重计算方法案例

    AHP权重计算方法案例 1 案例背景 公司要对网站用户行为进行追踪 以优化推荐系统算法 需要对已有的5项行为指标 为便于理解 此处展示5项 分配对应权重 需要我们数据部门给出权重建议 当然不能拍脑门 我以AHP层次分析法为理论基础设计了一套
  • 花30分钟,我用ChatGPT写了一篇2000字文章(内附实操过程)

    有了ChatGPT之后 于我来说 有两个十分明显的变化 1 人变的更懒 因为生活 工作中遇到大大小小的事情 都可以直接找ChatGPT来寻求答案 2 工作产出量更大 之前花一天 甚至更久才能写一篇原创内容 现在有了主题 框架之后 ChatG
  • 求生之路2在Win10下鼠标看不见要怎么解决?

    求生之路2是很多玩家都非常喜欢的一款恐怖生存类游戏 但是在升级win10系统后玩求生之路会遇到一些问题 如鼠标看不见 这就让操作变的很麻烦 其实这是由于系统鼠标设置问题到导致的 跟着小编操作可解决这个问题 修复步骤如下 1 按下WIN X
  • #If...Then...#Else Directives

    If Then Else Directives Conditionally compiles selected blocks of Visual Basic code If expression Then statements ElseIf
  • 算法:单调栈

    栈 先进后出 最好是找一些简单的数据用纸和笔模拟一下具体过程 清清楚楚地表现出来 理解一个比较难懂的程序最快的方式是对照着一个程序一步一步将过程模拟出来 那么就很容易理解整个程序的意思了 不要光看程序代码 不动笔 这样可能会耗很多时间并且最
  • FasterTransformer 安装

    第一 安装TensorRT FasterTransformer 支持cuda10 0 所以TensorRT也下cuda10 0对应版本 1 下载TensorRT https developer nvidia com nvidia tenso
  • Android中的Wifi框架知识点

    一 Android wifi框架图 Android WIFI系统引入了wpa supplicant 它的整个WIFI系统以wpa supplicant为核心来定义上层接口和下层驱动接口 Android WIFI主要分为六大层 分别是WiFi
  • TCP套接字网络编程实例(二)

    TCP套接字网络编程实例 二 采用多线程实现客户端和服务器的聊天功能 OK 上代码 1 客户端部分 文件 tcp client c 内容 利用TCP实现客户端和服务器的实时聊天 注 服务器的端口号及IP 客户端的端口号及IP的输入通过mai
  • angular2+修改环境变量,不用重新build部署

    转载文章链接 How to use environment variables to configure your Angular application without a rebuild 整体思路 在assets目录下添加js文件 获取
  • warning negative label/yolo标签出现负值?

    问题如上图所示 出现场景 图像增强后 xml文件转txt文件 解决方法1 无脑粗暴 一秒见效 直接把负值转成正值 不影响标注与训练结果 代码如下 import os def process files in folder folder pa
  • BLE低功耗的设置参数

    广播间隔 连接间隔 扫描间隔 扫描窗口 广播间隔 两个相邻广播事件之间的时间称为广播间隔 可以选择 20ms 10 28s 不等的间隔 通常 一个广播中的设备会每一秒广播一次 必须是 0 625ms 的整数倍 由于设备间的时钟会不同程度的漂
  • f12弹出debug_360浏览器网站按f12弹出新窗口解决办法

    为何有些网站在360浏览器中按f12弹出新窗口 而不是在当前页面右侧出现调试部分呢 对于网站开发人员来说 我们需要得到的是在当前页面出现调试结果 不管是本地测试文件还是已经上线的网站 这里成都seo小冬 总结了下面三点 一起来试试吧 1 切
  • Nali:一个离线查询 IP 地理信息和 CDN 提供商的终端利器

    什么是 Nali dig nslookup traceroute 等都是非常实用的网络调试工具 Nali 是一个可以自动解析这些工具 stdout 中的 IP 并附上所属 ISP 和地理信息 对这些已是瑞士军刀般的工具可谓如虎添翼 Nali
  • 力扣(LeetCode)每日一题 LCP 50. 宝石补给

    简单题 不用解释直接看代码 class Solution public int giveGem int gem int operations for int i 0 i
  • Qt笔记(六十)之Qt实现无边框圆角窗口

    一 前言 设置无边框窗口之后 就会显示直角的风格 有用户反馈说 看着太锐了 让我给换成圆角 看着舒服一点 楼主一开始想用Qss实现 发现实在不行 后边想着 估计只能用绘图事件来操作了 二 实现过程 1 实现窗口无边框效果 setWindow
  • java实现mysql数据库增删改查

    本文将介绍java实现数据库增删改查的操作方法定义的代码 包括statment和preparestatment两种模式 两种的区别可以参考别的文章 按需选用 例 getdata是statment的查询的方法 pgetdata是prepare
  • flutter获取验证码输入框组件

    代码 import package flutter material dart class ValidataInputBoxWidget extends StatefulWidget ValidataInputBoxWidget Key k