Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dart 列中RaisedButton小部件之间出现不需要的空间_Dart_Widget_Flutter_Flutter Layout - Fatal编程技术网

Dart 列中RaisedButton小部件之间出现不需要的空间

Dart 列中RaisedButton小部件之间出现不需要的空间,dart,widget,flutter,flutter-layout,Dart,Widget,Flutter,Flutter Layout,tl;dr当我没有明确设置任何按钮时,为什么我的两个按钮之间会出现空格 我正在尝试制作如下布局: 然而,两个按钮之间出现了大约16px的空间,我不知道它是从哪里来的 起初我认为,列可能是在添加空间,但我使用的是MainAxisAlignment.center,它不应该添加任何空间。我现在认为,可能正在进行一些材料主题化,自动将填充应用于RaisedButton,但是我已经查看了这两个按钮,似乎只设置了内部填充(文本和按钮边缘之间)。我相信我忽略了一些东西,如果能帮我找出这个空间存在的原因,我将

tl;dr当我没有明确设置任何按钮时,为什么我的两个按钮之间会出现空格

我正在尝试制作如下布局:

然而,两个按钮之间出现了大约16px的空间,我不知道它是从哪里来的

起初我认为,
可能是在添加空间,但我使用的是
MainAxisAlignment.center
,它不应该添加任何空间。我现在认为,可能正在进行一些材料主题化,自动将填充应用于
RaisedButton
,但是我已经查看了这两个按钮,似乎只设置了内部填充(文本和按钮边缘之间)。我相信我忽略了一些东西,如果能帮我找出这个空间存在的原因,我将不胜感激

验证省道(屏幕如图所示)

主按钮。dart(扩展
RaisedButton
的自定义圆形按钮小部件):


添加属性
materialTargetSize
并将其设置为
materialTargetSize.shrinkWrap

materialTapTargetSize: MaterialTapTargetSize.shrinkWrap,
如果检查
RawMaterialButton
的源代码,它会根据该值添加一个填充:

    Size minSize;
        switch (widget.materialTapTargetSize) {
          case MaterialTapTargetSize.padded:
            minSize = const Size(48.0, 48.0);
            break;
          case MaterialTapTargetSize.shrinkWrap:
            minSize = Size.zero;
            break;
        }

        return Semantics(
          container: true,
          button: true,
          enabled: widget.enabled,
          child: _InputPadding(
            minSize: minSize,
            child: result,
          ),
        );
materialTapTargetSize: MaterialTapTargetSize.shrinkWrap,
    Size minSize;
        switch (widget.materialTapTargetSize) {
          case MaterialTapTargetSize.padded:
            minSize = const Size(48.0, 48.0);
            break;
          case MaterialTapTargetSize.shrinkWrap:
            minSize = Size.zero;
            break;
        }

        return Semantics(
          container: true,
          button: true,
          enabled: widget.enabled,
          child: _InputPadding(
            minSize: minSize,
            child: result,
          ),
        );