手机直播源码,Flutter 中的弹簧按钮效果

手机直播源码,Flutter 中的弹簧按钮效果

1
import 'package:flutter/material.dart';<br> <br>class ScaleAnimation extends StatefulWidget     {<br> <br>  final Widget child;<br> <br>  final Function()? onTap;<br> <br>  ScaleAnimation({required this.child,required this.onTap,Key? key}):super(key: key);<br> <br> <br> <br> <br>  @override<br>  State<ScaleAnimation> createState() => _ScaleAnimationState();<br> <br>}<br> <br> <br>class _ScaleAnimationState extends State<ScaleAnimation> with SingleTickerProviderStateMixin {<br> <br>  late AnimationController _animationController;<br> <br>  late Animation<double> _scaleAnimation;<br> <br>  @override<br>  void initState() {<br>    // TODO: implement initState<br>    super.initState();<br> <br>    _animationController = AnimationController(<br>      vsync: this,<br>      duration: Duration(milliseconds: 200),<br>    );<br> <br>    _scaleAnimation = Tween<double>(<br>      begin: 1.0,<br>      end: 0.8,<br>    ).animate(_animationController);<br> <br>  }<br> <br> <br>  void _playAnimation() {<br>    _animationController.forward();<br>    Future.delayed(Duration(milliseconds: 200), () {<br>      _animationController.reverse();<br>    });<br>  }<br> <br>  @override<br>  Widget build(BuildContext context) {<br>      return   GestureDetector(<br> <br>        onTap: (){<br>          _playAnimation();<br>          widget.onTap?.call();<br>        },<br>        child: AnimatedBuilder (<br>          animation: _scaleAnimation,<br>          builder:(BuildContext context, Widget? child){<br>            return Transform.scale(<br>              scale: _scaleAnimation.value,<br>              child: child,<br> <br>            );<br>          },<br>          child: widget.child,<br> <br>        ),<br>      );<br>  }<br> <br>}

​以上就是 手机直播源码,Flutter 中的弹簧按钮效果,更多内容欢迎关注之后的文章

 

posted @   云豹科技-苏凌霄  阅读(15)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示