AlertDialog对话框的简单使用

article/2025/10/31 18:58:01

目录

一、对话框的创建

二、单选的对话框

三、多选的对话框

一、对话框的创建

        一般的对话框分为标题、内容、按钮三大部分。

常见的方法:

方法功能
setTitle()设置对话框的标题
setIcon()设置对话框的图标
setMessage()设置对话框的提示信息
setPositiveButton()设置对话框的确认按钮
setNegativeButton()设置对话框的取消按钮
setSingleChoiceItems()设置单选的对话框
setMultiChoiceItems()设置多选的对话框
dismiss()关闭对话框
 DialogInterface.OnClickListener()设置对话框的点击事件

 对话框创建步骤:

1、声明AlertDialong对象

2、调用AlertDialog的内部类Builder,设置相关属性。

3、创建对话框 ( dialog = builder.create()  )

4、显示对话框( dialog.show() )

代码如下:

package com.example.alertdialog;import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;import android.content.DialogInterface;
import android.os.Bundle;public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}// 当想要退出APP时,调用该方法@Overridepublic void onBackPressed() {// 声明对象AlertDialog dialog;AlertDialog.Builder builder = new AlertDialog.Builder(this).setTitle("普通的对话框").setIcon(R.mipmap.ic_launcher).setMessage("您确定要退出吗?").setPositiveButton("确认", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {dialog.dismiss(); // 关闭对话框MainActivity.this.finish(); // 退出APP}})// 添加取消按钮.setNegativeButton("取消", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// 点击取消,对话框消失dialog.dismiss();}});// 创建对话框dialog = builder.create();// 显示对话框dialog.show();}
}

效果:

二、单选的对话框

        案例:通过单选对话框改变字体的颜色

效果图:

MainActivity:

package com.example.alertdialog_single_choice;import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;public class MainActivity extends AppCompatActivity {TextView mTextView;Button btn;// 颜色数组Integer []textColors = {android.R.color.holo_green_light,R.color.black, android.R.color.holo_blue_dark, android.R.color.holo_red_dark};// 数组索引int index = 1;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);btn = findViewById(R.id.btn);mTextView = findViewById(R.id.content);btn.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {AlertDialog dialog;AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this).setTitle("设置字体颜色").setIcon(R.mipmap.ic_launcher)// 设置单选的内容.setSingleChoiceItems(new String[]{"绿色","黑色", "蓝色", "红色"}, index, new DialogInterface.OnClickListener() {// which 就是选到那个item的位置public void onClick(DialogInterface dialog, int which) {// 获取数组的索引index = which;}})// 确认按钮.setPositiveButton("确认", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// 确认就设置字体的颜色mTextView.setTextColor(getResources().getColor(textColors[index]));dialog.dismiss();}})// 取消按钮.setNegativeButton("取消", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {dialog.dismiss();}});// 创建dialog对象dialog = builder.create();// 显示对话框dialog.show();}});}
}

布局: 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"tools:context=".MainActivity"><TextViewandroid:id="@+id/content"android:layout_gravity="center"android:textSize="30sp"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Hello World!" /><Buttonandroid:id="@+id/btn"android:layout_gravity="center"android:textSize="15sp"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="点击按钮选择字体颜色"/></LinearLayout>

三、多选的对话框

        案例:通过多选对话框选择自己的兴趣爱好,并显示到文本框。

效果:

MainActivity:

 package com.example.alertdialog_multiple_choice;import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;public class MainActivity extends AppCompatActivity {private TextView mTextView;private Button mButton;private String []hobbies ={"看电影","旅游","运动","听音乐"};private boolean []checked = {false,false,false,false};@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);mTextView = findViewById(R.id.text_view);mButton = findViewById(R.id.btn);mButton.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {AlertDialog dialog;AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this).setTitle("请选择你的兴趣").setIcon(R.mipmap.ic_launcher).setMultiChoiceItems(hobbies, checked, new DialogInterface.OnMultiChoiceClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which, boolean isChecked) {checked[which] = isChecked;}}).setPositiveButton("确认", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {StringBuilder stringBuilder = new StringBuilder();for (int i = 0; i < checked.length; i++) {if (checked[i]){stringBuilder.append(hobbies[i]).append(" ");}if (stringBuilder!=null){mTextView.setText(stringBuilder);}}dialog.dismiss();}}).setNegativeButton("取消", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {dialog.dismiss();}});dialog = builder.create();dialog.show();}});}
}

布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:orientation="vertical"android:layout_height="match_parent"><TextViewandroid:textSize="18sp"android:id="@+id/text_view"android:layout_width="match_parent"android:layout_height="70dp"/><Buttonandroid:id="@+id/btn"android:layout_gravity="center"android:text="请选择你的兴趣"android:layout_width="wrap_content"android:layout_height="wrap_content"/></LinearLayout>


http://chatgpt.dhexx.cn/article/WPBRRIgr.shtml

相关文章

alertDialog使用详解

1、设置标题、内容、图标 2、设置按钮 3、使用列表、单选和多选。适配 4、设定弹窗大小 5、自定义view 6、设置点击周边灰色区域弹窗不消失 7、自定义view圆角消除周边白块 1、设置标题、内容、图标 AlertDialog alertDialog new AlertDialog.Builder(this) .setTit…

AlertDialog6种使用方法

AlertDialog 1.AlertDialog的6种创建模式 1.1setMessage 1&#xff09;Java代码 //1.创建构造器AlertDialog.Builder buildernew AlertDialog.Builder(this);//2.设置参数builder.setTitle("弹窗提示").setIcon(R.mipmap.boy).setMessage("选择你的性别&#xf…

Android的AlertDialog详解(7种方式)

需要注意的两点&#xff1a; 1. 在setIcon时&#xff0c;需要使用setTitle方法&#xff0c;否则icon不会显示 2.如果同时调用setMessage 和 setItems(或者setSingleChoiceItems setMultiChoiceItems)函数会导致dialog没有显示内容 AlertDialog的构造方法全部是Protected的&am…

AlertDialog(对话框)详解

AlertDialog可以在当前的界面上显示一个对话框&#xff0c;这个对话框是置顶于所有界面元素之上的&#xff0c;能够屏蔽掉其他控件的交互能力&#xff0c;因此AlertDialog一般是用于提示一些非常重要的内容或者警告信息。 1.创建AlertDialog 首先&#xff0c;我们来了解一下Al…

andoid小游戏开发

apk下载&#xff1a;apk下载&#xff1a;http://download.csdn.net/detail/xiangqiao123/3805861 这是去年用android写的一个小游戏&#xff0c; 我感觉不错&#xff0c;是从事android小游戏开发入门不错的案例&#xff0c; 今天就把它拿出来和大家共享一下。 程序截图&a…

android 2D 游戏的开发的方法

最近学习了android 2D 应用的开发&#xff0c;拿来和大家分享一下&#xff0c;学习2D 开发前我们先了解一下SurfaceView的使用以及贴图技术的使用&#xff0c;最后呢&#xff0c;是一个简单的2的游戏的实现。 1.SurfaceView的一些用法 提供了一个专门的绘图渲染的图形嵌入在一个…

Android手机游戏开发入门教程

Android手机游戏开发入门教程 视频欣赏地址 来自 “ ITPUB博客 ” &#xff0c;链接&#xff1a;http://blog.itpub.net/29597077/viewspace-1139520/&#xff0c;如需转载&#xff0c;请注明出处&#xff0c;否则将追究法律责任。 转载于:http://blog.itpub.net/29597077/vie…

Android 游戏开发速递

作者 / Greg Hartrell, Head of Product Management, Games on Android & Google Play 在今年 3 月举行的 Google 游戏开发者峰会上&#xff0c;我们分享了 Google 为帮助游戏开发者而持续投入研发的数种新工具和服务。这些新工具和服务能够帮助游戏开发者更轻松地查看其 A…

游戏开发相关

游戏开发—图形图像篇 游戏开发--开篇  记得我第一次玩的PC game 是KKND(绝地风暴)&#xff0c;当时的游戏平台是DOS&#xff0c;我只是觉得很好玩&#xff0c;经常和几个小学同学一起厮杀到12点。可是现在回忆起来&#xff0c;KKND无论是从智能设计还是在游戏画面与操作上都…

android小游戏制作基础,View实现游戏布局和方法

在使用android的朋友们&#xff0c;相信大家对android的游戏不陌生吧&#xff0c;像愤怒的小鸟&#xff0c;植物大战僵尸等等优秀的游戏&#xff0c;给我们带来了很好的用户体验 下面我来教大家一点android游戏开发的一点基础&#xff0c;大家可以参照这个方法框架来设计一些像…

android游戏开发的架构

&#xfeff;&#xfeff; 在编写游戏代码之前&#xff0c;必须要仔细地理顺思路&#xff0c;清晰地构建出整个游戏的框架。有的开发者经常抱怨说&#xff0c;游戏开发到最后总是千头万绪&#xff0c;一旦出现bug就不知道该如何修改&#xff0c;身心疲惫甚至是痛不欲生。其实不…

用Unity3d开发Android游戏

Unity3d是个强大的游戏引擎&#xff0c;可以很轻松的将游戏发布到Android平台上&#xff0c;今天我就来讲讲如何用Android来开发Android游戏。 首先我们要下载Android SDK&#xff0c;可以在http://developer.android.com/sdk/index.html这里下载到&#xff0c;运行installer安…

Android游戏开发的入门实例

在Android系统上开发游戏是Android开发学习者所向往的&#xff0c;有成就感也有乐趣&#xff0c;还能取得经济上的报酬。那怎样开发Android游戏呢&#xff1f;下面介绍一个简单的入门实例。 一、创建新工程   首先&#xff0c;我们在Eclipse中新建一个名为Movement的工程&…

如何开发手机游戏?

当今社会&#xff0c;手机游戏无非是当下在旅途中打发时间的最便捷的方式。有关数据显示&#xff0c;62% 的智能手机用户在购买智能手机后的一周内安装了游戏。无论你是参加聚会还是度假&#xff0c;或者周末宅在家里&#xff0c;手机都是玩游戏最方便的设备。这也正是手机游戏…

【Android游戏开发详细过程1】Android平台飞机大战游戏APP设计与实现

【Android游戏】Android平台飞机大战游戏APP设计与实现 前言一、界面设计与功能实现1.1 主界面1.2 登录界面1.2 注册界面1.4 菜单界面1.5 设置界面1.6 商店界面1.7 换机界面1.8 游戏界面1.9 欢迎界面1.10 游戏图标 二、数据库设计与实现三、服务器设计与实现四、其他功能实现 前…

datagridview中使用DataGridViewComboBoxColumn

在datagridview中使用自带的DataGridViewComboBoxColumn&#xff0c;加载数据库中的数据&#xff0c;选中和保存所需要的数据 实现效果如图 加载数据库已保存的数 选择自己所需要的数据 具体代码如下 datagridview命名为&#xff1a;dgvDrugList 添加基本列及对应的设…

DataGridView怎样实现添加、删除、上移、下移一行

场景 在Winform中使用DataGridView实现添加一行、删除一行、上移一行、下移一行。 注&#xff1a; 博客主页&#xff1a;https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书、教程推送与免费下载。 实现 添加一行 private void Task…

DataGridview获取选中行数

DataGridview获取选中行数 代码&#xff1a; dataGridView1.CurrentRow.Index//获取选中行数使用Messbox.Show()弹窗&#xff1a;

DataGridview动态初始化

DataGridview动态初始化 this.dataGridView1.Rows.Add("参数"&#xff0c;"参数"...");Add&#xff08;&#xff09;方法里面可以根据列数而添加相应个数的参数 例如&#xff1a; 上图的列数有4个&#xff0c;所以如果要将DataGridview控件里面添加…

C# 解决datagridview控件显示大量数据拖拉卡顿问题

问题描述&#xff1a; 由于在使用SQL查询大量的数据并一次显示到dataGridView控件&#xff0c;出现拖拉的时候卡顿。 解决方法&#xff1a; 1.首先分页。 2.其次把显示控件设置双buffer。 解决过程如下&#xff1a; 1.设置dataGridView双buffer代码如下&#xff0c;需要引用…