我已经使用Flutter大约8周了。 它太棒了,毫无疑问。
然而,自从我开始使用以来一直有一些让我困扰的事情,那就是为什么一些小部件具有onTap
方法,而其他一些则具有onPressed
方法?谷歌无法给我任何答案。
如果这对于Stack Overflow来说不够相关或不在话题之内,抱歉,请告诉我应该到哪个社区寻求帮助。
我已经使用Flutter大约8周了。 它太棒了,毫无疑问。
然而,自从我开始使用以来一直有一些让我困扰的事情,那就是为什么一些小部件具有onTap
方法,而其他一些则具有onPressed
方法?谷歌无法给我任何答案。
如果这对于Stack Overflow来说不够相关或不在话题之内,抱歉,请告诉我应该到哪个社区寻求帮助。
onTap()
用于捕获任何手势,而 onPressed()
特别用于按钮。
就像在现实生活中一样,当你需要使用一个按钮时,你会去按它。
希望这能解决你的烦恼,尽管我并不完全确定。目前它们两者是相同的。只需将onPressed与按钮一起使用,将onTap与其他小部件一起使用。
Flutter仍然很新,因此有很多重叠之处。也许在未来的更新中,他们会使其更加流畅。例如,他们将合并许多几乎相同的小部件。
onTap
和onPressed
的区别在于按钮中使用了GestureDetector手势检测器。
onTap应该在第一次触摸屏幕时立即响应。
onPressed应该等同于.onTapDown属性-最后一次触摸屏幕。