Android-用WebView开发简单的浏览器

Android-用WebView开发简单的浏览器

Android 提供了 WebView 组件,WebView 本身就是一个浏览器实现。

例子中主要用到了 WebView 的以下方法:

  • void loadUrl(String url) 加载指定 url 对应的网页
  • void goBack() 后退
  • void goForward() 前进
  • boolean canGoBack() 根据历史记录判断是否可以回退
  • boolean canGoForward() 根据历史记录判断是否可以前进
  • WebSettings getSettings() 获得对 WebView 进行控制的 WebSettings 对象
    (调用其setJavaScriptEnabled方法使WebView支持JavaScript
  • void setWebViewClient(WebViewClient client) WebViewClient 负责处理
    WebView 各种通知,请求,比如页面开始加载及加载完成、资源加载中、url已打开等
  • void setWebChromeClient(WebChromeClient client) WebChromeClient主要辅助WebView处理Javascript的对话框、网站图标、网站title、加载进度

浏览器功能概述:

  1. 第一次打开应用时默认会把百度设置为首页,可通过底部主页按钮跳转到主页,或通过长按弹出对话框修改主页
  2. 主页的 URL 地址使用SharedPreference保存
  3. 底部四个ImageButton从做往右依次为主页 刷新 回退 前进
  4. 顶部的ActionBarvoid setCustomView(View)添加了一个自定义的用于输入网址的输入框和一个转到按钮,转到按钮默认是不可见且不可用的,当点击了用于输入网址EditText就会显示并可用。
  5. 用于显示网页加载进度的ProgressBar

截图

这里写图片描述

代码部分

  • 每次打开一个网页时会调用该方法,在这里控制ActionBar内的Edittext显示加载中...
 mWebView.setWebViewClient(new WebViewClient() {
            @Override
            public void onPageStarted(WebView view, String url, Bitmap favicon) {
                super.onPageStarted(view, url, favicon);
                mShowTitle.setText("加载中...");
            }
            ...
}
  • 覆写shouldOverrideUrlLoading并返回tr
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值