Android 对话框(Dialog)

对话框是提示用户做出决定或输入额外事件的小窗口。对话框不会填充屏幕,通常用于需要用户采取行动才能继续执行的模式事件。

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
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值