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

标签 android

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

最佳答案

通知始终显示在显示屏顶部 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/

相关文章:

java - 位图 - Base64 字符串 - 位图转换 android

java - 插入和选择阿拉伯语数据 Android SQLite

android - 通过使用流畅的动画从右向左滑动来关闭一个 Activity 以转到第二个 Activity

android - 如何获取所有已安装小部件的 ID?

java - 构建我的 Android ReactJs Native 应用程序时遇到问题

java - MediaHTTPConnectionEx com.lge.media.MediaHTTPConnectionEx 442 寻求异常 toString : java. io.IOException

android - 循环遍历 ArrayList 时在后台添加标记

java - 为什么无法将 editView 内容传递给方法?

java - 从 Activity 调用 fragment 时应用程序崩溃

android - 通过面部检测代码进行OpenCV对象检测-ANDROID