Flutter - 自定义按钮点击区域

Flutter - Custom button tap area

我正在构建一个 Flutter 应用程序,其中大部分屏幕将被圆形按钮占据。

我已经尝试了几种不同的方法来创建一个圆形按钮,但我总是遇到同样的问题:'tappable' 区域实际上不是圆形的,而是矩形的。

这是一个用 FloatingActionButton:

获得的例子

对于小尺寸的按钮,这并不是真正的问题 - 我什至会说它在某种程度上很有帮助 - 但在我的情况下它非常烦人。

所以我的问题是:是否可以将 'tappable' 区域限制为一个圆圈?

提前致谢。

这似乎可行,我不知道这样做是否正确,或者是否有更好的方法,但在这里。

class Test extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(),
      body: Container(
        color: Colors.blue,
        child: Center(
          child: GestureDetector(
            onTap: () {
              print('clicky');
            },
            child: ClipOval(
              child: Container(
                width: 200,
                height: 200,
                color: Colors.red,
              ),
            ),
          ),
        ),
      ),
    );
  }
}

如果你想在点击时保持飞溅,你可以这样做:

    Material(
              color: Colors.green,
              shape: CircleBorder(),
              elevation: 5.0,
              child: InkWell(
                borderRadius: BorderRadius.circular(100.0),
                onTap: () => print("here"),
                child: Container(
                  height: 200.0,
                  width: 200.0,
                  decoration: BoxDecoration(
                    shape: BoxShape.circle,
                  ),
                  child: Icon(Icons.receipt),
                ),
              ),
            ),