美文网首页
Flutter-AnimatedOpacity组件

Flutter-AnimatedOpacity组件

作者: 阿博聊编程 | 来源:发表于2022-06-11 21:43 被阅读0次
    配图来自网络,如侵必删

    在使用Flutter的隐性动画的时候,想要实现透明度的过渡动画,我们可以使用AnimatedOpacity组件来显示。这篇博客分享AnimatedOpacity相关的知识,希望对看文章的小伙伴有所帮助。

    AnimatedOpacity

    AnimatedOpacity对应的是Opacity组件,AnimatedOpacity属于修饰组件的一种。

    Opacity的简单用法

    Opacity(
        opacity:0.5,
        child:Text('你好')
    )
    

    AnimatedOpacity的简单使用

    import 'package:flutter/material.dart';
    
    void main() {
      runApp(const MyApp());
    }
    
    class MyApp extends StatelessWidget {
      const MyApp({Key? key}) : super(key: key);
    
      @override
      Widget build(BuildContext context) {
        return MaterialApp(
          title: 'Flutter Demo',
          theme: ThemeData(
            primarySwatch: Colors.blue,
          ),
          home: const MyHomePage(title: 'AnimatedOpacity Demo'),
        );
      }
    }
    
    class MyHomePage extends StatefulWidget {
      const MyHomePage({Key? key, required this.title}) : super(key: key);
    
      final String title;
    
      @override
      State<MyHomePage> createState() => _MyHomePageState();
    }
    
    class _MyHomePageState extends State<MyHomePage> {
      double opacity = 0.0;
    
      @override
      Widget build(BuildContext context) {
        return Scaffold(
            appBar: AppBar(
              title: Text(widget.title),
            ),
            body: AnimatedOpacity(
              opacity: opacity,
              duration: Duration(microseconds: 2000),
              child: Container(
                width: 100,
                height: 100,
                color: Colors.redAccent,
              ),
            ),
            floatingActionButton: FloatingActionButton(
              onPressed: () {
                // 点击事件,设置动画开始
                setState(() {
                  opacity = 1.0;
                });
              },
              child: const Icon(Icons.start),
            ));
      }
    }
    

    完整的代码如上所示,感兴趣的小伙伴可以直接复制到编译器上面运行。效果如下图:


    效果图

    相关文章

      网友评论

          本文标题:Flutter-AnimatedOpacity组件

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