如果行数在限制范围内,如何禁用扩展图标?颤振

问题描述 投票:1回答:2

Sample Screenshot

如果行数在阈值限制内,我想禁用可扩展图标。我正在使用ExpandablePanel小部件,但无法弄清楚如何禁用该图标。

flutter flutter-layout expandable
2个回答
0
投票

您可以在hasIcon中使用条件运算符来禁用图标

首先获取文本占用的行数,然后使用条件运算符使图标可见/不可见

final numLines = '\n'.allMatches(yourText).length + 1;


ExpandablePanel(
  .
  .
  .
  hasIcon: numLines > MAX_LINES? true: false,
)

这里MAX_LINES是您设置的最大行数。

我希望这会有所帮助。


0
投票

我使用]计算行数>

final span = TextSpan(text: txt);
final tp = TextPainter(
text: span, textDirection: TextDirection.ltr, maxLines: 3);
tp.layout(maxWidth: size.maxWidth);

然后我使用hasIcon: tp.didExceedMaxLines ? true : false,启用/禁用图标。

© www.soinside.com 2019 - 2024. All rights reserved.