Column(children: [CustomRenderObject(), InkResponse(child: ..), ...])
下面是一个
Column
。通常,来自InkResponse
的闪屏和突出显示将绘制在InkResponse
中的上一个小部件的上方。如果我有以下场景,突出显示和飞溅将在Column
上方呈现:Column(children: [Container(height: ..), InkResponse(child: ..), ...])
但是,在我使用
Container
的场景中,我在RenderObject
method of my CustomRenderObject
中的paint
小部件底部绘制的任何内容都将绘制在RenderBox
飞溅和突出显示的上方。InkResponse
是Material
的父级。这意味着我的突出显示和飞溅在顶部被切断。我不想给我的
Column
添加额外的填充。如何让我的InkReponse
绘制在我的InkResponse
之上? 最佳答案
此问题的解决方案是described in the troubleshooting section of the InkResponse
class。
如果您只是使用简单的彩色Container
或类似的东西,您可以使用Ink
widget代替,它将绘制到Material
上,从而呈现上面的突出显示和飞溅。
另一种解决方案是添加一个InkResponse
类型的Material
:
Material(type: MaterialType.transparency, child: InkResponse(..))
这将直接低于
MaterialType.transparency
本身。但是,这并不能解决我的问题,因为它将InkResponse
剪辑成一个矩形。关于flutter - 如何在其他小部件上绘制InkResponse?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55698387/