Android 以编程方式在底部显示admob广告

Android 以编程方式在底部显示admob广告,android,android-layout,admob,Android,Android Layout,Admob,关于这个话题我读了很多书,但没有一本是有效的。我从Android开发者那里获得了以下代码: private AdView adView; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); addListenerOnButton(); // C

关于这个话题我读了很多书,但没有一本是有效的。我从Android开发者那里获得了以下代码:

private AdView adView;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    addListenerOnButton();

    // Crear adView.
    adView = new AdView(this);
    adView.setAdUnitId("MY_UNIT_ID");
    adView.setAdSize(AdSize.BANNER);

    // Buscar RelativeLayout suponiendo que se le ha asignado
    // el atributo android:id="@+id/mainLayout".
    RelativeLayout layout = (RelativeLayout)findViewById(R.id.activity_main);

    // Añadirle adView.
    layout.addView(adView);

    // Iniciar una solicitud genérica.
    AdRequest adRequest = new AdRequest.Builder().build();

    // Cargar adView con la solicitud de anuncio.
    adView.loadAd(adRequest);
  } 

@Override
  public void onPause() {
    adView.pause();
    super.onPause();
  }

  @Override
  public void onResume() {
    super.onResume();
    adView.resume();
  }

  @Override
  public void onDestroy() {
    adView.destroy();
    super.onDestroy();
  }

它显示广告,但不在屏幕底部。我也尝试过使用LayoutParams,但任何方法都有效。

您可以手动设置坐标,代码如下:

@Override
public void onWindowFocusChanged (boolean hasFocus) {
    //get display height
    DisplayMetrics displaymetrics = new DisplayMetrics();
    getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
    int displayHeight = displaymetrics.heightPixels;

    //get adView height
    int adViewHeight = adView.getHeight();
    int viewStartX = displayHeight = adViewHeight;
    adView.setX(viewStartX);      
}
如果代码不是我用手机写的100%,你应该得到逻辑