我完全是 Flutter 的新手,并发现了 InkWell
和 GestureDetector
。它们看起来几乎相同。官方文档没有提供它们之间的深入比较。
问题1:
InkWell
和GestureDetector
有什么区别?问题2: 何时使用哪个?
我完全是 Flutter 的新手,并发现了 InkWell
和 GestureDetector
。它们看起来几乎相同。官方文档没有提供它们之间的深入比较。
问题1: InkWell
和 GestureDetector
有什么区别?
问题2: 何时使用哪个?
其他答案都是正确的。这是对应的视觉表示。
我将尝试提及它们的功能差异。
GestureDetector
类非常广泛。您可以使用它检测用户与屏幕或小部件的每种交互类型,包括捏合、滑动、触摸以及自定义手势。
InkWell
仅能检测有限数量的手势,但可以为小部件装饰提供方式。
颜色:splashColor
,focusColor
,hoverColor
...
边框:borderRadius
,customBorder
,...
希望这对你有所帮助!
InkWell 使子组件的整个区域成为热点,易于接收用户交互。然而,GestureDetector 不会将子组件的整个区域作为热点,例如 padding 区域不是热点。因此,使用 GestureDetector 经常会导致用户交互失败。
手势检测器
手势检测器
用于检测应用程序上用户的手势。它是一个非可视化小部件。在手势检测器内,放置另一个小部件,手势检测器将捕获所有这些事件(手势)并相应地执行任务。
InkWell
InkWell
是材料小部件的矩形区域,通过显示剪裁的涟漪来响应触摸事件。材料小部件负责显示触摸事件发生时显示的墨水效果。材料指的是涟漪反应被绘制的区域。
简单来说,如果您想要涟漪效果,请使用
InkWell
,如果需要更多控制,请使用GestureDetector