पैकेज, रिपॉज़िटरी और ऐप श्रेणियाँ खोजें

पैकेज विवरणv1.2.3

morpheus

मैटेरियल डिज़ाइन नेविगेशन ट्रांज़िशन को आसानी से लागू करने के लिए एक Flutter पैकेज।

30-दिन डाउनलोड
107
लाइक
37
Pub अंक
70

पैकेज इंस्टॉल करें

flutter pub add morpheus

पैकेज अवलोकन

सार्वजनिक जानकारी से बना चयन मार्गदर्शन। केवल संदर्भ हेतु।

Morpheus एक Flutter पैकेज है जिसका उद्देश्य सामग्री डिज़ाइन नेविगेशन ट्रांज़िशन के कार्यान्वयन को सरल बनाना है। यह सामग्री डिज़ाइन निर्देशों के अनुरूप चिकने, स्थिर और दृश्यतः आकर्षक मार्ग ट्रांज़िशन बनाने के लिए सरल एपीआई प्रदान करता है। जटिल एनीमेशन तर्क को अब्स्ट्रैक्ट करके, यह विकासकर्मियों को न्यूनतम कोड के साथ उपयोगकर्ता अनुभव को बढ़ाने में सक्षम बनाता है। यह पैकेज मौजूदा Flutter ऐप में बिना किसी बाधा के एकीकरण के लिए समर्थन करता है और बॉक्स से निकलकर चिकने नेविगेशन व्यवहार प्रदान करने पर ध्यान केंद्रित करता है।

उपयोग

  • मैटेरियल डिज़ाइन-शैली पेज संक्रमण कार्यान्वयन
  • चिकनी एनीमेशन के साथ ऐप नेविगेशन में सुधार करना
  • स्क्रीन के बीच सुसंगत ट्रांजिशन व्यवहार जोड़ना
  • मोबाइल ऐप्स में उपयोगकर्ता अनुभव को सुधारना
  • न्यूनतम प्रयास के साथ मार्ग संक्रमण को कस्टमाइज़ करें

मुख्य विशेषताएँ

  • बिल्ट-इन मैटेरियल डिज़ाइन संक्रमण पैटर्न
  • सामान्य नेविगेशन एनीमेशन के लिए सरल API
  • स्थिर और पूर्वानुमान योग्य संक्रमण व्यवहार
  • हल्का और एकीकरण में आसान
  • पुश और पॉप ट्रांजिशन दोनों का समर्थन करता है

इनके लिए उपयुक्त

  • मैटेरियल डिज़ाइन एप्प्स बनाने वाले Flutter डेवलपर्स
  • उपयोगकर्ता अनुभव के साथ चिकनी नेविगेशन के साथ प्राथमिकता देने वाली टीमें
  • मानकीकृत मार्ग परिवर्तन की आवश्यकता वाले ऐप
  • त्वरित संक्रमण कार्यान्वयन की खोज कर रहे विकासकर्मी
  • दृश्य सुंदरता और सामंजस्य पर केंद्रित परियोजनाएँ

विचार योग्य बातें

  • मानक मैटेरियल ट्रांज़िशन के बाहर सीमित कस्टमाइजेशन
  • गैर-Material डिज़ाइन प्रणालियों के लिए समर्थन नहीं है
  • गैर-मानक उपयोग के मामलों के लिए अतिरिक्त स्टाइलिंग की आवश्यकता हो सकती है
  • अत्यधिक जटिल या कस्टम एनीमेशन वर्कफ्लो के लिए अनुकूलित नहीं है

मूल README

संबंधित सोर्स रिपॉज़िटरी के मूल README का स्नैपशॉट। नवीनतम सामग्री के लिए रिपॉज़िटरी देखें।

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

}

श्रेणियाँ

सोर्स रिपॉज़िटरी

इस पैकेज का उपयोग करने वाले प्रोजेक्ट