如何使用Ffltter创建带有图像的按钮?这似乎是最简单的操作,但是图像并没有完全填满父小部件.这就是我所拥有的:

Container(child: ConstrainedBox(
    constraints: BoxConstraints.expand(),
    child: FlatButton(onPressed: null,
        child: Image.asset('path/the_image.png'))))

我跟随this post人作为向导.我的图像是这样的:

enter image description here

注意PNG图像周围的填充-它不在代码中.它是从哪里来的?PNG本身没有画布填充,因此这一定不是正确的技术.

我所需要的只是一个带有图像的按钮来填充整个FlatButton,或者另一个小部件,我可以在不扭曲图像的情况下向其添加操作.

推荐答案

将图像放在FlatButton内可能不符合您的要求,因为它本身需要处理一些样式(如填充).

要完全控制按钮方面,您可能需要构建一个自定义小部件(甚至是一个带有自定义BoxDecoration以显示图像的简单Container小部件),并用手势识别器包装它以处理用户交互(在您的情况下,只需轻轻一点).最简单的实现是使用GestureDetector,但也有其他小部件,比如InkWell,它可以在可点击的小部件表面呈现material 设计涟漪.

Flutter相关问答推荐

为什么在Flutter中使用firebase数据库时获取引用时会划掉引用?

Flutter ReorderableListView在可滚动父级中无法完美工作

如何在flutter文本字段中添加要点条目?

如何等待抖动S定时器.定期取消?

SupabaseFlutter 集成问题:无法更新行

修复后期变量的抖动皮棉

设置Flutter 中的ListView.Builder()的最小高度

缩短经常使用的行Theme.of(context).colorScheme

在Flutter 中更改扩展瓷砖的高度

如何使DropDownMenu宽度等于TextFormfield?

在创建显示此错误的Flutter 深度链接时

从Firestore流式传输单个文档还是整个集合更好?

Flutter列顶部和底部出现不必要的边距问题

Flutter - 如何将按钮对齐到行的右侧

如何(部分)更新 riverpod 中的 AsyncValue?

Flutter/Riverpod 创建复杂对象的副本,其值在某处发生变化

如何建立最近的文件列表?

如何在Flutter 中制作自定义微调器?

如何使用我拥有的 .jks 文件签署我的应用程序

Flutter - 如何调用此函数?