Flutter 取消按钮的动画效果

Flutter 里有很多的按钮组件很多,常见的按钮组件有:RaisedButton(按钮)、MaterialButton(按钮)、DropDownButton(按钮)、FlatButton(扁平按钮)、IconButton(图标按钮)、弹出菜单按钮(弹出菜单按钮)、OutlineButton(轮廓按钮)、ButtonBar(轮廓按钮)、FloatingActionButton(浮动按钮)、Inkwell(墨水按钮)等,实际项目开发中可以按自己的需要或者习惯选择喜欢的控件。

自己最常用的就是InkwellMaterialButton,感觉Inkwell可以实现所有的布局,基本上都在使用Inkwell。下面记录一下遇到的问题:

1、Inkwell取消水波纹

Inkwell点击的时候会有水波纹一样的动画效果,但是有些时候,显得比较突兀,需要取消这个效果,加入下面两个属性即可。

highlightColor: Colors.transparent,
radius: 0.0,

2、MaterialButton设置无法点击、失效。

使用IgnorePointer或者AbsorbPointer包裹按钮,设置属性ignoring即可。

return IgnorePointer(
    ignoring: true,// false无效
    child: MaterialButton(
        elevation: 0,
        shape: const RoundedRectangleBorder(
          borderRadius: BorderRadius.all(
            Radius.circular(8),
          ),
        ),
        onPressed: () {
        },
        child: const Align(
          alignment: Alignment.center,
          child: Text(
            "点击无效",
          ),
        ),
      ),
    );
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容