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"/>
加載一個網頁,使用loadUrl():
WebView myWebView = (WebView) findViewById(R.id.webview);myWebView.loadUrl(http://www.example.com);
設置WebView要顯示的網頁
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>";// 載入這個html頁面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 顯示網頁
<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); // 設置作為客戶端存在,界面跳轉只在自己應用程序中 wedView.setWebViewClient(new WebViewClient()); wedView.loadUrl("要顯示的網址"); wedView.setWebChromeClient(new WebChromeClient(){ @Overridepublic void onProgressChanged(WebView view, int newProgress) { // TODO Auto-generated method stub super.onProgressChanged(view, newProgress); progressBar.setVisibility(View.VISIBLE); //設置進度 progressBar.setProgress(newProgress); // 進度到頭,消失 if (newProgress==100) { progressBar.setVisibility(View.GONE); } } }); //初始化WebView initWedSetrings();public void initWedSetrings(){ //獲取設置的對象 WebSettings settings = wedView.getSettings(); //設置wedview的緩存方式,設為默認方式 // 默認如果有緩存,并且緩存未過期,使用緩存,否則使用網絡 settings.setCacheMode(WebSettings.LOAD_DEFAULT); //設置支持js代碼 settings.setJavaScriptEnabled(true); //設置縮放模式,縮放到最小 settings.setDefaultZoom(ZoomDensity.FAR); //設置字體大小 settings.setTextSize(TextSize.SMALLER); }注意添加權限
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="17" /> <uses-permission android:name="android.permission.INTERNET"/>
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
新聞熱點
疑難解答