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

相关推荐
zh_xuan2 小时前
Android Hilt实现依赖注入
android·hilt
freshman_y3 小时前
Qtcreator怎么新建安卓项目?编写一个五子棋游戏APP?
android·qt
时寒的笔记3 小时前
js逆向7_案例惠nong网
android·开发语言·javascript
肯多洛夫斯基4 小时前
安卓工控屏静默连WiFi全攻略
android
极梦网络无忧4 小时前
Android无障碍服务实现抖音直播间界面监控(场控助手核心原理)
android
call me by ur name5 小时前
ERNIE 5.0 Technical Report论文解读
android·开发语言·人工智能·机器学习·ai·kotlin
kerli6 小时前
Compose 组件:Box 核心参数及其 Bias 算法
android·前端
BLUcoding6 小时前
Android 常用控件及核心属性
android
遥不可及zzz6 小时前
[特殊字符] Android AAB 一键安装工具配置指南
android·macos
私人珍藏库6 小时前
【Android】一键硬核锁手机
android·智能手机·app·工具·软件