Android WebView總結
來源:互聯網
上載者:User
1、添加許可權:AndroidManifest.xml中必須使用許可"android.permission.INTERNET",否則會出Web page not available錯誤。 在Androidmanifest.xml檔案中添加 <uses-permission android:name="android.permission.INTERNET" /> </manifest> 2、在要Activity中產生一個WebView組件:WebView webView = new WebView(this); 3、設定WebView基本資料: 如果訪問的頁面中有Javascript,則webview必須設定支援Javascript。 webview.getSettings().setJavaScriptEnabled(true); 觸摸焦點起作用 requestFocus(); 取消捲軸 this.setScrollBarStyle(SCROLLBARS_OUTSIDE_OVERLAY); 4、設定WevView要顯示的網頁: 互連網用:webView.loadUrl("http://android.tgbus.com"); 本地檔案用:webView.loadUrl(file:///android_asset/xx.html);固定格式 本地檔案存放在:assets檔案中 5、如果希望點選連結由自己處理,而不是新開Android的系統browser中響應該連結。 給WebView添加一個事件監聽對象(WebViewClient) 並重寫其中的一些方法 shouldOverrideUrlLoading:對網頁中超連結按鈕的響應。 當按下某個串連時WebViewClient會調用這個方法,並傳遞參數:按下的url onLoadResource onPageStart onPageFinish onReceiveError onReceivedHttpAuthRequest 6、如果用webview點連結看了很多頁以後,如果不做任何處理,點擊系統“Back”鍵,整個瀏覽器會調用finish()而結束自身,如果希望瀏覽的網頁回退而不是退出瀏覽器,需要在當前Activity中處理並消費掉該Back事件。 覆蓋Activity類的onKeyDown(int keyCoder,KeyEvent event)方法。 public boolean onKeyDown(int keyCoder,KeyEvent event){ if(webView.canGoBack() && keyCoder == KeyEvent.KEYCODE_BACK){ webview.goBack(); //goBack()表示返回webView的上一頁面 return true; } return false; }