Code:
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_staggered_animations/flutter_staggered_animations.dart';
class ListView2 extends StatefulWidget {
@override
_ListView2State createState() => _ListView2State();
}
class _ListView2State extends State<ListView2> {
@override
Widget build(BuildContext c) {
return Scaffold(
body: Center(
child: ElevatedButton(
child: const Text('View Listview Animation'),
onPressed: () {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => SlideAnimation2()),
);
},
),
),
);
}
}
class SlideAnimation2 extends StatelessWidget {
@override
Widget build(BuildContext context) {
double _w = MediaQuery.of(context).size.width;
return Scaffold(
appBar: AppBar(
title: Text("Go Back"),
centerTitle: true,
brightness: Brightness.dark),
body: AnimationLimiter(
child: ListView.builder(
padding: EdgeInsets.all(_w / 30),
physics:
BouncingScrollPhysics(parent: AlwaysScrollableScrollPhysics()),
itemCount: 20,
itemBuilder: (BuildContext c, int i) {
return AnimationConfiguration.staggeredList(
position: i,
delay: Duration(milliseconds: 100),
child: SlideAnimation(
duration: Duration(milliseconds: 2500),
curve: Curves.fastLinearToSlowEaseIn,
horizontalOffset: 30,
verticalOffset: 300.0,
child: FlipAnimation(
duration: Duration(milliseconds: 3000),
curve: Curves.fastLinearToSlowEaseIn,
flipAxis: FlipAxis.y,
child: Container(
margin: EdgeInsets.only(bottom: _w / 20),
height: _w / 4,
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.all(
Radius.circular(20),
),
boxShadow: [
BoxShadow(
color: Colors.black.withOpacity(0.1),
blurRadius: 40,
spreadRadius: 10,
),
],
),
),
),
),
);
},
),
),
);
}
}
0 Comments