为什么google admob广告在我的应用程序中超大?

时间:2014-05-12 01:08:28

标签: android android-layout admob

我正在开发Android应用程序。我试图在屏幕底部添加横幅。

但是,在运行时,它会显示警告

Not enough space to show ad! Wants: <936, 120>, Has: <720, 988>

看来屏幕还不够长。我是否需要编写程序或者我需要调整面板中的大小(但似乎没有调整大小的选择)

由于

以下是代码:

/* Load admob ad, change ca-app-pub-****** */
        adView = new AdView(this, AdSize.IAB_BANNER,
                "ca-app-pub-*********");
        LinearLayout adLayout = (LinearLayout) findViewById(R.id.admob_banner);
        adLayout.addView(adView);
        if (isNetworkConnected()) {
            adView.loadAd(new AdRequest());
        }


    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_marginTop="5dp" >

        <Button
            android:id="@+id/answer3"
            style="@style/mText"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="10dp"
            android:layout_marginRight="5dp"
            android:layout_weight="1"
            android:background="@drawable/orange_btns"
            android:shadowColor="#000"
            android:shadowDx="1.0"
            android:shadowDy="1.0"
            android:shadowRadius="0.7"
            android:text="Word 3"
            android:textColor="#333333"
            android:textStyle="bold" />

        <Button
            android:id="@+id/answer4"
            style="@style/mText"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:layout_marginRight="10dp"
            android:layout_weight="1"
            android:background="@drawable/orange_btns"
            android:shadowColor="#000"
            android:shadowDx="1.0"
            android:shadowDy="1.0"
            android:shadowRadius="0.7"
            android:text="Word 4"
            android:textColor="#333333"
            android:textStyle="bold" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/admob_banner"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom"
        android:layout_marginTop="10dp"
        android:gravity="bottom"
        android:minHeight="60dp"
        android:orientation="vertical" >

    </LinearLayout>
</LinearLayout>

2 个答案:

答案 0 :(得分:1)

您可以根据屏幕分辨率动态加载广告:

      AdSize adSize = AdSize.SMART_BANNER;

        DisplayMetrics dm = getResources().getDisplayMetrics();

        double density = dm.density * 160;
        double x = Math.pow(dm.widthPixels / density, 2);
        double y = Math.pow(dm.heightPixels / density, 2);
        double screenInches = Math.sqrt(x + y);

        if (screenInches > 8) { // > 728 X 90
            adSize = AdSize.LEADERBOARD;
        } else if (screenInches > 6) { // > 468 X 60
            adSize = AdSize.MEDIUM_RECTANGLE;
        } else { // > 320 X 50
            adSize = AdSize.BANNER;
        }



// Create an ad.
        adView = new AdView(this);
        adView.setAdSize(adSize);
        adView.setAdUnitId(AD_UNIT_ID);

答案 1 :(得分:0)

刚刚更改了adView = new AdView(这是AdSize.IAB_BANNER,                 &#34; ca-app-pub- ***** &#34;)adView = new AdView(这是AdSize.BANNER,                 &#34; CA-APP-pub-的 ***** &#34);

问题解决了。感谢