Android WebView 詳解及簡(jiǎn)單實(shí)例
WebView基本使用
- WebView是View的一個(gè)子類,可以讓你在activity中顯示網(wǎng)頁(yè)
- 可以在布局文件中寫(xiě)入WebView:比如下面這個(gè)寫(xiě)了一個(gè)填滿整個(gè)屏幕的WebView:
<?xml version="1.0" encoding="utf-8"?> <WebView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/webview" android:layout_width="fill_parent" android:layout_height="fill_parent" />
加載一個(gè)網(wǎng)頁(yè),使用loadUrl():
WebView myWebView = (WebView) findViewById(R.id.webview); myWebView.loadUrl(http://www.example.com);
設(shè)置WebView要顯示的網(wǎng)頁(yè)
- 設(shè)置WevView要顯示的網(wǎng)頁(yè)方法有很多:
- 互聯(lián)網(wǎng)頁(yè)面直接用:
myWebView.loadUrl(“http://www.google.com“);
本地文件用:
myWebView.loadUrl(“file:///android_asset/XX.html“);
本地文件存放在:assets文件中。
還可以直接載入html的字符串,如:
String htmlString = "<h1>Title</h1><p>This is HTML text<br /><i>Formatted in italics</i><br />Anothor Line</p>"; // 載入這個(gè)html頁(yè)面 myWebView.loadData(htmlString, "text/html", "utf-8");
在WebView中使用JavaScript
webView = (WebView) findViewById(R.id.wedview); WebSettings settings = webView.getSettings(); //支持js settings.setJavaScriptEnabled(true); // 安卓為js提供接口 webView.addJavascriptInterface(new Object(){ @android.webkit.JavascriptInterface private void setinfo(String username,String uclass) { // TODO Auto-generated method stub Toast.makeText(MainActivity.this,"username:"+username+","+"uclass"+uclass, Toast.LENGTH_SHORT).show(); } }, "javaCode"); webView.loadUrl("http://localhost:8080/jstest.html");
WebView 顯示網(wǎng)頁(yè)
<ProgressBar android:id="@+id/ProgressBar" android:layout_width="match_parent" android:layout_height="wrap_content" style="?android:attr/progressBarStyleHorizontal" android:visibility="gone" /> <WebView android:id="@+id/wedView" android:layout_width="match_parent" android:layout_height="match_parent" />
java代碼
progressBar = (ProgressBar) findViewById(R.id.ProgressBar); wedView = (WebView) findViewById(R.id.wedView); // 設(shè)置作為客戶端存在,界面跳轉(zhuǎn)只在自己應(yīng)用程序中 wedView.setWebViewClient(new WebViewClient()); wedView.loadUrl("要顯示的網(wǎng)址"); wedView.setWebChromeClient(new WebChromeClient(){ @Override public void onProgressChanged(WebView view, int newProgress) { // TODO Auto-generated method stub super.onProgressChanged(view, newProgress); progressBar.setVisibility(View.VISIBLE); //設(shè)置進(jìn)度 progressBar.setProgress(newProgress); // 進(jìn)度到頭,消失 if (newProgress==100) { progressBar.setVisibility(View.GONE); } } }); //初始化WebView initWedSetrings();
public void initWedSetrings(){ //獲取設(shè)置的對(duì)象 WebSettings settings = wedView.getSettings(); //設(shè)置wedview的緩存方式,設(shè)為默認(rèn)方式 // 默認(rèn)如果有緩存,并且緩存未過(guò)期,使用緩存,否則使用網(wǎng)絡(luò) settings.setCacheMode(WebSettings.LOAD_DEFAULT); //設(shè)置支持js代碼 settings.setJavaScriptEnabled(true); //設(shè)置縮放模式,縮放到最小 settings.setDefaultZoom(ZoomDensity.FAR); //設(shè)置字體大小 settings.setTextSize(TextSize.SMALLER); }
注意添加權(quán)限
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="17" /> <uses-permission android:name="android.permission.INTERNET"/>
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
- android WebView加載html5介紹
- Android中實(shí)現(xiàn)Webview頂部帶進(jìn)度條的方法
- android中webview控件和javascript交互實(shí)例
- Android開(kāi)發(fā)之WebView組件的使用解析
- 解析Android中webview和js之間的交互
- android webview中使用Java調(diào)用JavaScript方法并獲取返回值
- Android中Webview打開(kāi)網(wǎng)頁(yè)的同時(shí)發(fā)送HTTP頭信息方法
- Android WebView使用方法詳解 附j(luò)s交互調(diào)用方法
相關(guān)文章
Android HttpClient GET或者POST請(qǐng)求基本使用方法
在Android開(kāi)發(fā)中我們經(jīng)常會(huì)用到網(wǎng)絡(luò)連接功能與服務(wù)器進(jìn)行數(shù)據(jù)的交互,為此Android的SDK提供了Apache的HttpClient來(lái)方便我們使用各種Http服務(wù).這里只介紹如何使用HttpClient發(fā)起GET或者POST請(qǐng)求2012-12-12Android筆記整理之常見(jiàn)錯(cuò)誤及解決方案匯總
本文是小編日常整理的筆記關(guān)于android常見(jiàn)的錯(cuò)誤及解決方案,本文對(duì)大家學(xué)習(xí)android相關(guān)知識(shí)非常有幫助,遇到問(wèn)題能夠很好的定位問(wèn)題解決問(wèn)題,感興趣的朋友了解了解吧2015-11-11Android Flutter實(shí)現(xiàn)興趣標(biāo)簽選擇功能
我們?cè)谑状问褂脙?nèi)容類 App 的時(shí)候,不少都會(huì)讓我們選擇個(gè)人偏好,通過(guò)這些標(biāo)簽選擇可以預(yù)先知道用戶的偏好信息。我們本篇就來(lái)看看 Flutter 如何實(shí)現(xiàn)興趣標(biāo)簽的選擇,需要的可以參考一下2022-11-11Flutter本地存儲(chǔ)之基本的鍵值對(duì)存儲(chǔ)詳解
在原生的?Android?或?iOS?中,都提供了基本的鍵值對(duì)存儲(chǔ)方式,在?Flutter?中,提供了?shared_preferences?這個(gè)插件來(lái)實(shí)現(xiàn)本地鍵值對(duì)數(shù)據(jù)存儲(chǔ),本文就來(lái)和大家簡(jiǎn)單聊聊吧2023-03-03Android開(kāi)發(fā)之DatePickerDialog、TimePickerDialog時(shí)間日期對(duì)話框用法示例
這篇文章主要介紹了Android開(kāi)發(fā)之DatePickerDialog、TimePickerDialog時(shí)間日期對(duì)話框用法,結(jié)合實(shí)例形式分析了Android使用DatePickerDialog、TimePickerDialog顯示日期時(shí)間相關(guān)操作技巧,需要的朋友可以參考下2019-03-03android實(shí)現(xiàn)簡(jiǎn)單拼圖游戲
這篇文章主要為大家詳細(xì)介紹了android實(shí)現(xiàn)簡(jiǎn)單拼圖游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03僅5步搞定Android開(kāi)發(fā)環(huán)境部署 Android開(kāi)發(fā)環(huán)境搭建教程
僅5步搞定Android開(kāi)發(fā)環(huán)境部署,這篇文章主要為大家詳細(xì)介紹了Android開(kāi)發(fā)環(huán)境搭建教程,感興趣的小伙伴們可以參考一下2016-02-02