Android 4.0上的Millennial Media横幅中的白色矩形区域

时间:2012-07-03 11:06:13

标签: android android-4.0-ice-cream-sandwich millennial-media

在我的游戏中,我实现了Millennial Media和Admob横幅(Millennial在屏幕上方,Admob在底部)。使用RelativeLayout在Android / Java中以编程方式完成所有操作,首先我添加MMAdView然后添加OpenGl表面,最后添加AdmobView。在Android<设备上4.0一切都画得正确,但在冰淇淋三明治上有一个巨大的白色区域,而不是千禧年的横幅。我一直在努力解决这个问题太久了。有什么想法可以出错吗?
更新:我的朋友告诉我,当他没有连接到Wifi网络时,这个白色矩形区域是可见的。在我的代码中,我没有对网络可用性进行任何检查。我只是触发millennialView.setVisibility(View.VISIBLE)方法来显示横幅。

    adMobView = new AdView(this, AdSize.BANNER, ADMOB_BANNER_ID);
    adMobView.setAdListener(getAdMobListener());
    AdRequest request = new AdRequest();
    adMobView.loadAd(request);

    RelativeLayout.LayoutParams lay = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
    lay.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);        
    layout.addView(adMobView, lay);

// ... adding OpenGL surface

    int bannerWidth = (int)(displayMetrics.widthPixels * displayMetrics.density);

    Hashtable<String, String> map = new Hashtable<String, String>();
    map.put(MMAdView.KEY_WIDTH, String.valueOf(bannerWidth));
    map.put(MMAdView.KEY_HEIGHT, "53");
    millennialView = new MMAdView(this, MILLENNIAL_BANNER_ID, MMAdView.BANNER_AD_TOP, 30, map);
    millennialView.setId(MMAdViewSDK.DEFAULT_VIEWID);
    millennialView.setListener(getMillennialListener());

1 个答案:

答案 0 :(得分:0)

似乎问题是当网络不可用时显示千禧年横幅。现在,在展示横幅之前,我只需检查是否存在网络连接:

    ConnectivityManager connectivityMgr =
        (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
    if(connectivityMgr != null && connectivityMgr.getActiveNetworkInfo() != null) {
            millennialView.setVisibility(View.VISIBLE);