2

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

我试过这样设置:

   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 中。

4

1 回答 1

0

这是因为AdSize采用 dp 参数并且您将边距转换为像素。

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

于 2016-11-11T22:08:05.543 回答