ListLoadMore는 ListView에서 지연 로딩을 구현하는 것을 간편하게 만들어 주는 Flutter 패키지로, 최소한의 설정으로 원활한 페이지네이션을 가능하게 합니다. 사용자 정의 로딩 애니메이션을 지원하며, 개별 항목 추가 또는 제거 및 특정 리스트 항목에 포커스하는 기능도 제공합니다. 사용 편의성과 높은 커스터마이징을 고려해 설계되었으며, Android, iOS, Web, macOS, Windows, Linux 등 모든 주요 플랫폼에서 작동합니다. 성능이나 사용자 경험을 희생하지 않고 동적 콘텐츠 로딩이 필요한 앱에 적합합니다.
사용 사례
무한 스크롤 피드
동적 데이터 목록
사용자 정의 가능한 로딩 인디케이터
실시간 데이터 업데이트
사용자 중심의 항목 관리
스무딩 스크롤 경험
주요 기능
ListView와의 간편한 통합
사용자 정의 가능한 로딩 애니메이션
항목 추가/제거 지원
특정 항목에 대한 포커스 제어
크로스 플랫폼 호환성
최소한의 보일러플레이트 코드
적합한 대상
페이지inated 목록을 구축하는 개발자
동적 콘텐츠를 가진 앱
부드러운 로딩이 필요한 UI 중심 애플리케이션
빠른 개발을 우선시하는 팀
사용자 정의 가능한 로딩 상태가 필요한 프로젝트
다중 플랫폼 Flutter 앱
고려 사항
데이터 소스 로직을 수동으로 처리해야 함
제한된 내장 오류 처리
최적화되지 않은 사용자 정의 애니메이션은 성능에 영향을 줄 수 있습니다
추가 최적화 없이 매우 큰 데이터 세트에는 적합하지 않음
복잡한 시나리오를 위해 외부 상태 관리에 의존합니다
원본 README
연결된 소스 저장소의 README 원문 스냅샷입니다. 최신 내용은 저장소에서 확인하세요.
A beautiful ListLoadMore easy to use and customize.
ListLoadMore<Employee>(
key: _key
status: ListLoadMoreStatus.none,
total: totalItem,
itemBuilder: (item, index) => _employeeWidget(item),
onLoadMore: (int currentTotal) async {
// call your API load more here with currentTotal is total item we have
},
onRefresh: () async {
// call API refresh here
},
)
Copyright (c) 2021TuannvmPermissionis hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Softwareis
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.