1

У меня есть игра для Android, которая опирается на surfaceView, и у меня есть рекламные объявления поверх этого с использованием FrameLayout. FrameLayout lay = new FrameLayout (это); this.addContentView (lay, new LayoutParams (LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));admob of google play service не отображается над обзором поверхности

AdView adView = new AdView(this, AdSize.BANNER, "xxxxxxxx"); 
    lay.addView(renderer, new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); 
    lay.addView(adView, new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); 
    adView.setGravity(Gravity.LEFT); 
    this.setContentView(lay); 
    adView.loadAd(new AdRequest()); 

и все в порядке. Я хочу, чтобы интегрировать новые сервисы Google Play AdMob и я изменил код выше, чтобы

FrameLayout lay = new FrameLayout(this); 
    this.addContentView(lay, new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT)); 

    adView = new AdView(this); 
    adView.setAdUnitId("xxxxxxx"); 
    adView.setAdSize(AdSize.BANNER); 
    lay.addView(adView, new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); 
    this.setContentView(lay); 
    AdRequest adRequest = new AdRequest.Builder().build(); 
    adView.loadAd(adRequest);   

вид AdMob не показан вверх. Я знаю, что это мнение не возникает, потому что, если я добавлю только AdView в frameLayour, то я вижу объявления без каких-либо проблем.

Неужели кто-нибудь столкнулся с этой проблемой? Есть ли у кого-нибудь какие-либо предложения по этому поводу?

король считает

ответ

0

Убедитесь, что вы установили цвет фона для AdView. Он может быть «прозрачным». Затем, используя RelativeLayout или FrameLayout как ваш компоновкой родителя, определить параметры макета для AdView быть расположены, например, в центре нижней части экрана, как это:

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

     // Create an ad. 
     adView = new AdView(this); 
     adView.setAdSize(AdSize.BANNER); 
     adView.setAdUnitId(AD_UNIT_ID); 
     adView.setBackgroundColor(Color.TRANSPARENT); 
     // Add the AdView to the view hierarchy. The view will have no size 
     // until the ad is loaded. 
     RelativeLayout layout = new RelativeLayout(this); 
     layout.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); 
     // Create an ad request. 
     AdRequest adRequest = new AdRequest.Builder().build(); 

     // Start loading the ad in the background. 
     adView.loadAd(adRequest); 

     //Request full screen 
     requestWindowFeature(Window.FEATURE_NO_TITLE); 
     getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
     WindowManager.LayoutParams.FLAG_FULLSCREEN); 

     //Create a displayMetrics object to get pixel width and height 
     metrics = new DisplayMetrics(); 
     getWindowManager().getDefaultDisplay().getMetrics(metrics); 
     width = metrics.widthPixels; 
     height = metrics.heightPixels; 


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

     layout.addView(renderer); 
     layout.addView(adView, adParams); 

     //Set main renderer    
     setContentView(layout); 

} 
+0

Спасибо большое, когда я установил цвет Все отлично. Я предполагаю, что это «взлом», но я не против. –

Смежные вопросы