initState method

  1. @override
void initState()
override

初始化状态 StatefulWidget 的状态类中第一个被调用的方法,用于初始化状态,可以执行一些一次性的初始化工作

Called when the state is first created. Used for one-time initialization.

Implementation

@override
void initState() {
  super.initState();

  logi("[lifecycle] initState");

  /// 获取播放控制器
  _playController = widget._controller;

  /// 初始化共享动画管理器
  _animationManager = SharedAnimationManager(this);

  /// 初始化场景类型
  _sceneType = _playController._widgetData?.sceneType ?? SceneType.vod;

  /// 添加观察者
  WidgetsBinding.instance.addObserver(this);

  /// 仅在非全屏上下文中注册全屏监听,防止全屏路由中的 AliPlayerWidget 再次 push
  if (!_playController.isFullScreenNotifier.value) {
    _playController.isFullScreenNotifier.addListener(_fullScreenListener);
    _hasFullScreenListener = true;
  }

  /// 监听设置面板请求的边缘触发(false → true)
  _settingsPanelRequestNotifier.addListener(_handleSettingsPanelRequestEdge);
}