• flutter 按钮弹簧动画AnimationController


    效果图:

    
    

    import 'package:flutter/cupertino.dart';
    import 'package:flutter/material.dart';

    class SLHomePage extends StatefulWidget {
    @override
    State<StatefulWidget> createState() {
    return _SLHomePageState();
    }
    }
    class _SLHomePageState extends State<SLHomePage> with SingleTickerProviderStateMixin{
    late AnimationController _controller;
    late Animation<double> _animation;
    late Tween<double> _tween;
    @override
    void initState() {
    super.initState();
    _controller = AnimationController(vsync: this,duration: const Duration(milliseconds: 400));
    _animation = CurvedAnimation(parent: _controller, curve: Curves.elasticOut,reverseCurve:Curves.elasticInOut);
    _tween = Tween(begin: 0.7,end: 1);
    _controller.forward();
    }
    @override
    void dispose() {
    _controller.dispose();
    super.dispose();
    }
    @override
    Widget build(BuildContext context) {
    // TODO: implement build
    return Container(
    height: MediaQuery.of(context).size.height,
    child: Center(
    child: Container(
    200,
    height: 90,
    child: ScaleTransition(scale: _tween.animate(_animation),child: TextButton(
    child: Text('按钮'),
    onPressed: (){
    _controller.repeat();
    setState(() {
    _controller.forward();
    });
    }
    )
    )
    ),
    ),
    );
    }
    }
     
  • 相关阅读:
    linux下的apue.3e安装[Unix环境高级编程]
    mysql将主键序号置为1
    玛丽全开-许愿池
    redis学习之路

    jvm
    oracle版本号含义
    oracle查看所有的表空间
    oracle存储过程 package
    oracle同义词创建(synonym)
  • 原文地址:https://www.cnblogs.com/lulushen/p/15433717.html
Copyright © 2020-2023  润新知