关系图如下:
Android主要提供四种对话框:
1:AlertDialog:功能最丰富,实际应用最广的对话框。
2:ProgressDialog:进度条对话框
3:DatePickerDialog:日期选择器对话框
4:TimePickerDialog:时间选择器对话框
创建一个对话框的步骤:

AlertDialog.Builder builder = new AlertDialog.Builder(this)// 1:设置对话框标题.setTitle("自定义列表项对话框")// 2:设置图标.setIcon(R.drawable.tools)// 3:设置内容.setMessage("对话框的测试内容\n第二行内容");// 为AlertDialog.Builder添加“确定”按钮setPositiveButton(builder);// 为AlertDialog.Builder添加“取消”按钮setNegativeButton(builder).create().show();

代码区:
main.xml代码区:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical"android:layout_width="match_parent"android:layout_height="match_parent"android:gravity="center_horizontal">
<!-- 显示一个普通的文本编辑框组件 -->
<EditText android:id="@+id/show"android:layout_width="match_parent" android:layout_height="wrap_content" android:editable="false"/>
<!-- 定义一个普通的按钮组件 -->
<Button
    android:layout_width="match_parent" android:layout_height="wrap_content" android:text="简单对话框"android:onClick="simple"/>
<!-- 定义一个普通的按钮组件 -->
<Button
    android:layout_width="match_parent" android:layout_height="wrap_content" android:text="简单列表项对话框"android:onClick="simpleList"/>
<!-- 定义一个普通的按钮组件 -->
<Button
    android:layout_width="match_parent" android:layout_height="wrap_content" android:text="单选列表项对话框"android:onClick="singleChoice"/>
<!-- 定义一个普通的按钮组件 -->
<Button
    android:layout_width="match_parent" android:layout_height="wrap_content" android:text="多选列表项对话框"android:onClick="multiChoice"/>
<!-- 定义一个普通的按钮组件 -->
<Button
    android:layout_width="match_parent" android:layout_height="wrap_content" android:text="自定义列表项对话框"android:onClick="customList"/>
<!-- 定义一个普通的按钮组件 -->
<Button
    android:layout_width="match_parent" android:layout_height="wrap_content" android:text="自定义View对话框"android:onClick="customView"/>
</LinearLayout>

Activity代码区:

public class MainActivity extends Activity {TextView show;String[] items = new String[] {"aserbao", "Android"," Java","IOS" };@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);show = (TextView) findViewById(R.id.show);}public void simple(View source){AlertDialog.Builder builder = new AlertDialog.Builder(this)// 设置对话框标题.setTitle("简单对话框")// 设置图标.setIcon(R.drawable.tools).setMessage("对话框的测试内容\n第二行内容");// 为AlertDialog.Builder添加“确定”按钮setPositiveButton(builder);// 为AlertDialog.Builder添加“取消”按钮setNegativeButton(builder).create().show();}public void simpleList(View source){AlertDialog.Builder builder = new AlertDialog.Builder(this)// 设置对话框标题.setTitle("简单列表对话框")// 设置图标.setIcon(R.drawable.tools)// 设置简单的列表项内容.setItems(items, new OnClickListener(){@Overridepublic void onClick(DialogInterface dialog, int which){show.setText("你选中了《" + items[which] + "》");}});// 为AlertDialog.Builder添加“确定”按钮setPositiveButton(builder);// 为AlertDialog.Builder添加“取消”按钮setNegativeButton(builder).create().show();}public void singleChoice(View source){AlertDialog.Builder builder = new AlertDialog.Builder(this)// 设置对话框标题.setTitle("单选列表项对话框")// 设置图标.setIcon(R.drawable.tools)// 设置单选列表项,默认选中第二项(索引为1).setSingleChoiceItems(items, 1, new OnClickListener(){@Overridepublic void onClick(DialogInterface dialog, int which){show.setText("你选中了《" + items[which] + "》");}});// 为AlertDialog.Builder添加“确定”按钮setPositiveButton(builder);// 为AlertDialog.Builder添加“取消”按钮setNegativeButton(builder).create().show();}public void multiChoice(View source){AlertDialog.Builder builder = new AlertDialog.Builder(this)// 设置对话框标题.setTitle("多选列表项对话框")// 设置图标.setIcon(R.drawable.tools)// 设置多选列表项,设置勾选第2项、第4项.setMultiChoiceItems(items, new boolean[]{false , true ,false ,true}, null);// 为AlertDialog.Builder添加“确定”按钮setPositiveButton(builder);// 为AlertDialog.Builder添加“取消”按钮setNegativeButton(builder).create().show();}public void customList(View source){AlertDialog.Builder builder = new AlertDialog.Builder(this)// 设置对话框标题.setTitle("自定义列表项对话框")// 设置图标.setIcon(R.drawable.tools)// 设置自定义列表项.setAdapter(new ArrayAdapter<String>(this, R.layout.array_item, items), null);// 为AlertDialog.Builder添加“确定”按钮setPositiveButton(builder);// 为AlertDialog.Builder添加“取消”按钮setNegativeButton(builder).create().show();}public void customView(View source){// 装载app\src\main\res\layout\login.xml界面布局文件TableLayout loginForm = (TableLayout)getLayoutInflater().inflate( R.layout.login, null);new AlertDialog.Builder(this)// 设置对话框的图标.setIcon(R.drawable.tools)// 设置对话框的标题.setTitle("自定义View对话框")// 设置对话框显示的View对象.setView(loginForm)// 为对话框设置一个“确定”按钮.setPositiveButton("登录", new OnClickListener() {@Overridepublic void onClick(DialogInterface dialog,int which) {// 此处可执行登录处理}})// 为对话框设置一个“取消”按钮.setNegativeButton("取消", new OnClickListener(){@Overridepublic void onClick(DialogInterface dialog,int which){// 取消登录,不做任何事情}})// 创建并显示对话框.create().show();}private AlertDialog.Builder setPositiveButton(AlertDialog.Builder builder){// 调用setPositiveButton方法添加“确定”按钮return builder.setPositiveButton("确定", new OnClickListener(){@Overridepublic void onClick(DialogInterface dialog, int which){show.setText("单击了【确定】按钮!");}});}private AlertDialog.Builder setNegativeButton(AlertDialog.Builder builder){// 调用setNegativeButton方法添加“取消”按钮return builder.setNegativeButton("取消", new OnClickListener(){@Overridepublic void onClick(DialogInterface dialog, int which){show.setText("单击了【取消】按钮!");}});}
}

若有Android方面的问题,欢迎留言,看到后第一时间回复!

对话框AlertDialog的使用相关推荐

  1. 【Android】对话框 AlertDialog

    [Android]对话框 AlertDialog 本讲介绍一下Android基本组件:对话框AlertDialog. 来源:http://blog.csdn.net/feng88724/article ...

  2. Flutter对话框(AlertDialog,SimpleDialog,showModalBottomSheet,showToast)以及定时器

    Flutter对话框 AlertDialog(确认对话框) SimpleDialog(选择对话框) showModalBottomSheet(底部弹出的对话框) showToast(提示信息框) 自定 ...

  3. Android 中文 API ——对话框 AlertDialog.Builder

    2019独角兽企业重金招聘Python工程师标准>>> 刚开始接触android的时候,我在做一个自定义对话框的时候,也是通过继承的方式来实现,后来随着对文档了解的深入,发现了and ...

  4. Android详细的对话框AlertDialog.Builder使用方法

    我们在平时做开发的时候,免不了会用到各种各样的对话框,相信有过其他平台开发经验的朋友都会知道,大部分的平台都只提供了几个最简单的实现,如果我们想实现自己特定需求的对话框,大家可能首先会想到,通过继承等 ...

  5. 024 Android 自定义样式对话框(AlertDialog)

    1.AlertDialog介绍 AlertDialog并不需要到布局文件中创建,而是在代码中通过构造器(AlertDialog.Builder)来构造标题.图标和按钮等内容的. 常规使用步骤(具体参见 ...

  6. Android.对话框(AlertDialog/Toast/Snackbar)

    1.资料: 1.1.Android提醒微技巧,你真的了解Dialog.Toast和Snackbar吗? - CSDN博客.html(https://blog.csdn.net/guolin_blog/ ...

  7. 对话框AlertDialog的基本使用(新手)

    AlertDialog是点击某一组件时,本文用按钮举例,弹出一个对话框,供你选择接下来的操作. 基础用法 首先要给按钮设置点击事件,然后再onClick里构建 AlertDialog.Builder ...

  8. 【Android】对话框AlertDialog的使用(一)

    对话框的创建和使用有多种方式,在此,只使用最简单的方式,就是直接给按钮增加监听器,然后,弹出所需要的对话框. 一.普通提示对话框 findViewById(R.id.button1).setOnCli ...

  9. Android的警示对话框AlertDialog简单使用实例(附Demo)

    目录 AlertDialog默认样式 单选样式的AlertDialog: AlertDialog多选样式: AlertDialog自定义样式: 自定义Dialog: Demo地址:https://gi ...

最新文章

  1. 【Kaggle Learn】Python 5-8
  2. Windows Phone 7 不温不火学习之《项目模板》
  3. hasnMap的基本操作 源码(三)
  4. 04-正则解析+bs4基础爬虫
  5. 树状数组求区间和(区间均值)
  6. python公式_Python读取excel文件中带公式的值的实现
  7. 吴恩达《卷积神经网络》
  8. runtime的意义
  9. r语言 图形一览_R语言实战(第2版):第三章 图形初阶(01)
  10. Ubuntu12.04和12.10下H3C iNode客户端安装时出现找不到库的解决办法
  11. 机械制图与计算机辅助绘图题,机械制图与计算机绘图作业题解ppt课件.ppt
  12. 显示器刷新率测试软件144,【显示器】为什么“吃鸡”要选144Hz显示器?详解高刷新率显示器对FPS游戏的重要影响...
  13. YYDS!迅雷的代码结构,竟然被大佬“扒了精光”!
  14. Flutter技术与实战(4)
  15. VM16Pro安装win7
  16. Sky Hackthon比赛指北-ASR篇
  17. MFC--学生管理系统
  18. 梯度爆炸与梯度消失是什么?有什么影响?如何解决?
  19. 协同数据交换平台详细设计方案(word)
  20. linux 下中文字体的支持

热门文章

  1. 小Q系列故事——为什么时光不能倒流
  2. launch4j使用
  3. 厦门感恩回馈一线职工 为其开启“新年旅程”
  4. 古剑奇谭网络版服务器正在维护中,古剑奇谭网络版7月19日更新维护公告 古网ol更新了什么...
  5. 养生视野·新知(四)
  6. 杂项 文件头文件尾总结
  7. [极客大挑战 2019]Secret File
  8. matlab实现ica,Matlab用ICA进行话语分离
  9. 计算机网络知识详解之:TCP连接原理详解
  10. 阿里YunOS推开放平台 提高开发者体验