dart 带有多余填充物/额外宽度的抖动材料按钮

w51jfk4q  于 12个月前  发布在  其他
关注(0)|答案(3)|浏览(73)

我不知道是什么给了这个按钮额外的宽度/填充。使用的图像是裁剪的,所以没有间距的左边或右边,你可以看到在所附的截图从开发工具,它不占用宽度。不知何故,按钮有额外的宽度,但我不知道它从哪里来。
我有另一个相同的按钮旁边,并与增加的空间,它的造成溢出。

使用width参数更改图像大小也不会影响材质按钮占用的空间量。它似乎是一个固定的大小。
这是整个代码:

Scaffold(
      body: Row(
        children: <Widget>[
          MaterialButton(
            child: Image.asset("images/male.png", width: 33)
          )
        ],
      ),
    );

我也尝试了其他按钮,如FlatButtonRaisedButton,但它们与此额外的宽度/填充相同。我也试过将按钮上的padding设置为EdgeInsets.all(0),但这也没有改变任何东西。

kulphzqa

kulphzqa1#

额外的空间来自minWidth默认值,该值取自当前ButtonTheme(您可以从MaterialButton源代码中看到)。您可以通过将minWidth添加到0和将padding添加到0来删除MaterialButton小部件中的额外空间。大概是这样的:

Scaffold(
  body: Row(
    children: <Widget>[
      MaterialButton(
        padding: EdgeInsets.all(0),
        minWidth: 0,
        child: Image.asset("images/male.png", width: 33),
      )
    ],
  ),
);
xdnvmnnf

xdnvmnnf2#

MaterialButton(
            minWidth: 0,
            materialTapTargetSize: MaterialTapTargetSize.shrinkWrap)
bfhwhh0e

bfhwhh0e3#

使用容器,您可以在其中指定宽度

Scaffold(
      body: Row(
        children: <Widget>[
new Container(
width: 33,
child : MaterialButton(
            child: Image.asset("images/male.png")
  ),
        ],
      ),
    );

相关问题