динамическое изменение размера баннера admob - PullRequest
4 голосов
/ 05 августа 2011

Здесь, как вы, наверное, знаете, Admob имеет функцию AdSize.*, где вы ставите Banner для показа баннерной рекламы, а AD_banner` для баннеров на планшетах, что я хочу сделать, это взять размер экрана устройство, чтобы я мог добавить его в свое заявление if и затем поставить правильный баннер для правильного устройства, я надеюсь, что я был достаточно ясен. Кто-нибудь может сказать мне, как я могу получить размер экрана устройства? Спасибо ////////// Вот что я сделал до сих пор

     DisplayMetrics dm = new DisplayMetrics();
        getWindowManager().getDefaultDisplay().getMetrics(dm);

       if (dm.density==DisplayMetrics.DENSITY_HIGH) {
        AdView adView = new AdView(this, AdSize.BANNER,s);
        LinearLayout layout = (LinearLayout)findViewById(R.id.admob);
        layout.addView(adView);
        adView.loadAd(new AdRequest());
       }
       if (dm.density==DisplayMetrics.DENSITY_DEFAULT || dm.density==DisplayMetrics.DENSITY_LOW ) {
             AdView adView = new AdView(this, AdSize.BANNER,s);
             LinearLayout layout = (LinearLayout)findViewById(R.id.admob);
             layout.addView(adView);
            adView.loadAd(new AdRequest());

        }
        if(dm.density==DisplayMetrics.DENSITY_MEDIUM)
        {
            AdView adView = new AdView(this, AdSize.IAB_BANNER,s);
            LinearLayout layout = (LinearLayout)findViewById(R.id.admob);
            layout.addView(adView);
            adView.loadAd(new AdRequest());

        }

Ответы [ 2 ]

13 голосов
/ 05 ноября 2012

Самый последний AdMob SDK включает в себя AdSize.SMART_BANNER, который позволяет использовать наиболее подходящую рекламу для устройства.

Я сам использовал более старую версию и не знал об этой функции: D

7 голосов
/ 05 августа 2011

Если ваш макет определен в xml, вы можете создать один макет на размер экрана (layout-xlarge / mylayout.xml, layout-large / mylayout.xml, layout-normal / mylayout.xml и т. Д.)

Подробнее здесь: http://developer.android.com/guide/practices/screens_support.html

Не смотрите на плотность, потому что 10,1-дюймовый планшет имеет среднюю плотность, а 4,3-дюймовый телефон с разрешением 480x850 будет иметь высокуюплотность.Вместо этого используйте размер экрана (большой большой нормальный маленький).

Если вам нужно сделать это программно, вы можете получить размер экрана следующим образом:

Configuration config = activity.getResources().getConfiguration();
int screenlayout = config.screenLayout;

и для сравнения используйте конфигурацию.SCREENLAYOUT_xxx.

...