PageView physics 属性的默认值问题

来源:7-1 基于PageView搭建首页导航框架

wireless_ZDJ

2025-01-23

图片描述
讲到 3:58 的时候,说
PageView 的属性 physics 有默认值
看源码,没有发现 physics 有默认值啊?
源码截图如下
图片描述
我哪里理解不对吗?

写回答

1回答

星辰大海1497010

2025-01-23

这里指的不设置的话也是会有默认行为的,在PageView的源码中其实有实现,无论是否设置physics,在build方法中都会创建一个ScrollPhysics,当不设置physics的时候ScrollPhysics用的是平台的默认行为

@override
Widget build(BuildContext context) {
  final AxisDirection axisDirection = _getDirection(context);
  final ScrollPhysics physics = _ForceImplicitScrollPhysics(
    allowImplicitScrolling: widget.allowImplicitScrolling,
  ).applyTo(
    widget.pageSnapping
      ? _kPagePhysics.applyTo(widget.physics ?? widget.scrollBehavior?.getScrollPhysics(context))
      : widget.physics ?? widget.scrollBehavior?.getScrollPhysics(context),
  );


1
1
wireless_ZDJ
非常感谢!
2025-01-24
共1条回复

慕课甄选-Flutter零基础极速入门到进阶实战

全新Flutter从入门到进阶,实战仿携程网App

661 学习 · 316 问题

查看课程