有没有办法以编程方式检测通知区域是位于屏幕顶部还是位于右下角(如大多数平板电脑)?
解决方法
通知始终显示在显示屏顶部的25dp高状态栏中,除了sw600设备(即,任何方向的最小宽度为600dp;有关更多信息,请参阅
this blog post),API级别11(Honeycomb)到16 (Jelly Bean pre-MR1).在这些设备上,显示屏底部有一个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中的top-status-bar版本.
如果您只想要一个布尔值来告诉您状态栏是否在顶部,请将上面示例中的布局替换为值,并放置一个< bool>进入foo.xml,除了values-sw600dp情况外,这是真的.