1. 程式人生 > >WebView各種屬性詳解

WebView各種屬性詳解

開啟網頁時不呼叫系統瀏覽器, 而是在本WebView中顯示:

mWebView.setWebViewClient(new WebViewClient(){
      @Override
      public boolean shouldOverrideUrlLoading(WebView view, String url) {
          view.loadUrl(url);
          return true;
      }
  });

通過Java程式碼呼叫JavaScript

WebSettings webSettings =   mWebView .getSettings();       
webSettings.setJavaScriptEnabled(true
); mWebView.addJavascriptInterface(new Object() { public void clickOnAndroid() { mHandler.post(new Runnable() { public void run() { webview.loadUrl("javascript:wave()"); } }); } }, "demo"
);

按返回鍵時, 不退出程式而是返回上一瀏覽頁面:

public boolean onKeyDown(int keyCode, KeyEvent event) {       
        if ((keyCode == KeyEvent.KEYCODE_BACK) &&   mWebView .canGoBack()) {       
            webview.goBack();       
                   return true;       
        }       
        return super.onKeyDown(keyCode, event
); }

開啟頁面時, 自適應螢幕:

WebSettings webSettings =   mWebView .getSettings();       
webSettings.setUseWideViewPort(true);//設定此屬性,可任意比例縮放
webSettings.setLoadWithOverviewMode(true);

頁面支援縮放:

WebSettings webSettings =   mWebView .getSettings();       
webSettings.setJavaScriptEnabled(true);  
webSettings.setBuiltInZoomControls(true);
webSettings.setSupportZoom(true);

如果webView中需要使用者手動輸入使用者名稱、密碼或其他,則webview必須設定支援獲取手勢焦點。

webview.requestFocusFromTouch();

WebView 載入介面主要呼叫三個方法:LoadUrl、LoadData、LoadDataWithBaseURL.

  1. LoadUrl 直接載入網頁、圖片並顯示.(本地或是網路上的網頁、圖片、gif)
  2. LoadData 顯示文字與圖片內容 (模擬器1.5、1.6)
  3. LoadDataWithBase 顯示文字與圖片內容(支援多個模擬器版本)

WebSettings 的常用方法介紹

setJavaScriptEnabled(true);  //支援js

setPluginsEnabled(true);  //支援外掛 

setUseWideViewPort(false);  //將圖片調整到適合webview的大小 

setSupportZoom(true);  //支援縮放 

setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN); //支援內容重新佈局  

supportMultipleWindows();  //多視窗 

setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);  //關閉webview中快取 

setAllowFileAccess(true);  //設定可以訪問檔案 

setNeedInitialFocus(true); //當webview呼叫requestFocus時為webview設定節點

webview webSettings.setBuiltInZoomControls(true); //設定支援縮放 

setJavaScriptCanOpenWindowsAutomatically(true); //支援通過JS開啟新視窗 

setLoadWithOverviewMode(true); // 縮放至螢幕的大小

setLoadsImagesAutomatically(true);  //支援自動載入圖片

WebViewClient 的方法全解

doUpdateVisitedHistory(WebView view, String url, boolean isReload)  //(更新歷史記錄) 

onFormResubmission(WebView view, Message dontResend, Message resend) //(應用程式重新請求網頁資料) 

onLoadResource(WebView view, String url) // 在載入頁面資源時會呼叫,每一個資源(比如圖片)的載入都會呼叫一次。 

onPageStarted(WebView view, String url, Bitmap favicon) //這個事件就是開始載入頁面呼叫的,通常我們可以在這設定一個loading的頁面,告訴使用者程式在等待網路響應。 

onPageFinished(WebView view, String url) //在頁面載入結束時呼叫。同樣道理,我們知道一個頁面載入完成,於是我們可以關閉loading 條,切換程式動作。 

onReceivedError(WebView view, int errorCode, String description, String failingUrl)// (報告錯誤資訊) 

onReceivedHttpAuthRequest(WebView view, HttpAuthHandler handler, String host,String realm)//(獲取返回資訊授權請求) 

onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) //重寫此方法可以讓webview處理https請求。

onScaleChanged(WebView view, float oldScale, float newScale) // (WebView發生改變時呼叫) 

onUnhandledKeyEvent(WebView view, KeyEvent event) //(Key事件未被載入時呼叫) 

shouldOverrideKeyEvent(WebView view, KeyEvent event)//重寫此方法才能夠處理在瀏覽器中的按鍵事件。 

shouldOverrideUrlLoading(WebView view, String url) 
//在點選請求的是連結是才會呼叫,重寫此方法返回true表明點選網頁裡面的連結還是在當前的webview裡跳轉,不跳到瀏覽器那邊。這個函式我們可以做很多操作,比如我們讀取到某些特殊的URL,於是就可以不開啟地址,取消這個操作,進行預先定義的其他操作,這對一個程式是非常必要的

相關推薦

WebView各種屬性

開啟網頁時不呼叫系統瀏覽器, 而是在本WebView中顯示: mWebView.setWebViewClient(new WebViewClient(){ @Override public boolean shouldOverrid

自定義指令的各種屬性

【一】 自定義指令的兩種方式           1. 通過 module.directive(name,directiveFactory) 定義 , 如:         (function() { angular.module(

WebView屬性

1. 開啟網頁時不呼叫系統瀏覽器, 而是在本WebView中顯示: mWebView.setWebViewClient(new WebViewClient(){ @Override public boolean shouldOverrideUrl

cookie屬性

ssi 頂級 技術 sources 讀取 超時 logs 通過 html cookie屬性詳解 在chrome控制臺中的resources選項卡中可以看到cookie的信息。 一個域名下面可能存在著很多個cookie對象。 name字段為一個cookie的名稱。

hibernate中inverse屬性

values 性能 update 關聯 維護 value str true 詳解 術語”inverse”直譯為”反轉”。在Hibernate中,inverse屬性指定了關聯關系中的方向。關聯關系中,inverse=“false”的為主動方,由主動方維護關聯關系。在一對多關聯

hibernate中 cascade屬性

-m hibernate 發現 執行效率 pda 不一定 () 程序執行效率 刪除 配置關聯時,我們考慮兩點:程序執行效率和實際業務需要,前面的例子中無論是單向的關聯還是雙向的關聯,我們都要分別對實體類使用session.save()才能將數據保存至數據庫。問題:如果

HTML embed標簽使用方法和屬性

利用 是否 parent als ase sig 默認 eve sel 一、基本語法 代碼如下: embed src=url 說明:embed可以用來插入各種多媒體,格式可以是 Midi、Wav、AIFF、AU、MP3等等,Netscape及新版的IE 都支持。url為

Android中的windowSoftInputMode屬性

stun -h oid 中文意思 ecif andro 標題 進行 模式 如何實現軟鍵盤不自動彈出,使用的方法是設置android:windowSoftInputMode屬性。那麽,這個屬性到底是幹什麽的,他有什麽作用呢?今天這篇文章,就是探索android:win

react native 中textInput的value屬性

hold eric 工作 als size 保持 chang 無奈 bsp TextInput用法就不多講了,主要記錄下遇到的一個怪問題。 背景:項目需要開發一個充值頁面,需要一個輸入框,然後幾個按鈕,輸入框是允許用戶自己輸入任意金額,按鈕是可以讓用戶快捷選擇金

Android之build.prop屬性

lin logs generated reg dconf hostname product att make 註:本篇文章是基於MSD648項目(AndroidTV)的prop進行說明。 Android版本:4.4.4 內核版本:3.10.86 1.生成build.

Meta http-equiv屬性

tro 無法 pan keyword ref start 窗口 說明 重新 http-equiv顧名思義,相當於http的文件頭作用,它可以向瀏覽器傳回一些有用的信息,以幫助正確和精確地顯示網頁內容,與之對應的屬性值為content,content中的內容其實就是各個參數的

css動畫-animation各個屬性(轉)

yellow range 空隙 定義 tro content bin ora .com CSS3的animation很容易就能實現各種酷炫的動畫,雖然看到別人的成果圖會覺得很難,但是如果掌握好各種動畫屬性,做好酷炫吊炸天的動畫都不在話下,好,切入正題。 一、動畫屬性:

Oracle 數據庫啟動與關閉 各種方式整理

歸檔模式 tro 需求 acl 提交 管理操作 edi 存在 datafile 概述 只有具備sysdba和sysoper系統特權的用戶才能啟動和關閉數據庫。 在啟動數據庫之前應該啟動監聽程序,否則就不能利用命令方式來管理數據庫,包括啟動和關閉數據庫。 雖然數據庫正常運行,

XWPFRun屬性

範圍 creat 刪除 ntc pos cnblogs 懸浮 刪除線 run XWPFRun是XWPFDocument中的一段文本對象(就是一段文字) 創建文檔對象 XWPFDocument docxDocument = new XWPFDocument(); 創建段落

Android零基礎入門第80節:Intent 屬性(下)

gre save top log 單選按鈕 bar 手機 彩信 ttext 上一期學習了Intent的前三個屬性,本期接著學習其余四個屬性,以及Android系統常用內置組件的啟動。 四、Data和Type屬性 Data屬性通常用於向Action屬性提

VB ListView控件各種操作

auto .com 設置 查看 右鍵 src 行為 ade 在線 VB ListView控件各種操作詳解 [vb] view plaincopy Private Sub Form_Load() ‘ListView1.SmallIcon

android:exported 屬性

itl fas 默認 之前 綁定 四大 nbsp ring ins http://blog.csdn.net/watermusicyes/article/details/46460347 昨天在用360掃描應用漏洞時,掃描結果,出來一個android:exported屬性,

jsp pageEncoding屬性

都是 body code -s utf ati 英文 一次 設定 Java pageEncoding原理詳解 首先看下文章解釋: 意思是jsp文件本身的編碼 巨大的疑問:這裏有一個很大的問題,既然你都已經從jsp中讀到了這條屬性,證明內容讀取正確,那你還需要知道這

【CSS3 transform屬性和過渡屬性

eight tex over doctype ati ext 註意 skew 簡寫 CSS3transform屬性詳解 transform字面上就是變形,改變的意思。 在CSS3中transform主要包括以下幾種:旋轉rotate、扭曲skew、縮放scale和移動tra

css屬性

borde 控制 float 有趣 外邊距 cos 不起作用 普通 多個 一、字體屬性 字體   font-family可以把多個字體名稱作為一個“回退”系統來保存。如果瀏覽器不支持第一個字體,則會嘗試下一個。瀏覽器會使用它可識別