Animation crossFade

 import "dart:async";


import "package:flutter/material.dart";

void main() {
runApp(AnimDemo(),);
}
class AnimDemo extends StatelessWidget {
AnimDemo({super.key});

@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
title: "Animation CrossFade in Flutter",
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: CrossDemo(),
);
}
}
class CrossDemo extends StatefulWidget {
CrossDemo({super.key});

@override
State<CrossDemo> createState() {
return PracticeCross1();
}
}
class PracticeCross1 extends State<CrossDemo> {
bool isFirst = true;

@override
void initState() {
super.initState();
//
Timer(Duration(seconds: 1,), () {
reload();
},);
}
//
void reload() {
setState(() {
if(isFirst) {
isFirst = false;
} else {
isFirst = true;
}
},);
}

@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("Animated CrossFade"),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
AnimatedCrossFade(
duration: Duration(seconds: 3,),
firstChild: Container(
width: 300.0,
height: 300.0,
color: Colors.blueGrey,
),
secondChild: Image.asset("assets/images/oliver_sea.jpg", width: 300.0, height: 300.0,),
sizeCurve: Curves.fastOutSlowIn,
firstCurve: Curves.easeInOut,
secondCurve: Curves.bounceInOut,
// crossFadeState: CrossFadeState.showFirst,
crossFadeState: isFirst ? CrossFadeState.showFirst : CrossFadeState.showSecond,
),
SizedBox(height: 30.0,),
ElevatedButton(
onPressed: () {
setState(() {
// isFirst ? CrossFadeState.showSecond : CrossFadeState.showFirst;
// isFirst = false;
// isFirst ? CrossFadeState.showFirst : CrossFadeState.showSecond;

// if(isFirst) {
// CrossFadeState.showSecond;
// isFirst = false;
// } else {
// CrossFadeState.showFirst;
// isFirst = true;
// }
reload();
},);
},
child: Text("Show Animation"),
),
],
),
),
);
}
}

Comments

Popular posts from this blog

Second GET API Calling with Bloc simple Example in Flutter

Stack Container Scrollable Card widget UI with Custom Widget

Pagination with Bloc Pattern in Flutter