有没有办法可以判断运行应用程序的设备是否需要SafeArea.我需要基于此真或假值运行代码.我不需要使用SafeArea小部件.如果设备需要填充,我只需要正确或错误的答案.

例如.像iPhone8这样的设备不需要填充,即使Widget被包装在SafeArea控件中也不会有填充.

例如.像iPhone X这样的设备确实需要填充,如果Widget被包装在SafeArea中,它们就会有填充.

SafeArea小部件如何判断设备是否需要填充?我查看了SafeArea小部件代码,但无法理解如何告诉它设备是否需要填充.

推荐答案

You can check if the top and bottom padding > 0 to see if the user's device has a notch to it:

window.viewPadding

以下是iPhone 11 Pro Max的一个示例:

Here's an example of iPhone 11 Pro Max

Dart相关问答推荐

dart 日期时差(分钟)

Futures 和异步代码如何在 Dart 中工作?

Dart:当两个或多个任务等待同一个 Future 时会发生什么

为什么使用三元条件运算符会产生return_of_invalid_type错误?

从 PopupMenuItem 中删除填充(overflow menu)

设置文本以匹配Flutter中的列宽

如何解决此Cannot enable MyLocation layer as location permissions are not granted?

FInal和top-level lazy初始化

找不到名为split-per-abi的选项

Firebase Crashlytics 崩溃未报告给 Flutter 中的 Firebase 控制台

将ListTile图标向左对齐

将Flutter的 PageView 与屏幕左侧对齐

Dart 中的snapshot快照概念是什么?

如何提高数据与二进制数据转换的 Dart 性能?

是否有任何官方计划在 Google App Engine 上支持 Dart?

Dart 中的 urlencoding

如何在 Dart 中进行整数除法?

在 Dart 中验证邮箱地址?

如何删除dart列表中的重复项? list.distinct()?

你需要在 Dart 中使用new关键字吗?