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

section_view कवर
पैकेज विवरणv2.0.6

section_view

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

AndroidiOSWebmacOSWindowsLinux
30-दिन डाउनलोड
1.9 हज़ार
लाइक
34
Pub अंक
140

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

flutter pub add section_view

पैकेज अवलोकन

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

SectionView एक Flutter पैकेज है जो वर्णमाला सूचीकरण और पुल-टू-रिफ्रेश कार्यक्षमता के साथ खंडित सूची दृश्यों के निर्माण की अनुमति देता है। यह खंड शीर्षकों के पूर्ण कस्टमाइज़ेशन और स्क्रॉलिंग व्यवहार के नियंत्रण की अनुमति देता है, जिससे यह संपर्क सूचियों, कैटलॉग या किसी भी वर्णमाला के अनुसार व्यवस्थित डेटा के लिए आदर्श है। पैकेज सभी मुख्य प्लेटफॉर्मों का समर्थन करता है, जिसमें Android, iOS, Web, macOS, Windows और Linux शामिल हैं। डेवलपर्स UI और इंटरैक्शन को अपने ऐप के डिज़ाइन भाषा के अनुसार ढाल सकते हैं।

उपयोग

  • वर्णमाला सूची के साथ संपर्क सूची
  • समूहित आइटम के साथ उत्पाद कैटलॉग
  • कस्टमाइज़ करने योग्य स्क्रॉल करने योग्य खंड
  • रिफ्रेश क्षमता वाले डेटा प्रदर्शन
  • सूचियों में वर्णमाला नेविगेशन

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

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

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

  • वर्णानुक्रम सॉर्टिंग की आवश्यकता वाले ऐप्स
  • कस्टम सेक्शन कंट्रोल चाहने वाले डेवलपर्स
  • ताज़ा करने योग्य सूचियों की आवश्यकता वाले प्रोजेक्ट
  • समूहित डेटा वाले UI-भारी एप्लिकेशन
  • क्रॉस-प्लेटफॉर्म मोबाइल और वेब एप्लिकेशन

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

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

मूल README

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

Notice: 2.0.0 has break changing

  • The header sticky will use flutter_list_view to implement
  • Refresh control will construct by user, like pull_to_refresh
SectionView<AlphabetHeader<CountryModel>, CountryModel>(
  source: _filterCountries,
  onFetchListData: (header) => header.items,
  enableSticky: true,
  alphabetAlign: Alignment.center,
  alphabetInset: const EdgeInsets.all(4.0),
  headerBuilder: getDefaultHeaderBuilder((d) => d.alphabet),
  alphabetBuilder: getDefaultAlphabetBuilder((d) => d.alphabet),
  tipBuilder: getDefaultTipBuilder((d) => d.alphabet),
  refreshBuilder: (child) {
    return SmartRefresher(
        enablePullDown: true,
        enablePullUp: false,
        header: const WaterDropHeader(),
        controller: _refreshController,
        onRefresh: _onRefresh,
        child: child);
  },
  itemBuilder:
      (context, itemData, itemIndex, headerData, headerIndex) {
    return Padding(
      padding: const EdgeInsets.only(right: 12.0),
      child: ListTile(
          title: Text(itemData.name),
          trailing: Text(itemData.phoneCode)),
    );
  },
),

Features

  1. Show with section view
  2. Alphabet support
  3. Refresh support

Screen

Usage

Firstly, you can construct data like

List<GroupModel> data = [
    GroupModel(name: "Group 1", items: [
      ItemModel(name: "Item 1-1"),
      ItemModel(name: "Item 1-2"),
      ItemModel(name: "Item 1-3"),
      ItemModel(name: "Item 1-4"),
      ItemModel(name: "Item 1-5"),
    ]),
    GroupModel(name: "Group 2", items: [
      ItemModel(name: "Item 2-1"),
      ItemModel(name: "Item 2-2"),
      ItemModel(name: "Item 2-3"),
      ItemModel(name: "Item 2-4"),
      ItemModel(name: "Item 2-5"),
    ]),
    GroupModel(name: "Group 3", items: [
      ItemModel(name: "Item 3-1"),
      ItemModel(name: "Item 3-2"),
      ItemModel(name: "Item 3-3"),
      ItemModel(name: "Item 3-4"),
      ItemModel(name: "Item 3-5"),
    ]),
  ];

After that, you can put code into you project like as below

SectionView<GroupModel, ItemModel>(
  source: data,
  onFetchListData: (header) => header.items,
  headerBuilder: getDefaultHeaderBuilder((d) => d.name,
      bkColor: Colors.green,
      style:
          const TextStyle(fontSize: 18, color: Colors.white)),
  itemBuilder:
      (context, itemData, itemIndex, headerData, headerIndex) =>
          ListTile(
            title: Text(itemData.name),
          )),

Additional information

If you want to custom your UI, please follow /example/lib/fullSectionList.dart

Todo

  • Provide tailer load more functionality
  • Provide programaticly invoke onRefresh.

श्रेणियाँ

निर्भरताएँ

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

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

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

अभी कोई डेटा उपलब्ध नहीं है।