就像你可能知道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());
}
答案 0 :(得分:13)
最新的AdMob SDK包含AdSize.SMART_BANNER,可为设备启用尺寸最佳匹配的广告。
我自己使用的是旧版本,并且不知道这个功能:D
答案 1 :(得分: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 normal)。
如果您需要以编程方式执行此操作,则可以使用以下方法获取屏幕大小:
Configuration config = activity.getResources().getConfiguration();
int screenlayout = config.screenLayout;
并进行比较,使用Configuration.SCREENLAYOUT_xxx。