Afficher une barre de progression sur un enfant de tabulation jusqu'à ce que la WebView charges
Dans une application Android, je suis en utilisant un TabView et l'un des onglets montre une WebView. Mais la page est vide jusqu'à ce que la page web est chargée. Comment afficher une barre de progression jusqu'à ce que le chargement de la page? Il ne peut pas être dans la barre de titre, car ce qui est caché par l'onglet accueil.
InformationsquelleAutor brian | 2010-03-22
Vous devez vous connecter pour publier un commentaire.
- Je utiliser une Barre pour cela. Avec une mise en page comme ceci:
Je masquer et d'afficher l'indicateur de progression à l'aide de:
Il y a un très bon tutoriel sur le Android site pour les Développeurs pour que. Il montre comment créer la 'roue' boîte de dialogue de progression utilisé tout au long de Android des programmes, et même quelques notions de base sur la façon de gérer le chargement dans un thread séparé pour empêcher votre application de gel pendant le chargement.
WebViewClient
à laWebView
et savoir quand la page est chargée, donc vous savez quand vous pouvez fermer la boîte de dialogue.Si votre question est "comment puis-je savoir quand le chargement de la page?", alors:
Créer une sous-classe personnalisée de WebViewClient, remplaçant onPageFinished()
Joindre une instance de votre WebViewClient sous-classe à votre WebView via setWebViewClient()
Configurer la durée indéterminée de l'indicateur de progression (bar, boîte de dialogue, RotateAnimation, etc.)
avant d'appeler loadUrl() sur la WebView
Ont onPageFinished() de se débarrasser de l'indicateur de progression (progressDialog.rejeter())
Après l'initialisation de votre point de vue juste d'appeler cette méthode
startWebView(web_view,"Your Url");
Ici web_view est votre initialisé WebView Objet. LestartWebView()
est donnée ci-dessous:Parfois, si l'URL est morte il sera redirigé et onLoadResource() avant onPageFinished méthode. Pour cette raison, la barre de progression ne fermeront pas. Pour résoudre ce problème, consultez ma Réponse.
Merci 🙂