AdSize类使用getWidthInPixels()和getHeightInPixels()方法来获取广告的大小。虽然它们适用于BANNER,但它们不适用于SMART_BANNER。他们总是返回-2。
您能否建议我在运行时获取AdView大小的方法?
答案 0 :(得分:17)
如果您使用的是Google Play服务库,则可以使用:
int widthPixels = AdSize.SMART_BANNER.getWidthInPixels(this);
int heightPixels = AdSize.SMART_BANNER.getHeightInPixels(this);
在旧的独立Android AdMob SDK中,您必须采用hacky方式:
免责声明:这是创建AdSize的错误方法。 请勿将此AdSize传递给AdView构造函数!
希望智能横幅实现将在未来版本中修复,因此您无需执行此hacky解决方法。但这是如何做到的:
// This testSize should not be passed to the AdView constructor.
// Always pass AdSize.SMART_BANNER instead.
AdSize testSize = AdSize.createAdSize(AdSize.SMART_BANNER, this);
int widthPixels = testSize.getWidthInPixels(this);
int heightPixels = testSize.getHeightInPixels(this);
// testSize should not be referenced past this point.