100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > Flutter的AnimatedDefaultTextStyle实现文本样式的动画过渡切换效果

Flutter的AnimatedDefaultTextStyle实现文本样式的动画过渡切换效果

时间:2024-05-01 21:30:14

相关推荐

Flutter的AnimatedDefaultTextStyle实现文本样式的动画过渡切换效果

题记

—— 执剑天涯,从你的点滴积累开始,所及之处,必精益求精,即是折腾每一天。

重要消息

网易云【玩转大前端】配套课程

EDU配套 教程

Flutter开发的点滴积累系列文章

AnimatedDefaultTextStyle通过动画过渡的方式来切换文本的显示样式,如下图所示效果,当点击切换样式按钮时,显示的文本样式会以动画过渡的方式来切换。

这个效果的核心代码就是通过AnimatedDefaultTextStyle来实现的动画效果过渡,代码如下:

AnimatedDefaultTextStyle buildAnimatedDefaultTextStyle() {return AnimatedDefaultTextStyle(///设置Text中的文本样式///每当样式有改变时会以动画的方式过渡切换style: isSelected? TextStyle(fontSize: 50, color: Colors.red, fontWeight: FontWeight.bold): TextStyle(fontSize: 24.0, color: Colors.black, fontWeight: FontWeight.w100),///动画切换的时间duration: const Duration(milliseconds: 200),///动画执行插值器curve: Curves.bounceInOut,///文本对齐方式textAlign: TextAlign.start,///文本是否应该在软换行符处换行softWrap: true,///超过文本行数区域的裁剪方式///设置设置为省略号overflow: TextOverflow.ellipsis,///最大显示行数maxLines: 1,///每当样式有修改触发动画时///动画执行结束的回调onEnd: () {print("动画执行结束");},///文本组件child: Text("Hello, Flutter"),);}

通过一个按钮来动态修改isSelected的值,从而来触发修改文本样式的切换动画过渡效果,完整代码如下:

class AnimatedTextStylePage extends StatefulWidget {@override_FirstPageState createState() => _FirstPageState();}class _FirstPageState extends State<AnimatedTextStylePage> {@overrideWidget build(BuildContext context) {return buildBodyFunction();}bool isSelected = false;///5.8 /lib/code4/main_data404.dart/// 文本显示组件TextWidget buildBodyFunction() {return Scaffold(appBar: AppBar(title: Text("动画样式"),),body: Container(padding: EdgeInsets.all(16),child: Column(children: <Widget>[///动画样式组件buildAnimatedDefaultTextStyle(),SizedBox(height: 55,),FlatButton(child: Text("切换样式"),onPressed: () {setState(() {isSelected = !isSelected;});},)],),),);}///省略 buildAnimatedDefaultTextStyle 方法代码}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。