Android怎么实现自定义进度条WebView仿微信加载
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,本篇内容介绍了"Android怎么实现自定义进度条WebView仿微信加载"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细
千家信息网最后更新 2026年11月02日Android怎么实现自定义进度条WebView仿微信加载
本篇内容介绍了"Android怎么实现自定义进度条WebView仿微信加载"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
一、自定义webView
1、首先定义一个类,继承webView,并首先构造方法
public class ProgressBarWebView extends WebView{}自定义控件,先实现构造方法,
第一中是程序内部实例化采用,传入context
public ProgressBarWebView(Context context) { super(context); }第二种用于layout实例化,会把xml的参数通过AttributeSet带入View内
public ProgressBarWebView(Context context, AttributeSet attrs) { super(context, attrs); }第三种主题的style信息,也从XML带入
public ProgressBarWebView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); }而我们需要加载进度条布局,所以我们需要在第二中构造方法中进行操作,如下:
//首选创建一个进度条,我们这里创建的是一个横向的进度条progressBar = new ProgressBar(context, null, android.R.attr.progressBarStyleHorizontal); //设置该进度条的位置参数progressBar.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, 10, 0, 0)); //我们想要设置该进度条的背景样式 Drawable drawable = context.getResources().getDrawable(R.drawable.progress_bar_states);//设置背景样式 progressBar.setProgressDrawable(drawable); //调用本身的addView(其实是调用ViewManager里的方法,看源码)方法讲进度条添加到当前布局视图中addView(progressBar); //正常想获取或这进行交互一般要实现一下两个方法,Myweblient()可以限制不用手机本身的浏览器,MyChromeClient()可以获得网页加载的进度,title等setWebViewClient(new Myweblient()); setWebChromeClient(new MyChromeClient()); //是否可以缩放 getSettings().setSupportZoom(true); getSettings().setBuiltInZoomControls(true);
2、重写WebViewClient,设置再本身的webview打开,不调用系统的浏览器:
//需要自己设置要不会打开手机浏览器 private class Myweblient extends WebViewClient{ @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } }3、重写WebChromeClient,获取相应进度信息,并设置
private class MyChromeClient extends WebChromeClient{ @Override public void onProgressChanged(WebView view, int newProgress) { if (newProgress == 100) { //当网页全部加载完毕时 progressBar.setVisibility(GONE); } else { if (progressBar.getVisibility() == GONE) progressBar.setVisibility(VISIBLE); progressBar.setProgress(newProgress); } super.onProgressChanged(view, newProgress); } }4、前文构造器我们提到的进度条背景R.drawable.progress_bar_states,需要再xml中定义;
二、在页面中的使用
//布局中
Activity中使用
ProgressBarWebView webView=(ProgressBarWebView) findViewById(R.id.ss);webView.loadUrl("http://www.baidu.com/");三、最终效果
"Android怎么实现自定义进度条WebView仿微信加载"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
进度
方法
布局
浏览器
背景
浏览
信息
内容
参数
实例
手机
更多
样式
知识
网页
实用
学有所成
接下来
不用
两个
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
中关村互联网科技集团
美国互联网科技巨头监管
互联网科技作文
齐家互联网科技
致聘互联网科技
北京禾田雨橡互联网科技
赫美联合互联网科技
上游互联网科技
掌上梦互联网科技
成都狮子座互联网科技
互联网科技博主是什么意思
世界互联网科技公司市值排名
厦门千工互联网科技有限公司
四川慕妮娅互联网科技有限公司
用友工业互联网科技发展
深圳无忧互联网科技
互联网科技平台产品运营
陕西九四连强互联网科技有限公司
同城互联网络科技
互联网企业和网络科技有限公司
互联网科技深圳
互联网金融科技创新
致聘互联网科技
重庆科技学院互联网
富国互联网科技创新基金
随着互联网科技发展
宝灵互联网科技有限公司
互联网数据科技专业
山东大美朱楼互联网科技有限公司
互联网硬科技公司