Android怎么实现自定义进度条WebView仿微信加载
发表于:2025-11-15 作者:千家信息网编辑
千家信息网最后更新 2025年11月15日,本篇内容介绍了"Android怎么实现自定义进度条WebView仿微信加载"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细
千家信息网最后更新 2025年11月15日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安全错误
数据库的锁怎样保障安全
上海个性化网络技术服务
计算机网络安全和策略论文
网络安全工程师应届生月薪
榆树网络技术咨询有哪些
服务器安全加固实训报告
软件开发公司税视频
学校计算机服务器室管理制度
access数据库主体素材
c 读接数据库 返回值
传奇数据库元素
厦门胜帆互联网科技
适合多表关联的数据库
学软件开发还是汽修哪个好
网络安全网课题目
游戏软件开发相关前景
数据库连接中间件
数据库host文件配置
数据库查阅不区分大小写
车管网络安全整改报告
看广告领金币服务器异常
自动化巡检网络安全
服务器如何设置rade1
北京博齐世纪网络技术服务
数据库多值属性怎么处理
杨浦区品牌软件开发价格行情
天涯网络安全教育
霸州网络安全
代理服务器创建方法
nuc工控机当服务器
幼儿 网络安全 教案