文章目录
1 PageView禁止左滑或右滑效果图
2 PageView
PageView可实现Widget的整页滑动切换,可用于轮播图、App左右切换TAB页面、引导页切换页面等场景。
2.1 PageView示例
class PageViewPage extends StatefulWidget {
const PageViewPage({
Key? key}) : super(key: key);
@override
State<StatefulWidget> createState() => _PageViewPageState();
}
class _PageViewPageState extends State<PageViewPage> {
@override
Widget build(BuildContext context) {
return Scaffold(
body: PageView(
children: List.generate(3, _buildChildPage),
),
);
}
Widget _buildChildPage(int index) {
return Container(
color: Colors.primaries[index * 2],
child: Center(
child: Text(
'Page $index',
style: const TextStyle(color: Colors.white, fontSize: 24),
),
),
);
}
}
画面效果
2.2 ScrollPhysics
ScrollPhysics 用于确定可滑动的Widget的滑动物理特效,常用几种的ScrollPhysics如下:
- NeverScrollableScrollPhysics
不允许左右滑动。 - BouncingScrollPhysics
iOS风格的滑动效果,有物理弹性,和上图的滑动效果一致。 - ClampingScrollPhysics
Android风格的滑动效果,无弹性效果,滑到底部后不允许继续滑。
PageView的physics
属性的默认值是PageScrollPhysics,若不自己设置,最终的滑动效果会根据系统的特性来展示。