簡體   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