有没有办法以编程方式检测通知区域是位于屏幕顶部还是右下角(就像在大多数平板电脑上一样)?
最佳答案
通知始终显示在显示屏顶部 25dp 高的状态栏中, sw600
除外。 API 级别 11 (Honeycomb) 到 16(Jelly Bean pre-MR1)上的设备(即任何方向上的最小宽度为 600dp;有关更多信息,请参阅 this blog post)。在这些设备上,显示屏底部有一个 48dp 高的“组合系统栏”。
检查这一点的最简单方法是通过合格资源;也就是说,将您的 top-status-bar-assuming 布局放在 layout/foo.xml
中, 但随后在 layout-sw600dp/foo.xml
中有一个底部系统栏版本.最后,由于这些大型设备现在使用 Android 4.2 (API 17) 的顶部状态栏,您需要在 layout-sw600dp-v17/foo.xml
中切换回顶部状态栏版本。 .
如果您只想要一个 bool 值来告诉您状态栏是否在顶部,请替换 layout
在上面的示例中使用 values
, 并放置一个 <bool>
进入foo.xml
这是真的,除了在 values-sw600dp
案例。
关于android - 如何检测通知区域的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13993284/