使用WebView

WebView是Android用来显示网页的系统控件,它基于开源的浏览器引擎WebKit(在iOS中,UI控件UIWebView也是基于WebKit引擎;Chrome浏览器和Safari浏览器也是基于WebKit引擎的),下面将介绍控件WebView的基本用法。


声明访问互联网访问权限

在AndroidManifest 中声明互联网访问权限:

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

给ViewView设置属性

  • 是否支持JavaScript
mWebView.getSettings().setJavaScriptEnabled(boolean flag);

  • 是否支持缩放
mWebView.getSettings().setSupportZoom(boolean support);

  • 是否显示缩放工具
mWebView.getSettings().setBuiltInZoomControls(boolean enabled);

  • 默认的字体大小
mWebView.getSettings().setDefaultFontSize(int size);

加载内容

  • 加载Internet上的网页
mWebView.loadUrl("http://www.apple.com.cn");

  • 加载本地网页

文件存放在assets目录下。新建一个test子文件夹

mWebView.loadUrl("file:///android_asset/test/HelloWorld.html"); 

  • 加载HTML代码片段数据
String htmlString = "<h1>Android</h1><p>Hello World !<br /></p>";
mWebView.loadData(htmlString, "text/html", "utf-8");

点击链接时指定是否使用系统浏览器打开

在WebView中点击链接时,默认情况下,会打开系统浏览器。可以指定某个链接是用WebView打开还是用系统浏览器打开。

mWebView.setWebViewClient(new WebViewClient() {  
      @Override
      public boolean shouldOverrideUrlLoading(WebView view, String url)
      {
         if(Uri.parse(url).getHost().equals("www.baidu.com"))
         {
              // 将特定的链接用WebView打开
              return false;
         }
         // 其他链接用系统浏览器打开
         Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
         startActivity(intent);
         return true;
      }
});

点击“Back”键回退打开的网页

点击“Back”键时,默认情况下,会关掉整个浏览器。如果不希望关闭整个浏览器,而是回退已打开的网页,那么需要在当前Activity中处理并消费掉该Back事件。

public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) { 
            mWebView.goBack(); 
            return true; 
     } 
     return false; 
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值