在使用Android 4.0+的设备上,仅使用纯Java代码时,白色矩形区域(在显示MMedia横幅时覆盖整个屏幕)存在。添加指定宽度和高度的线条不会修复任何事物(白色屏幕仍然存在)。希望这个问题能够被千禧一代团队调查。干杯
MMSDK.initialize(this);
millennialView = new MMAdView(this);
millennialView.setApid(MILLENNIAL_BANNER_ID);
millennialView.setId(MMSDK.getDefaultAdId());
RelativeLayout.LayoutParams lay2 = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
lay2.addRule(RelativeLayout.ALIGN_PARENT_TOP);
layout.addView(millennialView, lay2);
Map<String, String> metaData = new HashMap<String, String>();
metaData.put("width", "480");
metaData.put("height", "60");
MMRequest mmediaRequest = new MMRequest();
mmediaRequest.setMetaValues(metaData);
millennialView.setMMRequest(mmediaRequest);
millennialView.setListener(getMillennialListener());
millennialView.getAd();
答案 0 :(得分:0)
这与MMAdView应用于布局层次结构时的大小有关。由于其WebView内部更改,MMAdView无法识别WRAP_CONTENT。因此,Millennial的文档要求您明确设置广告尺寸。请参见此处的第二步:http://docs.millennialmedia.com/android-SDK/AndroidBannerAds.html
一个有趣的副作用:如果您使用的是中介合作伙伴(例如AdMob或MoPub),则必须对其横幅视图小部件(分别为AdView和MoPubView)执行相同操作。
答案 1 :(得分:0)
我最终将所有与MMedia相关的代码放到xml文件中并用android包装它:layout_width =“480dp”android:layout_height =“60dp”
答案 2 :(得分:0)
最新MMedia APi 5.2中的相同问题。
我使用列表视图附加Adview。使用匹配内容作为高度。
经过一些测试后,我发现横幅广告只能在我拥有的设备上使用Android 4.04中的整个屏幕。 4.4和姜饼似乎没问题。
以下是解决问题的代码:
float density = getResources().getDisplayMetrics().density;
if(Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB_MR2) {
height = display.getHeight();
width = display.getWidth();
} else {
Point size = new Point();
display.getSize(size);
height = size.y;
width = size.x;
}
LinearLayout layout = (LinearLayout)findViewById(R.id.llBannerAd);
if (width/density > 727 && height/density > 600) {
mAdView.setAdSize(AdSize.LEADERBOARD);
layout.setLayoutParams(new LinearLayout.LayoutParams(width, 91));
} else if (width/density > 467 && height/density > 400) {
mAdView.setAdSize(AdSize.FULL_BANNER);
layout.setLayoutParams(new LinearLayout.LayoutParams(width,61));
} else {
mAdView.setAdSize(AdSize.BANNER);
layout.setLayoutParams(new LinearLayout.LayoutParams(width, 55));
}