// 轮播图组件PageView/PageView.builder
PageView(
onPageChanged: (index) => print(index), //监听滑动事件
scrollDirection: Axis.vertical, //配置滑动方向 默认是水平: Axis.horizontal 垂直:Axis.vertical
children: [
Center(child: Text("第1屏", style: Theme.of(context).textTheme.headlineLarge)),
],
);
PageView.builder(
scrollDirection: Axis.vertical, //配置滑动方向 默认是水平: Axis.horizontal 垂直:Axis.vertical
itemCount: 10, //生成数量
itemBuilder: (context,index)=>Center(child: Text("第${index+1}屏",style:Theme.of(context).textTheme.headlineLarge)),
);
无限加载代码:
import 'package:flutter/material.dart';
void main() {
runApp(
MaterialApp(
title: 'contaniner',
home: Scaffold(
appBar: AppBar(
title: const Center(child: Text('flutter bar')),
),
body: const MyAPP(),
),
),
);
}
class MyAPP extends StatefulWidget {
const MyAPP({super.key});
@override
State<MyAPP> createState() => _MyAPPState();
}
class _MyAPPState extends State<MyAPP> {
List<Widget> list = [];
void addDataFun() {
List.generate(
10,
(index) => {
list.add(Center(
child: Text("第${list.length + 1}屏",
style: const TextStyle(fontSize: 60))))
},
);
}
@override
void initState() {
super.initState();
addDataFun();
}
@override
Widget build(BuildContext context) {
return PageView(
onPageChanged: (index) => {
if (index % 8 == 0) {addDataFun()}
},
scrollDirection: Axis.vertical,
children: list,
);
}
}