歡迎各個領域的程序員 不管是學生還是上班了的 還是小白加入討論交流
羣,大家一起討論交流學習951701316,有內推工作的也會優先羣裏的朋
友,羣號951701316
今天記錄下webView的簡單使用 和安卓和js的交互,只是簡單的使用,寫的不好請諒解歡迎大家加入羣一起交流學習,相互幫忙相互
提高。
有時候安卓去加載一個web的界面是常有的事情 那麼是怎麼使用的,我這裏使用的原生的webView,先是一個佈局加載webView的
<WebView
android:id="@+id/webView"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
然後就是代碼去操作webView 還有一些webView的屬性
// 加載webview 先實例化
public WebView webview;
//配置WebView 綁定id
webview=(WebView)findViewById(R.id.webView);
// 加載html getUrl是拼接地址的方法
webview.loadUrl("www.baidu.com");
//setWebChromeClient輔助WebView處理JavaScript的對話框,網站圖標,網站title,加載進度等
webview.setWebChromeClient(new WebChromeClient());
/*
*當不設置這個方法的時候,用webview加載網頁會彈出一個對話框,提醒你選擇系統裝的瀏覽器,比如百度, *uc,chrome啥的,設置這個方法意思就是讓我們的webview來加載這個網頁,不需要打開外部瀏覽器了
*/
webview.setWebViewClient(new WebViewClient());
//設置webView
WebSettings settings=webview.getSettings();
////可以有數據庫
settings.setDatabaseEnabled(true);
//設置可否運行執行javaScrciptEnabled腳本
settings.setJavaScriptEnabled(true);
////關閉加載網絡圖片,在一開始加載的時候可以設置爲true,當加載完網頁的時候再設置爲false
settings.setBlockNetworkImage(false);
settings.setDomStorageEnabled(true);//設置允許加載本地js
//設置腳本是否允許自動打開彈窗,默認false,不允許
settings.setJavaScriptCanOpenWindowsAutomatically(true);
settings.setSupportZoom(true); // 設置可以支持縮放
//設置WebView中加載頁面字體變焦百分比,默認100,整型數。
settings.setTextZoom(100);
settings.setBuiltInZoomControls(true); // 設置出現縮放工具
settings.setUseWideViewPort(true);// 爲圖片添加放大縮小功能
settings.setDisplayZoomControls(false); //隱藏webview縮放按鈕
settings.setAppCacheEnabled(false); //是否開啓緩存功能
/*
*重寫緩存被使用到的方法,該方法基於Navigation Type,加載普通的頁面,將會檢查緩存同時重新驗證是
*
*否需要加載,如果不需要重新加載,將直接從緩存讀取數據,允許客戶端通過指定LOAD_DEFAULT、
*
*LOAD_CACHE_ELSE_NETWORK、LOAD_NO_CACHE、LOAD_CACHE_ONLY其中之一重寫該行爲方法,默認值
*
*LOAD_DEFAULT
*/
settings.setCacheMode(WebSettings.LOAD_NO_CACHE);
//設置加載進來的頁面自適應手機屏幕
settings.setUseWideViewPort(true);
//設置WebView是否使用預覽模式加載界面。
settings.setLoadWithOverviewMode(true);
//在Android的 addJavaScriptInterface中,需要理解這個類主要能幫助調用你的JavaScript函 //數中的任意活動方式
webview.addJavascriptInterface(new CrossFireBridge(),"crossFire");
//通過字段來交互 js通過這個字段來調用安卓代碼jiaohu(自定義的)
webview.addJavascriptInterface(new YourClass(),"jiaohu");
/**
* 安卓和js的交互
*/
final class YourClass {
@JavascriptInterface
public void share() {
finish();
}
}
以上就是安卓和js的簡單交互 和webView webSetting的一些屬性,僅僅個人理解
js通過你定義的字段就可以執行安卓的方法了
@JavascriptInterface記得打上這個標註
然後記得配置網絡權限
當然webView不止這些還行騰訊X5的webView等
僅供參考