我们可以通过webview.getSettings()获得WebSettings对 象,对浏览器进行设置。如果我们需要支持JavaScript,我们需要如下设置:
browser.getSettings().setJavaScriptEnabled(true);
有 几个比较常用的,setDefaultFontSize(), setTextSize(), setJavaScriptEnabled(), setJavaScriptCanOpenWindowsAutomatically(), setUserAgent()-“1”表示使用PC浏览器,0表示使用手机浏览器,可以通知website给出相应的排版方式。
下面是一个 例子,在这个例子中,我使用acivity的进度条来显示加载网页的进度条,当进度条满的时候,进度条会消失。
package com.iteedu.webview; import android.app.Activity; import android.os.Bundle; import android.view.ViewGroup; import android.view.Window; import android.webkit.WebChromeClient; import android.webkit.WebView; public class WebViewExample extends Activity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); final Activity activity = this; // 因为方法是以final的方式,所以设置final。 // 设置activity的进度条,下面一句必须在setContentView之前,否则会报错。 getWindow().requestFeature(Window.FEATURE_PROGRESS); setContentView(R.layout.main); WebView browser = (WebView) findViewById(R.id.WebView01); browser.getSettings().setJavaScriptEnabled(true);// 设置支持javascript的例子 // 通过WebChromeClient可以处理JS对话框,titles, 进度,等 // 这个例子,我们处理,我们将websit下载的进度同步到acitity的进度条上。 browser.setWebChromeClient(new WebChromeClient() { public void onProgressChanged(WebView view, int newProgress) { // activity的进度是0 to 10000 (both inclusive),所以要*100 activity.setProgress(newProgress * 100); } }); browser.loadUrl("http://www.iteedu.com"); } }
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <WebView android:id="@+id/WebView01" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout>