android中自定义带进度条WebView
来源:互联网 发布:淘宝虚假交易订单清洗 编辑:程序博客网 时间:2024/05/16 12:17
我们在使用webView时经常需要显示加载进度条,都会这样写,感觉比较麻烦。所以我就需要组合自定义View来实现,其实很简单,很好理解。我只是记录下来方便使用,不喜勿吐
public class CustomWebView extends RelativeLayout { Context context; private WebView webView; private ProgressBar progressBar; public CustomWebView(Context context) { this(context,null); } public CustomWebView(Context context, AttributeSet attrs) { this(context, attrs,0); } public CustomWebView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); this.context=context; init(); } //初始化webView progressBar private void init() { webView=new WebView(context); webView.setOverScrollMode(OVER_SCROLL_NEVER); webView.setHorizontalScrollBarEnabled(false);//水平不显示 webView.setVerticalScrollBarEnabled(false); //垂直不显示 progressBar=new ProgressBar(context,null,android.R.attr.progressBarStyleHorizontal); webView.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)); WebSettings settings=webView.getSettings(); //允许JS执行 settings.setJavaScriptEnabled(true); //设置为使用webview推荐的窗口 settings.setUseWideViewPort(true); //设置网页自适应屏幕大小 ---这个属性应该是跟上面一个属性一起用 settings.setLoadWithOverviewMode(true); settings.setDomStorageEnabled(true); webView.setWebChromeClient(new MyClient()); addView(webView); progressBar.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,4)); progressBar.setMax(100); Drawable draw =ContextCompat.getDrawable(context,R.drawable.progress_web);//进度条样式 progressBar.setProgressDrawable(draw); addView(progressBar); } public void loadDataWithBaseURL(String data){ webView.loadDataWithBaseURL("about:blank",data,"text/html","utf-8",null); } //加载网页 public void loadUrl(String url){ webView.loadUrl(url); } //判断是否可返回 public boolean canGoBack(){ return webView.canGoBack(); } //返回 public void goBack(){ webView.goBack(); } public void setWebViewClient(WebViewClient webVlient){ webView.setWebViewClient(webVlient); } private class MyClient extends WebChromeClient { @Override public void onProgressChanged(WebView view, int newProgress) { progressBar.setProgress( newProgress); if(newProgress==100){ progressBar.setVisibility(View.GONE); } super.onProgressChanged(view, newProgress); } }
阅读全文
0 0
- android中自定义带进度条WebView
- 自定义带进度条webView
- 自定义带进度条的WebView
- 【Android】带进度条的WebView
- 【Android】带进度条的WebView
- 【Android】带进度条的WebView
- 【Android】带进度条的WebView
- [Android]带进度条的WebView
- Android 带进度条的webview
- Android中实现Webview顶部带进度条的方法
- Android中实现Webview顶部带进度条的方法
- 【Android基础学习】带进度条的WebView
- Android 顶部带进度条的WebView
- android - WebView加载网页带进度条
- Android 编写一个带进度条的Webview
- 【Android】自定义带进度条的WebView,修复不弹出软键盘的BUG
- android 中WebView进度条载入
- Android填坑之旅(第六篇)Android中自定义带进度条的WebView,修复不弹出软键盘的BUG
- 使用Akka实现一个简单的RPC框架(二)
- Redis数据结构详解之String(一)
- 全志A33学习笔记及问题汇总
- numpy np.repeat 与 np.tile的区别, numpy.ravel()函数
- matlab图像局部放大算法
- android中自定义带进度条WebView
- Android下载管理DownloadManager介绍和使用封装
- Ant构建hadoop工程
- sblime text 3 中文文件名显示方框怎么解决?
- javaWeb购物商城设计---数据库连接
- curl 发送get和post请求
- SHA-256算法实现
- unicode,gbk和UTF-8
- 欢迎使用CSDN-markdown编辑器