gpt4 book ai didi

flutter - 是否可以读取由 FittedBox 设置的文本小部件的字体大小?

转载 作者:行者123 更新时间:2023-12-05 03:37:36 24 4
gpt4 key购买 nike

我希望将一个文本小部件的字体大小基于另一个。如果我将文本小部件放入 FittedBox 并填充到容器中,文本小部件将变为相同大小,但字体因字符串长度而不同。有没有什么办法可以在一个文本小部件被一个合适的盒子拉伸(stretch)或缩小后获得它的字体大小,然后设置所有其他我需要相同的字体大小?我最远的地方是这样的:

  double _getFontSize(double w) {
Container c = Container(child: FittedBox(fit: BoxFit.fill,child: Text('What is my font size?',),), width: w,);
FittedBox f = c.child as FittedBox;
Text t = f.child as Text;
return t.style!.fontSize!;
} //My thinking was that the FittedBox did it's sizing before drawing but that is not the case.

@override
Widget build(BuildContext context) {
var width = MediaQuery.of(context).size.width;
var fontSize = _getFontSize(width);

return yadayadayada;
}

假设我有一个如下所示的小部件布局:

class _Foo extends State<Bar> {
@override
Widget build(BuildContext context) {
return Column(
children: [
Expanded(
child: Row(
children: [
Expanded(
child: Column(
children: [
Text('Short'), //--------------I WANT THIS GUY TO HAVE THE SAME FONT SIZE AS THE GUY BELOW
],
),
),
Expanded(child: Column()),
],
),
),
Expanded(
child: Row(
children: [
Expanded(child: Column()),
Expanded(
child: Column(
children: [
FittedBox(fit: BoxFit.fill,child: Text('Much Longer'),), //I WANT TO GET THIS GUY'S FONT SIZE
],
),
),
],
),
),
],
)
}
}

最佳答案

我可以给你一些资源来帮助你实现你的用例:
1- auto_size_text是一个很棒的包,并且具有组文本功能可以解决您的用例
2- code_snippet测量文字大小
3- measure size可能有帮助
4- LayoutBuilder 也可以帮到你

关于flutter - 是否可以读取由 FittedBox 设置的文本小部件的字体大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69229821/

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