
PageView 組件.png
//導(dǎo)入Material UI 組件庫
import 'package:flutter/material.dart';
//程序入口
void main() {
runApp(const MaterialApp(
debugShowCheckedModeBanner: false, home: PageViewWidget()));
}
class PageViewWidget extends StatefulWidget {
const PageViewWidget({Key? key}) : super(key: key);
@override
State<StatefulWidget> createState() => _PageViewState();
}
class _PageViewState extends State<PageViewWidget> {
final List<Widget> _pageChildren = [];
@override
void initState() {
super.initState();
for (int i = 0; i < 6; ++i) {
_pageChildren.add(PageWidget(text: '$i'));
}
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('PageView 組件'),
),
body: PageView(
//緩存前后各一頁
allowImplicitScrolling: true,
//scrollDirection: Axis.vertical,
children: _pageChildren,
),
);
}
}
class PageWidget extends StatefulWidget {
final String text;
const PageWidget({Key? key, required this.text}) : super(key: key);
@override
_PageState createState() => _PageState();
}
class _PageState extends State<PageWidget> {
@override
Widget build(BuildContext context) {
print("build ${widget.text}");
return Center(child: Text(widget.text, textScaleFactor: 5));
}
}