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

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


通知总是显示在显示屏顶部25dp高的状态栏中,除了API级别11(蜂窝)的sw600设备(即任何方向上的最小宽度为600dp;请参阅此博客文章以获取更多信息)通过16(Jelly Bean pre-MR1)。 在这些设备上,显示器底部有一个48dp高的“组合系统栏”。

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

如果你只是想要一个布尔值来告诉你状态栏是否在最上面,那么用上面的例子中的layout替换values ,然后把一个<bool>放到foo.xml ,除了values-sw600dp情况外,这个<bool> values-sw600dp是true。

链接地址: http://www.djcxy.com/p/67765.html

上一篇: How to detect position of notifications area?

下一篇: a set of strings and reopening String