Intereting Posts
Хранить длинную стоимость в базе данных android Отключите части кода, чтобы ускорить время сборки (Gradle) Параметр Android ContextMenu с иконкой Как проверить, что служба уже запущена или нет в Android? Android ListView: получить расстояние Overscroll Активы Android без контекста Выполнение плагина не распространяется на конфигурацию жизненного цикла: com.jayway.maven.plugins.android.generation2: android-maven-plugin: 3.5.0: генерировать-источники Android 4.4 KitKat – Как я могу избежать выбора нового файла? Как загрузить класс из массива байтов в android? Как добавить значок в круглое изображение Выделение вставки не работает, как описано в документации Можно ли использовать Dropbox, Google Диск, Skydrive и т. Д. В качестве серверного пространства? Воспроизведение предварительно записанного звука в голосовой вызов Ошибка установки Android Studio APK: «локальный путь не существует» Сохранение данных из WebView

Как разместить объявления admob над представлением LibGDX

Я читал много учебников, таких как этот:

https://github.com/libgdx/libgdx/wiki/Admob-in-libgdx

Однако я не могу, по-видимому, обвести голову. Все они используют рекламу, которая перекрывает представление игры, и я предпочел бы, чтобы она пошла выше, и мой игровой обзор просто свалился. Как я могу это сделать? Я попытался использовать Linear Layout, но это, похоже, не работает

Это мой метод onCreate ()

@Override public void onCreate (Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Create the layout RelativeLayout layout = new RelativeLayout(this); // Do the stuff that initialize() would do for you requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN); // Create the libgdx View View gameView = initializeForView(new HelloWorld(), false); // Create and setup the AdMob view AdView adView = new AdView(this, AdSize.BANNER, "xxxxxxxx"); // Put in your secret key here adView.loadAd(new AdRequest()); // Add the libgdx view layout.addView(gameView); // Add the AdMob view RelativeLayout.LayoutParams adParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT); adParams.addRule(RelativeLayout.ALIGN_PARENT_TOP); adParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT); layout.addView(adView, adParams); // Hook it all up setContentView(layout); } 

Как указано здесь , вы можете установить маржу к своему игровому виду, что очень хорошо работает:

  RelativeLayout layout = new RelativeLayout(this); RelativeLayout.LayoutParams gameViewParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT); gameViewParams.bottomMargin = 150; View gameView = initializeForView(new MainGame(), cfg); layout.addView(gameView, gameViewParams); AdView adView = new AdView(this); adView.setAdUnitId("app-id"); adView.setAdSize(AdSize.BANNER); RelativeLayout.LayoutParams adParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT); adParams.addRule(RelativeLayout.ALIGN_PARENT_LEFT); adParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM); layout.addView(adView, adParams); AdRequest adRequest = new AdRequest.Builder().build(); adView.loadAd(adRequest); setContentView(layout); 

Используя это, adView находится ниже игрового поля, но я думаю, вы можете поместить marginTop и иметь свой игровой режим под adView.

Вот как я справился с той же проблемой. Идея заключается в том, чтобы сначала установить AdView а затем поставить gameView под AdView в макете.

 @Override public void onCreate (Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Create the layout RelativeLayout layout = new RelativeLayout(this); // Do the stuff that initialize() would do for you requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN); // Create the libgdx View View gameView = initializeForView(new HelloWorld(), false); // Create and setup the AdMob view AdView adView = new AdView(this, AdSize.BANNER, "xxxxxxxx"); // Put in your secret key here adView.loadAd(new AdRequest()); // Add the AdMob view RelativeLayout.LayoutParams adParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT); adParams.addRule(RelativeLayout.ALIGN_PARENT_TOP); adParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT); //define in resource xml: <item type="id" name="adViewId"/> adView.setId(R.id.adViewId); layout.addView(adView, adParams); RelativeLayout.LayoutParams gameParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT); gameParams.addRule(RelativeLayout.BELOW, adView.getId()); // Add the libgdx view layout.addView(gameView, gameParams); // Hook it all up setContentView(layout); }