You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

解决使用YoutubePlayerFlutter时SystemUi Overlay消失问题

YoutubePlayerFlutter 全屏退出后SystemUi Overlay消失问题解决

问题现象

使用YoutubePlayerFlutter播放视频时,进入全屏模式再退出后,会出现以下异常:

  • 点击全屏前:系统UI(状态栏、导航栏等)正常显示
  • 全屏中:系统UI自动隐藏
  • 退出全屏后当前页面:SystemUi Overlay完全消失
  • 切换到其他页面:SystemUi Overlay依然处于消失状态

解决方案

在YoutubePlayerBuilder中添加onExitFullScreen回调,强制恢复系统UI的显示状态:

onExitFullScreen: () => SystemChrome.setEnabledSystemUIMode(SystemUiMode.manual, overlays: SystemUiOverlay.values),

完整代码示例

Widget build(BuildContext context) {
  return YoutubePlayerBuilder(
    onExitFullScreen: () => SystemChrome.setEnabledSystemUIMode(
      SystemUiMode.manual,
      overlays: SystemUiOverlay.values,
    ),
    player: YoutubePlayer(controller: _ytController),
    builder: (context, player) {
      return Column(
        children: [
          Container(),
          player,
        ],
      );
    },
  );
}

注:我曾花费大量时间排查该问题,解决后决定分享出来,因为网上并未找到相关解决方案。如有需要进一步说明的地方,可补充更多细节。

内容的提问来源于stack exchange,提问作者Ankere

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 17:16:09