WebView使用笔记 Android

来源:互联网 发布:淘宝网军印铁锹 编辑:程序博客网 时间:2024/04/30 14:37

WebView使用注意事项:

1, 在AndroidManiFest.xml文件中设置许可,否则会出现Web Page Not Available

<uses-permission android:name="android.permission.INTERNET"/>


2, 如果访问页面存在JavaScript,在webviewd中必须设置支持Javascript

webview.getSetting().setJavaScriptEnabled(true);

3,如果页面链接,如果希望点击链接继续在该Brower中继续响应,而不是断开Android系统中的Brower来响应该链接,必须覆盖webview的webviewclient对象

4,设置触摸点起作用

webView.requestFocus();  //若不设置,在点击编辑框的时候,不能弹出软键盘和其它事件

5,取消滚动条

this.setScrollBarStyle(SCROLLBARS_OUTSIDE_OVERLAY);

6, 设置WebView要显示的网页

互联网:webview.loadUrl("https://www.google.com.hk/");

本地文件:webview.loadUrl("file:///android:asset/html/index.html");   //放在Assets的目录中

7, 如果希望点击链接由自己处理,而不是新开Android的系统browser中响应该链接。给WebView添加一个事件监听对象(WebViewClient),

并重写其中的一些方法
shouldOverrideUrlLoading:对网页中超链接按钮的响应。
当按下某个连接时WebViewClient会调用这个方法,并传递参数:按下的url
onLoadResource
onPageStart
onPageFinish
onReceiveError
onReceivedHttpAuthRequest

8,若希望webview点链接看了很多网页后,若不做任何的处理,点击系统的back键,整个浏览器会调用finish而结束自身,若希望浏览器是回退而不是退出浏览器,需要在Activity中处理并消费掉该back事件

覆盖Activity类的onKeyDown(int keyCode,KeyEvent  event)方法

public boolean onKeyDown(int keyCode, KeyEvent event){

if(webView.canGoBack()&&keyCode==KeyEvent.KEYCODE_BACK){

webView.goBack();

return true;

}else{

return false;

}

}


9,网页加载时的操作手段

webVIew.setWebChromeClient(

new WebChromeClient(){

public void onProgressChanged(WebView webView,int newProgress){

if(newProgress==100){

Toast.makeText(MainAcitivity.this,"加载完成",1).show();

}else{

Toast.makeText(MainAcitivity.this,"正在加载",1).show();

}

}

}

);

10,不跳到浏览器的操作

webView.setWebViewClient(

new WebViewClient(){

public boolean shouldOverrideUrlLoading(WebView webView, String Url){ //重写该方法,点击网页不跳转到浏览器那边

webView.loadUrl(Url);

return true;

}

public void onReceivedSslError(WebView webView, SslErrorHandler handler, android.net.http.SslError error){

handler.proceed();   //处理https的请求

}

}

);


11,设置取消标题头

this.requestWindowFeature(Window.FEATURE_NO_TITLE);

12,设置全屏

this.getWIndow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

13 ,/设置可以支持缩放

webView.getSettings().setSupportZoom(true);

14,设置默认缩放方式尺寸是far

webView.getSettings().setDefaultZoom(WebSettings.ZoomDensity.FAR);

15,设置出现缩放工具

webView.getSettings().setBuiltInZoomControls(true);