TipDialog.java 2.27 KB
package com.hjx.parent.dialog;

import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;

import androidx.annotation.NonNull;

import com.hjx.parent.R;
import com.hjx.parent.databinding.DialogTipBinding;
import com.prws.common.utils.CommonUtil;


public class TipDialog extends Dialog {
    private Context context;
    private DialogTipBinding binding;
    private TipDialogInterface dialogInterface;
    private String title;
    private String content;
    private String confirm;
    private String cancel;

    public TipDialog(@NonNull Context context, String title, String content, String confirm, String cancel, TipDialogInterface dialogInterface) {
        super(context, R.style.MyAlertDialog);
        this.context = context;
        this.dialogInterface = dialogInterface;
        this.title = title;
        this.content = content;
        this.confirm = confirm;
        this.cancel = cancel;
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        binding = DialogTipBinding.inflate(getLayoutInflater());
        setContentView(binding.getRoot());
        this.setCancelable(true);
        Window dialogWindow = getWindow();
        WindowManager.LayoutParams lp = dialogWindow.getAttributes();
        lp.width = CommonUtil.getScreenWidth(getContext());
        lp.height = CommonUtil.getRawScreenSize(getContext())[1];
        dialogWindow.setAttributes(lp);
        binding.tvCancel.setText(cancel);
        binding.tvCancel.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                dialogInterface.onCancel(TipDialog.this);
            }
        });
        binding.tvConfirm.setText(confirm);
        binding.tvConfirm.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                dialogInterface.onConfirm(TipDialog.this);
            }
        });
        binding.tvTitle.setText(title);
        binding.tvContent.setText(content);
    }

    public interface TipDialogInterface {
        void onConfirm(Dialog dialog);

        void onCancel(Dialog dialog);
    }
}