我正在我的应用中实施原生广告,我在设置广告的宽度方面遇到了问题。虽然高度非常直接,但宽度给我带来了麻烦:
我尝试过这样设置:
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中。
答案 0 :(得分:0)
这是因为AdSize
需要dp参数并且您正在将边距转换为像素。
还要注意任何填充,某些视图(如AppCompat视图)在某些平台上而不是其他平台上添加。例如,CardView
为KitKat及其下方的每一侧添加2dp填充,但Lollipop及更高版本没有添加填充。