动态更改横幅尺寸

问题描述 投票:4回答:3

[这是东西,您可能知道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());

        }
android if-statement admob banner
3个回答
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大普通small)。

如果您需要以编程方式进行操作,则可以通过以下方法获取屏幕尺寸:

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

并且要进行比较,请使用Configuration.SCREENLAYOUT_xxx。


13
投票

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


0
投票

请确保使用新引入的AdMob Adaptive Banners。它们不需要您调整,并且会利用所有可用的宽度。

© www.soinside.com 2019 - 2024. All rights reserved.