Dialog弹出后显示遮罩效果

在很多APP中经常见到打开一个弹框后整个屏幕的背景颜色变深了,那么这种效果怎么实现呢?

/**
     * 设置背景透明度
     *
     * @param bgAlpha
     */
    private void backgroundAlpha(float bgAlpha) {
        WindowManager.LayoutParams lp = getWindow().getAttributes();
        lp.alpha = bgAlpha; //0.0-1.0
        getWindow().setAttributes(lp);
    }

 

当点击弹出dialog时,我们可以使用上面的方法改变窗口的背景颜色。

当点击关闭dialog时,我们再把背景颜色设置成正常状态,代码如下:

 

private class DialogDismissListener implements DialogInterface.OnDismissListener {

        @Override
        public void onDismiss(DialogInterface dialogInterface) {
            backgroundAlpha(1);
        }
    }

 

 

 

 

 

你可能感兴趣的:(Android基础)