Android WebView线性进度条实例详解 - 网站

Android WebView线性进度条实例详解

分类:移动 · 发布时间:2021-11-07 03:31 · 阅读:3566

这篇文章主要介绍了Android WebView线性进度条实例详解的相关资料,需要的朋友可以参考下

推荐阅读:Android Webview添加网页加载进度条实例详解

先给大家展示下效果图:这个效果图大家一看就懂,在生活经常见到

1.wevbview_progressbar.xml

       

2.ProgressWebView.java

 @SuppressWarnings("deprecation")public class ProgressWebView extends WebView { private final static String TAG = ProgressWebView.class.getSimpleName(); private ProgressBar progressBar; private Context context; public ProgressWebView(Context context, AttributeSet attrs) { super(context, attrs); this.context = context; progressBar = new ProgressBar(context, null, android.R.attr.progressBarStyleHorizontal); progressBar.setLayoutParams(new AbsoluteLayout.LayoutParams(AbsoluteLayout.LayoutParams.MATCH_PARENT, 3, 0, 0)); progressBar.setProgressDrawable(getResources().getDrawable(R.drawable.wevbview_progressbar)); addView(progressBar); setWebChromeClient(new WebChromeClient()); } public class WebChromeClient extends android.webkit.WebChromeClient { @Override public void onProgressChanged(WebView view, int newProgress) { Log.d(TAG, "newProgress" + newProgress); if (newProgress == 100) { progressBar.setVisibility(GONE); } else { if (progressBar.getVisibility() == GONE) progressBar.setVisibility(VISIBLE); progressBar.setProgress(newProgress); } super.onProgressChanged(view, newProgress); } // 处理javascript中的console.log @Override public boolean onConsoleMessage(ConsoleMessage cm) { android.util.Log.d(TAG, "webview console " + cm.lineNumber() + " of " + cm.sourceId() + " : " + cm.message()); return true; } // 处理javascript中的alert() @Override public boolean onJsAlert(WebView view, String url, String message, JsResult result) { result.cancel(); return true; } } @Override protected void onScrollChanged(int l, int t, int oldl, int oldt) { LayoutParams lp = (LayoutParams) progressBar.getLayoutParams(); lp.x = l; lp.y = t; progressBar.setLayoutParams(lp); super.onScrollChanged(l, t, oldl, oldt); }} 

3.MainActivity.java

 ProgressWebView webView = (ProgressWebView)findViewById(R.id.them_webview);webView.setDownloadListener(new DownloadListener() { @Override public void onDownloadStart(String url, String userAgent, String contentDisposition, String mimetype, long contentLength) { if (url != null && url.startsWith("http://")) startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url))); }});webView.loadUrl("http://www.cnblogs.com/hubli/p/4835549.html"); 

4.activity_main.xml

 

通过以上代码内容给大家介绍了Android WebView线性进度条的相关知识,希望对大家有所帮助。

标签:
android webview 进度条

相关文章

Android权限机制深入分析讲解

Android的权限管理遵循的是“最小特权原则”,即所有的Android应用程序都被赋予了最小权限。一个Android应用程序如果没有声明任何权限,就没有任何特权

Repo工作原理和使用介绍

Repo是谷歌用Python脚本写的调用git的一个脚本,可以实现管理多个git库。本文详细讲解了Repo的工作原理和使用介绍,需要的朋友可以收藏下,方便下次浏览观看

Android自定义双向滑动控件

这篇文章主要为大家详细介绍了Android自定义双向滑动控件,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

Android开发教程之初识Android App

这篇文章主要为大家详细介绍了Android开发教程之初识Android App的相关资料,感兴趣的小伙伴们可以参考一下

解析iOS内存不足时的警告以及处理过程

这篇文章主要介绍了iOS内存不足时的警告以及处理过程,包括View Controller和生命周期等相关方面的知识,需要的朋友可以参考下

返回分类 返回首页