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