Skip to content

bytedance/scroll_kit

Repository files navigation

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