我相信我有最独特和最奇怪的问题。
所以为了简单起见,我已经在世界上做了最简单的布局:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:background="#4d9345"
android:layout_height="match_parent" >
<com.google.android.gms.ads.AdView
android:id="@+id/adView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_alignParentTop="true"
ads:adSize="BANNER"
ads:adUnitId="@string/admob">
</com.google.android.gms.ads.AdView>
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:text="Button" />
</RelativeLayout>
然后是代码:
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
Window window = getWindow();
window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
window.addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
window.addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
window.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
setContentView(R.layout.myact);
AdView mAdView = (AdView) findViewById(R.id.adView);
AdRequest.Builder adRequest = new AdRequest.Builder();
AdRequest req = adRequest.build();
mAdView.loadAd(req);
}
情景1:
如果我在按下开始此活动的按钮时启动此活动,则一切正常。活动按预期显示(如下图所示):
情景2:
如果此活动是从屏幕关闭广播接收器启动的,则会在广告加载后立即弄乱布局。包括窗口在内的所有内容都被下推。 (如下图):
您可以看到即使其父级(相对布局)被推下(正如您在上面看到的那样广告是黑色间隙)。
情景3:
如果我对XML布局代码进行了一些更改,则给予admob view margin top:
android:layout_marginTop="25dp"
结果是内容没有被推下:
需要注意的事项:
此活动在某些情况下启动,但仅在屏幕关闭时启动。
如果我不使用requestWindowFeature(Window.FEATURE_NO_TITLE);在我的代码中,它没有问题,但使用此功能是很棘手的。
使这个问题更加奇怪: 3.它仅在三星Galaxy S3 mini上实现。它适用于HTC One,HTC Wildfire和其他一些没有问题的人。 (但也许有些设备可以完全支持galaxy s3 mini)。 4.我只在Admob和Leadbolt广告上遇到过这种行为。使用亚马逊,Mmedia甚至我自己的广告(从我的服务器中取出),它没有问题。
即便如此,我也不会期待,因为这是最奇怪的问题,我真的会帮助一些帮助......
提前谢谢。
答案 0 :(得分:1)
这可能是隐藏或正确显示操作栏的问题,并且必须对窗口标记执行某些操作。
查看这篇旧帖子,试试解决方案。它可能会奏效。 Android - status bar prevents full screen