场景介绍
我们在使用 bottomsheetdialog 作为底部弹窗时,由于某些手机存在导航栏,当弹窗背景颜色和导航栏的颜色格格不入时,整体效果就会大打折扣,如下图所示:
解决思路
1.通过设置 window 的 setBackgroundDrawable 实现
2.通过设置 style 文件实现
@RequiresApi(api = Build.VERSION_CODES.M)
private void setWhiteNavigationBar(@NonNull Dialog dialog) {
Window window = dialog.getWindow();
if (window != null) {
DisplayMetrics metrics = new DisplayMetrics();
window.getWindowManager().getDefaultDisplay().getMetrics(metrics);
GradientDrawable dimDrawable = new GradientDrawable();
GradientDrawable navigationBarDrawable = new GradientDrawable();
navigationBarDrawable.setShape(GradientDrawable.RECTANGLE);
navigationB