package com.basic.security.widget; import android.app.Dialog; import android.content.Context; import android.os.Bundle; import android.util.DisplayMetrics; import android.view.LayoutInflater; import android.view.View; import android.view.Window; import android.view.WindowManager; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import com.basic.security.utils.Constants; import com.basic.security.utils.SystemUI; public class PasswordDialog extends Dialog { public EditText old_password, new_password, again_password; private Context context; private ClickListenerInterface clickListenerInterface; public PasswordDialog(Context context) { super(context, com.basic.security.utils.RUtils.R_style_ConfirmDialogStyle); this.context = context; } protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); init(); } public void init() { LayoutInflater inflater = LayoutInflater.from(context); View view = inflater.inflate(com.basic.security.utils.ResolutionAdaptation.password_dialog(), null); setContentView(view); TextView tvTitle = view.findViewById(com.basic.security.utils.RUtils.R_id_title); Button tvConfirm = view.findViewById(com.basic.security.utils.RUtils.R_id_leftBtn); TextView tvCancel = view.findViewById(com.basic.security.utils.RUtils.R_id_rightBit); tvTitle.setText(""); tvConfirm.setText("保存"); tvCancel.setText("取消"); old_password = view.findViewById(com.basic.security.utils.RUtils.R_id_old_password); new_password = view.findViewById(com.basic.security.utils.RUtils.R_id_new_password); again_password = view.findViewById(com.basic.security.utils.RUtils.R_id_again_password); old_password.setText(""); new_password.setText(""); again_password.setText(""); tvConfirm.setOnClickListener(new clickListener()); tvCancel.setOnClickListener(new clickListener()); Window dialogWindow = getWindow(); WindowManager.LayoutParams lp = dialogWindow.getAttributes(); DisplayMetrics d = context.getResources().getDisplayMetrics(); // 获取屏幕宽、高用 if (Constants.landscape) { lp.width = (int) (d.widthPixels * 0.6); // 高度设置为屏幕的0.6 } else { lp.width = (int) (d.widthPixels * 0.8); // 高度设置为屏幕的0.6 } dialogWindow.setAttributes(lp); SystemUI.hideSystemUI(this); SystemUI.initSystemUIListener(this); } public void show() { try { this.getWindow().getDecorView().setVisibility(View.INVISIBLE); SystemUI.hideSystemUI(this); SystemUI.initSystemUIListener(this); super.show(); this.getWindow().getDecorView().setVisibility(View.VISIBLE); } catch (Exception e) { e.printStackTrace(); } } public void setClickListener(ClickListenerInterface clickListenerInterface) { this.clickListenerInterface = clickListenerInterface; } public interface ClickListenerInterface { void doConfirm(); void doCancel(); } private class clickListener implements View.OnClickListener { public void onClick(View v) { int id = v.getId(); switch (id) { case com.basic.security.utils.RUtils.R_id_leftBtn: clickListenerInterface.doConfirm(); break; case com.basic.security.utils.RUtils.R_id_rightBit: clickListenerInterface.doCancel(); break; } } } }