AlertDialog用法详解,AlertDialog对话框几种实现方法
介绍AlertDialog对话框从简到繁的多种设计方案,从新角度理解UI交互设计。
AlertDialog对话框允许自定义弹出对话框的内容,实现比之前讲解的几种对话框更丰富的功能。
01、带默认按钮的AlertDialog
程序单击按钮后执行第17行代码,调用自定义方法showAlertDialog()。
第22~62行是自定义showAlertDialog()方法。调用AlertDialog()的顺序是先定义Builder;对Builder调用相关方法设定属性;定义默认按钮及单击监听器;调用Builder的create()方法生成AlertDialog;最后调用AlertDialog的show()方法显示对话框。
第24行初始化builder,此时builder拥有AlertDialog对话框的默认主题。
第25行调用setTitle()方法设置对话框的标题。
第26行调用setMessage()方法设置对话框的提示信息。
第27行调用setIcon()方法设置对话框图标。
第30~37行添加PositiveButton按钮,其中setPositiveButton()方法的第一个参数是按钮的显示文本。为了便于阅读代码,此按钮文本尽量采用确定语气的文字,如“是”“确定”等。第二个参数是按钮的单击监听器。单击此按钮将自动关闭对话框,同时执行第35行代码,在文本输入框editText1中显示信息。变量which是PositiveButton按钮的int型返回值。
第40~57行以同样的方式设置“取消”和“中间”按钮。不同的Android版本3个按钮的外观和位置会有差异。每个对话框可以设置1~3个对话框默认按钮,也可以不设置按钮。
第58行的作用是单击对话框以外的区域,对话框仍然显示在最上层。默认值为true,单击对话框以外的区域,对话框将被遮挡。
第59行调用builder的create()方法生成alertDialog1对话框。
第60行调用alertDialog1的show()方法显示对话框。
带默认按钮的AlertDialog运行结果如图4-84和图4-85所示。
■ 图4-84弹出带默认按钮的AlertDialog
■ 图4-85返回对话框按钮信息
02、列表的AlertDialog
AlertDialog除了默认主题的对话框形式外,还支持多种类型的对话框。本案例讲解列表风格的AlertDialog。
本案例的大多数代码与4.24.1节案例的代码类似,不同点在第29行,setItems()方法将对话框设置为选项列表风格。第一个参数是用于填充下拉选项列表的字符串数组str,str数组在第4行定义。第二个参数为单击监听器,处理单击选项后的触发事件。
第34行的OnClick()方法以变量which(单击选项列表返回的选中项索引值)为字符串数组str的索引,获取对应选中列表中的文本,并将其传递给editText1。
列表风格的AlertDialog运行结果如图4-86和图4-87所示。
■ 图4-86弹出列表风格的AlertDialog
本文地址:百科问答频道 https://www.neebe.cn/wenda/903069.html,易企推百科一个免费的知识分享平台,本站部分文章来网络分享,本着互联网分享的精神,如有涉及到您的权益,请联系我们删除,谢谢!