在Android界面中,除了菜单之外,对话框也是程序与用户交互的一种方式,通常用于显示当前程序提示信息以及相关说明。对话框一般以小窗口形式展示在Activity之上,对话框显示时,处在下层的Activity失去焦点,对话框便可以接收用户的交互信息。
1.普通对话框
普通对话框(Dialog)中,一般只会显示提示信息,并通常具有“确定”和“取消”按钮。在使用Dialog对话框时通常会用到几种常用的方法
方法名称 | 方法介绍 |
---|---|
setTitle() | 设置对话框标题 |
setIcon() | 设置对话框标题 |
setPositiveButton() | 设置对话框添加yes按钮 |
setNegativeButton() | 设置对话框添加no按钮 |
setMessage() | 设置对话框提示信息 |
Dialog dialog=new AlertDialog.Builder(this)
.setTitle("欢迎!") //设置提示框标题
.setIcon(R.mipmap.ic_launcher) //设置对话框图片
.setMessage("进入软件") //设置提示框内容
.setPositiveButton("确定",null) //添加确定按钮;
.setNegativeButton("取消",null) //添加取消按钮
.create(); //创建对话框
dialog.show(); //显示对话框
setPositiveButton()方法和setNegativeButton()方法的第一个参数设置按钮的名称,第二个参数设置是否设置监听事件,没有为null。
运行:
2.单选对话框
单选对话框和RadioButton作用类似,只能选择一个选项,它是通过AlertDialog对象调用setSingleChoiceItems()方法创建的。
setSingleChoiceItems()方法设置需要3个参数:第1个参数建立数组,用于显示选项内容;第2个参数设置是否默认选中,“0”表示默认选中第一个选项,“1”表示默认选中第二项,“-1”表示默认不选择;第3个参数是设立监听,允许对话框被点击
Dialog dialog=new AlertDialog.Builder(this)
.setTitle("选择性别") //对话框标题
.setIcon(R.mipmap.ic_launcher) //设置图标
.setSingleChoiceItems(new String[]{"女","男"}, -1,//-1默认不选择
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
})
.setPositiveButton("确定",null) //添加按钮
.create(); //创建
dialog.show(); //显示对话款
运行:
3.多选对话框
多选对话框通常在需要勾选多种选项时使用,调用setMultiChoiceItems()方法实现。
setMultiChoiceitems()方法需要设置3个参数:第一个参数建立数组,用于显示选项内容;第2个参数是boolean数组,用来判断哪个选项需要勾选,如果没有选项选中用null即可;第3个参数是建立监听,允许对话框被点击
第2个参数使用boolean数组时,定义的长度要对应第1个参数设置的选项个数
Dialog dialog=new AlertDialog.Builder(this)
.setTitle("选择兴趣爱好") //设置标题
.setIcon(R.mipmap.ic_launcher_round) //设置图片
.setMultiChoiceItems(new String[]{"运动","美食","旅游"},null,null)
.setPositiveButton("确定",null)
.create();
dialog.show();
运行:
4.进度条对话框
当应用程序在实现耗时操作时(如下载资源、获取图片等),为了与用户更友好的交互、进度条对话框(ProgressDialog)是必不可少的
存在两种进度条样式:
①圆形进度条(ProgressDialog.STYLE_SPINNER)
②水平进度条(ProgressDialog.STYLE_HORIZONTAL)
ProgressDialog progressDialog = new ProgressDialog(this);
progressDialog.setTitle("加载中...");
progressDialog.setIcon(R.mipmap.ic_launcher);
progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
progressDialog.show();
运行:
5.消息对话框
消息对话框(Toast)是Android系统提供的轻量级信息提醒机制,用于向用户提示即时消息,Toast对话框显示在应用程序界面的最上层,显示一段时间后自动消失,不会打断当前操作,也不获得焦点。由于Toast只起到提示作用,因此多用于触发事件的监听中。
通过makeText()方法实例化一个Toast对象,该方法需要接收3个参数:第1个参数为当前类的Context(上下文)对象,第2个参数为文本显示内容,第3个参数为Toast显示的时间,显示时间的长短是通过常量Toast.LENGTH_SHORT(时间较短)和TOAST.LENGTH_LONG(时间较长)控制,最后一定要调用show()方法,否则会弹出Toast。
Toast.makeText(this, "Toast提示信息", Toast.LENGTH_SHORT).show();
运行:
下一篇文章和本章结合,利用本节介绍实现具体实例