flutter - 如何使库比蒂诺图标在颤动中居中?
问题描述
首先,我尝试过使用 Center(),这样一来,cupertino 图标似乎偏离了中心
IconButton(
icon: const Icon(
CupertinoIcons.add_circled,
color: Colors.black,
),
padding: const EdgeInsets.all(0),
onPressed: () {}
),
解决方案
CupertinoIcons 实际上以 Flutter 为中心。
如果您在这里查看 Cupertino 的源图标映射,您会发现图标与 Flutter 加载的正方形内的底部对齐(甚至略微向左对齐)。因此,您无法在代码中调整它的对齐方式,因为资源已经居中。
更新
我更进一步,在 Flutter sdk 源码上找到了 CupertinoIcons.ttf 字体。然后用https://www.glyphrstudio.com打开它。
然后对 MaterialIcons-Regular.ttf 做同样的事情
您可以清楚地看到图标是如何与 Cupertino 上的基线对齐的(就像字符在任何字体上所做的那样),并且完全以 Material 为中心(就像图标应该如此)。
你可以在这里找到 CupertinoIcons.ttf:https ://github.com/flutter/cupertino_icons/tree/master/assets
推荐阅读
- python - 基于正则表达式模式拆分字符串
- api - 有没有办法在一个 HTTP POST 请求中上传多个带有相关元数据的文件?
- shell - shall:startup 引导我到“你需要一个新的应用程序来打开这个链接”
- c# - Application.Run() 之后如何调用消息循环
- android - 通过 Google Play 商店 Alpha 测试进行树脂安装时,Flutter 应用程序包未更新
- c++ - 模板的实例化
- php - Laravel 将记录插入到具有第三列的数据透视表中
- delphi - Delphi XE6 FireDac Param 值中文字符串使用属性赋值(变体类型)
- excel - 如何从输入框中复制值并使用它在其他 excel 中搜索相同的值?
- python - numpy 3D 数组根据行顺序重塑/展平为 1D 数组