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"
Результатом является то, что содержимое не сдвигается вниз:
Что следует отметить:
Это действие запускается при некоторых обстоятельствах, но только при выключенном экране.
Если я не использую 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 - строка состояния запрещает полный экран