Android target35适配之窗口边衬区变更

targetsdk升级到35后,发现页面的toolbar和navigationBar 会遮挡页面原有的元素,主要是因为Google将安全区域变更了,原来布局会自动避开statusBar,而如今根布局相对于statusBar的偏移没有了,这对于非全屏的页面来说,就需要统一进行适配了。同样的,底部navigationBar的偏移也没有了,那么页面底部的导航栏可能会遮挡页面的元素。

Activity的onCreate方法中,加入如下的代码

java 复制代码
final View decorView = getWindow().getDecorView();
ViewCompat.setOnApplyWindowInsetsListener(decorView, new OnApplyWindowInsetsListener() {
            @Override
            public WindowInsetsCompat onApplyWindowInsets(View v, WindowInsetsCompat insets) {
                v.setPadding(insets.getSystemWindowInsetLeft(),
                        insets.getSystemWindowInsetTop(),
                        insets.getSystemWindowInsetRight(),
                        insets.getSystemWindowInsetBottom());
                return insets;
            }
        });

参考文档:

1 https://developer.android.google.cn/about/versions/15/behavior-changes-15?hl=zh-cn#window-insets

相关推荐
没有了遇见7 分钟前
Android 架构之网络框架多域名配置<三>
android
myloveasuka1 小时前
[Java]单列集合
android·java·开发语言
fundroid2 小时前
Room 3.0 完全解析:一次面向未来的现代化重构
android·数据库·database·kmp
漂洋过海来看你啊2 小时前
Jetpack Compose高效列表实战:状态管理与性能优化指南
android
张宏2362 小时前
android camera hal3-camera_module_t
android
hongtianzai3 小时前
Laravel9.X核心特性全解析
android·java·数据库
七夜zippoe3 小时前
Python 3.12+ 新特性深度解析:类型系统与性能革命
android·网络·python·类型系统·性能革命·3.12+
Kapaseker3 小时前
五分钟搞定 Compose 的打字机效果
android·kotlin
彭波3963 小时前
听歌软件下载!全网音乐随便听!手机电脑+电视端!音乐播放器推荐
android·智能手机·音频·开源软件·娱乐·软件需求
江澎涌3 小时前
鸿蒙动态导入实战
android·typescript·harmonyos