这篇文章主要为大家详细介绍了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页面的进度条相关推荐

  1. android 仿微信加载框,Android自定义控件——仿微信半透明加载框

    在我们的app中不免回遇到耗时操作,这时我们给个加载框进行过度,使用户体验大大加强. 一.CustomDialog类的编写 package com.daqsoft.jingguan.weight; i ...

  2. h5语音聊天audio实战|仿微信语音效果|h5即时聊天系统

    最近一段时间不是那么忙,就抽空整理了下之前的项目,因为之前有开发过H5聊天项目,只是觉得好些功能都没有特别的完善,所以就把之前项目重新开发了下,如是就有了这个html5版实时聊天语音项目weChatI ...

  3. 网页闯关游戏(riddle webgame)--仿微信聊天的前端页面设计和难点

    前言: 之前编写了一个网页闯关游戏(类似Riddle Game), 除了希望大家能够体验一下我的游戏外. 也愿意分享编写这个网页游戏过程中, 学到的一些知识. 本文讲描述, 如何在网页端实现一个仿微信 ...

  4. h5微聊项目|仿微信聊天功能|h5直播互动|h5聊天室

    最近兴致高涨就利用HTML5开发了一个手机端仿微信界面聊天室,该h5聊天室采用750px全新伸缩flex布局,以及使用rem响应式配合fontsize.js,页面弹窗则是使用自己开发的wcPop.js ...

  5. 仿微信手机端支付页面代码可改余额

    介绍: 高仿的微信手机端支付页面代码可改余额,就自己看看装个样子,别去骗人啊,哈哈哈哈,穷人只能这样玩玩 网盘下载地址: http://kekewl.org/uGEBzURdmBF0 图片:

  6. android高仿微信下拉有页面,Android——(仿微信聊天界面布局实例)

    今天看郭霖<第一行代码>书上写了一个聊天窗体的小例子,自己就练习学了一下.加上一些自己的理解整理了一下. 1.第一步首先是制作9.patch图片,这个在android  sdk 目录下to ...

  7. 页面错误!请稍后再试_微信内嵌H5页面授权和分享

    近期新上线项目,用到了微信授权获取用户信息和分享,掉坑无数次,遂写此篇,为后人指路 项目情况 技术选型 项目语言:HTML.CSS.JavaScript 项目框架:Vue.js 项目搭建脚手架:vue ...

  8. 安卓微信 返回显示未读条数_Android仿微信底部菜单栏功能显示未读消息数量

    底部菜单栏很重要,我看了一下很多应用软件都是用了底部菜单栏,这里使用了tabhost做了一种通用的(就是可以像微信那样显示未读消息数量的,虽然之前也做过但是layout下的xml写的太臃肿,这里去掉了 ...

  9. Android 平板中 自己定义键盘(popuwindow) 居于屏幕左下方 仿微信的password输入界面...

    之前博客中,介绍过使用谷歌提供的键盘的一些api,能够非常好地自己定义键盘,參考我之前的博客链接:android 自己定义键盘 ,这个有一个局限性,仅仅能占满屏幕,无法做到仅仅能占一部分的需求键盘,例 ...

最新文章

  1. android 解决ListView点击与滑动事件冲突
  2. r语言glmnet包系数显示不全_第一章: R语言介绍
  3. 高精度加减法 1000阶乘求法
  4. USACO 1.2 挤牛奶
  5. mysql 连接数的最大数
  6. POJ 3581 Sequence ——后缀数组 最小表示法
  7. phalcon: 资源文件管 理 引入css,js
  8. 超级连续的图片滚动特效
  9. 如何判断车与路边线距离_一声惊雷!开车怎么判断轮胎的位置呢?驾校教练:简单一招就能看到位置!...
  10. [UVA1374]Power Calculus【迭代加深】
  11. 转:Redis 应用案例 - 在问题中不断成长
  12. 如何通过a/a中的href刷新当前界面
  13. 记录一次使用ParallelGC导致线上FGC频繁、耗时长的原因
  14. 图像变换 - 图像拉伸、收缩、扭曲、旋转- 仿射变换(cvWarpAffine)
  15. linux系统分辨率无法修改,Redhat9重新安装后无法修改分辨率
  16. android短信验证码方案,Android之短信验证码
  17. Android 关于所谓的 深度睡眠 的问题
  18. 电商商品3d展示---插件spritespin
  19. pandas读取csv文件UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0xca in position 37: invalid contin
  20. outlook gmail_将您的Gmail帐户添加到Outlook 2007

热门文章

  1. 【PyAutoGUI操作指南】05 屏幕截图与图像定位:截图+定位单个目标+定位全部目标+灰度匹配+像素匹配+获取屏幕截图中像素的RGB颜色
  2. LinuxGUI自动化测试框架搭建(十五)-截图功能screenShort.py封装和调用
  3. 命名空间的定义和使用
  4. 外贸人怎样才能轻松管理WhatsApp?WhatsApp助手到底靠谱吗?
  5. 美国版战狼—12勇士
  6. 微信JS接口 - 企业号开发者接口文档n
  7. cocos =》 creator 引擎各组件面板属性解释 (来自引擎源码中)
  8. 写自己的ASP.NET MVC框架(下)
  9. 【软件测试】测试经验:IT 软件测试技术系统化学习方法
  10. android手机两年变卡,安卓手机使用两年以上系统卡顿,这些小技巧帮你解决