Android --- WebView -- 混合开发(一)

前言

现在很多App里都内置了Web网页(Hyprid App),比如说很多电商平台,淘宝、京东、聚划算等等,这样在每过节假日的时候界面都会随时更换,大大减小了工作量,所以也应用的比较广泛,如下图:

京东界面

所以就引入Android里一个组件WebView来实现的,根据API的学习,介绍一下WebView的常用用法,大致结构如下图:

webview

WebView 内置了 Html 解析的组件,可以显示 Html 页面上的图像、文本、超链接等信息

mWebView = (WebView) findViewById(R.id.m_web);
// 设置页面属性
WebSettings settings = mWebView.getSettings();
// 设置支持 Javascript
settings.setJavaScriptEnabled(true);
// 设置页面的默认编码
settings.setDefaultTextEncodingName("utf-8");
// 支持缩放控制器
settings.setBuiltInZoomControls(true);
// 支持缩放
settings.setSupportZoom(true);

处理超链接

// 超链接 ( 请求 ) 相关的处理
mWebView.setWebViewClient(new WebViewClient(){
    // 检测到有一个超链接正在访问
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl(url);
        return true;
    }
});

加载网址

mWebView.loadUrl("http://www.baidu.com");

注意加上 Internet 权限

//1、检测可否(历史记录中)向前
mWebView.canGoForward();
//2、检测可否 ( 在历史记录中 ) 向后
mWebView.canGoBack()
//3、回退到历史记录的上一级
mWebView.goBack();
// 返回键中处理回退
public boolean onKeyUp(int keyCode, KeyEvent event) {
    if(keyCode == KeyEvent.KEYCODE_BACK){
        if(mWebView.canGoBack()){
            mWebView.goBack();
            return true;
        }
    }
    return super.onKeyUp(keyCode, event);
}

多级跳转

// 负数向后 正数向前
mWebView.goBackOrForward(2);

WebView 处理页面弹框以及页面通知

//用来辅助WebView处理js弹框,以及页面的标题、图标、进度相关的事情
        mWebView.setWebChromeClient(new WebChromeClient(){

            @Override
            public boolean onJsAlert(WebView view, String url, 
                String message, final JsResult result) {
                
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值