DialogFragment 是android3.0以后推出的,用来替代Dialog,它其实就是一个fragment,具有fragment的所有生命周期,比Dialog更好管理。
简单的封装一下:
public abstract class BaseDialogFragment extends DialogFragment {
protected Dialog dialog = null;
private String TAG = "BaseDialogFragment";
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
return inflater.inflate(getLayoutId(), container, false);
}
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setStyle(STYLE_NO_FRAME, R.style.BaseDialog);
}
@NonNull
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
dialog = super.onCreateDialog(savedInstanceState);
//点击弹出框外面是否可取消
dialog.setCanceledOnTouchOutside(false);
//点击返回键是否可取消
dialog.setCancelable(true);
return dialog;
}