Flutter开发中遇到 “从顶部向下滑动即可退出全屏模式”

近日在用flutte/dart 调试机顶盒app时,发现个别盒子一旦启动app就会进入半透明的全屏模式——安卓沉浸模式,而且还从顶部弹出一个蓝色的提示框,如下图

由于机顶盒无法触摸,顶部的弹框也一直无法获得光标,只能按back键关掉弹窗并退出半透明模式。


于是尝试了很多方法,设置SYSTEM_UI_FLAG_XXX 相关参数,始终毫无效果,弹窗依然会出现。


最后偶然发现根组件是Container的页面就不会弹框,而根部组件是Scaffold的就会弹出蓝色的提示框。 


查资料发现,对于Scarford组件,由于默认子组件很多,如头部导航栏,底部导航栏,drawer等,在个别盒子上认为调这个的组件是手机app, 于是就会显示沉浸式全屏并弹出上面的提示框。


对于电视来讲,不需要那么多默认组件(顶部、底部导航栏,全屏沉浸模式等),只需要显示简单内容即可,所以没必要使用五脏俱全的Scaffold 组件,使用简单的Container组件就足够了。


果然,把所有页面的Scaffold 组件改成Container组件,再次安装开启后弹框就消失了,也没有半透明沉浸模式。App开启后直接进入内容界面,没有其他默认组件出现。


结论:机顶盒app中,将 Scaffold组件替换成Container 组件就不会出现沉浸全屏模式和弹框提示

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值