All'interno della nostra app è possibile visualizzare pagine web utilizzando il componente WebView.
Creare un nuovo progetto ed aggiungere WebView al nostro layout.
Ecco il codice per una WebView all'interno del layout principale
Ora bisogna aprire il file AndroidManifest.xml e inserire il codice a riga 5
Ora aprire il file MainActivity.kt e inserire le righe di codice 7-8-9-15 e dalla 22 alla 32
Creare un nuovo progetto ed aggiungere WebView al nostro layout.
Ecco il codice per una WebView all'interno del layout principale
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
<?xml version="1.0" encoding="utf-8"?> | |
<RelativeLayout | |
xmlns:android="http://schemas.android.com/apk/res/android" | |
xmlns:tools="http://schemas.android.com/tools" | |
xmlns:app="http://schemas.android.com/apk/res-auto" | |
android:layout_width="match_parent" | |
android:layout_height="match_parent" | |
app:layout_behavior="@string/appbar_scrolling_view_behavior" | |
tools:showIn="@layout/activity_main" | |
tools:context=".MainActivity"> | |
<!--Aggiunta di una WebView--> | |
<WebView | |
android:layout_width="match_parent" <!--occupa la larghezza massima disponibile--> | |
android:layout_height="match_parent" <!--occupa l'altezza massima disponibile--> | |
android:id="@+id/myweb" <!--nome identificativo del componente--> | |
tools:layout_editor_absoluteY="8dp" | |
tools:layout_editor_absoluteX="8dp" | |
android:layout_alignParentRight="false"/> | |
</RelativeLayout> |
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
<?xml version="1.0" encoding="utf-8"?> | |
<manifest xmlns:android="http://schemas.android.com/apk/res/android" | |
package="com.dm.tutorialwebview"> | |
<uses-permission android:name="android.permission.INTERNET"/> <!--Autorizzazione ad accedere a internet--> | |
<application | |
android:allowBackup="true" | |
android:icon="@mipmap/ic_launcher" | |
android:label="@string/app_name" | |
android:roundIcon="@mipmap/ic_launcher_round" | |
android:supportsRtl="true" | |
android:theme="@style/AppTheme"> | |
<activity | |
android:name=".MainActivity" | |
android:label="@string/app_name" | |
android:theme="@style/AppTheme.NoActionBar"> | |
<intent-filter> | |
<action android:name="android.intent.action.MAIN"/> | |
<category android:name="android.intent.category.LAUNCHER"/> | |
</intent-filter> | |
</activity> | |
</application> | |
</manifest> |
Ora aprire il file MainActivity.kt e inserire le righe di codice 7-8-9-15 e dalla 22 alla 32
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.tutorialwebview | |
import android.os.Bundle | |
import android.support.v7.app.AppCompatActivity; | |
import android.view.Menu | |
import android.view.MenuItem | |
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 kotlinx.android.synthetic.main.activity_main.* | |
class MainActivity : AppCompatActivity() { | |
var webview: WebView? = null // dichiarazione della variabile WebView | |
override fun onCreate(savedInstanceState: Bundle?) { | |
super.onCreate(savedInstanceState) | |
setContentView(R.layout.activity_main) | |
setSupportActionBar(toolbar) | |
webview = findViewById(R.id.myweb) // associazione variaible-componente nel layout | |
webview!!.webViewClient = WebViewClient() | |
webview!!.settings.javaScriptEnabled = true //abilitazione del JavaScript (impostare false per disattivare) | |
webview!!.webChromeClient = WebChromeClient() | |
webview!!.settings.domStorageEnabled = true | |
webview!!.settings.builtInZoomControls = true // abilita comandi zoom (impostare false per disattivare) | |
webview!!.settings.setSupportZoom(true) // abilita zoom (impostare false per disattivare) | |
webview!!.overScrollMode = WebView.OVER_SCROLL_NEVER | |
webview!!.settings.useWideViewPort = true | |
webview!!.setInitialScale(1) // inizializzazione zoom a 100% | |
webview!!.loadUrl("https://davidetech.blogspot.com") | |
} | |
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) | |
} | |
} | |
} |
Download Project | ![]() |
Download file APK | ![]() |
Commenti
Posta un commento