android加载h5页面加进度条,使用Android仿微信加载H5页面的进度条
这篇文章主要为大家详细介绍了Android仿微信加载H5页面进度条,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
前言
Android中WebView打卡前端页面时受到网路环境,页面内容大小的影响有时候会让用户等待很久。显示一个加载进度条可以提升很大的体验。微信内访问H5页面加载效果不错,效仿着写了一个。
1.实现
1-1.自定义类继承WebView类
class ProgressWebView(context: Context, attr: AttributeSet) : WebView(context, attr) {
/**
*xml布局中使用,所以用两个构造参数的构造函数
*/
private var progressBar: ProgressBar? = null
/**
*初始化属性操作
*/
init {
/**
*设置ProgressBar是横向
*/
progressBar = ProgressBar(context, null, android.R.attr.progressBarStyleHorizontal)
/**
*设置进度条属性
*/
progressBar!!.progressDrawable = context.resources.getDrawable(R.drawable.webview_hori_progress)
/**
*设置ProgressBar的布局参数
*/
val layoutParams = FrameLayout.LayoutParams(LayoutParams.MATCH_PARENT, 10, 0)
/**
*绑定参数
*/
progressBar!!.layoutParams = layoutParams
/**
*将ProgressBar添加到WebView上 默认头部
*/
addView(progressBar)
/**
*设置WebView辅助类WebChromeClient,获取实时加载进度
*/
setWebChromeClient(object : WebChromeClient() {
override fun onProgressChanged(webview: WebView?, progress: Int) {
super.onProgressChanged(webview, progress)
Log.d("progressView", progress.toString())
if (progress == 100)
progressBar!!.visibility = View.GONE
else {
progressBar!!.visibility = View.VISIBLE
/**
*设置进度参数
*/
progressBar!!.progress = progress
}
}
})
}
}
看下设置的加载进度条的属性,webview_hori_progress.xml
android:endColor="#FFE4E3E3"
android:startColor="#FFE4E3E3" />
android:centerColor="#96EF1627"
android:endColor="#50F53D4B"
android:startColor="#FFEF1627" />
1-2.xml 布局中引用
android:id="@ id/wvProgress"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
1-3.代码实现
/**
*android kotlin 的拓展,导入此包 使用到的组件不用findViewById
*/
import kotlinx.android.synthetic.main.activity_main.*
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
/**
*WebView设置属性
*/
val setting = wvProgress.settings
/**
*本地缓存无则网络
*/
setting.cacheMode = WebSettings.LOAD_CACHE_ELSE_NETWORK
/**
*设置识别javascript代码
*/
setting.javaScriptEnabled = true
/**
*纵向scrollbar去除
*/
wvProgress.isVerticalScrollBarEnabled =false
/**
*加载页面
*/
wvProgress.loadUrl("https://blog.csdn.net/")
}
}
2.效果图
以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注jquery中文网!
相关推荐:
利用css实现一款仿ios7的switches开关按钮
android加载h5页面加进度条,使用Android仿微信加载H5页面的进度条相关推荐
- android 仿微信加载框,Android自定义控件——仿微信半透明加载框
在我们的app中不免回遇到耗时操作,这时我们给个加载框进行过度,使用户体验大大加强. 一.CustomDialog类的编写 package com.daqsoft.jingguan.weight; i ...
- h5语音聊天audio实战|仿微信语音效果|h5即时聊天系统
最近一段时间不是那么忙,就抽空整理了下之前的项目,因为之前有开发过H5聊天项目,只是觉得好些功能都没有特别的完善,所以就把之前项目重新开发了下,如是就有了这个html5版实时聊天语音项目weChatI ...
- 网页闯关游戏(riddle webgame)--仿微信聊天的前端页面设计和难点
前言: 之前编写了一个网页闯关游戏(类似Riddle Game), 除了希望大家能够体验一下我的游戏外. 也愿意分享编写这个网页游戏过程中, 学到的一些知识. 本文讲描述, 如何在网页端实现一个仿微信 ...
- h5微聊项目|仿微信聊天功能|h5直播互动|h5聊天室
最近兴致高涨就利用HTML5开发了一个手机端仿微信界面聊天室,该h5聊天室采用750px全新伸缩flex布局,以及使用rem响应式配合fontsize.js,页面弹窗则是使用自己开发的wcPop.js ...
- 仿微信手机端支付页面代码可改余额
介绍: 高仿的微信手机端支付页面代码可改余额,就自己看看装个样子,别去骗人啊,哈哈哈哈,穷人只能这样玩玩 网盘下载地址: http://kekewl.org/uGEBzURdmBF0 图片:
- android高仿微信下拉有页面,Android——(仿微信聊天界面布局实例)
今天看郭霖<第一行代码>书上写了一个聊天窗体的小例子,自己就练习学了一下.加上一些自己的理解整理了一下. 1.第一步首先是制作9.patch图片,这个在android sdk 目录下to ...
- 页面错误!请稍后再试_微信内嵌H5页面授权和分享
近期新上线项目,用到了微信授权获取用户信息和分享,掉坑无数次,遂写此篇,为后人指路 项目情况 技术选型 项目语言:HTML.CSS.JavaScript 项目框架:Vue.js 项目搭建脚手架:vue ...
- 安卓微信 返回显示未读条数_Android仿微信底部菜单栏功能显示未读消息数量
底部菜单栏很重要,我看了一下很多应用软件都是用了底部菜单栏,这里使用了tabhost做了一种通用的(就是可以像微信那样显示未读消息数量的,虽然之前也做过但是layout下的xml写的太臃肿,这里去掉了 ...
- Android 平板中 自己定义键盘(popuwindow) 居于屏幕左下方 仿微信的password输入界面...
之前博客中,介绍过使用谷歌提供的键盘的一些api,能够非常好地自己定义键盘,參考我之前的博客链接:android 自己定义键盘 ,这个有一个局限性,仅仅能占满屏幕,无法做到仅仅能占一部分的需求键盘,例 ...
最新文章
- android 解决ListView点击与滑动事件冲突
- r语言glmnet包系数显示不全_第一章: R语言介绍
- 高精度加减法 1000阶乘求法
- USACO 1.2 挤牛奶
- mysql 连接数的最大数
- POJ 3581 Sequence ——后缀数组 最小表示法
- phalcon: 资源文件管 理 引入css,js
- 超级连续的图片滚动特效
- 如何判断车与路边线距离_一声惊雷!开车怎么判断轮胎的位置呢?驾校教练:简单一招就能看到位置!...
- [UVA1374]Power Calculus【迭代加深】
- 转:Redis 应用案例 - 在问题中不断成长
- 如何通过a/a中的href刷新当前界面
- 记录一次使用ParallelGC导致线上FGC频繁、耗时长的原因
- 图像变换 - 图像拉伸、收缩、扭曲、旋转- 仿射变换(cvWarpAffine)
- linux系统分辨率无法修改,Redhat9重新安装后无法修改分辨率
- android短信验证码方案,Android之短信验证码
- Android 关于所谓的 深度睡眠 的问题
- 电商商品3d展示---插件spritespin
- pandas读取csv文件UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0xca in position 37: invalid contin
- outlook gmail_将您的Gmail帐户添加到Outlook 2007
热门文章
- 【PyAutoGUI操作指南】05 屏幕截图与图像定位:截图+定位单个目标+定位全部目标+灰度匹配+像素匹配+获取屏幕截图中像素的RGB颜色
- LinuxGUI自动化测试框架搭建(十五)-截图功能screenShort.py封装和调用
- 命名空间的定义和使用
- 外贸人怎样才能轻松管理WhatsApp?WhatsApp助手到底靠谱吗?
- 美国版战狼—12勇士
- 微信JS接口 - 企业号开发者接口文档n
- cocos =》 creator 引擎各组件面板属性解释 (来自引擎源码中)
- 写自己的ASP.NET MVC框架(下)
- 【软件测试】测试经验:IT 软件测试技术系统化学习方法
- android手机两年变卡,安卓手机使用两年以上系统卡顿,这些小技巧帮你解决