Android(Java):自定义对话框

一、继承DialogFragment

public class LoginDialogFragment extends DialogFragment

二、重写onCreateDialog方法

/**
  *
  * 覆写Fragment类的onCreateDialog方法,在FragmentDialog的show方法执行之后,
  *
  * 系统会调用这个回调方法。
  */
 @Override
 public Dialog onCreateDialog(Bundle saveInstanceState) {

  // 获取对象实例化时传入的窗口标题。
  // int title = getArguments().getInt("title");
  // 返回提醒对话框。
  dialog = new AlertDialog.Builder(getActivity()).create();
  LayoutInflater mInflater = (LayoutInflater) getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
  //gjf
  View view=mInflater.inflate(R.layout.login_idcard_username, null);;
     username_pw_rl = (RelativeLayout) view.findViewById(R.id.username_pw_rl);
     txtIdCard = (EditText) view.findViewById(R.id.txtIdcard);
     txtRealName = (EditText) view.findViewById(R.id.txtRealName);
  if (loginType == 1) {
   txtIdCard.setHint("用 户 名:");
   txtRealName.setHint("密   码:");
            txtRealName.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
  } else if (loginType == 2) {
   txtIdCard.setHint("身份证号:");
   txtRealName.setVisibility(View.GONE);
  } else if (loginType == 3) {
   txtIdCard.setHint("身份证号:");
   txtRealName.setHint("姓         名:");
   txtRealName.setVisibility(View.VISIBLE);
  } else if (loginType == 4) {
   txtIdCard.setHint("会计证号:");
   txtRealName.setHint("身份证号:");
         txtRealName.setVisibility(View.VISIBLE);
  }else if (loginType == 5) {
   txtIdCard.setHint("报名序号:");
   txtRealName.setHint("身份证号:");
         txtRealName.setVisibility(View.VISIBLE);
  }else if (loginType == 6) {
   txtIdCard.setHint("卡号:");
   txtRealName.setHint("密码:");
            txtRealName.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
         txtRealName.setVisibility(View.VISIBLE);
  }
  //end
  view.setMinimumHeight(500);
  view.setMinimumWidth(375);
  dialog.setView(view, 0, 0, 0, 0);
  btnOnline = (Button) view.findViewById(R.id.btnLoginOnline);
  btnOnline.setOnClickListener(btnClickListener);
  btnOffline = (Button) view.findViewById(R.id.btnLoginOffline);
  btnOffline.setOnClickListener(btnClickListener);

  txtUserName = (EditText) view.findViewById(R.id.txtUserName);
  txtPassWord = (EditText) view.findViewById(R.id.txtPassWord);
  
  
  txtNotify = (TextView) view.findViewById(R.id.tv_notify);
  txtNotify.setText(this.getDescription());
  cb_remeber = (CheckBox) view.findViewById(R.id.cb_remeberUserName);
     
  
  // 记住账号
  SharedPreferences sp = getActivity().getSharedPreferences("username",
    Context.MODE_PRIVATE);
    //初始化checkbox
  boolean isCheck = sp.getBoolean("ischeck", false);
  if(isCheck){
   cb_remeber.setChecked(true);
  }else{
   cb_remeber.setChecked(false);
  }
  String ac = sp.getString(areaCode, "");
  if (!"".equals(ac)) {
   //gjf
   /*if (loginType == 1) {

   } else if (loginType == 2) {

   } else if (loginType == 3) {
    txtIdCard.setText(sp.getString("idCard", ""));
    txtRealName.setText(sp.getString("realName", ""));
    cb_remeber.setChecked(true);
   } else if (loginType == 4) {

   }*/
          String[] nameAndPw = ac.split("#");
          if(nameAndPw.length>1){
           txtIdCard.setText(nameAndPw[0]);
              txtRealName.setText(nameAndPw[1]);
          }else if(nameAndPw.length==1){
           txtIdCard.setText(nameAndPw[0]);
          }
         
          //end
  }
  int width = LayoutManager.getScreenConstant(getActivity()).displayWidth;
  dialog.show();
  dialog.setCanceledOnTouchOutside(true);
  Window dialogWindow = dialog.getWindow();
  WindowManager.LayoutParams lp = dialogWindow.getAttributes();
  if (width == 2048) {
   lp.y = -30;
   lp.width = 380 * 2;
  } else {
   // lp.y = -30;
   lp.width = 380;
  }
  dialogWindow.setAttributes(lp);
  return dialog;
 }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值