我试图创建一个登录按钮,按下该按钮将使其具有动画效果。但是,当单击按钮(在PhysicalModel上)时,涟漪效应仅显示在Login文本上,而不是整个出现在物理模型上。如何在PhysicalModel中添加波纹或从MaterialButton中删除波纹效果?

PhysicalModel(
            color: Colors.teal,
            borderRadius: BorderRadius.circular(50.0),
            child: MaterialButton(
                   key: _globalKey,
                   child: Text("Login"),
                   onPressed: () {
                        setState(() {
                             if (_state == 0) {
                                    animateButton();
                             }
                        });
                   },
                   elevation: 4.0,
                   minWidth: _width,
                   height: 20.0,
            ),
)

最佳答案

如果要删除MaterialButton的初始颜色,只需将这些颜色更改为透明。

  MaterialButton(
    splashColor: Colors.transparent,
    highlightColor: Colors.transparent,

如果您想要PhysicalModel的波纹效果:
    PhysicalModel(
                  color: Colors.teal,
                  borderRadius: BorderRadius.circular(50.0),
                  child: RawMaterialButton(
                    shape: RoundedRectangleBorder(
                        borderRadius: BorderRadius.circular(50.0)),
                    padding: EdgeInsets.symmetric(vertical: 15.0, horizontal: 30.0),
                    materialTapTargetSize: MaterialTapTargetSize.shrinkWrap,
                    child: Text("Login"),
                    onPressed: () {
                      setState(() {});
                    },
                    elevation: 4.0,
                  ),
                )

关于dart - 如何在 flutter 中向物理模型添加波纹效果,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53755345/

10-09 03:21