flutter中修改键盘状态

当用户进行表格输入时,为更方便的方便用户操作,我们需要设置键盘状态方便用户点击,如当表格填写完成时,用户可以直接点击键盘下面的“完成”状态完成提交。

实现如下:

TextFormField(
  ...
  textInputAction: TextInputAction.next,//设置跳到下一个选项
  ...
)

效果:

同理设置“完成”状态:

TextFormField(
  ...
  textInputAction: TextInputAction.done,
  ...
)

设置之后,我们需要在onFieldSubmitted:设置事件处理:

onFieldSubmitted: (term){
  // 这里进行事件处理
}

那我们要怎么处理“下一步”的监听操作呢?

其实每个textfield都有一个聚焦节点(focusnode)可以帮助我们控制属性的行为。实现如下:

onFieldSubmitted: (term){
  currentNode.unfocus();
  FocusScope.of(context).requestFocus(nextFocus);
}

原文地址:https://www.cnblogs.com/pjl43/p/10017690.html

时间: 2024-10-09 16:38:08

flutter中修改键盘状态的相关文章

Android中修改键盘布局或者按键映射时的注意点

在Android中修改键盘布局或者按键映射时,处理在inputdevice中修改上报的SCANCODE之外,还需要修改相应的kl文件. 具体原理: 当一个inputdevice的driver将按键的SCANCODE上报给EventHub之后,EventHub还会用SCANCODE去获取具体的Keycode,这一步就是根据相应的inputdevice的kl文件中的配置得到的,所以如果仅仅上报SCANCODE,不修改kl文件,则会导致SCANCODE是正确的,但是找不到相应的mapkey,从而上报的

(译) Google Flutter 中的简单状态管理

原文链接 我是如何遇见 Google Flutter的 这对我来这是像往常一样的码代码的一天.我的一个朋友在我们的开发者群组中发了这么一个问题,是否有人尝试过Google Flutter.它想要知道React Native 和 Google Flutter之间的比较.这个问题让我种草了Google Flutter.我之前从没有听过Google Flutter.它是否值得与React Native进行比较,就像AngularJS相较于ReactJS? 我必须承认.我是一个React的迷弟.我已经使

flutter中的状态管理Provider

今天简单说一下flutter中的状态管理,我们这次使用provider: ps:先说一个概念,Model,模型,这里面定义了我们准备全局使用的数据,或者方法: 举个栗子:我们有一个User类,用来储存用户的信息,比如登录之后,我们会拿到用户的一些个人数据,那么这些数据就可以作为属性写在Model里,同时我们在User内部,还会提供一个upUser方法,用来更新用户信息,那么这个方法也可以写在Model中,OK,以上就是我们准备的User Model; 下面是正题,go,go,go 一.Provi

在Exchange 2013 OWA登录页面中修改密码

透过OWA登录界面改密码对于使用Exchange的用户来说是一个很有有用的功能. 因为如果用户不在公司域环境中,当密码已经到期登录不了OWA,就没有办法通过OWA中的[选项]来改密码,当开启这项功能后,管理员和用户都可以很方便的处理密码到期的case. 早在Exchange2010的时候,我们需要通过修改CAS服务器的注册表项来实现这个功能.现在的Exchange2013已经内置了该功能,使用前只需要确认该功能属性的状态就可以了. 在最新的Exchange2013 SP1和CU5版本中,此功能在

Java中获取键盘输入值的三种方法

Java中获取键盘输入值的三种方法     Java程序开发过程中,需要从键盘获取输入值是常有的事,但Java它偏偏就没有像c语言给我们提供的scanf(),C++给我们提供的cin()获取键盘输入值的现成函数!Java没有提供这样的函数也不代表遇到这种情况我们就束手无策,请你看以下三种解决方法吧: 以下将列出几种方法: 方法一:从控制台接收一个字符,然后将其打印出来 import java.io.*; public static void main(String [] args) throws

Win7中修改Chrome浏览器缓存文件目录

方法有两种: 第一种: 在Windows 7下可以用mklink命令把Chrome浏览器的缓存位置设置为自己需要的文件夹路径. Chrome浏览器默认的缓存文件位于: CC:\Users\登录用户名\AppData\Local\Google\Chrome\User Data\Default\Cache 假如你想指定的存放缓存文件位置在: D:\Chrome\Cache 那么,你可以先删除Chrome默认的缓存文件夹,然后在"开始→搜索框"键入"cmd",右击cmd程

对git中文件各个状态的理解

我之前开发java项目的时候也有用过版本管理工具svn,不过老是弄不清楚各个状态之间的关系和操作的含义,最近使用github管理自己的代码和一些笔记,对于一些操作还是不太理解(太笨了...),网上也查过一些零零碎碎的相关内容,不过还是模糊不清.于是我打算较为系统地学习一下git和github.http://git-scm.com/book/zh/v1这个网站系统地介绍了git原理还有操作等等,有兴趣的朋友可以参考学习. 要使用git工具进行版本管理,首先要明白git各种状态的含义.如下图所示,

线程的生命周期 - 理解Java中线程的状态

刚刚开始学cocos2-x,仅仅是按照教程把已经安了一般Android的开发环境的eclipse重新升级到安装好cdt和ndk就花了我几十小时,差点都要放弃了. 参考博客 D:\cocos2d-x\cocos2d-x-2.2.3\cocos2dx\platform\third_party\android\prebuilt 说说大概的过程: 下载ndk插件,ndk包,cdt插件.最开始我按照书上的下载了cocos2d-x 2.0.1,希望跟书上统一起来,这样以后学习的时候可以参考书上的也不会遇到太

在非域环境中修改域用户密码的方法

前几天有个单位,新配置了一台服务器,做文件服务器,为网络中提供共享文件夹服务,该单位大约有50多个用户.服务器采用Windows Server 2008 R2操作系统,升级到Active Directory,为单位每个职工创建了一个用户名,在服务器上除了为每个用户创建一个"共享文件夹"保存个人数据外,还创建了"公共"共享文件夹,保存单位的数据,并且在公共文件夹中创建了若干子目录,通过用户权限,设置只让指定用户上传.修改其中的文件. 在开始规划的时候,是计划让单位的所