Flutter淡出动画

作者: TryEnough | 来源:发表于2019-01-29 17:57 被阅读8次

    原文链接

    更多教程


    效果:
    点击右下角按钮,淡出图标:


    代码:

    import 'package:flutter/material.dart';
    
    void main() {
      runApp(new FadeAppTest());
    }
    
    class FadeAppTest extends StatelessWidget {
      // This widget is the root of your application.
      @override
      Widget build(BuildContext context) {
        return new MaterialApp(
          title: 'Fade Demo',
          theme: new ThemeData(
            primarySwatch: Colors.blue,
          ),
          home: new MyFadeTest(title: 'Fade Demo'),
        );
      }
    }
    
    class MyFadeTest extends StatefulWidget {
      MyFadeTest({Key key, this.title}) : super(key: key);
      final String title;
      @override
      _MyFadeTest createState() => new _MyFadeTest();
    }
    
    class _MyFadeTest extends State<MyFadeTest> with TickerProviderStateMixin {
      AnimationController controller;
      CurvedAnimation curve;
    
      @override
      void initState() {
        controller = new AnimationController(
            duration: const Duration(milliseconds: 2000), vsync: this);
        curve = new CurvedAnimation(parent: controller, curve: Curves.easeIn);
      }
    
      @override
      Widget build(BuildContext context) {
        return new Scaffold(
          appBar: new AppBar(
            title: new Text(widget.title),
          ),
          body: new Center(
              child: new Container(
                  child: new FadeTransition(
                      opacity: curve,
                      child: new FlutterLogo(
                        size: 100.0,
                      )))),
          floatingActionButton: new FloatingActionButton(
            tooltip: 'Fade',
            child: new Icon(Icons.brush),
            onPressed: () {
              controller.forward();
            },
          ),
        );
      }
    }
    
    

    原文链接

    更多教程

    相关文章

      网友评论

        本文标题:Flutter淡出动画

        本文链接:https://www.haomeiwen.com/subject/pmexsqtx.html