日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

android点赞webview页面,Android WebView

發布時間:2025/3/21 Android 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android点赞webview页面,Android WebView 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、簡介

WebView是Android系統中的原生控件,其主要功能與前端頁面進行響應交互,快捷省時地實現如期的功能,相當于增強版的內置瀏覽器。

使用時需要在配置文件里設置網絡權限,定義布局大小和樣式,綁定和操作控件。

manifest.xml

activity_main.xml

android:id="@+id/web_view"

android:layout_width="match_parent"

android:layout_height="match_parent">

MainActivity.java

String url = "https://www.baidu.com";

WebView webView = (WebView) findViewById(R.id.web_view);

webView.loadUrl(url);

網頁跳轉,包括前進、后退、自定義。

boolean back = webview.canGoBack(); -> 判斷網頁是否可以回退

webview.goBack(); -> 回退一頁

boolean forward = webview.canGoForward(); -> 判斷網頁是否可以前進

webview.goForward(); -> 前進一頁

webview.goBackOrForward(1); -> 正數為前進

webview.goBackOrForward(-1); -> 負數為后退

二、生命周期

onResume():活躍狀態,可以正常執行網頁的響應。

onPause():暫停狀態,頁面被失去焦點,暫停所有進行中的動作,如:DOM解析、CSS和JavaScript執行等。

pauseTimers():全局WebView暫停狀態,如:layout、parsing、javascripttimer等。

resumeTimers():恢復到pauseTimers()執行前的狀態。

destroy():銷毀狀態,釋放資源。

注意:使用WebView不當容易引起內存泄漏,所以WebView的生命周期方法應跟隨Activity的生命周期的方法來調用。

三、 WebSettings

控件的相關配置

WebSettings webSettings = webView.getSettings();

webSettings.setJavaScriptEnabled(true); -> 是否開啟JS支持

webSettings.setPluginsEnabled(true); -> 是否開啟插件支持

webSettings.setJavaScriptCanOpenWindowsAutomatically(true); -> 是否允許JS打開新窗口

webSettings.setUseWideViewPort(true); -> 縮放至屏幕大小

webSettings.setLoadWithOverviewMode(true); -> 縮放至屏幕大小

webSettings.setSupportZoom(true); -> 是否支持縮放

webSettings.setBuiltInZoomControls(true); -> 是否支持縮放變焦,前提是支持縮放

webSettings.setDisplayZoomControls(false); -> 是否隱藏縮放控件

webSettings.setAllowFileAccess(true); -> 是否允許訪問文件

webSettings.setDomStorageEnabled(true); -> 是否節點緩存

webSettings.setDatabaseEnabled(true); -> 是否數據緩存

webSettings.setAppCacheEnabled(true); -> 是否應用緩存

webSettings.setAppCachePath(uri); -> 設置緩存路徑

webSettings.setMediaPlaybackRequiresUserGesture(false); -> 是否要手勢觸發媒體

webSettings.setStandardFontFamily("sans-serif"); -> 設置字體庫格式

webSettings.setFixedFontFamily("monospace"); -> 設置字體庫格式

webSettings.setSansSerifFontFamily("sans-serif"); -> 設置字體庫格式

webSettings.setSerifFontFamily("sans-serif"); -> 設置字體庫格式

webSettings.setCursiveFontFamily("cursive"); -> 設置字體庫格式

webSettings.setFantasyFontFamily("fantasy"); -> 設置字體庫格式

webSettings.setTextZoom(100); -> 設置文本縮放的百分比

webSettings.setMinimumFontSize(8); -> 設置文本字體的最小值(1~72)

webSettings.setDefaultFontSize(16); -> 設置文本字體默認的大小

webSettings.setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN); -> 按規則重新布局

webSettings.setLoadsImagesAutomatically(false); -> 是否自動加載圖片

webSettings.setDefaultTextEncodingName("UTF-8"); -> 設置編碼格式

webSettings.setNeedInitialFocus(true); -> 是否需要獲取焦點

webSettings.setGeolocationEnabled(false); -> 設置開啟定位功能

webSettings.setBlockNetworkLoads(false); -> 是否從網絡獲取資源

四、WebViewClient

控件客戶端,用于處理各種通知和請求事件。

onPageStarted():頁面開始加載時調用,這時候可以顯示加載進度條,讓用戶耐心等待頁面的加載。

onPageFinished():頁面完成加載時調用,這時候可以隱藏加載進度條,提醒用戶頁面已經完成加載。

onLoadResource():頁面每次加載資源時調用。

shouldOverrideUrlLoading():WebView加載url默認會調用系統的瀏覽器,通過重寫該方法,實現在當前應用內完成頁面加載。

onReceivedError():頁面加載發生錯誤時調用,這時候可以跳轉到自定義的錯誤提醒頁面,總比系統默認的錯誤頁面美觀,優化用戶體驗。

onReceivedHttpError():頁面加載請求時發生錯誤。

onReceivedSslError():頁面加載資源時發生錯誤。

shouldOverrideKeyEvent():覆蓋按鍵默認的響應事件,這時候可以根據自身的需求在點擊某些按鍵時加入相應的邏輯。

onScaleChanged():頁面的縮放比例發生變化時調用,這時候可以根據當前的縮放比例來重新調整WebView中顯示的內容,如修改字體大小、圖片大小等。

shouldInterceptRequest():可以根據請求攜帶的內容來判斷是否需要攔截請求。

WebViewClient webViewClient = new WebViewClient(){

@Override

public void onPageStarted(WebView view, String url, Bitmap favicon) {

}

@Override

public void onPageFinished(WebView view, String url) {

}

@Override

public boolean onLoadResource(WebView view, String url) {

}

@Override

public boolean shouldOverrideUrlLoading(WebView view, String url) {

view.loadUrl(url);

return true; -> 消費事件終止傳遞

}

@Override

public void onReceivedError(WebView view, int errorCode,

String description, String failingUrl){

view.loadUrl("file:///android_assets/error.html"); -> assets目錄下放置文件

}

webView.setWebViewClient(webViewClient);

五、WebChromeClient

瀏覽器客戶端,用于處理網站圖標、網站標題、網站彈窗等。

onProgressChanged():頁面加載進度發生變化時調用,可以通過該方法實時向用戶反饋加載情況,如顯示進度條等。

onReceivedIcon():接收Web頁面的圖標,可以通過該方法把圖標設置在原生的控件上,如Toolbar等。

onReceivedTitle():接收Web頁面的標題,可以通過該方法把圖標設置在原生的控件上,如Toolbar等。

onJsAlert():處理JS的Alert對話框。

onJsPrompt():處理JS的Prompt對話框。

onJsConfirm():處理JS的Confirm對話框。

onPermissionRequest():Web頁面請求Android權限時調用。

onPermissionRequestCanceled():Web頁面請求Android權限被取消時調用。

onShowFileChooser():Web頁面上傳文件時調用。

getVideoLoadingProgressView():自定義媒體文件播放加載時的進度條。

getDefaultVideoPoster():設置媒體文件默認的預覽圖。

onShowCustomView():媒體文件進入全屏時調用。

onHideCustomView():媒體文件退出全屏時調用。

WebChromeClient webChromeClient = new WebChromeClient();

六、Android調用JS

語法:webView.loadUrl("javascript:method()");

在Web頁面中定義兩個Js方法,分別是有返回值和無返回值。

let name = '';

function setter(name){

this.name = name;

}

function getter(){

return this.name;

}

在Android中通過WebView調用Js方法

String setter = "javascript:setter('"+"wjx"+"');";

webView.loadUrl(setter); -> 調用有參無返回值的函數

webView.evaluateJavascript("getter()", new ValueCallback() {

@Override

public void onReceiveValue(String s) { -> 調用無參有返回值的函數

System.out.println("my name is "+s);

}

});

七、Js調用Android

webView.addJavascriptInterface(this, "bridge"); -> 建立通訊橋梁

webView.removeJavascriptInterface("bridge"); -> 移除通訊橋梁

在Android中定義一個方法,標記為Js接口

@JavascriptInterface

public void toast(String toast){

Toast.makeText(MainActivity.this, toast, Toast.LENGTH_SHORT).show();

}

在Web頁面中調用Android方法

function toast(toast){

javascript:bridge.toast(toast); -> 通過橋梁調用方法

window.bridge.toast(toast); -> 通過橋梁調用方法

}

總結

以上是生活随笔為你收集整理的android点赞webview页面,Android WebView的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 性色av一区二区三区免费 | 免费看黄的网址 | 7799精品视频 | 性一交一乱一色一免费无遮挡 | 亚洲第一成年网 | av激情在线观看 | 91精品国产91综合久久蜜臀 | 亚洲区 欧美区 | 久久久久性色av无码一区二区 | 中文字幕无码乱码人妻日韩精品 | 国产又粗又黄又爽 | 成人免费看片在线观看 | 少妇日韩 | 亚洲国产精品成人久久蜜臀 | 国内黄色片 | 777国产成人入口 | aa片在线观看视频在线播放 | 网站在线观看你懂的 | 99久久国 | av在线中文| av在线片 | 特黄aaaaaa私密按摩 | 四虎在线免费观看视频 | 日韩精品在线免费观看 | 手机在线不卡av | 99欧美精品 | 爆乳熟妇一区二区三区霸乳 | 精品久久久一区 | 国产成人精品一区在线播放 | 风间由美一区二区三区 | 伊人丁香| 人妻洗澡被强公日日澡 | 日韩av一 | 国产精品欧美激情在线播放 | 日韩一区二区三区免费视频 | 深爱激情五月婷婷 | 国产综合在线观看视频 | 日本三区视频 | 俄罗斯av在线 | jzjzjzjzj亚洲成熟少妇 | 欧美透逼视频 | 中字幕视频在线永久在线观看免费 | 久久精品国产熟女亚洲AV麻豆 | 久久夜色精品国产欧美乱 | 成人影| 日本三级网站在线观看 | 亚洲调教欧美在线 | 欧美日韩国产a | 伊人久久久久久久久久 | 美女考逼 | 四虎影视www在线播放 | 色8久久| 女人十八岁毛片 | 97超碰网| 丝袜老师办公室里做好紧好爽 | 日本成人久久 | 人人妻人人澡人人爽 | 国产视频97 | 激情国产在线 | 毛片毛片毛片毛片 | 人妻体内射精一区二区三区 | 亚洲性xxxx| www欧美com| 日本xxx在线播放 | 一本色道久久综合熟妇 | www.777含羞草 | 美女精品久久久 | 99国产精品久久久久 | 成人动漫一区二区 | 亚洲天堂影视 | 久久国产这里只有精品 | 国产小视频在线看 | 久久久久久五月天 | av资源网在线 | 亚洲区视频在线观看 | 91看片网站 | 神马久久春色 | 日本三级片在线观看 | 香港三级韩国三级日本三级 | 综合天堂av久久久久久久 | 白丝少妇| 日本三级日本三级日本三级极 | 91免费播放| 一级片一区 | 狠狠干精品 | av不卡在线免费观看 | 久久精品操 | 禁漫天堂黄漫画无遮挡观看 | 国产高潮失禁喷水爽到抽搐 | 国模大胆一区二区三区 | aaa久久 | 黄色一级大片在线免费看国产 | 免费成人一级片 | 国产乱子伦视频一区二区三区 | 国产中文 | 日本成人三级电影 | 国产一区二区免费视频 | 在线播放精品视频 | 操伊人|