v0.0.6pager
예를 들어 사용자 지정 페이징 테이블을 만들고 싶을 때 유용한 숫자 기반 페이지네이션을 구축할 수 있는 위젯입니다.
26좋아요 49430일 다운로드160Pub 점수
AndroidiOSWebmacOSWindowsLinux
alessioliotta95/pager open-source repository details.
아래는 영문 원문 스냅샷입니다. 최신 내용은 GitHub에서 확인하세요.
Numeric pagination suitable for multiple cases, such as, custom paged table.


You should ensure that you add the pager as a dependency in your flutter project.
dependencies:
pager: ^0.0.6
There is a example project in the example folder. Check it out. Otherwise, keep reading to get up and running.
Need to include the import the package to the dart file where it will be used, use the below command,
import 'package:pager/pager.dart';
Pager
Basic Widget
new Pager(
currentPage: _currentPage,
totalPages: 5,
onPageChanged: (page) {},
),
Example 1
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text("Pagination Example"),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Container(
height: 200,
margin: const EdgeInsets.all(32),
color: Colors.blue,
child: Center(
child: Text(
"PAGE: $_currentPage",
style: const TextStyle(color: Colors.white, fontSize: 20),
),
),
),
Pager(
currentPage: _currentPage,
totalPages: 5,
onPageChanged: (page) {
setState(() {
_currentPage = page;
});
},
),
],
),
),
);
}
}
Complete example 2
import 'package:flutter/material.dart';
import 'package:pager/pager.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Pagination Example',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: const MyHomePage(),
);
}
}
class MyHomePage extends StatefulWidget {
const MyHomePage({
Key? key,
}) : super(key: key);
@override
State<MyHomePage> createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
late int _currentPage;
late int _itemsPerPage;
List<int> pages = [5, 10, 18, 50, 100];
late int _totalPages;
final int _totalElements = 100;
@override
void initState() {
super.initState();
_currentPage = 1;
_itemsPerPage = pages.first;
_totalPages = (_totalElements / _itemsPerPage) as int;
}
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Pagination Example',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: Scaffold(
appBar: AppBar(
title: const Text('Pagination Example'),
),
body: Padding(
padding: const EdgeInsets.all(32.0),
child: Center(
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
Container(
height: 180,
width: 400,
color: Colors.blue,
child: Column(
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: [
Text(
"TOTAL ELEMENT: $_totalElements",
style:
const TextStyle(color: Colors.white, fontSize: 18),
),
Text(
"PAGE: $_currentPage",
style:
const TextStyle(color: Colors.white, fontSize: 18),
),
Text(
"ITEMS PER PAGE: $_itemsPerPage",
style:
const TextStyle(color: Colors.white, fontSize: 18),
),
Text(
"TOTAL PAGES: $_totalPages",
style:
const TextStyle(color: Colors.white, fontSize: 18),
),
],
),
),
const SizedBox(height: 32),
Pager(
currentItemsPerPage: _itemsPerPage,
currentPage: _currentPage,
totalPages: _totalPages,
onPageChanged: (page) {
setState(() {
_currentPage = page;
});
},
showItemsPerPage: true,
onItemsPerPageChanged: (itemsPerPage) {
setState(() {
_itemsPerPage = itemsPerPage;
_totalPages = (_totalElements / _itemsPerPage).ceil();
_currentPage = 1;
});
},
itemsPerPageList: pages,
),
],
),
),
),
),
);
}
}
의존성 목록 3 개
{"sdk":"flutter"}{"sdk":"flutter"}^2.0.0사용 목적에 따라 검색하고 개발 활동을 비교한 뒤 원본 저장소에서 요구 사항을 확인하세요.
“A repository is the most basic element of GitHub.”
GitHub Docs — About repositories ↗