flutter - 容器中的图标按钮溢出
问题描述
我正在编写一个简单的红色容器,里面有一个简单的图标,一切正常。
Container(
color: Colors.red,
child: Padding(
padding: EdgeInsets.fromLTRB(170, 0, 0, 0),
child: Icon(Icons.wifi_lock, color: Colors.lightBlue, size: 150)
),
),
但是,如果我将其与 IconButton 一起使用,则此按钮会溢出容器。
Container(
color: Colors.red,
child: Padding(
padding: EdgeInsets.fromLTRB(170, 0, 0, 0),
child: IconButton(
icon: Icon(Icons.wifi_lock, color: Colors.lightBlue, size: 150),
onPressed: (){}
)
),
),
我不明白这种行为以及如何解决它。感谢你!
解决方案
因此,您正在做的是在图标内设置大小,如下所示:
Container(
color: Colors.red,
child: Padding(
padding: EdgeInsets.fromLTRB(170, 0, 0, 0),
child: IconButton(
icon: Icon(Icons.wifi_lock, color: Colors.lightBlue, size: 150),
onPressed: (){}
)
),
),
所以这是增加图标而不是按钮的大小,这就是为什么有溢出并且图标在容器之外的原因。但是,如果您需要修复它,请改用以下代码
Container(
color: Colors.red,
child: Padding(
padding: EdgeInsets.fromLTRB(170, 0, 0, 0),
child: IconButton(
iconSize: 150,
icon: Icon(Icons.wifi_lock, color: Colors.lightBlue,),
onPressed: (){}
)
),
),
删除size: 150
图标内的参数,而是将参数放在语句iconSize: 150
上方或下方的按钮内。icon: Icon(Icons.wifi_lock, color: Colors.lightBlue),
这应该可以解决问题,您将获得所需的结果。您不需要移除填充,因为它不会影响容器外的溢出。
推荐阅读
- matlab - 如何将一维 matlab 数组代码转换为 Fortran 代码并获取值
- c# - 创建多个 xml 文件并将其导出为一个 zip 文件的最佳方法是什么
- json - React 在 PUT 上发送一个空的 JSON 对象
- routes - 部署到 Netlify 时,Sapper Svelte 路由不工作并且页面丢失
- r - Apriori 模型没有显示出明显的关联
- ruby-on-rails - Rails 获取参数在生产中为零
- sql - 在 LIKE 函数中使用正则表达式进行 SQL 查询
- python - Discord bot(on_message 事件不会让命令工作*)
- node.js - 如何在没有两个查询的情况下在 Knex 中执行此操作
- java - 如何以编程方式设置属性的值