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(
            "点击无效",
          ),
        ),
      ),
    );

猜你喜欢

转载自blog.csdn.net/king6188/article/details/131572685