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(); } }); } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通