之前對(duì)于webview的認(rèn)識(shí)很膚淺,這次正好研究一下:
為洛扎等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及洛扎網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、洛扎網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!
在webview當(dāng)中加載網(wǎng)址的時(shí)候,使用load.url(""),但是要記得在AndroidManifest.xml中對(duì)其進(jìn)行配置。配置語(yǔ)句為:
重載shouldOverrideUrlLoading(WebView view, String url),當(dāng)時(shí)鏈接的時(shí)候,在本軟件進(jìn)行加載而不是跳到瀏覽器那里。
返回鍵的處理:我們打開(kāi)多個(gè)網(wǎng)頁(yè)后,點(diǎn)擊返回目的是返回上一個(gè)網(wǎng)頁(yè),但是事實(shí)上會(huì)關(guān)閉當(dāng)前activity,于是要對(duì)返回鍵做處理.
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && webView.canGoBack()) {
webView.goBack();
return true;
} else
return super.onKeyDown(keyCode, event);
}
網(wǎng)頁(yè)前進(jìn)按鈕。
if(webView.canGoForward()){
webView.goForward();
}else{
Toast("已經(jīng)是最后一頁(yè)了,不能再前進(jìn)了");
}
點(diǎn)擊刷新按鈕的時(shí)候,執(zhí)行webview.reload();
如果想在頁(yè)面加載的時(shí)候添加提示信息,可以復(fù)寫(xiě)webclient的
onPageStarted(WebView view, String url, Bitmap favicon){
}
onPageFinished(WebView view, String url){}
例子:
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
if(progDlg == null || !progDlg.isShowing()){
progDlg = new ProgressDialog(ctx);
progDlg.setMessage("正在加載,請(qǐng)稍候。。。");
}
progDlg.show();
}
@Override
public void onPageFinished(WebView view, String url) {
progDlg.dismiss();
}
7.如果想知道加載進(jìn)度,需要調(diào)用另一個(gè)類WebChromeClient。
例子:
webView.setWebChromeClient(new WebChromeClient(){
@Override
public void onProgressChanged(WebView view, int newProgress) {
Message msg = new Message();
msg.what = 200;
msg.obj = newProgress;
handler.sendMessage(msg);
}
}
然后在handler里更新進(jìn)度條。
private Handler handler = new Handler(){
public void handleMessage(android.os.Message msg) {
switch (msg.what) {
case 200:
int progress = (Integer) msg.obj;
progressBar.setProgress(progress);
break;
default:
break;
}
};
};