package com.dayu.pipirrapp.view;
|
|
import android.app.Activity;
|
import android.app.Dialog;
|
import android.text.TextUtils;
|
import android.view.Gravity;
|
import android.view.View;
|
import android.view.ViewGroup;
|
import android.view.WindowManager;
|
import android.widget.TextView;
|
|
import androidx.annotation.NonNull;
|
|
import com.dayu.pipirrapp.R;
|
|
|
/**
|
* author: zuo
|
* Date: 2024-03-25
|
* Time: 13:22
|
* 备注:
|
*/
|
public class ConfirmDialog extends Dialog {
|
|
|
Activity mContext;
|
ConfirmOnClickListener mListner;
|
String mData;
|
String mTitle;
|
|
public ConfirmDialog(@NonNull Activity context) {
|
super(context, R.style.showSelfDialog);
|
mContext = context;
|
initView();
|
}
|
|
public ConfirmDialog(@NonNull Activity context, ConfirmOnClickListener listner) {
|
super(context, R.style.showSelfDialog);
|
mContext = context;
|
mListner = listner;
|
initView();
|
}
|
|
|
public ConfirmDialog(@NonNull Activity context, String data, ConfirmOnClickListener listner) {
|
super(context, R.style.showSelfDialog);
|
mContext = context;
|
mListner = listner;
|
mData = data;
|
initView();
|
}
|
|
public ConfirmDialog(@NonNull Activity context, String title, String data, ConfirmOnClickListener listner) {
|
super(context, R.style.showSelfDialog);
|
mContext = context;
|
mListner = listner;
|
mData = data;
|
mTitle = title;
|
initView();
|
}
|
|
|
private void initView() {
|
getWindow().setGravity(Gravity.CENTER);
|
setContentView(R.layout.confirm_dialog);
|
setCanceledOnTouchOutside(false);
|
TextView title = (TextView) this.findViewById(R.id.title);
|
if (!TextUtils.isEmpty(mTitle)) {
|
title.setVisibility(View.VISIBLE);
|
title.setText(mTitle);
|
}
|
|
TextView data = (TextView) this.findViewById(R.id.confirm_data);
|
if (!TextUtils.isEmpty(mData)) {
|
data.setText(mData);
|
}
|
TextView cannel = (TextView) this.findViewById(R.id.confirm_cancel);
|
TextView ok = (TextView) this.findViewById(R.id.confirm_ok);
|
cannel.setOnClickListener(v -> ConfirmDialog.this.dismiss());
|
if (mListner == null) {
|
ok.setOnClickListener((View v) -> {
|
ConfirmDialog.this.dismiss();
|
mContext.finish();
|
});
|
} else {
|
ok.setOnClickListener(new View.OnClickListener() {
|
@Override
|
public void onClick(View v) {
|
mListner.onClick(ConfirmDialog.this, v);
|
}
|
});
|
}
|
}
|
|
@Override
|
public void show() {
|
|
super.show();
|
/**
|
* 设置宽度全屏,要设置在show的后面
|
*/
|
WindowManager.LayoutParams layoutParams = getWindow().getAttributes();
|
layoutParams.gravity = Gravity.CENTER;
|
layoutParams.width = ViewGroup.LayoutParams.MATCH_PARENT;
|
layoutParams.height = ViewGroup.LayoutParams.MATCH_PARENT;
|
getWindow().getDecorView().setPadding(0, 0, 0, 0);
|
getWindow().setAttributes(layoutParams);
|
}
|
|
|
public interface ConfirmOnClickListener {
|
void onClick(ConfirmDialog confirmDialog, View v);
|
}
|
}
|