仅当文本长度大于特定数字时滚动 - 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(...)
我正在使用 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(...)