import 'package:flutter/material.dart';
void main() {
runApp(
MaterialApp(
home: MyWidget(),
),
);
}
class MyWidget extends StatefulWidget {
const MyWidget({Key? key}) : super(key: key);
State<MyWidget> createState() => _MyWidgetState();
}
class _MyWidgetState extends State<MyWidget> {
bool playAnime = true;
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
AnimatedCrossFade(
firstChild: Container(
width: 200,
height: 300,
color: Colors.pink,
),
secondChild: Container(
width: 300,
height: 200,
color: Colors.orange,
),
crossFadeState: playAnime
? CrossFadeState.showFirst
: CrossFadeState.showSecond,
duration: const Duration(
milliseconds: 500,
),
),
TextButton(
onPressed: () => setState(() => playAnime = !playAnime),
child: const Text('アニメション再生'),
),
],
),
),
);
}
}
View Compiled
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.