A Flutter package for easily implementing Material Design navigation transitions.

You can use MorpheusPageRoute to create a parent-child transition between two screens.

import 'package:morpheus/morpheus.dart'; class MyList extends StatelessWidget { @override Widget build(BuildContext context) { return ListView.builder( itemCount: 10, itemBuilder: (context, index) { final _parentKey = GlobalKey(); return ListTile( key: _parentKey, leading: CircleAvatar(child: Text((index + 1).toString())), title: Text('Item ${index + 1}'), onTap: () => _handleTap(context, _parentKey), ); } ); } void _handleTap(BuildContext context, GlobalKey parentKey) { Navigator.of(context).push(MorpheusPageRoute( builder: (context) => Scaffold(), parentKey: parentKey, )); } }

You can use the MorpheusTabView widget to create a top-level transition when the child widget changes.