前言
如果 Android 版本在 6.0.1 以上,布局设置了透明导航栏,布局会拉伸到屏幕底部,导航栏将会遮挡布局。
适配方案
适配方案有两种:1. 取消设置透明导航栏;2. 保留透明导航栏。
这里只记方案2。
方案2
-
在 .java 文件中设置了透明导航栏:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
-
在对应的 Activity 的最大布局控件中,添加属性:
android:fitsSystemWindows="true"
即可保留透明导航栏,并避免布局被遮挡。
-
API 28 (Android 9.0) 以下布局已经试过可用:
<androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout> <LinearLayout> </LinearLayout>