gpt4 book ai didi

flutter - 在 flutter 中对齐自定义绘制的文本

转载 作者:行者123 更新时间:2023-12-03 13:30:34 27 4
gpt4 key购买 nike

我需要制作包含特定位置文本的自定义小部件(在 Flutter 中)。当我通过 TextPainter 绘制文本时,我将 TextAlign 设置为居中。文本仍然以左对齐方式绘制。我究竟做错了什么?

谢谢
(我很抱歉我的英语不好)

TextSpan span = TextSpan(style: TextStyle(color: Colors.white, fontSize: textSize), text: 'T');
TextPainter tp = TextPainter(text: span, textAlign: TextAlign.center, textDirection: TextDirection.ltr);
tp.layout();
tp.paint(canvas, Offset(pos.x, pos.y));

最佳答案

Align a custom painted text with CustomPainter in Flutter

要简单地将文本在 Canvas 上居中,请计算其偏移量:

void _paintText(Canvas canvas, Size size) {
final textSpan = TextSpan(
text: 'n/a',
);
final textPainter = TextPainter(
text: textSpan,
textDirection: TextDirection.ltr,
);
textPainter.layout();
textPainter.paint(
canvas,
Offset(
// Do calculations here:
(size.width - textPainter.width) * 0.5,
(size.height - textPainter.height) * 0.5,
),
);
}

关于flutter - 在 flutter 中对齐自定义绘制的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55339089/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com