赞
踩
目录
在app开发的过程中,我们有时候会禁用某些按钮的点击状态:就比如说下图所示的登陆页面:只有当用户输入的邮箱密码都合法的时候,按钮才可以点击,否则,按钮将置灰,编程不可点击状态。我们来看一下Flutter禁用按钮状态的几种方式:
图1.开发中的登陆页面
当我们使用Gesture的时候,当按钮不可点击的时候,我们将onTap,onLongTap等响应事件设置为null.类似下面的代码:
- GestureDetector(onTap:canClick?null: (){
-
- },child: Container(
- padding: const EdgeInsets.all(10),
- decoration: BoxDecoration(
- color: currentPassword.isNotEmpty &¤tEmail.isNotEmpty?Colors.blue:Colors.black12,
- borderRadius: const BorderRadius.all(Radius.circular(5))
- ),
- child: const Text('登陆'))),
刚开始的时候,我是通过上一种方式来实现的,这两天在查看Flutter的API的时候,发现Flutter中有个widget是专门用来禁止用户交互的。就是这个IgnorePointer.我们可以把要禁止交互的组件用IgnorePointer包裹一下,当按钮不可点击的时候,设置ignoring的只为true.
这里需要注意的是,当设置ignoring为true时,被IgnorePointer包裹的widget以及其子控件都是不会响应事件的。
这是我知道的两种禁止点击事件的方法,两种方式都可以实现禁止点击事件的效果,可以根据需要来选择,如果你有其他的方法,可以给笔者留言,大家一起学习,一起进步
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。