Flutter 全评适配SystemUiMode

SystemUiMode {
leanBack,
immersive,
immersiveSticky,
edgeToEdge,
manual,
}
这是一个关于系统UI模式的枚举(SystemUiMode),用于控制应用程序的全屏显示以及系统UI的交互方式。以下是每个模式的含义:

leanBack:在这个模式下,应用程序以全屏显示,状态栏和导航栏可以通过轻触屏幕的任何位置来显示。适用于SDK版本16或Android J及更高版本。对于在iOS上运行的应用程序,状态栏和主页指示器会被隐藏,以获得类似的全屏体验。点击屏幕会显示覆盖层,这个手势不会被应用程序接收。

immersive:在这个模式下,应用程序以全屏显示,状态栏和导航栏可以通过在屏幕边缘滑动手势来显示。适用于SDK版本19或Android K及更高版本。对于在iOS上运行的应用程序,状态栏和主页指示器会被隐藏,以获得类似的全屏体验。从屏幕边缘滑动手势会显示覆盖层。与SystemUiMode.immersiveSticky不同,这个手势不会被应用程序接收。

immersiveSticky:在这个模式下,应用程序以全屏显示,状态栏和导航栏可以通过在屏幕边缘滑动手势来显示。适用于SDK版本19或Android K及更高版本。对于在iOS上运行的应用程序,状态栏和主页指示器会被隐藏,以获得类似的全屏体验。从屏幕边缘滑动手势会显示覆盖层。与SystemUiMode.immersive不同,这个手势会被应用程序接收。

edgeToEdge:在这个模式下,应用程序以全屏显示,状态和导航元素会渲染在应用程序上方。适用于SDK版本29或Android 10及更高版本。对于在iOS上运行的应用程序,状态栏和主页指示器会可见。系统覆盖不会在这种模式下消失或重新出现,因为它们会永久显示在应用程序上方。

manual:在这个模式下,开发人员需要手动配置SystemUiOverlay。通过使用SystemChrome.setEnabledSystemUIMode方法,可以设置首选的覆盖。当启用SystemUiOverlay.top时,状态栏将在所有平台上保持可见。省略此覆盖将在iOS和Android上隐藏状态栏。当启用SystemUiOverlay.bottom时,Android和iOS应用程序的导航栏和主页指示器将保持可见。省略此覆盖将隐藏它们。省略两个覆盖将导致与SystemUiMode.leanBack相同的配置。

SystemChrome.setEnabledSystemUIMode(SystemUiMode.edgeToEdge, overlays: []);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值