BlurDialogFragment

介绍:

可以在dialog的后面造成模糊效果,模糊的实现是基于FastBlur算法实现的。

运行效果:

使用说明:

最简单的使用方式是继承BlurDialogFragment或者SupportBlurDialogFragment。

如果你用的是android.app.DialogFragment,那么继承BlurDialogFragment

/**
 * Simple fragment with blurring effect behind.
 */
public class SampleDialogFragment extends BlurDialogFragment {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        this.debug(true);
        this.setBlurRadius(4);
        this.setDownScaleFactor(5.0f);
        ...
    }
    ...
}

如果是android.support.v4.app.DialogFragment 则继承 SupportBlurDialogFragment

/**
 * Simple fragment with blurring effect behind.
 */
public class SampleDialogFragment extends SupportBlurDialogFragment {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        this.debug(true);
        this.setBlurRadius(4);
        this.setDownScaleFactor(5.0f);
        ...
    }
    ...
}

如果你不想使用继承的方式可以直接使用BlurEngine自定义一个DialogFragment

/**
 * Your blur fragment directly using BlurEngine.
 */
public class SampleDialogFragment extends MyCustomDialogFragment {
     /**
     * Engine used to blur.
     */
    private BlurDialogEngine mBlurEngine;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        mBlurEngine = new BlurDialogEngine(getActivity());
        mBlurEngine.debug(mDebugEnable);
        mBlurEngine.setBlurRadius(8);
        mBlurEngine.setDownScaleFactor(8f);
    }
    @Override
    public void onResume() {
        super.onResume();
        mBlurEngine.onResume(getRetainInstance());
    }
     @Override
    public void onDismiss(DialogInterface dialog) {
        super.onDismiss(dialog);
        mBlurEngine.onDismiss();
    }
    @Override
    public void onDestroy() {
        super.onDestroy();
        mBlurEngine.onDestroy();
    }
    @Override
    public void onDestroyView() {
        if (getDialog() != null) {
            getDialog().setDismissMessage(null);
        }
        super.onDestroyView();
    }
    ...
}
已下载
0