AnimatedContainer是Flutter中的一个Widget,它能够在一定时间内将容器的属性例如颜色、大小等进行平滑的过渡动画效果。
代码示例:
import 'package:flutter/material.dart';
class MyHomePage extends StatefulWidget {
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State {
double _width = 100.0;
double _height = 100.0;
Color _color = Colors.blue;
double _borderRadius = 10.0;
void _changeProperties() {
setState(() {
_width = 200.0;
_height = 200.0;
_color = Colors.red;
_borderRadius = 30.0;
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('AnimatedContainer'),
),
body: Center(
child: GestureDetector(
onTap: () {
_changeProperties();
},
child: AnimatedContainer(
duration: Duration(seconds: 1),
width: _width,
height: _height,
decoration: BoxDecoration(
color: _color,
borderRadius: BorderRadius.circular(_borderRadius),
),
),
),
),
);
}
}