动态改变admob横幅大小

MBP*_*MBP 4 android if-statement banner admob

这是事情,你可能知道Admob有一个AdSize.* 功能,你把它放到Banner展示横幅广告,AD_banner`用于平板电脑横幅,我想要做的是采取一个设备的屏幕尺寸,以便我可以把它扔进我的如果声明然后把正确的横幅放到正确的设备,我希望我很清楚.所以任何人都可以告诉我如何获得设备的屏幕尺寸?谢谢你//////////这是我到目前为止所做的

     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());

        }
Run Code Online (Sandbox Code Playgroud)

Rel*_*mes 13

最新的AdMob SDK包含AdSize.SMART_BANNER,可为设备启用尺寸最佳匹配的广告.

我自己使用的是旧版本,并且不知道这个功能:D

  • 但请注意,您目前无法在AdMob网络中介中使用智能横幅广告,您可以阅读[文档](https://developers.google.com/mobile-ads-sdk/docs/admob/mediation). (2认同)

Nit*_*G42 7

如果您的布局是在xml中定义的,则可以为每个屏幕大小创建一个布局(layout-xlarge/mylayout.xml,layout-large/mylayout.xml,layout-normal/mylayout.xml等...)

更多信息请访问:http://developer.android.com/guide/practices/screens_support.html

不要看密度,因为10.1英寸的平板电脑具有中等密度,但具有480x850分辨率的4.3英寸手机将具有高密度.请改用屏幕尺寸(xlarge large normal small).

如果您需要以编程方式执行此操作,则可以使用以下方法获取屏幕大小:

Configuration config = activity.getResources().getConfiguration();
int screenlayout = config.screenLayout;
Run Code Online (Sandbox Code Playgroud)

并进行比较,使用Configuration.SCREENLAYOUT_xxx.