패키지, 저장소 및 앱 카테고리 검색

패키지 상세v1.0.7

loadmore_listview

더 많은 항목을 로드하고 새로 고침 기능이 있는 사용하기 쉬운 ListView 제공

AndroidiOSmacOSWindowsLinux
30일 다운로드
1.5천
좋아요
25
Pub 점수
140

패키지 설치

flutter pub add loadmore_listview

패키지 개요

공개 정보를 바탕으로 생성한 선택 가이드입니다.

무한 스크롤과 풀다운 새로 고침 기능을 갖춘 ListView 구현을 간소화하는 플러터 패키지입니다. 사용자가 스크롤할 때 추가 항목을 로드하기 위한 깔끔하고 사용하기 쉬운 인터페이스를 제공하여 반복 코드를 줄입니다. 안드로이드, iOS, macOS, 윈도우, 리눅스 등 여러 플랫폼을 지원하며 크로스플랫폼 애플리케이션에 적합합니다. Dart로 작성되어 기존 플러터 프로젝트에 원활하게 통합됩니다.

사용 사례

  • 무한 스크롤 피드
  • 데이터 목록을 당겨 새로 고침하기
  • 전자상거래 제품 목록
  • 소셜 미디어 타임라인
  • 뉴스 피드 애플리케이션

주요 기능

  • 내장된 풀투리프레시
  • 스크롤 시 자동 로드 더 보기
  • 사용자 정의 가능한 로딩 인디케이터
  • 널 안전성 지원
  • 크로스 플랫폼 호환성

적합한 대상

  • 간단한 페이지네이션을 찾는 개발자
  • 동적 콘텐츠를 가진 앱
  • 부드러운 스크롤링이 필요한 프로젝트
  • Flutter 배우는 초보자
  • 대규모 데이터셋을 가진 앱

고려 사항

  • 네트워크 요청에 대한 적절한 오류 처리가 필요합니다
  • 복잡한 로딩 조건을 처리하기 위해 사용자 정의 로직이 필요할 수 있습니다
  • 정적 목록에 적합하지 않습니다
  • 고급 UI 요구 사항을 위한 제한된 사용자 정의
  • 데이터 소스에 대한 외부 상태 관리에 의존합니다

원본 README

연결된 소스 저장소의 README 원문 스냅샷입니다. 최신 내용은 저장소에서 확인하세요.

Load More Listview

An Widget with the Load more item and refresh

Base on ListView and CustomScrollListview

LoadMoreListView.builder

Getting Started

In the pubspec.yaml of your flutter project, add the following dependency:

dependencies:
  ...
  loadmore_listview: ^1.0.7

Import it:

import 'package:loadmore_listview/loadmore_listview.dart';

Usage Examples

LoadMoreListView.builder
LoadMoreListView.builder(
    //is there more data to load
    haveMoreItem: true,
    //Trigger the bottom loadMore callback
    onLoadMore: () async{
      //wait for your api to fetch more items
      await Future.delayed(const Duration(seconds: 1));
    },
    //pull down refresh callback
    onRefresh: () async{
      //wait for your api to update the list
      await Future.delayed(const Duration(seconds: 1));
    },
    //you can set your loadMore Animation
    loadMoreWidget: Container(
        margin: const EdgeInsets.all(20.0),
        alignment: Alignment.center,
        child: const CircularProgressIndicator(
          valueColor: AlwaysStoppedAnimation(Colors.blueAccent),
        ),
    ),
    //ListView
    itemCount: 20,
    itemBuilder: (context, index) {
        return Container(
            margin: const EdgeInsets.all(30),
            width: double.infinity,
            alignment: Alignment.center,
            child: Text('$index'),
        );
    },
);
LoadMoreListView.separated
LoadMoreListView.separated(
    //...
    separatorBuilder: (context, index) {
      return const Divider();
    },
);
LoadMoreListView.customScrollView
LoadMoreListView.customScrollView(
    //...
    slivers: [
        SliverList(
            delegate: SliverChildBuilderDelegate(
              (context, index) {
                return Container(
                  margin: const EdgeInsets.all(30),
                  width: double.infinity,
                  alignment: Alignment.center,
                  child: Text(list[index]),
                );
              },
              childCount: list.length,
            ),
        ),
    ],
);

카테고리

소스 저장소

이 패키지를 사용하는 프로젝트

아직 데이터가 없습니다.