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

时间:2012-12-21 15:59:48

标签: android

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

1 个答案:

答案 0 :(得分:4)

通知始终显示在显示屏顶部的25dp高状态栏中,以外的sw600设备(即,任何方向的最小宽度为600dp;请参阅关于API级别11(Honeycomb)到16级(Jelly Bean pre-MR1)的更多信息this blog post。在这些设备上,显示屏底部有一个48dp高的“组合系统条”。

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

如果您只想要一个布尔值来告诉您状态栏是否在顶部,请将上面示例中的layout替换为values,并将<bool>放入{ {1}}除了foo.xml案例外,这是真的。