NativeExpressAdView设置adSizeto适用于所有尺寸

时间:2016-09-26 09:58:37

标签: android admob native-ads

我正在我的应用中实施原生广告,我在设置广告的宽度方面遇到了问题。虽然高度非常直接,但宽度给我带来了麻烦:

我尝试过这样设置:

   adView.setAdSize(new AdSize((int) (getResources().getConfiguration().screenWidthDp - (getResources().getDimension(R.dimen.margin) / getResources().getDisplayMetrics().density)), 80));

由于广告包含在设置了边距的LinearLayout中,因此我无法使用FULL_WIDTH,因此我需要在代码中计算宽度。

现在,问题在于所有屏幕尺寸的宽度都不正确,而在某些屏幕尺寸上工作正常,在其他情况下,我会收到消息,例如

“没有足够的空间展示广告。需要315x80 dp,但只有310x ....”

如何计算宽度以适当缩放所有屏幕尺寸,并确保广告实际显示在自己身上?

注意:添加内容显示在LinearLayout中,可以在常规活动布局文件中或在ListView中。

1 个答案:

答案 0 :(得分:0)

这是因为AdSize需要dp参数并且您正在将边距转换为像素。

还要注意任何填充,某些视图(如AppCompat视图)在某些平台上而不是其他平台上添加。例如,CardView为KitKat及其下方的每一侧添加2dp填充,但Lollipop及更高版本没有添加填充。