如何检测通知区域的位置?

sda*_*bet 7 android

有没有一种方法以编程方式检测的通知区域是否位于屏幕的顶部或右下角(像大多数平板电脑)?

dsa*_*ler 4

通知始终显示在显示屏顶部 25dp 高的状态栏中,API级别 11 (Honeycomb )sw600至16(MR1 之前的果冻豆)。在这些设备上,显示屏底部有一个 48dp 高的“组合系统栏”。

检查这一点的最简单方法是通过合格的资源;也就是说,将您的顶部状态栏假设布局放入layout/foo.xml,但然后在 中放置底部系统栏版本layout-sw600dp/foo.xml。最后,由于这些大型设备现在使用 Android 4.2 (API 17) 的顶部状态栏,因此您需要切换回layout-sw600dp-v17/foo.xml.

如果您只想要一个布尔值来告诉您状态栏是否位于顶部,请将layout上面的示例替换为values,并将 a 放入<bool>foo.xml这种values-sw600dp情况之外的 true 中。