Flutter禁止及交互的两种方式
这是我知道的两种禁止点击事件的方法,两种方式都可以实现禁止点击事件的效果,可以根据需要来选择,如果你有其他的方法,可以给笔者留言,大家一起学习,一起进步。
·
目录
在app开发的过程中,我们有时候会禁用某些按钮的点击状态:就比如说下图所示的登陆页面:只有当用户输入的邮箱密码都合法的时候,按钮才可以点击,否则,按钮将置灰,编程不可点击状态。我们来看一下Flutter禁用按钮状态的几种方式:
图1.开发中的登陆页面
1.把widget的手势设为null
当我们使用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('登陆'))),
2.使用IgnorePointer
刚开始的时候,我是通过上一种方式来实现的,这两天在查看Flutter的API的时候,发现Flutter中有个widget是专门用来禁止用户交互的。就是这个IgnorePointer.我们可以把要禁止交互的组件用IgnorePointer包裹一下,当按钮不可点击的时候,设置ignoring的只为true.
这里需要注意的是,当设置ignoring为true时,被IgnorePointer包裹的widget以及其子控件都是不会响应事件的。
总结
这是我知道的两种禁止点击事件的方法,两种方式都可以实现禁止点击事件的效果,可以根据需要来选择,如果你有其他的方法,可以给笔者留言,大家一起学习,一起进步
更多推荐



所有评论(0)