我希望文本字段内容的字体大小缩小时,达到特定宽度的文本字段。我已经尝试了一些解决方案,如计算文本宽度使用文本跨度,但我希望一个更高性能的解决方案。任何帮助都非常感谢。
bqf10yzr1#
auto_size_text包仅适用于常规的文本小部件。auto_size_text_field另一方面会给你给予你想要的。
rdlzhqv92#
使用FittedBox小部件 Package 它
FittedBox( fit: BoxFit.scaleDown, child: Text(...) )
字符串
xv8emn3q3#
这个解决方案对我很有效:
SizedBox( width: desiredWidth, height: desiredHeight, child: FittedBox( fit: BoxFit.scaleDown, child: IntrinsicWidth( child: ConstrainedBox( constraints: BoxConstraints( minWidth: desiredWidth, minHeight: desiredHeight, ), child: TextField( ... ), ), ), ), )
字符串内部的ConstrainedBox不是必需的,但是,如果没有它,当TextField为空时,IntrinsicWidth会缩小它,从而创建一个非常小的目标。在我的项目中,我注意到根据我使用的BoxFit类型的不同,会有一些小的差异,所以你可以根据你的需要来调整。一些缺点:
ConstrainedBox
TextField
IntrinsicWidth
BoxFit
vs91vp4v4#
最好的方法是使用软件包自动大小文本https://pub.dev/packages/auto_size_text检查:
AutoSizeText( 'My Text', style: TextStyle(fontSize: 30), minFontSize: 18, maxLines: 4, overflow: TextOverflow.ellipsis, )
4条答案
按热度按时间bqf10yzr1#
auto_size_text包仅适用于常规的文本小部件。
auto_size_text_field另一方面会给你给予你想要的。
rdlzhqv92#
使用FittedBox小部件 Package 它
字符串
xv8emn3q3#
这个解决方案对我很有效:
字符串
内部的
ConstrainedBox
不是必需的,但是,如果没有它,当TextField
为空时,IntrinsicWidth
会缩小它,从而创建一个非常小的目标。在我的项目中,我注意到根据我使用的
BoxFit
类型的不同,会有一些小的差异,所以你可以根据你的需要来调整。一些缺点:
TextField
使用此值,它们的字体大小可能不匹配vs91vp4v4#
最好的方法是使用软件包自动大小文本
https://pub.dev/packages/auto_size_text
检查:
字符串