讨论广场 问答详情
Canvas绘制文字,真机上位置和预览器差很多,怎么对齐?
TOMO 2025-11-21 21:41:31
97 评论 分享

Canvas绘制文字,真机上位置和预览器差很多,怎么对齐?

用Canvas画文字,预览器里文字居中显示,真机上偏上很多,调整y坐标也不管用

97 评论 分享
写回答
全部评论(1)

核心问题是 文字基线(baseline)不一致,预览器和真机的字体渲染基线计算有差异。

 

解决方法:

1. 用 TextPainter 先测量文字宽高和基线偏移,再计算绘制坐标,别直接写死y值;

2. 绘制时让文字的 centerY 对齐目标位置,比如 y = 目标Y - (textPainter.height / 2);

3. 禁用字体缩放(textPainter.textScaleFactor = 1.0),避免系统字体大小影响位置。

2025-11-22 11:32:04