我为的内容画了一个形状Text。
我想要背景自动缩放文本,甚至softWrap是真实的。
因此,我需要先获取Text Widget的宽度和高度Widget build(BuildContext context)。
实际上,我正在使用flutter模拟像iOS消息这样的聊天气泡效果。这是iOS版本的教程。创建聊天气泡。
下面的核心代码:
let label = UILabel()
label.numberOfLines = 0
label.font = UIFont.systemFont(ofSize: 18)
label.textColor = .white
label.text = text
let constraintRect = CGSize(width: 0.66 * view.frame.width,
height: .greatestFiniteMagnitude)
let boundingBox = text.boundingRect(with: constraintRect,
options: .usesLineFragmentOrigin,
attributes: [.font: label.font],
context: nil)
label.frame.size = CGSize(width: ceil(boundingBox.width),
height: ceil(boundingBox.height))
let bubbleSize = CGSize(width: label.frame.width + 28,
height: label.frame.height + 20)
let width = bubbleSize.width
let height = bubbleSize.height
Run Code Online (Sandbox Code Playgroud)
======================================= …