//animation example
import 'package:flutter/material.dart';
import 'dart:math';
void main() => runApp(AnimatedContainerApp());
class AnimatedContainerApp extends StatefulWidget {
_AnimatedContainerAppState createState() => _AnimatedContainerAppState();
}
class _AnimatedContainerAppState extends State
with SingleTickerProviderStateMixin {
double _width = 100;
double _height = 100;
Color _color = Colors.deepOrangeAccent;
BorderRadiusGeometry _borderRadius = BorderRadius.circular(100.0);
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
body: Container(
color: Colors.blueAccent,
child: Center(
child: AnimatedContainer(
width: _width,
height: _height,
decoration: BoxDecoration(
borderRadius: _borderRadius,
color: _color,
),
duration: const Duration(seconds: 1),
curve: Curves.elasticOut,
),
)),
floatingActionButton: FloatingActionButton(
child: const Icon(Icons.play_arrow),
onPressed: () {
setState(() {
final random = Random();
_width = random.nextInt(420).toDouble();
_height = random.nextInt(420).toDouble();
_color = Color.fromRGBO(random.nextInt(256), random.nextInt(256),
random.nextInt(256), 1);
_borderRadius = BorderRadius.circular(
random.nextInt(120).toDouble(),
);
});
},
),
),
);
}
}
Back to: Flutter index