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();
}