Android怎么实现自定义进度条WebView仿微信加载
发表于:2025-02-06 作者:千家信息网编辑
千家信息网最后更新 2025年02月06日,本篇内容介绍了"Android怎么实现自定义进度条WebView仿微信加载"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细
千家信息网最后更新 2025年02月06日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安全错误
数据库的锁怎样保障安全
网络安全实名
网络技术软考
中彩网投注数据库
网络安全宣传金融
慈溪直销软件开发企业
怎么知道服务器有没有挂载存储
东西湖国家网络安全中心地址
中小学儿童网络安全视频
vb开发数据库的程序
计算机网络技术 教学目标
互联网科技创新驱动
软件开发需要哪些岗位人员
电视机 安卓软件开发
伟思安信网络安全隔离卡
汽车网络技术优点
小学校园网络安全活动教案
网络安全系统 需求分析
政府软件开发加班多吗
天津专业软件开发服务有哪些
计算机网络技术属于电子类么
江苏电商网络技术服务供应商家
泰瑞亚服务器IP怎么查看
简单的旅游网数据库表
华三服务器排行
服务器管理协议imos
plsql怎么装服务器上
青岛易简付网络技术公司
psv大陆服务器
网络安全措施和方法
计算生物学软件开发