I got the solution of your problem. Here is the demo code
class _DemoState extends State<WidgetDemo> {
ScrollController scrollController = new ScrollController();
bool isVisible = true;
@override
initState() {
super.initState();
scrollController.addListener(() {
if (scrollController.position.userScrollDirection ==
ScrollDirection.reverse) {
if (isVisible)
setState(() {
isVisible = false;
});
}
if (scrollController.position.userScrollDirection ==
ScrollDirection.forward) {
if (!isVisible)
setState(() {
isVisible = true;
});
}
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: Stack(
children: <Widget>[
new CustomScrollView(
controller: scrollController,
shrinkWrap: true,
slivers: <Widget>[
new SliverPadding(
padding: const EdgeInsets.all(20.0),
sliver: new SliverList(
delegate: new SliverChildListDelegate(
<Widget>[
const Text('My temp data'),
const Text('Wow its working'),
const Text('My temp data'),
const Text('Wow its working'),
const Text('My temp data'),
const Text('Wow its working'),
const Text('My temp data'),
const Text('Wow its working'),
const Text('My temp data'),
const Text('Wow its working'),
const Text('My temp data'),
const Text('My temp data'),
const Text('Wow its working'),
const Text('My temp data'),
const Text('Wow its working'),
const Text('My temp data'),
const Text('Wow its working'),
const Text('My temp data'),
const Text('Wow its working'),
const Text('My temp data'),
const Text('Wow its working'),
const Text('My temp data'),
const Text('Wow its working'),
const Text('My temp data'),
const Text('Wow its working'),
const Text('My temp data'),
const Text('Wow its working'),
const Text('My temp data'),
const Text('Wow its working'),
const Text('My temp data'),
const Text('Wow its working'),
const Text('My temp data'),
const Text('Wow its working'),
const Text('My temp data'),
const Text('Wow its working'),
const Text('My temp data'),
const Text('Wow its working'),
const Text('My temp data'),
const Text('Wow its working'),
const Text('My temp data'),
const Text('Wow its working'),
const Text('My temp data'),
const Text('Wow its working'),
const Text('Wow its working'),
const Text('My temp data'),
const Text('Wow its working'),
const Text('My temp data'),
const Text('Wow its working'),
],
),
),
),
],
),
AnimatedContainer(
duration: Duration(milliseconds: 400),
height: isVisible ? 60.0 : 0.0,
child: new Container(
color: Colors.green,
width: MediaQuery.of(context).size.width,
child: Center(child: Text("Container")),
)),
],
),
);
}
}