android - 获取屏幕曲线、角和切口的物理形状

如何获取有关 Galaxy S8 和 Pixel 2 XL 等屏幕圆角的信息? 我知道WindowInsets已添加到 Android KitKat Wear API 20 中,因此开发人员可以了解 Moto 360 上的“漏气轮胎”切口。但它仅包含每个边缘的整数偏移量。在带角的 S8 上进行的测试中,底部插图始终为 0(隐藏底部导航栏时)。

我看到 Android P Developer 预览版添加了一个 DisplayCutout到这门课,有RegionPath .文档说这是用于像 Essential 的缺口这样的切口。是否新DisplayCutout还包括有关 Pixel 2 XL 边角的信息?拥有 Pixel 和开发者预览版的人可以证实这一点吗?

如果我将我的应用程序调整为 float 窗口(即画中画),然后移动窗口使一个角或缺口侵入它,我会得到一个 onApplyWindowInsets 吗?新DisplayCutout信息?

有关 Galaxy S8、S9 等曲面边缘屏幕的信息如何?我猜 DisplayCutout不添加有关此的信息,我需要一个包含此信息的数据库吗?我们将无法确认这一点,直到 P 2019 年年中(?)左右到达 S9。

最佳答案

有一些更新:

  • Path 已从后续的 P 开发人员预览版中删除,但在 3 年后的 S 开发人员预览版中重新出现:DisplayCutout.getCutoutPath()
  • Android R 添加了 DisplayCutout.getWaterfallInsets()获得“代表瀑布显示的弯曲区域的插图”
  • S 开发者预览版还添加了一个 RoundedCorner API,通过 WindowInsets.getRoundedCorner(int position) .它提供了每个圆角的中心点和半径。引用:https://developer.android.com/about/versions/12/features#rounded_corner_apis

https://stackoverflow.com/questions/49228613/

相关文章:

java - 运行时使用插件的不同库版本

json - 使用 REST API 的 POST 方法进行读取操作

python - 删除使用 imageio 或 PIL 创建的 GIF 中的空间插值或压缩

c# - 如何在 OData v4 中获取枚举值而不是枚举名称?

security - 自动关联社交登录有什么安全风险(Oauth2)

apache-flink - 在不重启作业的情况下在 Apache Flink 中动态添加模式

google-app-engine - 如何在 objectify 中通过嵌套 Refs 进行查询

google-bigquery - bigquery 备份所有 View 定义

python - BeautifulSoup- find_all- 订单保存

python - 模仿 AWS CLI/gcloud 命令行参数