Skip to content

bytedance/scroll_kit

main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
lib
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

ScrollKit

ScrollKit provides additional features for list in Flutter Apps.

Features

  • [✓] jumpTo(int index) with a high performance.
  • [✓] scrollTo (int index).
  • [✓] Load list content from both leading and trailing direction.
  • [✓] Reuse the Element and the RenderObject of the list item.
  • [✓] Provide life-cycle callbacks of list items.
  • [✓] Load more list items without refreshing the whole list.
  • [✓] Provide jumpTo, scrollTo with compatibility of refresh components (SmartRefresher).

Getting started

scroll_kit: ^0.1.0

Usage

final scrollView = CustomScrollView(
  slivers: [
    SKSliverList(
        delegate: SKSliverChildBuilderDelegate((c, i) {
          if (i % 2 == 0) {
            return Container(
              height: 100,
              child: Text(i.toString()),
              color: Colors.grey,
              margin: EdgeInsets.only(top: 3),
            );
          } else {
            return Container(
              height: 100,
              child: Text(i.toString()),
              color: Colors.red,
              margin: EdgeInsets.only(top: 3),
            );
          }
        }, onAppear: (i) {
          print("Appear: " + i.toString());
        }, onDisAppear: (i) {
          print("Disappear: " + i.toString());
        }, reuseIdentifier: (i) {
          if (i % 2 == 0) {
            return "type1";
          } else {
            return "type2";
          }
        }, childCount: 100))
  ],
);

Reference

Contributing