AlertDialog设置按钮居中

在项目中我们使用AlertDialog时,并不想在输入框内容为空点击确定dialog就消失了,我们可以这样写:

View view = LayoutInflater.from(mContext).inflate(R.layout.dialog_layout,null);
oldEdit = view.findViewById(R.id.et_old);
newEdit = view.findViewById(R.id.et_new);
confirmEdit = view.findViewById(R.id.et_confirm);
AlertDialog.Builder builder = new AlertDialog.Builder(mContext)
        .setView(view)
        .setPositiveButton("确定", null)     // 点击事件设置为null
        .setNegativeButton("取消", null);
dialog = builder.create();
dialog.setCancelable(false);                         
dialog.setCanceledOnTouchOutside(false);            
dialog.show();

Button positiveButton = dialog.getButton(AlertDialog.BUTTON_POSITIVE);
// 获取按钮,另设点击事件,点击按钮dialog不调用dismiss()就不会消失了
positiveButton.setOnClickListener(new View.OnClickListener() {  
    @Override
    public void onClick(View v) {
        originPsw = oldEdit.getText().toString().trim();
        newPsw = newEdit.getText().toString().trim();
        newPswAgain = confirmEdit.getText().toString().trim();
        if (TextUtils.isEmpty(originPsw)){
            Toast.makeText(TestActivity.this,"请输入原始密码",Toast.LENGTH_SHORT).show();
        }else if (TextUtils.isEmpty(newPsw)){
            Toast.makeText(TestActivity.this,"请输入新密码",Toast.LENGTH_SHORT).show();
        }else if (TextUtils.isEmpty(newPswAgain)){
            Toast.makeText(TestActivity.this,"请再次输入新密码",Toast.LENGTH_SHORT).show();
        }else if (!"123456".equals(originPsw)){
            Toast.makeText(TestActivity.this,"原始密码输入错误",Toast.LENGTH_SHORT).show();
        }else if (!newPsw.equals(newPswAgain)){
            Toast.makeText(TestActivity.this,"两次输入的新密码不一致",Toast.LENGTH_SHORT).show();
        }else {
            Toast.makeText(TestActivity.this,"设置成功",Toast.LENGTH_SHORT).show();
        }
    }
});

Button negavieButton = dialog.getButton(AlertDialog.BUTTON_NEGATIVE);
negavieButton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {

    }
});

// 设置dialog按钮居中显示

LinearLayout.LayoutParams layoutParams = (LinearLayout.LayoutParams) positiveButton.getLayoutParams();
layoutParams.weight = 10;
positiveButton.setLayoutParams(layoutParams);
negavieButton.setLayoutParams(layoutParams);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值