Точные размеры нехватки места указаны для нужд и имеют дп с помощью Admob

Я попытался установить для левого и правого полей заполнения значение 0 на Недостаточно места для показа рекламы (Реклама в приложении)

Error:  W/Ads: Not enough space to show ad. Needs 411x49 dp, but only has 411x49 dp.


@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        MobileAds.initialize(this, String.valueOf(R.string.ad_app_id));

        mAdView = findViewById(R.id.adView);
        AdRequest.Builder b = new AdRequest.Builder();
        b.addTestDevice((AdRequest.DEVICE_ID_EMULATOR));
        b.addTestDevice("<Redacted>");
        AdRequest adRequest = b.build();
        mAdView.loadAd(adRequest);
        initialiseView();
    }

    private void initialiseView() {
        LinearLayout mLinearLayout = findViewById(R.id.linearLayout);
        mGameView = new GameView(this);
        mLinearLayout.addView(mGameView, 0);
    }



<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:paddingLeft="0dp"
    android:paddingRight="0dp"
    >


    <LinearLayout
        android:paddingLeft="0dp"
        android:paddingRight="0dp"
        android:layout_weight="512"
        android:orientation="vertical"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/linearLayout">
    </LinearLayout>


    <RelativeLayout
        android:layout_weight="1"
        android:paddingLeft="0dp"
        android:paddingRight="0dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:orientation="vertical">

        <com.google.android.gms.ads.AdView
            xmlns:ads="http://schemas.android.com/apk/res-auto"
            android:id="@+id/adView"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            ads:adSize="SMART_BANNER"
            ads:adUnitId="ca-app-pub-XXX">
        </com.google.android.gms.ads.AdView>
    </RelativeLayout>
</LinearLayout>

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

На Nexus5X я вижу «Тестовое объявление»:

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

Обновление: я вижу это странное сообщение об ошибке:

ar W/Ads: Недостаточно места для показа рекламы. Требует 411x49 dp, но имеет только 411x49 dp.

???


person quantumpotato    schedule 29.01.2018    source источник


Ответы (1)


В файле xml измените корневой макет на RelativeLayout из Linear Layout, а также удалите «android: layout_weight = «512» из первого дочернего LinearLayout.

<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:paddingLeft="0dp"
    android:paddingRight="0dp">

 <RelativeLayout
    android:id="@+id/rvAd"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_weight="1"
    android:orientation="vertical"
    android:paddingLeft="0dp"
    android:paddingRight="0dp">

    <com.google.android.gms.ads.AdView xmlns:ads="http://schemas.android.com/apk/res-auto"
        android:id="@+id/adView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        ads:adSize="SMART_BANNER"
        ads:adUnitId="ca-app-pub-XXX"></com.google.android.gms.ads.AdView>
</RelativeLayout>

<LinearLayout
    android:id="@+id/linearLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_above="@+id/rvAd"
    android:orientation="vertical"
    android:paddingLeft="0dp"
    android:paddingRight="0dp">
</LinearLayout>
 </RelativeLayout>
person Hitesh Modhwadia    schedule 05.02.2018
comment
Если относительный, нужны определения того, как они расположены по сравнению друг с другом. Внесение предлагаемых вами изменений полностью скрывает рекламу. - person quantumpotato; 06.02.2018
comment
Пожалуйста, проверьте обновленный ответ и попробуйте заменить код xml. Может это поможет. - person Hitesh Modhwadia; 06.02.2018
comment
Работа на нескольких разных размерах экрана. Спасибо, Хитеш. - person quantumpotato; 07.02.2018
comment
Добро пожаловать @Quantumpotato. - person Hitesh Modhwadia; 07.02.2018