使用带装饰的容器时长按InkResponse不起作用

时间:2017-12-08 05:07:42

标签: dart flutter

长按InkResponse在使用带装饰的容器

时无法正常工作

https://github.com/flutter/flutter/issues/13421

return new Container(
      color: Colors.white,
      padding: new EdgeInsets.all(16.0),
      child: new Column(

return new Container(
      decoration: new BoxDecoration(
        color: Colors.white,
      ),
      padding: new EdgeInsets.all(16.0),
      child: new Column(

(两者都相同)

如果我评论颜色,一切都会恢复正常。

图片属性相同。

对于边框属性,

但不是

我在容器上放置 GestureDetector 以查看是否检测到手势, 检测没有问题,只是长按动画无法正常工作。

我也可以使用GestureDetector确认没有,我可以在执行长按时从模拟器中听到点击声音抽头

临时解决方法是使用脚手架

return new Scaffold(
      backgroundColor: Colors.white,
      body: new Container(
        padding: new EdgeInsets.all(16.0),
        child: new Column(

1 个答案:

答案 0 :(得分:6)

这就是文档所说的:

  

InkResponse窗口小部件必须具有“材质”窗口小部件作为祖先。该   材质小部件是实际绘制墨水反应的位置。这个   匹配材料设计的前提,其中材料是什么   实际上通过传播墨水来对触摸作出反应。

所以我在容器中添加了一个Material acestor。

new Material(
      color: Colors.white,
      child: new Container(
        padding: new EdgeInsets.all(16.0),
        child: new Column(