android中AlertDialog.Builder自定义Dialog设置点击关闭
首先是xml文件中的样式
需求是点击“我再想想”,关闭dialog提示框
查看代码
<?xml version="1.0" encoding="utf-8"?>
通过android.app. AlertDialog.Builder builder = new AlertDialog.Builder(this);显示对话框,是没有对相应的方法关闭对话框的
但是AlertDialog.Builder的父类有cancel()和dismiss()方法关闭对话框
用父类创建子类对象即可使用父类的方法
AlertDialog TipsD = new AlertDialog.Builder(this,R.style.tips_dialog).setView(view).show();
package com.ltj.myapplication;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class DialogActivity9 extends AppCompatActivity {
Button mBtnTips,mBtnProgress;
Intent intent=null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_dialog9);
mBtnTips=findViewById(R.id.btn_tips);
mBtnProgress=findViewById(R.id.btn_pg);
mBtnTips.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
TipsDialog();
}
});
}
private void TipsDialog() {
View view = LayoutInflater.from(this).inflate(R.layout.layout_tips, null, false);
Button mBtnTipsOk=view.findViewById(R.id.btn_start);
TextView tvThink=view.findViewById(R.id.tv_think);
AlertDialog TipsD = new AlertDialog.Builder(this,R.style.tips_dialog).setView(view).show();
// TipsD.setNegativeButton("我再想想", new DialogInterface.OnClickListener() {
// @Override
// public void onClick(DialogInterface dialogInterface, int i) {
//
// }
// }).show();
mBtnTipsOk.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
intent =new Intent(DialogActivity9.this,ButtonActivity.class);
startActivity(intent);
}
});
tvThink.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
TipsD.cancel();
}
});
}
}