Flutter,如何使我的原材料按钮更大更紧密地组合在一起。

Ros*_*oss 4 dart flutter

我有一些代码可以创建 7 个圆形的原材料按钮。但是我似乎无法改变圆圈的大小,或者将它们放置得更近一些。

页面.dart

Row(
  children: <Widget>[
    new ThemeButton(Colors.red, () => print("red")),
    new ThemeButton(Colors.orange, () => print("orange")),
    new ThemeButton(Colors.yellow, () => print("yellow")),
    new ThemeButton(Colors.green, () => print("green")),
    new ThemeButton(Colors.blue, () => print("blue")),
    new ThemeButton(Colors.indigo, () => print("pink")),
    new ThemeButton(Colors.purple, () => print("purple")),
  ],
),
Run Code Online (Sandbox Code Playgroud)

主题按钮.dart

@override
Widget build(BuildContext context) {
  return RawMaterialButton (
    shape: CircleBorder(),
    fillColor: _themeColour,
    elevation: 0.0,
    highlightElevation: 0.0,
    onPressed: () => _onPressed(),
    splashColor: Colors.transparent,  
    highlightColor: Colors.transparent,
  );
}
Run Code Online (Sandbox Code Playgroud)

展示:

在此处输入图片说明

所以我面临的三个问题都是围绕元素的大小和定位。

  1. 圈子太小了,我不喜欢。
  2. 圆圈周围的空间太宽了。
  3. 我可以在圆圈外点击,它仍然会记录点击。

我查看了原材料按钮的参数,但看不到我可以更改的内容。添加填充小部件并将其设置为 0 无济于事。

Luc*_*ach 9

不幸的是,更改填充属性对我不起作用。然而,像在这个例子中那样改变约束参数被证明是非常有效的:

RawMaterialButton(
    constraints: BoxConstraints.tight(Size(36, 36)),
    onPressed: null,
    child: Icon(Icons.trending_up, size: 18),
    shape: new CircleBorder(),
    elevation: 0.0,
    fillColor: Color.fromARGB(255, 240, 240, 240),
),
Run Code Online (Sandbox Code Playgroud)

希望能帮助到你!