Android 嵌入h5顶部状态栏空白

Android 嵌入h5顶部状态栏空白

在 onCreate() 中处理 WindowInsets

javascript 复制代码
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    EdgeToEdge.enable(this);
    setContentView(R.layout.activity_h5_web_view);

    // 关键:让 WebView 沉浸式绘制到状态栏下方
    ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.webview), (v, insets) -> {
        // 获取系统栏(状态栏、导航栏)的插入值
        WindowInsetsCompat.Type.systemBars(); // API 29+
        int left = insets.getInsets(WindowInsetsCompat.Type.systemBars()).left;
        int top = insets.getInsets(WindowInsetsCompat.Type.systemBars()).top;
        int right = insets.getInsets(WindowInsetsCompat.Type.systemBars()).right;
        int bottom = insets.getInsets(WindowInsetsCompat.Type.systemBars()).bottom;

        // 只保留 WebView 内容区域,不被系统 UI 影响
        v.setPadding(0, 0, 0, 0); // 移除所有 padding

        // 返回 CONSUMED 表示我们自己处理了 insets,不要继续传递
        return WindowInsetsCompat.CONSUMED;
    });

    initViews();
    setupWebView();
    loadPage();
}
相关推荐
来来走走11 小时前
kotlin学习 lambda编程
android·学习·kotlin
无知的前端11 小时前
一文精通-Kotlin中双冒号:: 语法使用
android·kotlin
Andy12 小时前
Mysql基础2
android·数据库·mysql
下位子12 小时前
『OpenGL学习滤镜相机』- Day1: OpenGL ES 入门与环境搭建
android·opengl
正经教主12 小时前
【问题】Android Studio专用C盘空间过大问题:迁移相关程序文件
android·android studio
下位子13 小时前
『OpenGL学习』 从零打造 Android 滤镜相机
android·opengl
●VON13 小时前
双非大学生自学鸿蒙5.0零基础入门到项目实战 - 歌曲列表
android·华为·harmonyos
dessler14 小时前
MYSQL-多种方法安装部署
android·mysql·adb
凛_Lin~~16 小时前
安卓接入Twitter三方登录
android·java·twitter