我正在经历一个非常讨厌的错误,试图在我的网站中实现Admob 应用。 我认为问题出在我的代码中,但经过一些调查我 发现它也存在于Android-Banner-Essentials示例中(可供下载here)。 我想知道是否有人遇到过这个问题,或者知道如何处理 用它。
基本上,当应用程序同时禁用状态和标题栏时,它 应该全屏使用。 Banner Essentials示例仅显示Admob横幅 非常顶级的区域。 我下载了这个例子,只更改了两件事:
编译的二进制文件,无论它启动了什么设备(尝试过Nexus One,G1,Desire,不同的Android版本),都会遇到同样的问题:
我的测试显示Admob横幅没有50%的复制机会 回到它的位置 - 屏幕的顶部。 为了更好地展示我的意思,我准备了三个屏幕截图:
http://img841.imageshack.us/g/correctz.png/
重要告示:
我的应用程序比Banner Essentials稍微复杂一点,所以我开始在我的代码中搜索问题,没有运气,因此试图尽可能地简化情况,这是结果。
有谁知道可能导致问题的原因?也许必须设置一些额外的标志或属性来处理这种行为?
答案 0 :(得分:4)
这个被引用为Android错误。没有解决方案,只是一种解决方法。 你必须在onResume之后重新设置Window Fullscreen大约1秒(等到状态栏完成它的幻想滑动动画......),这将导致它重新/计算整个布局,“解决”问题(与快速跳转到正确的位置。)
public void onResume()
{
...
handler.postDelayed(new Runnable() {
public void run() {
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
}
}, 1500);
...
}
这不好。但它仍然是最好的。更多信息here。
答案 1 :(得分:0)
在我的情况下,此行为是由锁屏恢复触发的。不知道为什么但是在添加空的重载函数之后它被修复了(但我只在我的HTC Wilfire上测试过它)。这可能是一个不同的错误。
@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
/* Workaround a probable Android bug with fullscreen activities:
* on resume status bar hides and black margin stays,
* reproducible half of the time when coming back from lock screen
* (tested on HTC Wildfire)
* No idea why but this empty overload method fixed it.
*/
}