首页 > 解决方案 > 如何在显示对话框时正确模糊背景

问题描述

你好,我正在使用一个对话框,我想模糊背景,但有一个问题

我正在尝试实现与此类似的模糊

我发现一个问题有相同的问题,但未解决的警报对话框只模糊了屏幕的一部分

好的,我已经使用了这个答案,它工作得很好,但模糊只显示在对话框周围,而不是整个布局

这是我从答案中实现的代码行,整个代码在图像下方

getDialog().getWindow().addFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND);

这是我得到的截图

在此处输入图像描述

如您所见,模糊效果很好,但不正确

这是代码

注意:- 我只包含必要的文件和代码,所以问题不会变得冗长和混乱,但如果您想要更多代码参考,请告诉我我会更新问题

对话框.java

public class sort_image_dialoge_fragment extends DialogFragment {
    @Nullable
    @org.jetbrains.annotations.Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable @org.jetbrains.annotations.Nullable ViewGroup container, @Nullable @org.jetbrains.annotations.Nullable Bundle savedInstanceState) {
        super.onCreateView(inflater, container, savedInstanceState);
        View view = inflater.inflate(R.layout.sort_image, container, false);

        if (getDialog() != null && getDialog().getWindow() != null) {
            getDialog().getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
            getDialog().getWindow().requestFeature(Window.FEATURE_NO_TITLE);
            // This is the line i have implemented form the answer to blur the background
            getDialog().getWindow().addFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND);

        }
        return view;
    }
}

Home_Fragment.java // 这是必须被模糊并包含文本视图的布局,按下时会弹出对话框

TextView sortDialoge_textView;

 public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_home, container, false);

sortDialoge_textView = view.findViewById(R.id.sort_text);
        sortDialoge_textView.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View view) {
                sort_image_dialoge_fragment sortDialoge = new sort_image_dialoge_fragment();
                sortDialoge.show(requireActivity().getSupportFragmentManager(), sortDialoge.getTag());
            }
        });

 return view;
    }

标签: androidandroid-alertdialogandroid-dialogfragment

解决方案


推荐阅读