Cómo sobreescribir onSetContentView mientras se utiliza la política de resolución de proporciones en la actividad del juego Base Andengine
Estoy desarrollando (Aprendiendo a construir :)) un juego con andengine GLES2. Estoy utilizando la actividad del juego base , y anula la vista setContent para colocar mi anuncio admob.
Todo funciona bien, excepto la política de resolución.
La política de resolución de relación es la que estoy usando junto con CAMERA_WIDTH = 800; Y CAMERA_HEIGHT = 480;
El problema es siempre que la escena onsetContentView overided no se alinean al centro , los márgenes se muestran sólo en la parte inferior no en la parte superior e inferior, lo mismo hará que al alinear horizontalmente el margen se mostrará sólo en el lado derecho, no en ambos lados. Cómo puedo corregir esto. Estoy dando mi código a continuación
- Las 5 mejores puntuaciones de google leaderboard
- Android Toast Mensajes no funcionan
- Mover sprite en Andengine
- ¿Por qué estoy recibiendo un error? El canal está irreparablemente roto y se eliminará.
- ¿Cómo destruir y recrear una escena en andengine correctamente?
@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); }
Aquí está la imagen lo que consigo puedes ver el margen blanco debajo de la escena si seleccionas la imagen (su no conseguir en la atención debido al desbordamiento de la pila también tenía fondo blanco)
Cualquier sugerencia será muy útil para mí
¿Cómo puedo resolver esta Isuue? Por favor, ayúdame
Gracias a todos,
- Cambiar el valor de la variable de otra clase
- Cómo mover el objeto sprite con AndEngine (Android)
- ¿Cómo aplico una fuerza a un cuerpo en la dirección que está viajando (Box2D)?
- <Uses-library /> en el manifiesto de Android
- Y la actividad del motor bg no encaja en la pantalla
- AndEngine dibujar line onSceneTouchEvent
- Servicios de juegos de Google Play - Notificación personalizada / Bienvenido de nuevo
- Y polígonos del motor
FIJO:
Después de un juego con los diseños que soy capaz de arreglar esto.
Ahora mi vista de la superficie se alinean al centro y el anuncio se muestra en la forma deseada.
Aquí está mi código
@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); }
- Código de error 3 Tiempo de espera cuando intento obtener geolocalización mediante Cordova en la plataforma Android
- ¿Cómo hacer que la función de notificación de respuesta directa de Android funcione en dispositivos pre-Android N?