7

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

4

1 回答 1

4

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

最简单的检查方法是通过合格的资源;也就是说,将您的顶部状态栏假设布局放入 中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情况下。

于 2012-12-28T01:37:11.763 回答