Schermata di spruzzatura durante il caricamento di un URL in una videata in applicazioni Android

Ho un'app, che ha 2 attività, il primo lancia il secondo per caricare un url in una webview.

Funziona, ma mentre l'url sta caricando, il webview apparirà vuoto … poi voglio fare uno schizzo o qualcosa del genere, per mostrarla mentre l'url sta caricando, l'ho fatto in una nuova attività, ma non lo faccio Non so cosa posso fare per chiudere la terza attività quando l'url è caricato … Si prega di aiutarmi qualcuno?

  • Come ottimizzare la coda di networking in android Volley? (Volley Google IO 2013)
  • android - applica il selettivoItemBackground in xml con supporto v7
  • Come faccio a vedere se Wi-Fi è connesso in Android?
  • Utilizzo di funzioni native in Android con OpenCV
  • Metodo di WebView shouldOverrideUrlLoading di Android
  • Fermare / riprendere il download di connessione http
  • Questo è il mio codice … Grazie!

    public class Visor extends Activity { WebView mWebView; int Result; @Override public void onCreate (Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.visor); Bundle extras=getIntent().getExtras(); String s= extras.getString("url"); mWebView = (WebView) findViewById(R.id.webview); mWebView.getSettings().setJavaScriptEnabled(true); mWebView.getSettings().setPluginsEnabled(true); mWebView.getSettings().setAllowFileAccess(true); mWebView.loadUrl(s); mWebView.setWebViewClient(new VisorClient()); mWebView.getSettings().setBuiltInZoomControls(true); } private class VisorClient extends WebViewClient { @Override public void onPageStarted(WebView view, String url, Bitmap favicon) { lanzarIntro(); } @Override public void onPageFinished(WebView view, String url) { mWebView.loadUrl(url); } } public void lanzarIntro(){ Intent i=new Intent (this, Intro.class); startActivity(i); } } 

  • Android SDK: Samba server in streaming video su Android utilizzando VideoView?
  • Android Studio: javadoc è vuoto in hover
  • Come posso creare controlli personalizzati in Android?
  • Come modificare la lingua di Google Map V2 per Android App
  • come creare un APK e separare le librerie che l'applicazione carica dynamicmente
  • Come determinare il frammento ripristinato dal backstack
  • 2 Solutions collect form web for “Schermata di spruzzatura durante il caricamento di un URL in una videata in applicazioni Android”

    Lo faccio visualizzando inizialmente un ImageView e poi una volta che il WebView è stato caricato, sostituendo la loro visibilità come questa

      WebView wv = (WebView) findViewById(R.id.webView1); wv.getSettings().setJavaScriptEnabled(true); wv.setWebViewClient(new WebViewClient() { ... @Override public void onPageFinished(WebView view, String url) { //hide loading image findViewById(R.id.imageLoading1).setVisibility(View.GONE); //show webview findViewById(R.id.webView1).setVisibility(View.VISIBLE); } }); wv.loadUrl("http://yoururlhere.com"); 

    E il mio layout xml sembra questo

      <ImageView android:id="@+id/imageLoading1" android:layout_height="fill_parent" android:layout_width="fill_parent" android:visibility="visible" android:src="@drawable/vert_loading" /> <WebView android:id="@+id/webView1" android:layout_height="fill_parent" android:layout_width="fill_parent" android:visibility="gone" /> 

    Ho un'attività. 1 file xml e 1 class java. Dentro file xml ho:

    1. WebView
    2. ImageView, il logo della mia applicazione,
    3. ProgressBar e
    4. TextView, versione dell'app.

    Codice di main.xml:

     <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:a="http://schemas.android.com/apk/res/android" a:layout_width="fill_parent" a:layout_height="fill_parent" a:background="#aaaaaa" a:orientation="vertical" > <WebView a:id="@+id/webView1" a:layout_width="fill_parent" a:layout_height="fill_parent" /> <ImageView a:id="@+id/imageView1" a:layout_width="wrap_content" a:layout_height="wrap_content" a:layout_alignParentTop="true" a:layout_centerHorizontal="true" a:layout_marginTop="46dp" a:src="@drawable/logo" /> <ProgressBar a:id="@+id/progressBar1" a:layout_width="wrap_content" a:layout_height="wrap_content" a:layout_below="@+id/imageView1" a:layout_centerHorizontal="true" /> <TextView a:id="@+id/textView1" a:layout_width="wrap_content" a:layout_height="wrap_content" a:layout_alignParentBottom="true" a:layout_alignParentRight="true" a:layout_marginBottom="13dp" a:layout_marginRight="13dp" a:text="version 1.0" a:textAppearance="?android:attr/textAppearanceSmall" a:textColor="#444444" /> </RelativeLayout> 

    Codice di NovcanikActivity.java:

     package zm.Nocanik; import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.view.View; import android.webkit.DownloadListener; import android.webkit.WebSettings; import android.webkit.WebView; import android.webkit.WebViewClient; import android.widget.ImageView; import android.widget.ProgressBar; import android.widget.TextView; public class NovcanikActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); WebView webview = (WebView) findViewById(R.id.webView1); WebSettings websettings = webview.getSettings(); websettings.setJavaScriptEnabled(true); websettings.setSaveFormData(false); websettings.setSavePassword(false); webview.loadUrl("http://m.novcanik.net/?appvers=1.0"); webview.setHorizontalScrollBarEnabled(false); webview.setScrollBarStyle(View.SCROLLBARS_OUTSIDE_OVERLAY); webview.setBackgroundColor(128); webview.setWebViewClient(new NovcanikWebViewClient()); webview.setDownloadListener(new DownloadListener() { public void onDownloadStart(String url, String userAgent, String contentDisposition, String mimetype, long contentLength) { Intent intent = new Intent(Intent.ACTION_VIEW); intent.setData(Uri.parse(url)); startActivity(intent); } }); } public void visible(){ WebView webview = (WebView) findViewById(R.id.webView1); ImageView logo = (ImageView) findViewById(R.id.imageView1); ProgressBar bar = (ProgressBar) findViewById(R.id.progressBar1); TextView version = (TextView) findViewById(R.id.textView1); webview.setVisibility(10); logo.setVisibility(0); bar.setVisibility(0); version.setVisibility(0); } public void unvisible(){ WebView webview = (WebView) findViewById(R.id.webView1); ImageView logo = (ImageView) findViewById(R.id.imageView1); ProgressBar bar = (ProgressBar) findViewById(R.id.progressBar1); TextView version = (TextView) findViewById(R.id.textView1); webview.setVisibility(0); logo.setVisibility(10); bar.setVisibility(10); version.setVisibility(10); } private class NovcanikWebViewClient extends WebViewClient { @Override public boolean shouldOverrideUrlLoading(WebView webview, String url){ webview.loadUrl(url); return true; } @Override public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) { // TODO Auto-generated method stub view.loadUrl("file:///android_asset/noconnection.html"); } @Override public void onPageStarted(WebView view, String url, Bitmap favicon) { visible(); } @Override public void onPageFinished(WebView view, String url) { unvisible(); } } } 

    Spiacenti per nessuna descrizione. Se ci sarebbe bisogno di una descrizione, descriverò in dettaglio l'integer codice.

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.