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

पैकेज विवरणv2.3.0

implicitly_animated_list

एक फ्लटर विजेट जो नए आइटम के साथ पुनर्निर्माण के समय सूची को अप्रत्यक्ष रूप से एनीमेट करता है।

AndroidiOSmacOSWindowsLinux
30-दिन डाउनलोड
22.6 हज़ार
लाइक
33
Pub अंक
150

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

flutter pub add implicitly_animated_list

पैकेज अवलोकन

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

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

उपयोग

  • डायनामिक सूची अद्यतन
  • संदेश आगमन के साथ चैट UI
  • कार्य सूची प्रबंधन
  • रियल-टाइम डेटा फीड्स
  • एनिमेटेड आइटम ट्रांजिशन

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

  • स्वचालित इन्सर्ट एनिमेशन
  • स्मूथ डिलीट ट्रांजिशन
  • निर्मित अद्यतन प्रबंधन
  • न्यूनतम बॉलरप्लेट
  • क्रॉस-प्लेटफॉर्म समर्थन

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

  • सरल सूची एनिमेशन की तलाश में विकासकर्ता
  • अक्सर अद्यतनित सूचियों वाले ऐप्स
  • बदलाव पर दृश्य प्रतिक्रिया की आवश्यकता वाले UI
  • Flutter एनिमेशन सीखने वाले शुरुआती लोग
  • विकासक दक्षता पर ध्यान केंद्रित परियोजनाएं

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

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

मूल README

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

Often, your lists represent some kind of data.

You can just pass the original list data to the ImplicitlyAnimatedList as well as an itemBuilder for building a widget from one data point, and it'll animate whenever the data changes:

ImplicitlyAnimatedList(
  // When you change items of this list and hot reload, the list animates.
  itemData: [1, 2, 3, 4],
  itemBuilder: (_, number) => ListTile(title: Text('$number')),
),

It works with all classes and works well with StreamBuilder:

class User {
  const User({required this.firstName, required this.lastName});

  final String firstName;
  final String lastName;

  // The ImplicitlyAnimatedList uses the == operator to compare items.
  bool operator ==(Object other) => other is User
    && firstName == other.firstName
    && lastName == other.lastName;
}

...

StreamBuilder<List<User>>(
  stream: someSource.usersStream,
  builder: (context, snapshot) {
    if (!snapshot.hasData) {
      return ...;
    }
    return ImplicitlyAnimatedList(
      itemData: snapshot.data,
      itemBuilder: (context, user) {
        return ListTile(title: Text('${user.firstName} ${user.lastName}'));
      }
    );
  }
)

Here's an example that generates random numbers and animates from one state to the next (notice it's only 10 fps because of being a GIF):

example showcase

In addition to ImplicitlyAnimatedList, there's also SliverImplicitlyAnimatedList for use in a CustomScrollView:

CustomScrollView(
  slivers: [
    SliverImplicitlyAnimatedList(
      itemData: myListOfItems,
      itemBuilder: (context, item) => ListTile(title: Text('$item')),
    ),
    // ...
  ],
),

श्रेणियाँ

निर्भरताएँ

निर्भरता सूची 1 आइटम

  • list_diff^2.0.0

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

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