如何获得设备的切口切口类型?
您可以获得所有侧面的安全边缘插图,以确保凹口(如果有)没有覆盖UI的任何部分。 (仅当您通过设置窗口标志LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES来启用应用程序以同时在缺口的左侧和右侧填充给定空间时,这才很重要。)>
在android开发人员选项中,您可以通过以下选择来模拟显示切口:
这些选项仅用于模拟,但它们提供的信息也一样,就我所知,该设备确实具有所选的切口,因此也应该有一种方法来查找设置类型。
在我的情况下(大多数情况下,通常也是大多数情况),UI的大部分位于水平居中位置,而没有真正触及屏幕的角。
我想在“角”和“高”切口之间进行区分,因为在我的情况下,角实际上并没有占据屏幕的重要部分。 ->如果屏幕是切角,则可以忽略安全边缘插图。
作为一个视觉示例:上方的屏幕来自三星Galaxy S10,带有一个角部切口,下方的屏幕是具有高切口的Google Pixel 3:
“-Example-”装在角落的开孔屏幕上,但被高的切口覆盖。
谢谢!
如何获得设备的切口切口类型?您可以获取所有侧面的安全边缘插图,以确保凹口(如果有)没有覆盖UI的任何部分。 (这只是...
[当我尝试解决此任务时,我可以找到的唯一合适的API是DisplayCutout
:
val corners = view.rootWindowInsets?.displayCutout?.boundingRects