Android上的AdMob Banner尺寸

时间:2013-07-29 12:48:12

标签: android admob

我目前正在将AdMob整合到我的Android游戏中。

我很难将智能横幅集成到基于framelayout的布局中,因为它们会在不同的设备上占用不同数量的屏幕空间。

例如,如果我在Acer A500(MDPI 1280x800)上显示智能横幅,我会收到1280x90px的尺寸,而在我的Nexus 7上,我会收到1279x66px(TVDPI 1280x800)和我的Galaxy Nexus( HDPI 1280x720),1196x64px。

根据AdMob文档,考虑到文档中给出的值是dp,这可能是可以理解的行为: https://developers.google.com/mobile-ads-sdk/docs/admob/smart-banners

然而,这种行为对我来说是一个很大的问题,因为在1200x800px MDPI屏幕上高度为90px的智能平板电脑比HDPI屏幕上高度为64px的智能横幅占用更多的屏幕空间(参见截图如下)。

所以,这是我的问题: - 至少对于智能横幅,我应该保留多少空间? - 有没有人尝试过类似的东西,你是怎么处理的?

注意:不幸的是,目前使用与framelayout不同的布局不是一种选择。此外,XML布局不能用于集成广告。

最诚挚的问候,

洛伦茨

截图:

http://imgur.com/qGAk77Y(A500)

2 个答案:

答案 0 :(得分:1)

如果您的布局是在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。

答案 1 :(得分:0)

  1. 不要考虑px。考虑dp(密度无关像素)
  2. 预留最大的空间。例如,使用包含布局的1280dp乘以90pd并将AdView嵌入其中。