Как переопределить onSetContentView при использовании политики разрешения отношения в игровой деятельности Andengine Base

Я разрабатываю (учиться строить:)) игру с andengine GLES2. Я использую Активность в базовой игре, и я переопределяю view setContent, чтобы разместить свое объявление admob. Каждая вещь отлично работает, за исключением политики разрешения. Политика преобразования коэффициентов - это тот, который я использую вместе с CAMERA_WIDTH = 800; и CAMERA_HEIGHT = 480;

Проблема заключается в том, что при переопределении onsetContentView сцена не выравнивается по центру, поля отображаются только внизу, а не сверху и снизу. То же самое приведет к горизонтальному выравниванию маржа будет отображаться только с правой стороны, а не с обеих сторон. как я могу исправить это. Я даю свой код ниже

@Override
protected void onSetContentView() {
 System.out.println("Content setting");
 this.mRenderSurfaceView = new RenderSurfaceView(this);
 final LayoutParams layoutParams = new LayoutParams(
 android.view.ViewGroup.LayoutParams.MATCH_PARENT,
 android.view.ViewGroup.LayoutParams.MATCH_PARENT);
 layoutParams.gravity = Gravity.LEFT ;
 final android.widget.FrameLayout.LayoutParams surfaceViewLayoutParams = new FrameLayout.LayoutParams(
 layoutParams);
 adView = new AdView(this, AdSize.BANNER, "xxxxxxxxxxxxx");
 final FrameLayout.LayoutParams adViewLayoutParams = new FrameLayout.LayoutParams(
 FrameLayout.LayoutParams.WRAP_CONTENT,
 FrameLayout.LayoutParams.WRAP_CONTENT, Gravity.LEFT
 );
 final FrameLayout frameLayout = new FrameLayout(this);
 final FrameLayout.LayoutParams frameLayoutLayoutParams = new FrameLayout.LayoutParams(
 FrameLayout.LayoutParams.FILL_PARENT,
 FrameLayout.LayoutParams.FILL_PARENT,Gravity.CENTER);
 frameLayout.addView(this.mRenderSurfaceView, surfaceViewLayoutParams);
 frameLayout.addView(adView, adViewLayoutParams);
 this.setContentView(frameLayout, frameLayoutLayoutParams);
 this.mRenderSurfaceView.setRenderer(this.mEngine, this);
}

вот изображение, которое я получаю, вы можете увидеть белый край под сценой, если вы выберете изображение (его не попасть в внимание из-за также имело белый фон)

любые предложения будут очень полезны мне.

Как я могу решить этот Isuue Пожалуйста, помогите мне

Спасибо всем,

1 ответ

ИСПРАВЛЕНО:

После игры с макетами я могу исправить это.

Теперь мое представление поверхности выравнивается по центру, и объявление отображается желаемым образом.

Вот мой код

@Override
protected void onSetContentView() {
 final RelativeLayout relativeLayout = new RelativeLayout(this);
 final FrameLayout.LayoutParams relativeLayoutLayoutParams = new FrameLayout.LayoutParams(
 RelativeLayout.LayoutParams.FILL_PARENT, RelativeLayout.LayoutParams.FILL_PARENT);
 this.mRenderSurfaceView = new RenderSurfaceView(this);
 this.mRenderSurfaceView.setRenderer(this.mEngine, this);
 final android.widget.RelativeLayout.LayoutParams surfaceViewLayoutParams = new RelativeLayout.LayoutParams(BaseGameActivity.createSurfaceViewLayoutParams());
 surfaceViewLayoutParams.addRule(RelativeLayout.CENTER_IN_PARENT);
 relativeLayout.addView(this.mRenderSurfaceView, surfaceViewLayoutParams);
 FrameLayout frameLayout = new FrameLayout(this);
 adView = new AdView(this, AdSize.BANNER, "xxxxxxx");
 adView.refreshDrawableState();
 frameLayout.addView(adView);
 relativeLayout.addView(frameLayout);
 this.setContentView(relativeLayout, relativeLayoutLayoutParams);
}

licensed under cc by-sa 3.0 with attribution.