All Projects → Salby → Morpheus

Salby / Morpheus

Licence: mit
A Flutter package for easily implementing Material Design navigation transitions.

Programming Languages

dart
5743 projects

Projects that are alternatives of or similar to Morpheus

Jekyll Material Theme
A Jekyll Theme based on Material Design using Materialize.
Stars: ✭ 165 (-6.78%)
Mutual labels:  material-design
Hexo Theme Mdui
Stars: ✭ 167 (-5.65%)
Mutual labels:  material-design
Admin Template
JSF responsive admin template based on Bootstrap and AdminLTE
Stars: ✭ 170 (-3.95%)
Mutual labels:  material-design
Ej2 React Ui Components
Syncfusion React UI components library offer more than 50+ cross-browser, responsive, and lightweight react UI controls for building modern web applications.
Stars: ✭ 166 (-6.21%)
Mutual labels:  material-design
Xamarin.forms.backgroundkit
🔨 A powerful Kit for customizing the background of Xamarin.Forms views
Stars: ✭ 167 (-5.65%)
Mutual labels:  material-design
Materialdesign Svg
@mdi/svg Dist for Material Design Icons.
Stars: ✭ 166 (-6.21%)
Mutual labels:  material-design
Awesomedialog
A Beautiful Dialog Library for Kotlin Android
Stars: ✭ 163 (-7.91%)
Mutual labels:  material-design
React Native Paper Dates
Smooth and fast cross platform Material Design date and time picker for React Native Paper
Stars: ✭ 173 (-2.26%)
Mutual labels:  material-design
Angular Search Experience
Algolia + Angular = 🔥🔥🔥
Stars: ✭ 167 (-5.65%)
Mutual labels:  material-design
Material Design Guideline
A library for Android developers who want to create layout which follows Google material design principle.
Stars: ✭ 170 (-3.95%)
Mutual labels:  material-design
Ha client
It was the first Home Assistant fully native Android client from the times when there was no any official alternatives
Stars: ✭ 166 (-6.21%)
Mutual labels:  material-design
Wanandroid
玩安卓客户端(Java版)
Stars: ✭ 166 (-6.21%)
Mutual labels:  material-design
Minimal Todo
Material To-Do App
Stars: ✭ 2,051 (+1058.76%)
Mutual labels:  material-design
Materialtransitionanimation
Material Animations practice which is inspired from
Stars: ✭ 165 (-6.78%)
Mutual labels:  material-design
Material Components Android
Modular and customizable Material Design UI components for Android
Stars: ✭ 13,128 (+7316.95%)
Mutual labels:  material-design
Motion Layout Playground
a collection of app examples demonstrating how to use motion layout
Stars: ✭ 164 (-7.34%)
Mutual labels:  material-design
Materialnavigationview Android
📱 Android Library to implement Rich, Beautiful, Stylish 😍 Material Navigation View for your project with Material Design Guidelines. Easy to use.
Stars: ✭ 168 (-5.08%)
Mutual labels:  material-design
Flutter kart
Sample flutter project based on udmey tutorial
Stars: ✭ 174 (-1.69%)
Mutual labels:  material-design
Kross Hugo
Kross Creative Portfolio Template
Stars: ✭ 172 (-2.82%)
Mutual labels:  material-design
Materialdesign2
A beautiful app designed with Material Design 2 using Android X.
Stars: ✭ 170 (-3.95%)
Mutual labels:  material-design

Morpheus

Pub Actions Status

A Flutter package for easily implementing Material Design navigation transitions.

Examples

Parent-child transition

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

Parent-child gif
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,
    ));
  }

}

Top-level transition

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

Top-level gif
import 'package:morpheus/morpheus.dart';

class MyTabScreen extends StatefulWidget {

  @override
  _MyTabScreenState createState() => _MyTabScreenState();

}

class _MyTabScreenState extends State<MyTabScreen> {

  final List<Widget> _screens = [
    Scaffold(backgroundColor: Colors.green),
    Scaffold(backgroundColor: Colors.red),
    Scaffold(backgroundColor: Colors.blue),
  ];
  int _currentIndex = 0;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: MorpheusTabView(
        child: _screens[_currentIndex]
      ),
      bottomNavigationBar: BottomNavigationBar(
        currentIndex: _currentIndex,
        items: [
          BottomNavigationBarItem(
            icon: Icon(Icons.trending_up),
            title: Text('Trending'),
          ),
          BottomNavigationBarItem(
            icon: Icon(Icons.star),
            title: Text('Saved'),
          ),
        ],
        onTap: (index) {
          if (index != _currentIndex) {
            setState(() => _currentIndex = index);
          }
        },
      ),
    );
  }

}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].