当前位置: 首页 > news >正文

android 嵌套webview 全屏展示 页面延伸到状态栏且不被底部导航栏遮挡

我的项目是使用webview嵌套了一个uniapp打包出的h5
本来展示很正常,某天突然发现uniapp的底部导航被手机底部的导航栏挡住了,离奇,某天突然出现的
有些手机会设置展示底部导航按钮,有些手机会关闭底部导航
以下代码对这两种情况通用

package org.topsec.viewerimport android.os.Bundle
import android.util.Log
import android.webkit.WebView
import android.widget.FrameLayout
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.ViewCompat
import androidx.core.view.WindowCompat
import androidx.core.view.WindowInsetsCompat
import androidx.core.view.updatePadding
import kotlin.concurrent.thread
import android.view.View
// Singleton
class MainActivity : AppCompatActivity() {val spiceJNI = SpiceJNI(this)val spiceJSInterface = SpiceJSInterface(this)val spiceWebViewClient = SpiceWebViewClient(this)private lateinit var layoutView : Viewlateinit var webView: WebViewoverride fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)WindowCompat.setDecorFitsSystemWindows(window, false)setContentView(R.layout.webview_layout)supportActionBar?.hide()webView = findViewById(R.id.web_view)val rootView = findViewById<FrameLayout>(R.id.root_frame)ViewCompat.setOnApplyWindowInsetsListener(rootView) { view, insets ->val systemBarsInsets = insets.getInsets(WindowInsetsCompat.Type.systemBars())Log.d("InsetsDebug", "Top system bar height: ${systemBarsInsets.top}px")Log.d("InsetsDebug", "Bottom system bar height: ${systemBarsInsets.bottom}px")// 为根布局设置所有方向的内边距view.updatePadding(left = systemBarsInsets.left,0,right = systemBarsInsets.right,bottom = systemBarsInsets.bottom)insets}// 其他WebView设置webView.settings.javaScriptEnabled = truewebView.webViewClient = spiceWebViewClientwebView.settings.supportZoom()webView.settings.loadWithOverviewMode = truewebView.settings.builtInZoomControls = truewebView.settings.displayZoomControls = truewebView.addJavascriptInterface(spiceJSInterface, "spiceInterface")webView.settings.domStorageEnabled = truewebView.settings.databaseEnabled = truewebView.loadUrl("file:///android_asset/web/index.html")}
}
http://www.xdnf.cn/news/1377073.html

相关文章:

  • 高并发内存池(11)-PageCache获取Span(下)
  • 【C++标准库】<ios>详解基于流的 I/O
  • 腾讯云 CVM 上的 SpringBoot 应用避免非法访问
  • 寄存器的原理
  • YOLOv8-SMOT:一种高效鲁棒的实时小目标跟踪框架:基于切片辅助训练与自适应关联
  • 人工智能-python-深度学习-反向传播优化算法
  • ESP32使用场景及大规模物联网IoT
  • 流水线用到的Dockerfile和构建脚本build.sh
  • 如何安装 mysql-installer-community-8.0.21.0.tar.gz(Linux 详细教程附安装包下载)​
  • 神经网络学习笔记11——高效卷积神经网络架构SqueezeNet
  • 聊一聊 单体分布式 和 微服务分布式
  • 深度学习——优化函数
  • 自学嵌入式第二十九天:Linux系统编程-线程
  • flume监控文件写入 Kafka 实战:解耦应用与消息队列的最佳实践
  • 在语言模型监督式微调(SFT)中的 负对数似然(Negative Log-Likelihood, NLL)等价于最大化似然
  • 软考-系统架构设计师 管理信息系统(MIS)详细讲解
  • 为什么编码智能体可以重塑开发范式?
  • 【Mascaret】QGIS中Mascaret插件的使用
  • ESP8266:Arduino学习
  • 高并发内存池(12)-ThreadCache回收内存
  • 【HTML】隐藏滚动条但保留功能
  • 什么是AI+?什么是人工智能+?
  • redis---set详解
  • ICCV 2025 | 清华IEDA提出GUAVA,单图创建可驱动的上半身3D化身!实时、高效,还能捕捉细腻的面部表情和手势。
  • 《MongoDB 常用命令详解:从数据库操作到高级查询》
  • Windows/Linux 环境下 Jmeter 性能测试的安装与使用
  • 未成功:使用 Nginx 搭建代理服务器(正向代理 HTTPS 网站)
  • Linux学习-TCP并发服务器构建
  • 在 Windows 上部署 Go 语言开发环境
  • 数据分析编程第五步:数据准备与整理