如果 Android 版本在 6.0.1 以上,布局设置了透明导航栏,布局会拉伸到屏幕底部,导航栏将会遮挡布局。
适配方案有两种:1. 取消设置透明导航栏;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>
原文:https://www.cnblogs.com/Yogile/p/13263243.html