package com.gh.base.fragment; import android.app.Dialog; import androidx.lifecycle.Lifecycle; import android.os.Bundle; import androidx.annotation.NonNull; import androidx.annotation.StringRes; import androidx.fragment.app.DialogFragment; import android.view.KeyEvent; import com.gh.common.util.ClickUtils; import com.gh.gamecenter.R; import com.lightgame.utils.RuntimeUtils; import com.lightgame.utils.Utils; /** * @author CsHeng * @Date 17/05/2017 * @Time 4:30 PM */ public class BaseDialogFragment extends DialogFragment { @NonNull @Override public Dialog onCreateDialog(Bundle savedInstanceState) { final Dialog dialog = new Dialog(getActivity(), R.style.DialogWindowTransparent); dialog.setCanceledOnTouchOutside(false); dialog.setOnKeyListener((dialog1, keyCode, event) -> { if (keyCode == KeyEvent.KEYCODE_BACK && ClickUtils.isFastDoubleClick()) { //会多次响应?? return onBack(); } return false; }); dialog.setCancelable(false); return dialog; } public void toast(@StringRes int res) { if (getLifecycle().getCurrentState().isAtLeast(Lifecycle.State.STARTED)) toast(getString(res)); } public void toast(String msg) { if (getLifecycle().getCurrentState().isAtLeast(Lifecycle.State.STARTED)) Utils.toast(getContext(), msg); } public void toastLong(@StringRes int msg) { toastLong(getString(msg)); } public void toastLong(String msg) { RuntimeUtils.getInstance().toastLong(getContext(), msg); } public boolean onBack() { return false; } }