android 判断webview是否已经滚动到底部

本文将介绍如何在Android应用中使用Kotlin来判断WebView是否已经滚动到底部。通过对WebView滚动事件的监听和计算,可以精确地知道用户是否已经浏览到页面的底部,这对于实现无限滚动加载等特性非常有用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

private fun setWebView(webviewcontent: WebView, content: String) {
    webviewcontent.settings.javaScriptEnabled=true
    webviewcontent.settings.builtInZoomControls=true
    webviewcontent.settings.displayZoomControls=false
    webviewcontent.webChromeClient = WebChromeClient()
    webviewcontent.webViewClient = webViewClient
    webviewcontent.scrollBarStyle = View.SCROLLBARS_INSIDE_OVERLAY //取消滚动条白边效果
    webviewcontent.settings.defaultTextEncodingName = "UTF-8"
    webviewcontent.settings.blockNetworkImage = false
    webviewcontent.setOnScrollChangeListener { v, scrollX, scrollY, oldScrollX, oldScrollY ->
        print(oldScrollX)
        //webviewcontent.contentHeight 获取内容的高度
        //webviewcontent.scale 缩放比例
        //webviewcontent.height 现在高度
        //webviewcontent.scrollY 滚动高度
          //此处是判断是否滑动到底部的代码
        if((webviewcontent.contentHeight*webviewcontent.scale-100)<=(webviewcontent.height+webviewcontent.scrollY)){
            tv_ok.background=resources.getDrawable(R.drawable.tv_lan)
            tv_ok.isEnabled=true
        }
    }

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {

        webviewcontent.settings.mixedContentMode = WebSettings.MIXED_CONTENT_ALWAYS_ALLOW  //注意安卓5.0以上的权限

    }
    webviewcontent.loadDataWithBaseURL(null, getNewContent(content), "text/html", "UTF-8", null)
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值