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:

Если я запускаю это действие, нажимая кнопку, которая запускает это действие, все в порядке. Активность показывает, как и ожидалось (рис. Ниже):

введите описание изображения здесь

СЦЕНАРИЙ 2:

Если это действие запускается с экрана SCREEN OFF Broadcast, оно портит макет сразу после загрузки объявления. Весь контент, включая окно, опущен вниз. (рис ниже):

введите описание изображения здесь

Вы можете видеть, что даже его родитель (Relative Layout) был сдвинут (как вы можете видеть выше, у рекламы черный разрыв).

СЦЕНАРИЙ 3:

Если я внесу некоторые изменения в код XML-макета, я приведу поле для обзора admob top:

android:layout_marginTop="25dp"

Результатом является то, что содержимое не сдвигается вниз:

введите описание изображения здесь

Что следует отметить:

  1. Это действие запускается при некоторых обстоятельствах, но только при выключенном экране.

  2. Если я не использую requestWindowFeature(Window.FEATURE_NO_TITLE); в моем коде это работает без проблем, но использование этой функции крайне важно.

Чтобы сделать эту проблему еще более странной: 3. Она делает это только на Samsung Galaxy S3 mini. Работало на HTC One, HTC Wildfire и некоторых других без проблем. (Но, может быть, есть устройства, которые делают именно ike на galaxy s3 mini). 4. Я сталкивался с таким поведением только в объявлениях Admob и Leadbolt. Используя Amazon, Mmedia или даже мою собственную рекламу (взятую с моего сервера), она работала без проблем..

Даже если я не ожидаю, потому что это самая странная проблема, я бы очень хотел помочь...

Заранее спасибо.

1 ответ

Решение

Вероятно, это проблема скрытия или правильного отображения панели действий, которая связана с флагами окна.

Проверьте в этом старом посте, и попробуйте решения. Это может сработать. Android - строка состояния запрещает полный экран

Другие вопросы по тегам