Webview 載入網頁
阿新 • • 發佈:2018-11-17
import android.app.Activity;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ProgressBar;
import android.widget.TextView;
public class MainActivity extends Activity { WebView webview; ProgressBar pb; TextView tv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //獲取控制元件 webview 顯示網頁的控制元件 webview = (WebView) findViewById(R.id.webview); pb = (ProgressBar) findViewById(R.id.pb); tv = (TextView) findViewById(R.id.tv); //載入網頁的兩種方法(其中一種) //1.直接載入一個網址 webview.loadUrl //2.直接載入一個html字串 webview.loadData //直接輸入網址 webview.loadUrl("https://123.sogou.com/?81002-1001"); //載入assets下的html //webview.loadUrl("file:///android_asset/phone.html"); //webview的·設定類 WebSettings webSettings = webview.getSettings(); //放大縮小 webSettings.setBuiltInZoomControls(true); //得到網頁內容 //WebChromeClient 顯示進度條或彈出js物件框,就需要設定WebChromeClient物件 webview.setWebChromeClient(new WebChromeClient(){ @Override public void onProgressChanged(WebView view, int newProgress) { super.onProgressChanged(view, newProgress); //設定載入進度 pb.setProgress(newProgress); } @Override public void onReceivedTitle(WebView view, String title) { super.onReceivedTitle(view, title); //得到html的title,設定給當前textview; tv.setText(title); } }); //得到網頁的狀態 webview.setWebViewClient(new WebViewClient(){ @Override //載入完成 public void onPageFinished(WebView view, String url) { // TODO Auto-generated method stub super.onPageFinished(view, url); //隱藏進度條 pb.setVisibility(View.INVISIBLE); } //正在載入 @Override public void onPageStarted(WebView view, String url, Bitmap favicon) { // TODO Auto-generated method stub super.onPageStarted(view, url, favicon); //顯示進度條 pb.setVisibility(View.VISIBLE); } //點選超連結回掉的方法(攔截Url) @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { // TODO Auto-generated method stub return super.shouldOverrideUrlLoading(view, url); } }); }
}