仅当文本长度大于特定数字时滚动 - Flutter Marquee

Scroll only when text length is greater than particular number - Flutter Marquee

我正在使用 Marquee 小部件来滚动文本。 我列出了一些文本,但有些文本只有两三个词,有些文本包含更多的词。 我只想滚动有更多单词的文本,而不是每个文本。

Container(
                color: Colors.green,
                width: MediaQuery.of(context).size.width * 0.5,
                height: MediaQuery.of(context).size.width * 0.1,
                child: Marquee(
                    showFadingOnlyWhenScrolling: true,
                    startAfter: Duration(seconds: 5),
                    pauseAfterRound: Duration(seconds: 2),
                    fadingEdgeEndFraction: 0.3,
                    blankSpace: 100,
                    velocity: 50,
                    text: title,
                    style: TextStyle(
                        color: Colors.white,
                        fontSize: 25,
                        decoration: isDone
                            ? TextDecoration.lineThrough
                            : TextDecoration.none)),
              ),

首先你需要知道你的字符串有多长。为此,您可以将字符串保存在变量中。

然后你可以像这样从字符串中获取长度:

String myString = "abc";

// this will print 3
print(myString.length);

所以在这之后你可以使用一个简单的 if:

String myString = "abc";

if(myString.length > 10) {
  scroll();
}

你也可以这样做:

String myString = "abc";

...

//                  if             else
myString.length > 10 ? Widget1(...) : Widget2(...)