android中的对话框,Android中的对话框

Android中一共有两种常用对话框:

AlertDialog:功能最强大的对话框

ProgressDialog:进度条对话框,一般在执行异步任务时使用,是AlertDialog的子类

Android内置的对话框有四种样式:

1. 带消息、带N个按钮的提示对话框

2. 带列表、带N个按钮的提示对话框

3. 带多个单选列表项、带N个按钮的提示对话框

4. 带多个多选列表项、带N个按钮的提示对话框

AlertDialog创建对话框的一般步骤为:

创建一个AlertDialog.Builder对象,AlertDialog是采用建造者模式设计的,为此我们需要先创建一个AlertDialog的建造者

调用AlertDialog.Builder对象的方法为其设置图标、标题、内容和按钮等

调用AlertDialog.Builder对象的的create方法创建一个AlertDialog对象

调用AlertDialog对象的show方法显示对话框

在适当的条件下调用AlertDialog对象的dismiss方法取消对话框

为对话框设置标题和图标:

builder.setIcon(icon);

builder.setTitle(title);

创建带消息、带两个个按钮的提示对话框:

builder.setMessage(message);

builder.setPositiveButton(text, listener);

builder.setNegativeButton(text, listener);

buidler还可以使用下面的方法创建一个装饰性按钮:

builder.setNeutralButton(text, listener):创建普通列表对话框

带列表、带N个按钮的提示对话框:

builder.setItems(items, listener):创建普通列表对话框

builder.setSingleChoiceItems(items, checkedItem, listener): 创建单选列表对话框

builder.setMultiChoiceItems(items, checkedItems, listener):创建多选列表对话框

使用自定义的对话框:

一般系统默认的对话框的样式和我们的app的设计风格相差很远,使用原生对话框会让我们的应用看起来很丑,所以大多数时候我们需要自定义我们的对话款的界面,我看见多很多的方法,包括去修改AlertDialog的源码等方法,我一般会使用一个比较简单的方法,其步骤如下:

自定义一个对话框的界面,包括对话框的标题等

创建一个AlertDialog对象并直接调用show方法将其显示出,注意不要做其它的设置

调用getWindow()方法得到对话框的窗口对象window,再调用window的setContentView方法为窗口设置我们的自定义对象

其完整代码为:

AlertDialog dialog = new AlertDialog.Builder(context).create();

//不要做过多设置,直接调用show方法

dialog.show();

Window window = dialog.getWindow();

//自定义一个方法得到对话框的自定义布局

View dialogView = getDlgView();

//为窗口对象设置布局

window.setContentView(dialogView);

//此外还可以设置window的标志,如window无标题

window.addFlags(Window.FEATURE_NO_TITLE);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值