dart - Flutter,如何让我的原 Material 纽扣更大更紧密地组合在一起。

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

Page.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")),
  ],
),

ThemeButton.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,
  );
}

显示:

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

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

我查看了原 Material 按钮的参数,但看不到我可以更改什么。添加填充小部件并将其设置为 0 没有帮助。

最佳答案

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

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),
),

希望对你有帮助!

https://stackoverflow.com/questions/54099089/

相关文章:

ios - 将 watch 应用程序添加到 Flutter iOS 应用程序

dart - 我们可以使用 Flutter 或 Dart 制作 Web 应用程序或网站吗

dart - 向 Flutter 中的计算函数发送多个参数

forms - 如何从另一个屏幕重置 Flutter 中的表单?

github - 如何在 Flutter 中添加来自 GitHub 的包?

dart - Flutter getter 没有为类指定,当它被指定时

dart - Dart 类中带下划线的命名参数

flutter - 标题在flexibleSpaceBar上没有正确显示

dart - Flutter - 遍历对象键和值

flutter - 检测用户是否离开 Flutter 中的当前页面?