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: []);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Flutter是一种跨平台的移动应用开发框架,能够实现在iOS、Android和Web三个平台上进行开发和适配。以下是一个简单的Flutter三端适配的Demo实现。 首先,在flutter项目的根目录下创建一个名为`lib`的文件夹,用于存放我们的Flutter代码。然后,在`lib`文件夹下创建三个文件夹,分别为`android`、`ios`和`web`,用于存放对应平台的代码。 在`android`文件夹中,可以编写Android平台相关的代码。例如,可以在`MainActivity.kt`中做一些Android特定的设置,比如隐藏导航栏、设置应用图标等。 在`ios`文件夹中,可以编写iOS平台相关的代码。例如,可以在`AppDelegate.swift`中设置应用程序的启动配置、设置推送通知等。 在`web`文件夹中,可以编写Web平台相关的代码。例如,可以在`index.html`文件中修改网页标题、添加favicon等。 接下来,在`lib`文件夹下创建一个名为`main.dart`的文件,用于编写Flutter应用的业务逻辑。在`main.dart`中,可以编写整个应用程序的界面和交互逻辑。 在`main.dart`中,需要使用`Platform`类来判断当前运行的平台,并根据平台做出不同的适配。例如,可以使用`Platform.isAndroid`来判断当前是否是Android平台,然后分别调用Android平台的特定代码。同样的,也可以使用`Platform.isIOS`和`Platform.isWeb`来判断当前平台,并进行相应的适配。 总结起来,一个Flutter三端适配的Demo就是在一个Flutter项目中,通过编写平台特定的代码,针对不同的平台进行适配。通过使用`Platform`类来判断当前运行的平台,并根据平台的不同做出相应的操作和适配。这样就能够实现在iOS、Android和Web三个平台上进行开发和适配

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值