WebView的使用總結
1) 新增許可權:AndroidManifest.xml中必須使用許可"android.permission.INTERNET",否則會出Web page not available錯誤。
2) 在要Activity中生成一個WebView元件:WebView webView = new WebView(this);或者可以在activity的layout檔案裡新增webview控制元件:
<WebView
android:id="@+id/wv"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="@string/hello"
如果訪問的頁面中有Javascript,則webview必須設定支援Javascript。
webview.getSettings().setJavaScriptEnabled(true);
觸控焦點起作用
requestFocus();
取消滾動條
this.setScrollBarStyle(SCROLLBARS_OUTSIDE_OVERLAY);
4) 設定WevView要顯示的網頁:
網際網路用:webView.loadUrl("http://www.google.com");
6)為了讓WebView從apk檔案中載入assets,Android SDK提供了一個schema,字首為"file:///android_asset/"。WebView遇到這樣的schema,就去當前包中的 assets目錄中找內容。如上面的"file:///android_asset/demo.html"
2) 在要Activity中生成一個WebView元件:WebView webView = new WebView(this);或者可以在activity的layout檔案裡新增webview控制元件:
<WebView
android:id="@+id/wv"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="@string/hello"
/>
如果訪問的頁面中有Javascript,則webview必須設定支援Javascript。
webview.getSettings().setJavaScriptEnabled(true);
觸控焦點起作用
requestFocus();
取消滾動條
this.setScrollBarStyle(SCROLLBARS_OUTSIDE_OVERLAY);
4) 設定WevView要顯示的網頁:
網際網路用:webView.loadUrl("http://www.google.com");
本地檔案用:webView.loadUrl("file:///android_asset/XX.html"); 本地檔案存放在:assets檔案中
shouldOverrideUrlLoading:對網頁中超連結按鈕的響應。當按下某個連線時WebViewClient會呼叫這個方法,並傳遞引數:按下的url。比如當webview內嵌網頁的某個數字被點選時,它會自動認為這是一個電話請求,會傳遞url:tel:123,如果你不希望如此可通過重寫shouldOverrideUrlLoading函式解決:
public boolean shouldOverrideUrlLoading(WebView view,String url){
if(url.indexOf("tel:")<0){//頁面上有數字會導致連線電話
view.loadUrl(url);
}
return true;
}
6)為了讓WebView從apk檔案中載入assets,Android SDK提供了一個schema,字首為"file:///android_asset/"。WebView遇到這樣的schema,就去當前包中的 assets目錄中找內容。如上面的"file:///android_asset/demo.html"
7)addJavascriptInterface方法中要繫結的Java物件及方法要執行另外的執行緒中,不能執行在構造他的執行緒中,這也是使用 Handler的目的。
8.webview 中使用div層會出現重疊顯現.只能用dom方式操作div的刪除動作.
Webview與js互動
wv.addJavascriptInterface(new DemoJavaScriptInterface(), "demo");
private final class DemoJavaScriptInterface
{
DemoJavaScriptInterface(){}
public void clickonAndroid( final String order){
mHandler.post(newRunnable(){
@Override
public void run(){
jsonText="{"name":""+order+""}";
wv.loadUrl("javascript:wave("+jsonText+")");
}
});
}
}
WebView是一個顯示網頁的檢視。它依據於你自己的網頁瀏覽器或者只是顯示在你的Activity中的內容。
它使用了WebKit渲染引擎顯示網頁。它包括一些方法:通過瀏覽記錄向前和向後瀏覽,放大,縮小,進行文字搜尋等等。
實現內建的放大縮小使用 WebSettings.setBuiltInZoomControls(boolean)。
相關文章
- Android Webview和ScrollView衝突和WebView使用總結AndroidWebView
- Android中使用WebView遇到的問題總結:AndroidWebView
- android webview總結AndroidWebView
- Android混合開發之WebView使用總結AndroidWebView
- android WebView總結(轉)AndroidWebView
- WebView學習的總結————慕課網WebView
- Android Webview的一些使用總結和遇到過得坑AndroidWebView
- Android Webview 使用小結AndroidWebView
- WebView深度學習(二)之全面總結WebView遇到的坑及優化WebView深度學習優化
- webview的使用WebView
- 騰訊X5核心 WebView 實踐總結WebView
- Android WebView —— Java 與 JavaScript 互動總結AndroidWebViewJavaScript
- Android學習之 WebView使用小結AndroidWebView
- WebView使用WebView
- 小程式的一些總結:畫canvas和內嵌webviewCanvasWebView
- ListenalbeFuture的使用總結
- git的使用總結Git
- JXCategoryView的使用總結GoView
- cmake的使用總結
- Android 截圖與 WebView 長圖分享經驗總結AndroidWebView
- 最近使用 gin 的總結
- iconfonts使用的總結
- std::async的使用總結
- 最近使用redis的總結Redis
- Vuex基本使用的總結Vue
- JavaFx WebView使用研究JavaWebView
- WebView使用方法WebView
- 最全面總結 Android WebView與 JS 的互動方式(含例項Demo)AndroidWebViewJS
- SVN使用總結
- Git 使用總結Git
- Vuex使用總結Vue
- Toolbar使用總結
- Gson使用總結
- Ajax使用總結
- HelloCharts 使用總結
- Nginx使用總結Nginx
- VUE 使用總結Vue
- npm使用總結NPM