Android

DialogFragment

DialogFragment

DialogFragment在android 3.0时被引入。是一种特殊的Fragment,用于在Activity的内容之上展示一个模态的对话框。典型的用于:展示警告框,输入框,确认框等等。使用DialogFragment比单纯使用Dialog有优势,在屏幕旋转后弹窗不会消失。

Activity和Fragment的生命周期

如何创建

首先创建一个继承DialogFragment的类,重写onCreatDialog方法

image 47

定义AlertDialog

image 48

不要忘记定义布局文件,这里显示的是一个DatePicker。

调用AlertDialog

使用show(manager,TAG),第二个参数目前不知道有什么作用。

image 49

总结

DialogFragment中重写onCreateDialog方法,返回一个Dialog。

    @NonNull
    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {
        Logger.d(TAG, "onCreateDialog");
        AppCompatDialog appCompatDialog = new AppCompatDialog(requireActivity());
        TextView textView = new TextView(requireActivity());
        textView.setText("通过onCreateDialog使用DialogFragment");
        textView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 28);
        appCompatDialog.setContentView(textView);
        return appCompatDialog;
    }

在Activity中使用DialogFragment。

    private void showOnCreateDialogFragment(){
        DialogFragment dialogFragment = new DialogFragment();
        dialogFragment.show(getSupportFragmentManager(), "tag");

发表评论