NativeExpressAdView 设置 adSize 以适用于所有尺寸
NativeExpressAdView set adSizeto work on all sizes
我正在我的应用中实施原生快捷广告,但我在设置广告宽度时遇到了问题。虽然高度非常直截了当,但宽度给我带来了麻烦:
我试过这样设置:
adView.setAdSize(new AdSize((int) (getResources().getConfiguration().screenWidthDp - (getResources().getDimension(R.dimen.margin) / getResources().getDisplayMetrics().density)), 80));
由于广告包含在设置了边距的 LinearLayout 中,我无法使用 FULL_WIDTH
所以我需要在代码中计算宽度。
现在,问题是宽度在所有屏幕尺寸上都不正确,而在某些屏幕上它工作正常,在其他屏幕上我收到类似
的消息
"Not enough space to show ad. Needs 315x80 dp, but only has 310x...."
如何计算宽度以在所有屏幕尺寸上正确缩放并确保广告实际显示?
注意:添加显示在 LinearLayout 中,它可以在常规 activity 布局文件或 ListView 中。
这是因为 AdSize
采用 dp 参数,而您正在将边距转换为像素。
还要注意一些视图(例如 AppCompat 视图)在某些平台上而不是其他平台上添加的任何填充。例如 CardView
为 KitKat 及以下添加 2dp 填充,但没有为 Lollipop 及以上添加填充。
我正在我的应用中实施原生快捷广告,但我在设置广告宽度时遇到了问题。虽然高度非常直截了当,但宽度给我带来了麻烦:
我试过这样设置:
adView.setAdSize(new AdSize((int) (getResources().getConfiguration().screenWidthDp - (getResources().getDimension(R.dimen.margin) / getResources().getDisplayMetrics().density)), 80));
由于广告包含在设置了边距的 LinearLayout 中,我无法使用 FULL_WIDTH
所以我需要在代码中计算宽度。
现在,问题是宽度在所有屏幕尺寸上都不正确,而在某些屏幕上它工作正常,在其他屏幕上我收到类似
的消息"Not enough space to show ad. Needs 315x80 dp, but only has 310x...."
如何计算宽度以在所有屏幕尺寸上正确缩放并确保广告实际显示?
注意:添加显示在 LinearLayout 中,它可以在常规 activity 布局文件或 ListView 中。
这是因为 AdSize
采用 dp 参数,而您正在将边距转换为像素。
还要注意一些视图(例如 AppCompat 视图)在某些平台上而不是其他平台上添加的任何填充。例如 CardView
为 KitKat 及以下添加 2dp 填充,但没有为 Lollipop 及以上添加填充。