flutter - 颤振:如何使文本靠近容器的上边缘?
问题描述
我最近正在使用颤振。当我布局文本时,我通常将 aText
放入 aContainer
并设置components
. 我的示例代码和图片将在下面。但是,我发现Text
内容不会靠近边缘,这使得我设置的距离并不完全准确。那么我应该如何解决这个问题,或者在我的情况下有没有更好的解决方案?
Container(
color: Colors.red,
width: double.infinity,
height: ScreenAdapt.heightToDp(32),
child: Text(
'some text content',
style: MyTextStyle.level3
),
),
解决方案
简而言之,你不应该,额外的空间是为了其他字符的安全边距。
但是,有一些不安全的解决方案。要小心。仅在以下情况下使用
- 您已明确声明
fontFamily
. - 您手动观察到该字体适用于每个平台(特别是 Web)。
- 您已经完全决定破坏其他字符和其他字体是完全可以的。
如果TextStyle.height
不为空,那么它将强制行高为fontSize * height
。fontSize
是排版中的 EM-square。对于典型的字体,拉丁字符的上升和下降通常不超过 EM-square 的高度范围。因此,设置TextStyle.height
为略大于 1.0 的值通常会在不咬入角色的情况下剪断行高。
对于 Roboto,最佳位置应该在 1.05~1.10 左右(免责声明:我不是字体专家。)
试试这个
Container(
color: Colors.red,
child: Text(
'asdfdsadfsadfasdf',
style: TextStyle(fontFamily: 'Roboto', fontSize: 50, height: 1.0)
),
),
作为最后的手段,你总是可以诉诸于 a 之类的东西OverflowBox
,要么关注一些值,要么提取字体的元数据并设置精确的上升和下降。
推荐阅读
- android - Xamarin Forms 错误:无法为 iOS 编译
- google-cloud-firestore - AngularFire2 有效地查询在数组中具有值的文档的集合
- java - RestTemplate.exchange() 不编码'+'?
- c# - 通过反射获取引用项目的类型
- java - RSA / android中的非对称解密
- swift - 使用 Swift 函数计数的黑客攻击是不可用的,没有普遍的好答案
- virtualbox - Vboxmange 命令产生新窗口 - 使用 go os.exec 测试运行 - 为什么 - 我该如何修复?
- sql - 如何将数据库名称作为参数传递给python中的sql语句?
- ios - 未分配被释放的指针 *** 在 malloc_error_break 中设置断点以进行调试
- java - Java Spark:使用未知连接列名称连接的数据集的 Spark 错误解决方法