2015-02-23 43 views
0

我相信我有最独特和最奇怪的问题。Admob将所有内容压缩(包括窗口)!

因此,要保持它的简单我已经制造了世界上最简单的布局:

<?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:

如果我按下启动此活动的按钮启动此活动,一切正常。活动说明预期(PIC下):

enter image description here

方案2:

如果此活动与屏幕关闭广播接收器开始,它搅乱了布局,尽快在加载广告。包括窗口在内的所有内容都被压下。 (如下图):

enter image description here

你可以看到,即使其母公司(相对布局)被推下来(正如你所看到的广告上方是黑色的差距)。

场景3:

如果我做一些改变的XML布局代码ANA给AdMob中查看的保证金顶:

android:layout_marginTop="25dp" 

的结果是,内容不下推:

enter image description here

注意事项:

  1. 此活动在某些情况下启动,但仅在屏幕关闭时启动。

  2. 如果我不使用requestWindowFeature(Window.FEATURE_NO_TITLE);在我的代码中,它没有问题,但使用此功能是非常棘手的。

为了使这个问题更奇怪: 3.做到这一点只在三星Galaxy S3迷你。它在HTC One,HTC Wildfire和其他一些没有问题的情况下工作。 (但也许有些设备完全可以在Galaxy S3 mini上使用)。 4.我只在Admob和Leadbolt广告上体验过这种行为。使用亚马逊,Mmedia,甚至我自己的广告(从我的服务器拉),它的工作没有任何问题..

即使寿我不期望,因为这是最奇怪的问题,我真的appriciate一些帮助..

预先感谢您。

+0

你的设备运行的是什么版本的android? 通知栏在KitKat上工作不同(您实际上不能隐藏它) – 2015-02-23 13:14:20

+0

有问题的设备(Galaxy s3 mini)运行4.1.2。宏达野火(伟大的工程)运行较旧的2.3.5,和HTC One运行4.4.2(很好)。 – rootpanthera 2015-02-23 13:20:33

+1

嗯,不知道发生了什么,但看看这篇文章。它提到了一些错误,另一个答案有一些标志,可能会为你工作http://stackoverflow.com/questions/3074398/android-status-bar-prevents-full-screen – 2015-02-23 13:36:07

回答