直播源码网站,各式各样的淡入淡出动画
作者:互联网
直播源码网站,各式各样的淡入淡出动画实现的相关代码
第一个
class AnimatedContainerApp extends StatefulWidget {
@override
_AnimatedContainerAppState createState() => _AnimatedContainerAppState();
}
class _AnimatedContainerAppState extends State<AnimatedContainerApp> {
bool _visible = true;
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
body: Center(
child: AnimatedOpacity(
//opacity=0.0透明
//opacity=1.0完全显示
opacity: _visible ? 1.0 : 0.0,
duration: Duration(milliseconds: 500),
// The green box must be a child of the AnimatedOpacity widget.
child: Container(
width: 200.0,
height: 200.0,
color: Colors.blue,
),
),
),
floatingActionButton: FloatingActionButton(
child: Icon(Icons.play_arrow),
onPressed: () {
setState(() {
_visible = !_visible;
});
},
),
),
);
}
}
第二个
lass AnimatedContainerApp extends StatefulWidget {
@override
_AnimatedContainerAppState createState() => _AnimatedContainerAppState();
}
class _AnimatedContainerAppState extends State<AnimatedContainerApp> {
bool _visible = true;
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
body: Center(
child: Stack(
children: <Widget>[
AnimatedOpacity(
opacity: _visible ? 1.0 : 0.0,
duration: Duration(milliseconds: 3000),
// The green box must be a child of the AnimatedOpacity widget.
child: Container(
width: 350.0,
height: 350.0,
color: Colors.blue.withOpacity(0.2),
child: Text('1'),
alignment: Alignment.bottomRight,
),
curve: Curves.linear,
),
AnimatedOpacity(
opacity: _visible ? 1.0 : 0.0,
duration: Duration(milliseconds: 2500),
// The green box must be a child of the AnimatedOpacity widget.
child: Container(
width: 300.0,
height: 300.0,
color: Colors.blue.withOpacity(0.3),
child: Text('2'),
alignment: Alignment.bottomRight,
),
curve: Curves.linear,
),
AnimatedOpacity(
opacity: _visible ? 1.0 : 0.0,
duration: Duration(milliseconds: 2500),
// The green box must be a child of the AnimatedOpacity widget.
child: Container(
width: 250.0,
height: 250.0,
color: Colors.blue.withOpacity(0.4),
child: Text('3'),
alignment: Alignment.bottomRight,
),
curve: Curves.linear,
),
AnimatedOpacity(
opacity: _visible ? 1.0 : 0.0,
duration: Duration(milliseconds: 2000),
// The green box must be a child of the AnimatedOpacity widget.
child: Container(
width: 200.0,
height: 200.0,
color: Colors.blue.withOpacity(0.5),
child: Text('4'),
alignment: Alignment.bottomRight,
),
curve: Curves.linear,
),
AnimatedOpacity(
opacity: _visible ? 1.0 : 0.0,
duration: Duration(milliseconds: 1500),
// The green box must be a child of the AnimatedOpacity widget.
child: Container(
width: 150.0,
height: 150.0,
color: Colors.blue.withOpacity(0.6),
alignment: Alignment.bottomRight,
child: Text('5'),
),
curve: Curves.linear,
),
AnimatedOpacity(
opacity: _visible ? 1.0 : 0.0,
duration: Duration(milliseconds: 1000),
// The green box must be a child of the AnimatedOpacity widget.
child: Container(
width: 100.0,
height: 100.0,
color: Colors.blue.withOpacity(0.64),
alignment: Alignment.bottomRight,
child: Text('6'),
),
curve: Curves.linear,
),
AnimatedOpacity(
opacity: _visible ? 1.0 : 0.0,
duration: Duration(milliseconds: 500),
// The green box must be a child of the AnimatedOpacity widget.
child: Container(
width: 50.0,
height: 50.0,
alignment: Alignment.bottomRight,
color: Colors.blue.withOpacity(0.98),
child: Text('7'),
),
curve: Curves.linear,
),
],
),
),
floatingActionButton: FloatingActionButton(
child: Icon(Icons.play_arrow),
onPressed: () {
setState(() {
_visible = !_visible;
});
},
),
),
);
}
}
第三个
class _AnimatedContainerAppState extends State<AnimatedContainerApp> {
bool _visible = true;
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
body: Center(
child: AnimatedOpacity(
//opacity=0.0透明
//opacity=1.0完全显示
opacity: _visible ? 1.0 : 0.0,
duration: Duration(milliseconds: 500),
// The green box must be a child of the AnimatedOpacity widget.
child: AnimatedContainer(
width: _visible ? 200.0 : 100.0,
height: _visible ? 100.0 : 200.0,
color: _visible ? Colors.red : Colors.blue,
duration: Duration(seconds: 2),
curve: Curves.ease,
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Icon(Icons.ac_unit),
Icon(Icons.ac_unit),
Icon(Icons.ac_unit),
],
),
),
),
),
floatingActionButton: FloatingActionButton(
child: Icon(Icons.play_arrow),
onPressed: () {
setState(() {
_visible = !_visible;
});
},
),
),
);
}
}
以上就是 直播源码网站,各式各样的淡入淡出动画实现的相关代码,更多内容欢迎关注之后的文章
标签:opacity,动画,1.0,淡入淡出,0.0,visible,源码,child,AnimatedOpacity 来源: https://www.cnblogs.com/yunbaomengnan/p/15759521.html