点击dialog空白处禁止关闭dialog

//点击空白处不关闭dialog
dialog.setCancelable(false);

dialog 完整代码

package com.developer.jim.wizard.views;

import android.app.Activity;
import android.app.DialogFragment;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.view.WindowManager;
import android.widget.Button;

import com.developer.jim.wizard.R;

public class HuafuDialog extends DialogFragment {

    private static Activity mactivity;
    private static HuafuDialog dialog;

    public static void showHuafuDialog(Activity activity, String tag) {
        mactivity = activity;
        dialog = new HuafuDialog();
        dialog.show(activity.getFragmentManager(), tag);
        //点击空白处不关闭dialog
        dialog.setCancelable(false);
    }

    @Override
    public void onStart() {
        super.onStart();
        Window window = getDialog().getWindow();
        WindowManager.LayoutParams windowParams = window.getAttributes();
        windowParams.dimAmount = 0.3f;//设置透明度,比如0.3f
        window.setAttributes(windowParams);
    }

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {
        getDialog().getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
        View view = LayoutInflater.from(mactivity).inflate(R.layout.popup_huafu, container, false);
        Button cancel = view.findViewById(R.id.cancel);
        Button ensure = view.findViewById(R.id.ensure);
        ensure.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                dismiss();
            }
        });
        cancel.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                dismiss();
            }
        });

        return view;
    }
}

你可能感兴趣的:(Android开发)