Creación de una pantalla apropiada de Splash / Loading de Android
Tengo una aplicación que utiliza OpenGL en un GLSurfaceView. El problema es que la carga inicial lleva bastante tiempo procesando texturas y preparando las cosas.
Lo que quiero hacer es tener un simple PNG (con una ligera animación) mientras el GLSurfaceView se está preparando. Tan pronto como esté listo para hacer, me gustaría derribar la pantalla de bienvenida.
- Compatibilidad de Open GL 2.0 vs 1.1 en Android
- Android - OpenGL ES 2.0: Emulador (Works) - Dispositivo (no)
- Detectar los toques del usuario sobre un cuadrado OpenGL
- Bajo rendimiento al ejecutar eglSwapBuffer y eglMakeCurrent
- Generación aleatoria flotante entre negativo y positivo opengl es java
¿Cuál es la manera correcta de hacer esto? He intentado ViewFlipper, ViewSwitcher y un montón de otras cosas para cambiar entre mi vista de R.layout.main y mi GLSurfaceView, pero no puedo parecerse de hacerlo bien.
¿Algunas ideas?
- ¿Soporta el emulador de Android OpenGL ES 2.0?
- Cómo cargar y mostrar el archivo .obj en Android con OpenGL-ES 2
- Cómo crear un mapa interactivo en Android
- Android Openg GL ES 2 dibujo grandes texturas lento
- Dibuja Pixel con OpenGLEs para Android
- EGLImages con renderbuffer como hermano de origen y textura como hermano objetivo
- Android: dibuja el video de YouTube en SurfaceTexture
- OpenGL ES 2.0 IllegalArgumentException
Paso # 1: Haga que su GLSurfaceView
sea android:visibility="invisible"
en su diseño XML
Paso # 2: Ponga que GLSurfaceView
dentro de un FrameLayout
Paso # 3: Agregue un ImageView
como otro hijo del mismo FrameLayout
Paso # 4: Cuando el GLSurfaceView
esté listo, haga que el ImageView
sea invisible y haga que el GLSurfaceView
sea visible
Esto es lo que hice para superar esta situación …
He creado un diseño personalizado llamado loader.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/selectLevelID" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/loader" android:orientation="vertical" > </RelativeLayout>
después de eso, lo utilicé mientras creaba el renderizador para glSurfaceView
public GlRenderer(Context ctx) { loader_dialog = new Dialog(context,android.R.style.Theme_Black_NoTitleBar_Fullscreen); loader_dialog.setContentView(R.layout.loader); loader_dialog.show() //do your initializations.... loader_dialog.dismiss(); }
;
o simplemente llame a loader_dialog.dismiss();
después de cargar todos sus objetos, texturas, etc …
- ANDROID_HOME no establecido (agente VSTS que se ejecuta como servicio en OS X)
- GetLaunchIntentForPackage es nulo para algunas aplicaciones