package com.hdl.photovoltaic.widget; import android.app.Dialog; import android.content.Context; import android.os.Bundle; import android.text.TextUtils; import android.view.View; import androidx.annotation.NonNull; import com.hdl.photovoltaic.R; import com.hdl.photovoltaic.databinding.DialogChangeAvatarBinding; /** * 修改头像专用弹窗 */ public class ChangeAvatarDialog extends Dialog { private final Context mContext; private onCancelOnclickListener cancelOnclickListener;//取消按钮被点击了的监听器 private onLine1OnclickListener line1OnclickListener;// private onLine2OnclickListener line2OnclickListener;// private DialogChangeAvatarBinding viewBinding; private String line1Text, line2Text, cancelText; public ChangeAvatarDialog(@NonNull Context context) { super(context, R.style.Custom_Dialog); this.mContext = context; } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); viewBinding = DialogChangeAvatarBinding.inflate(getLayoutInflater()); setContentView(viewBinding.getRoot()); //空白处不能取消动画 setCanceledOnTouchOutside(false); //初始化界面控件 initView(); //初始化界面数据 initData(); //初始化界面控件的事件 initEvent(); } private void initView() { } /** * 自定义"第一行"文本 * * @param content 内容 */ public void setLine1Text(String content) { if (TextUtils.isEmpty(content)) { return; } line1Text = content; if (viewBinding != null) { viewBinding.dialogChangePhotographTv.setText(content); } } /** * 自定义"第二行"文本 * * @param content 内容 */ public void setLine2Text(String content) { if (TextUtils.isEmpty(content)) { return; } line2Text = content; if (viewBinding != null) { viewBinding.dialogChangeAvatarSelectAlbumTv.setText(content); } } /** * 自定义"取消"文本 * * @param cancel 内容 */ public void setCancel(String cancel) { if (TextUtils.isEmpty(cancel)) { return; } cancelText = cancel; if (viewBinding != null) { viewBinding.dialogChangeAvatarCancelTv.setText(cancel); } } private void initEvent() { viewBinding.dialogChangePhotograph.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (line1OnclickListener != null) { line1OnclickListener.Line1(); } } }); viewBinding.dialogChangeAvatarSelectAlbumLl.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (line2OnclickListener != null) { line2OnclickListener.Line2(); } } }); viewBinding.dialogChangeAvatarCancelLl.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (cancelOnclickListener != null) { cancelOnclickListener.Cancel(); } } }); } private void initData() { //如果设置按钮文字 if (!TextUtils.isEmpty(line1Text)) { viewBinding.dialogChangePhotographTv.setText(line1Text); } if (!TextUtils.isEmpty(line2Text)) { viewBinding.dialogChangeAvatarSelectAlbumTv.setText(line2Text); } if (!TextUtils.isEmpty(cancelText)) { viewBinding.dialogChangeAvatarCancelTv.setText(cancelText); } } /** * 设置取消按钮监听 * * @param onCancelOnclickListener - */ public void setCancelOnclickListener(onCancelOnclickListener onCancelOnclickListener) { if (onCancelOnclickListener != null) { this.cancelOnclickListener = onCancelOnclickListener; } } /** * 设置按钮1监听 * * @param onLine1OnclickListener - */ public void setLine1OnclickListener(onLine1OnclickListener onLine1OnclickListener) { if (onLine1OnclickListener != null) { this.line1OnclickListener = onLine1OnclickListener; } } /** * 设置按钮2监听 * * @param onLine2OnclickListener - */ public void setLine2OnclickListener(onLine2OnclickListener onLine2OnclickListener) { if (onLine2OnclickListener != null) { this.line2OnclickListener = onLine2OnclickListener; } } public interface onCancelOnclickListener { void Cancel(); } public interface onLine1OnclickListener { void Line1(); } public interface onLine2OnclickListener { void Line2(); } }