android中AlertDialog.Builder自定义Dialog设置点击关闭

首先是xml文件中的样式

需求是点击“我再想想”,关闭dialog提示框

查看代码
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingVertical="20dp"
android:paddingHorizontal="30dp"
android:background="@drawable/b3">
<TextView
android:id="@+id/tv_mg"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:drawableTop="@mipmap/shouye"
android:text="请开启消息通知"
android:textSize="28sp"
android:textStyle="bold" />
<TextView
android:id="@+id/tv_mg1"
android:layout_marginTop="20dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#3C3232"
android:text="这样可以及时获取影视更新提醒,站在追剧前线,第一时间当透剧小能手!"
android:textSize="24dp"
android:layout_below="@id/tv_mg"/>
<Button
android:id="@+id/btn_start"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/tv_mg1"
android:layout_marginTop="20dp"
android:background="@drawable/b5"
android:text="立即开启"
android:textColor="@color/white"
android:textSize="25dp" />
<TextView
android:id="@+id/tv_think"
android:layout_marginTop="15dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="我再想想"
android:textSize="25dp"
android:layout_below="@id/btn_start"
android:layout_centerHorizontal="true"/>
</RelativeLayout>

通过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();
}
});
}
}

 

 

posted @   Eveeee  阅读(541)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示