gpt4 book ai didi

flutter - 如何在 flutter 中为 RichText 小部件的 maxlines 属性设置动画

转载 作者:IT王子 更新时间:2023-10-29 07:02:16 34 4
gpt4 key购买 nike

我正在制作一个能够呈现 html 和 css 的可扩展 TextView 。我已经搞定了。但现在我不知道如何动画 小部件展开。

我通过设置 _maxLines 的状态展开小部件>

return Column(
children: <Widget>[
RichText(
overflow: TextOverflow.ellipsis,
maxLines: _maxLines,
text: HTML.toTextSpan(context,
widget.htmlContent),
),
FlatButton(
child: Text(_buttonText),
onPressed: () {
setState(() {
if(_maxLines == 5){
setState(() {
_maxLines = 15;
});
}
});
},
)
],
);

最佳答案

您可以使用 AnimatedCrossFade在两个 View 之间切换的小部件。

GestureDetector(
onTap: () => {setState(() => _showFullText = !_showFullText)},
child: AnimatedCrossFade(
duration: Duration(milliseconds: 200),
crossFadeState: _showFullText ? CrossFadeState.showFirst : CrossFadeState.showSecond,
firstChild: Text(
text,
),
secondChild: Text(
text,
maxLines: 2,
overflow: TextOverflow.ellipsis,
),
),
),

关于flutter - 如何在 flutter 中为 RichText 小部件的 maxlines 属性设置动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57211784/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com