iis服务器助手广告广告
返回顶部
首页 > 资讯 > 移动开发 >AndroidWebView如何判断是否滚动到底部
  • 559
分享到

AndroidWebView如何判断是否滚动到底部

2024-04-02 19:04:59 559人浏览 八月长安
摘要

目录场景:分析:实现:总结场景: 我们有时候需要弹一些必读公告,但是呢可能会要去你看完之后才可以关掉,所以就需要滚动到底部才显示关闭按钮,而公告什么的往往又是基于富文本的,那么在展示

场景:

我们有时候需要弹一些必读公告,但是呢可能会要去你看完之后才可以关掉,所以就需要滚动到底部才显示关闭按钮,而公告什么的往往又是基于富文本的,那么在展示在Android上时就要用到WEBView,基于这个要求就有了判断 WebView 判断是否滚动到底部。

分析:

要判断是否到底部那么我们先来分析有哪几种情况,当html文档加载到WebView后会有一下两种情况。

WebView里的html内容没有填充满,就是无滚动条情况。html内容的高度比WebView控件高,这时候就会有滚动条,即有滚动条

对于情况1,没有滚动条我们直接显示关闭按钮就可,但对于第二种有滚动条情况就需要计算高度即:html高度 = WebView高度 + 滚动条长度 那么这时就可判断为滚动条到达了底部

实现:

html高度 <= WebView高度 + 滚动条长度 即可视为到达底部

注意:必须要控件初始化好后去获取高度,不然获取的高度是0

以下是实现

 x5WebView?.let {
    it.webViewClient = object : WebViewClient() {
	    override fun onPageFinished(
	           view: WebView,
	           url: String
	       ) {
	           super.onPageFinished(view, url)
	           postSafeDelayed(1000) {
	               loading_pb.visibility = View.GoNE
	           }
	           //页面加载完判断是否到底部逻辑
	           view.post {
	                view.measure(0, 0)
	                val htmlContentHeight: Int = view.getMeasuredHeight()
	                val viewHeight: Int = view.getHeight()
	                //如果html高度小于控件高度,那么说明一屏可以展示下直接显示关闭按钮
	                if(htmlContentHeight <= viewHeight){
	                	// TODO 显示关闭按钮
	                }else{
	                //这里说明有滚动条,就需要监听滚动事件
	                	view?.setOnCustomScrollChangedListener(object : WebView.CustomScrollChangeListener{
                        override fun onScrollChange(
                            scrollX: Int,
                            scrollY: Int,
                            oldScrollX: Int,
                            oldScrollY: Int
                        ) {
                            Timber.w("setOnCustomScrollChangedListener 滚动底部,html高度:${htmlContentHeight},scrollY:${scrollY}")
                            //已经处于底端
                            if(htmlContentHeight - (viewHeight + scrollY) <= 0){
                                Timber.w("setOnCustomScrollChangedListener 到达底部")
                                //TODO 到达底部
                            }
                        }
                    })
	                }
                
				}
	       }
	   	}
  }
}

以上就是实现,WebView.CustomScrollChangeListener这个事件是自己在WebView上定义的,监听的是WebView的onScrollChanged方法下的自定义监听

总结

到此这篇关于Android WebView如何判断是否滚动到底部的文章就介绍到这了,更多相关Android WebView滚动到底部内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: AndroidWebView如何判断是否滚动到底部

本文链接: https://www.lsjlt.com/news/163057.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • AndroidWebView如何判断是否滚动到底部
    目录场景:分析:实现:总结场景: 我们有时候需要弹一些必读公告,但是呢可能会要去你看完之后才可以关掉,所以就需要滚动到底部才显示关闭按钮,而公告什么的往往又是基于富文本的,那么在展示...
    99+
    2022-11-13
  • 移动端html5如何判断是否滚动到底部并且下拉加载
    小编给大家分享一下移动端html5如何判断是否滚动到底部并且下拉加载,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!如何判断滚动是否滚动到了底部首先要了解的知识 scrollHeight,c...
    99+
    2022-10-19
  • jQuery怎么判断网页是否已经滚动到浏览器底部
    这篇文章主要介绍jQuery怎么判断网页是否已经滚动到浏览器底部,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!有些需求中,需要当用户滚动到浏览器底部的时候,再加载新的内容。笔者在这里...
    99+
    2022-10-19
  • 怎么用jquery判断div滚动条到底部
    这篇“怎么用jquery判断div滚动条到底部”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么用jquery判断div滚动...
    99+
    2023-07-04
  • js原生判断内容区域是否滚动到底部的示例分析
    小编给大家分享一下js原生判断内容区域是否滚动到底部的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!逻辑判断内容滚动到底需要知道的信息内容区域的真实高度(也就是滚动区域)滚动条距离...
    99+
    2022-10-19
  • jquery怎么判断滚动条滚到页面底部并执行事件
    本文小编为大家详细介绍“jquery怎么判断滚动条滚到页面底部并执行事件”,内容详细,步骤清晰,细节处理妥当,希望这篇“jquery怎么判断滚动条滚到页面底部并执行事件”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧...
    99+
    2023-07-04
  • 如何判断div滑动到底部的scroll
    小编给大家分享一下如何判断div滑动到底部的scroll,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!实例如下所示:<!D...
    99+
    2022-10-19
  • JS如何判断页面是否有滚动条
    这篇文章主要介绍JS如何判断页面是否有滚动条,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!为什么要判断滚动条判断滚动条的需求在弹窗插件中用的较多,因为弹窗大多会添加 overflow...
    99+
    2022-10-19
  • vue如何监听滚动条到底部
    这篇文章主要介绍“vue如何监听滚动条到底部”,在日常操作中,相信很多人在vue如何监听滚动条到底部问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue如何监听滚动条到底部”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-07-04
  • 如何判断redis取到是否为空
    在Redis中,可以使用`GET`命令来获取指定的键的值。如果键存在并且有值,则返回对应的值;如果键不存在或者值为空,则返回`nil...
    99+
    2023-09-01
    redis
  • HTML5中滚动到底部的事件如何解决
    HTML5中滚动到底部的事件如何解决?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。代码实现:<html>    &nbs...
    99+
    2023-06-09
  • 如何用CSS实现平滑滚动到底部按钮
    如何用CSS实现平滑滚动到底部按钮在网页设计中,为了提升用户体验,我们经常需要添加一些便捷的功能,比如回到页面顶部或滚动到底部的按钮。本文将详细介绍如何使用CSS实现一个平滑滚动到底部按钮,并提供具体的代码示例。首先,我们需要在HTML中添...
    99+
    2023-11-21
    滚动 CSS 底部按钮
  • 如何判断网站是否受到DDoS攻击
    判断网站是否受到DDoS攻击的方法:1、使用ping命令进行判断,如果发现Ping超时或丢包严重,服务器也访问不了,则可能遭受了流量攻击;2、使用Netstat命令进行判断,如果网站访问突然非常缓慢或无法访问了,但还可以Ping通,则可能遭...
    99+
    2022-10-05
  • 如何判断你的MySQL到底是读多还是写多
    本篇内容主要讲解“如何判断你的MySQL到底是读多还是写多”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何判断你的MySQL到底是读多还是写多”吧!笨方法(不...
    99+
    2022-10-18
  • linux如何判断是否启动了php-fpm
    这篇文章主要介绍了linux如何判断是否启动了php-fpm的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇linux如何判断是否启动了php-fpm文章都会有所收获,下面我们一起来看看吧。在linux中,可以利...
    99+
    2023-06-30
  • 如何判断Android的Service是否已启动或已绑定
    此内容基于CharGPT生成 要判断一个 Android Service 是否已经启动或已绑定,可以使用以下方法: 启动状态判断: 可以使用 ActivityManager 类中的 getRunningServices() 方...
    99+
    2023-09-21
    android android studio ide Powered by 金山文档
  • css如何实现网页栏目左侧固定当滚动到底部时自动调整位置
    这篇文章给大家分享的是有关css如何实现网页栏目左侧固定当滚动到底部时自动调整位置 的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。预览地址:https://ovsexia.gitee.io/leftfixed/h...
    99+
    2023-06-08
  • 微信小程序组件scroll-view滚动到底部多次触发加载如何解决?
    在 iOS 真机上,scroll-view 滚动时会多次触发 scrolltolower 事件的问题,可以设置一个“加载标识”(如 DisableTrigger)来避免重复请求下一页数据。具体做法为:...
    99+
    2023-09-06
    小程序
  • 如何判断自己的业务是否需要部署高防服务器上
    判断自己的业务是否需要部署在高防服务器上的依据:1.网络带宽的消耗情况以及网络使用情况。2.服务器的网络攻击频率以及业务运行情况。3.公司的业务类型和网络数据的安全性。具体内容如下:其实除了机房自身的一些防止渗透的加密手段,一般来说高防服务...
    99+
    2022-10-10
  • python如何判断一个列表中的数值是否全部小于某个数
    小编给大家分享一下python如何判断一个列表中的数值是否全部小于某个数,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!如何判断一个列表中的数值是否全部小于某个数# 判断一个列表中的数值是否全部小于某个数num&n...
    99+
    2023-06-27
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作