首页 > 代码库 > 【WebView】带加载进度条的WebView及Chrome联调
【WebView】带加载进度条的WebView及Chrome联调
先看效果图:
看到顶部蓝色的进度条了。
原理:用到了 android.webkit.WebChromeClient中的onProgressChanged,而android.webkit.WebViewClient是没有这个方法的。所以普通的WebView是无法实现进度条的。
下面直接上干货:
/** * ProgressWebView * * @author lif * * */ @SuppressWarnings("deprecation") public class ProgressWebView extends WebView { private ProgressBar progressbar; @SuppressLint("NewApi") public ProgressWebView(Context context, AttributeSet attrs) { super(context, attrs); progressbar = new ProgressBar(context, null, android.R.attr.progressBarStyleHorizontal); progressbar.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, 16, 0, 0)); addView(progressbar); setWebViewClient(new WebCustomClient()); setWebChromeClient(new WebChromeClient()); // 发布取消 //<a target=_blank href=http://www.mamicode.com/"http://www.itbookstudy.com/forum.php?mod=viewthread&tid=108500" style="word-wrap: break-word; color: rgb(51, 51, 51); text-decoration: none; font-family: 'Microsoft Yahei', Hei, Tahoma, SimHei, sans-serif; font-size: 20px; font-weight: bold; line-height: 30px; background-color: rgb(241, 242, 246);" se_prerender_url="complete">Web开发调试之Chrome远程调试(Remote Debugging)会用到>调用代码:
// ~~~ 设置数据 webview.setVerticalScrollbarOverlay(true); webview.getSettings().setJavaScriptEnabled(true); webview.getSettings().setAllowFileAccess(true); webview.getSettings().setSavePassword(false); webview.setDownloadListener(new DownloadListener() { @Override public void onDownloadStart(String url, String userAgent, String contentDisposition, String mimetype, long contentLength) { if (url != null && (url.startsWith("http://") || url .startsWith("file:///"))) startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url))); } }); webview.loadUrl(url);有兴趣的朋友可以尝试一下
注意:关于Chrome远程开发调试可以参考移动端Web开发调试之Chrome远程调试(Remote Debugging)
【WebView】带加载进度条的WebView及Chrome联调
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。