Flutter如何去除TextButton文本周围空白?padding: EdgeInsets.zero无效
TextButton本身自带默认内边距和最小尺寸限制,仅在外部容器或Padding组件设置EdgeInsets.zero无法消除这些空白,得直接修改TextButton自身的样式:
给TextButton添加style参数,通过TextButton.styleFrom配置以下属性:
padding: EdgeInsets.zero:移除按钮内部的内边距minimumSize: Size.zero:取消按钮的最小尺寸限制tapTargetSize: MaterialTapTargetSize.shrinkWrap:让点击区域收缩到按钮实际大小,避免额外的空白点击范围
修改后的完整代码如下:
Container( height: 30, width: 60, decoration: BoxDecoration( color: Colors.green, borderRadius: BorderRadius.circular(6)), child: TextButton( style: TextButton.styleFrom( padding: EdgeInsets.zero, minimumSize: Size.zero, tapTargetSize: MaterialTapTargetSize.shrinkWrap, ), child: Text('Login', style: TextStyle(fontSize: 14, color: Colors.white)), onPressed: () {}, ), ),
这样调整后,TextButton的文本就会贴合Container的边缘,不会有多余空白。
内容的提问来源于stack exchange,提问作者Tony Lam
相关产品推荐
相关产品推荐

