WebView個人總結


1、添加上網權限:<uses-permission android:name="android.permission.INTERNET" />

2、設置webview

 1 WebView webView;
 2 WebSettings ws;
 3 
 4 
 5 ws = webView.getSettings();
 6 ws.setAppCacheEnabled(true);// 設置啟動緩存
 7 ws.setAppCacheMaxSize(1024 * 10);// 設置最大緩存
 8 ws.setSupportZoom(true);// 設置成拖動放大縮小
 9 ws.setBuiltInZoomControls(true);
10 ws.setCacheMode(WebSettings.LOAD_NO_CACHE);// 設置緩存模式
11 // 設置支持Javascript
12 webView.getSettings().setJavaScriptEnabled(true);
13 webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
14 
15 // 緩存,離線應用
16 webView.getSettings().setAppCacheEnabled(true);
17 webView.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT);
18 webView.getSettings().setAppCacheMaxSize(1024 * 1024 * 8);

3、獲取網頁對話框

webView.setWebChromeClient(new WebChromeClient() {

@Override
public boolean onJsAlert(WebView view, String url, String message,
final JsResult result) {
// TODO Auto-generated method stub
// 構建一個Builder來顯示網頁中的對話框
Builder builder = new Builder(context);
builder.setTitle("警告");
builder.setMessage(message);
builder.setPositiveButton(android.R.string.ok,
new AlertDialog.OnClickListener() {
public void onClick(DialogInterface dialog,
int which) {
// 點擊確定按鈕之后,繼續執行網頁中的操作
result.confirm();
}
});
builder.setCancelable(false);
builder.create();
builder.show();
return true;
}

@Override
public boolean onJsConfirm(WebView view, String url,
String message, final JsResult result) {
// TODO Auto-generated method stub
Builder builder = new Builder(context);
builder.setTitle("confirm");
builder.setMessage(message);
builder.setPositiveButton(android.R.string.ok,
new AlertDialog.OnClickListener() {
public void onClick(DialogInterface dialog,
int which) {
result.confirm();
}
});
builder.setNegativeButton(android.R.string.cancel,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int which) {
result.cancel();
}
});
builder.setCancelable(false);
builder.create();
builder.show();
return true;
}

@Override
public void onProgressChanged(WebView view, int newProgress) {// 加載進度
// TODO Auto-generated method stub
super.onProgressChanged(view, newProgress);
}

});

4、如果希望點擊鏈接由自己處理,而不是新開Android的系統browser中響應該鏈接。
  給WebView添加一個事件監聽對象(WebViewClient)

5、webview取得焦點

webView.setOnTouchListener(new OnTouchListener() {

@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub

webView.requestFocus();
return false;
}
});

6、提示加載對話框

pd=ProgressDialog.show(context, "請稍后", "正在加載中...");

  當網頁加載完成后,調用pd.dismiss();


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM