赞
踩
对话框是提示用户做出决定或输入额外事件的小窗口。对话框不会填充屏幕,通常用于需要用户采取行动才能继续执行的模式事件。
Dialog类是对话框的基类,我们可以使用Dialog来构建一个对话框。但Android建议避免直接使用Dialog,而应该使用其子类。下面是一些Dialog的子类实现:
AlertDialog一个可以显示标题,可选项列表或自定义布局,最多还可以显示三个按钮的对话框。
DatePickerDialog或TimerPickerDialog一个带有允许用户选择日期或时间的预定义UI的对话框。
构建一个简单的提醒对话框
- AlertDialog.Builder(this).apply {
- setTitle("我是标题")
- setMessage("我是内容")
- setPositiveButton("确认") { dialog, _ ->
- //点击了确认按钮
- dialog.dissmiss()
- }
- setNegativeButton("取消") { dialog, _ ->
- //点击了取消按钮
- dialog.dismiss()
- }
- create()
- show()
- }
上面的对话框包括三个区域:
1.标题区域,这是一个可选项,只应在内容区域被详细消息,列表,或自定义布局占据时使用。如果显示的是一条简单的消息或问题,则不需要标题。
2.内容区域,它可以显示消息,列表,或其他自定义的布局。
3.操作按钮,一个对话框中最多只允许存在三个操作按钮。
构建一个单选列表对话框
- val colors = arrayOf("黄色", "红色", "绿色")
- AlertDialog.Builder(this).apply {
- setTitle("选择颜色")
- setItems(colors) { _, which ->
- //which 选择项的索引位置
- }
- create()
- show()
- }
使用setItems()方法创建一个包含标题和列表的对话框,默认状态下,触摸列表会清除对话框。
构建永久性的单选多选对话啊框
上面的单选对话框默认在触摸列表后清除,要想添加永久性的单选或多选可以分别使用setSingleChoiceItems()或setMultiChoiceItems()方法。setSingleChoiceItems()方法中的第二个参数表示表示默认选中,如果不希望默认选中可传入-1。
- val colors = arrayOf("Red", "Green", "Blue")
- AlertDialog.Builder(this).apply {
- setTitle("选择颜色")
- setSingleChoiceItems(colors, -1) { _, which
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。