Как отключить значок расширения, если количество строк находится в допустимых пределах? флаттер - PullRequest
1 голос
/ 16 января 2020

Пример снимка экрана

Я хочу отключить расширяемый значок, если число строк находится в пределах порогового значения. Я использую виджет ExpandablePanel, но не могу понять, как отключить значок.

Ответы [ 2 ]

0 голосов
/ 17 января 2020

Я рассчитал количество строк, используя

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,, чтобы включить / отключить значок.

0 голосов
/ 16 января 2020

Вы можете использовать условный оператор в hasIcon , чтобы отключить значок

Сначала получите количество строк, занимаемых вашим текстом, а затем используйте условный оператор, чтобы сделать значок видимым / невидимым

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


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

Здесь MAX_LINES - максимальное количество строк, которое вы установили.

Надеюсь, это поможет.

...