In questo articolo vedremo come aggiungere la barra di caricamento circolare al centro della pagina web.
Nel precedente articolo abbiamo visto come aggiungere il componente WebView per visualizzare pagine web all'interno della nostra app, per aggiungere la progressBar (barra di caricamento) occorre aggiungere queste righe di codice al file MainActivity.kt
Aggiungere le righe di codice dalla riga 39 alla riga 52
Questo è il codice che visualizza o nasconde la progressBar a seconda se la pagina è in caricamento o caricata
Nel precedente articolo abbiamo visto come aggiungere il componente WebView per visualizzare pagine web all'interno della nostra app, per aggiungere la progressBar (barra di caricamento) occorre aggiungere queste righe di codice al file MainActivity.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.dm.tutorialwebview2 | |
import android.graphics.Bitmap //importazione della Classe: Bitmap | |
import android.os.Bundle | |
import android.support.v7.app.AppCompatActivity; | |
import android.view.Menu | |
import android.view.MenuItem | |
import android.view.View | |
import android.webkit.WebChromeClient //importazione della Classe: WebChromeClient | |
import android.webkit.WebView //importazione della Classe: WebView | |
import android.webkit.WebViewClient //importazione della Classe: WebViewClient | |
import android.widget.ProgressBar //importazione della Classe: ProgressBar | |
import kotlinx.android.synthetic.main.activity_main.* | |
import kotlinx.android.synthetic.main.content_main.* | |
class MainActivity : AppCompatActivity() { | |
var webview: WebView? = null | |
override fun onCreate(savedInstanceState: Bundle?) { | |
super.onCreate(savedInstanceState) | |
setContentView(R.layout.activity_main) | |
setSupportActionBar(toolbar) | |
webview = findViewById(R.id.myweb) | |
webview!!.webViewClient = WebViewClient() | |
webview!!.settings.javaScriptEnabled = true | |
webview!!.webChromeClient = WebChromeClient() | |
webview!!.settings.domStorageEnabled = true | |
webview!!.settings.builtInZoomControls = true | |
webview!!.settings.setSupportZoom(true) | |
webview!!.overScrollMode = WebView.OVER_SCROLL_NEVER | |
webview!!.settings.useWideViewPort = true | |
webview!!.setInitialScale(1) | |
webview!!.loadUrl("https://davidetech.blogspot.com") | |
// inizio codice per progressBar | |
if(webview != null) | |
{ | |
webview!!.webViewClient = object: WebViewClient(){ | |
override fun onPageStarted(view: WebView?, url: String?, favicon: Bitmap?) { | |
progressBar.visibility = View.VISIBLE | |
super.onPageStarted(view, url, favicon) | |
} | |
override fun onPageFinished(view: WebView?, url: String?) { | |
progressBar.visibility = View.GONE | |
super.onPageFinished(view, url) | |
} | |
} | |
} | |
// fine codice per progressBar | |
} | |
override fun onCreateOptionsMenu(menu: Menu): Boolean { | |
// Inflate the menu; questo aggiunge elementi alla barra delle azioni se è presente. | |
menuInflater.inflate(R.menu.menu_main, menu) | |
return true | |
} | |
override fun onOptionsItemSelected(item: MenuItem): Boolean { | |
// Gestisci i clic degli elementi della barra delle azioni qui. | |
// La barra delle azioni gestirà automaticamente i clic sul pulsante Home / Su, | |
// purché si specifichi un'attività principale in AndroidManifest.xml. | |
return when (item.itemId) { | |
R.id.action_settings -> true | |
else -> super.onOptionsItemSelected(item) | |
} | |
} | |
} |
Questo è il codice che visualizza o nasconde la progressBar a seconda se la pagina è in caricamento o caricata
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
if(webview != null) | |
{ | |
webview!!.webViewClient = object: WebViewClient(){ | |
override fun onPageStarted(view: WebView?, url: String?, favicon: Bitmap?) { | |
progressBar.visibility = View.VISIBLE | |
super.onPageStarted(view, url, favicon) | |
} | |
override fun onPageFinished(view: WebView?, url: String?) { | |
progressBar.visibility = View.GONE | |
super.onPageFinished(view, url) | |
} | |
} | |
} |
Download Project | ![]() |
Download file APK | ![]() |
Commenti
Posta un commento