gpt4 book ai didi

dart - 如何防止对 Flutter Inkwell 进行多次触摸

转载 作者:IT王子 更新时间:2023-10-29 07:21:51 28 4
gpt4 key购买 nike

我是 flutter 的新手,我有一个计数器按钮,我想防止它被多次触摸。

Tap 函数在 Inkwell 组件下定义 (onTap: () => counterBloc.doCount(context))。

如果我运行这个应用程序并进行多点触控,计数器会快速上升,但我不希望它发生。有什么想法吗?

下面是我的代码:

  Expanded(
child: Container(
padding: EdgeInsets.only(right: 16),
alignment: Alignment.centerRight,
child: InkWell(
onTap: () => counterBloc.doCount(context),
child: Stack(
alignment: Alignment.center,
children: <Widget>[
Image.asset("assets/images/home/tap.png", scale: 11,),
StreamBuilder(
initialData: 0,
stream: counterBloc.counterStream,
builder: (BuildContext ctx, AsyncSnapshot<int> snapshot){
return Text("${snapshot.data}",style: TextStyle(color: Colors.white, fontSize: 120),);
},
),
],
)
)
)
)

最佳答案

你可以使用一个AbsorbPointer

AbsorbPointer(
absorbing: !enabled,
child: InkWell(
onTap: (){
print('buttonClicked');
setState(() {
enabled = false;
});
},
child: Container(
width: 50.0,
height: 50.0,
color: Colors.red,
),
),
),

当你想再次启用按钮时,将 enabled 设置为 true,不要忘记用 setState 包裹它

关于dart - 如何防止对 Flutter Inkwell 进行多次触摸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55235335/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com