Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

81
Vistas
Pantalla de bienvenida en un WebView de Android mientras se carga por primera vez hasta que se activa javascript onload

El comportamiento deseado al abrir una aplicación es:

  • Mostrar pantalla de inicio y cargar URL en paralelo
  • Cuando se activa una interfaz de JavaScript cuando se carga, simplemente elimine la pantalla de inicio

Mainactivity.java

 myWebView.addJavascriptInterface(new JavaScriptInterface(this, cookieManager),"Android");

JavaScriptInterface.java

 @JavascriptInterface public void hideOrRemoveSplashScreen() { objetcSplashScreen.doRemoveSplashScreen(); //... }

Página HTML (solo para páginas cargadas con la aplicación, debe detectarse con el Agente de usuario)

 $(function() { try{Android.hideOrRemoveSplashScreen()}catch(e){}; });

Actividad_principal.xml

 <?xml version="1.0" encoding="utf-8"?> <androidx.swiperefreshlayout.widget.SwipeRefreshLayout android:id="@+id/pullfresh" android:layout_width="match_parent" android:layout_height="match_parent" xmlns:android="http://schemas.android.com/apk/res/android"> <WebView android:id="@+id/msw_view" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_centerInParent="true"></WebView> </androidx.swiperefreshlayout.widget.SwipeRefreshLayout>

No sé cómo cargar en paralelo un simple .png como pantalla de inicio con el resto de la aplicación y luego, cómo eliminarlo.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Parece que esto está funcionando, no estoy seguro de que sea la manera correcta:

  1. Modificar activity_main.xml para poner un contenedor con la imagen y la vista web
 <?xml version="1.0" encoding="utf-8"?> <androidx.swiperefreshlayout.widget.SwipeRefreshLayout android:id="@+id/pullfresh" android:layout_width="match_parent" android:layout_height="match_parent" xmlns:android="http://schemas.android.com/apk/res/android"> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/container" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <ImageView android:id="@+id/splashimg" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/darkblue" android:src="@drawable/splash" /> <WebView android:id="@+id/msw_view" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_centerInParent="true"></WebView> </LinearLayout> </androidx.swiperefreshlayout.widget.SwipeRefreshLayout>

Luego agregue objetos en MainActivity.java

 container = findViewById(R.id.container); splash = findViewById(R.id.splashimg);

Y finalmente elimine la carga de imágenes dentro de Oncreate

 myWebView.setWebChromeClient(new MyChrome() { [...] @Override public void onProgressChanged(WebView view, int newProgress) { if (newProgress == 100){ container.removeView(splash); } super.onProgressChanged(view, newProgress); } }

Al cargar, la primera página activa removeView y un cuerpo blanco parpadea hasta que la página está completamente cargada, pero se puede arreglar configurando <body style='background-color'>

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda