0
点赞
收藏
分享

微信扫一扫

Flutter无须Context获取文本大小(类似iOS的boundingRectWithSize)

认真的老去 2021-10-04 阅读 155
Flutter

在开发中,往往会有自定义页面文本大小的情况,此时发现有几种获取文本大小的方法。

第一种是由Context,在绘制之后获取文本的大小,这里不做说明,大家可以自行搜一下。

第二种是无须Context,在绘制之前获取:

  Size _getTextSize(String text, TextStyle style) {
    final TextPainter textPainter = TextPainter(
        text: TextSpan(text: text, style: style), maxLines: 1, textDirection: TextDirection.ltr)
      ..layout(minWidth: 0, maxWidth: double.infinity);
    return textPainter.size;
  }

使用:

Size sz = _getTextSize("你好", TextStyle(fontSize: 16));

// 宽度
double width = sz.width;
// 高度
double height = sz.height;

以上。

举报

相关推荐

0 条评论