繁体   English   中英

Android AdMob重叠GLSurfaceView

[英]Android AdMob overlapping GLSurfaceView

我只想在GLSurfaceView下方以纵向显示AdMob横幅。 但这行不通。

为什么AdMob标语与GLSurfaceView重叠? 为什么只有在创建一次后暂停并恢复应用,我才能看到AdMob标语? 我不想仅将XML布局用于这2个视图,因此我会完全在代码中搜索一个简单的解决方案。

@Override
public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);

    adView = new AdView(this);
    adView.setAdUnitId(getResources().getString(R.string.banner_ad_unit_id));
    adView.setAdSize(com.google.android.gms.ads.AdSize.SMART_BANNER);
    AdRequest request = new AdRequest.Builder()
            .addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
            .addTestDevice("356613124234016")
            .build();
    adView.loadAd(request);

    gameView = new GameView(this);

    RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
    lp.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);

    RelativeLayout layout = new RelativeLayout(this);
    layout.addView(gameView);
    layout.addView(adView, lp);

    setContentView(layout);
}

好的,我找到了一个解决方案,每个需要快速简单解决方案的人:这是我如何解决的方法:

@Override
public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);

    adView = new AdView(this);
    adView.setAdUnitId(getResources().getString(R.string.banner_ad_unit_id));
    adView.setAdSize(com.google.android.gms.ads.AdSize.SMART_BANNER);
    AdRequest request = new AdRequest.Builder()
            .addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
            .addTestDevice("356613124234016")
            .build();
    adView.loadAd(request);

    gameView = new GameView(this);


    LinearLayout layout = new LinearLayout(this);
    layout.setOrientation(LinearLayout.VERTICAL);

    LinearLayout.LayoutParams gameP = new LinearLayout.LayoutParams(
            LinearLayout.LayoutParams.WRAP_CONTENT,
            LinearLayout.LayoutParams.WRAP_CONTENT, 1.0f);
    gameP.gravity = Gravity.TOP;

    LinearLayout.LayoutParams adP = new LinearLayout.LayoutParams(
            LinearLayout.LayoutParams.WRAP_CONTENT,
            LinearLayout.LayoutParams.WRAP_CONTENT, 0.0f);
    adP.gravity = Gravity.BOTTOM;

    layout.addView(gameView, gameP);
    layout.addView(adView, adP);

    setContentView(layout);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM