Flutter:InkWell和InkResponse有什么区别?

8

我相对于Flutter开发是新手,学习时遇到了响应触摸并显示一些动画水波纹效果的Ink小部件。

但是,有两种几乎相似类型的小部件,即InkWell和InkResponse。

从其类属性中找不到这两者之间的明确区别。

因此,有人能够解释一下这两者的主要区别以及在哪种情况下可以使用它们吗?

谢谢。

2个回答

6
我猜它们之间的两个主要区别是:
  1. 它们都能产生水波纹效果,但是 InkWell 仅适用于矩形形状,而 InkResponse 可以被裁剪。
  2. 当水波纹在 InkWell 中开始时,但是在 InkResponse 中会将水波纹中心移动到 child 的中心。
最后但并非不重要的一点是,我不确定的是,InkResponse 会随着其 child 一起提供一个 Material widget,但是 InkWell 不会。

3
"它们都能产生水波纹效果,但InkWell仅适用于矩形形状,而InkResponse可以被裁剪。" - 请参见InkWell.customBorder - 它可以直接传递到InkWell构造函数中。 - pskink

2

InkResponse在响应点击时会执行两个操作:

1、它开始动画高亮显示 -> 默认为中心的圆形。

2、它开始动画水波纹效果。

InkResponse

InlWell是一个带有矩形高亮显示框的InkResponse。

InlWell


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接