AlertDialog以及子类

来源:互联网 发布:手机gps端口检测工具 编辑:程序博客网 时间:2024/06/06 12:25

android.app.AlertDialog及其子类提供了4种常用的对话框:
1、AlertDialog:功能最丰富,实际应用最广的对话框,最常用的。
2、ProgressDialog:进度对话框,这个对话框只是对简单进度条的封装
3、DatePickerDialog:日期选择对话框,这个对话框只是对DatePicker的包装
4、TimePickerDialog:时间选择对话框,这个对话框只是对TimePicker的包装

——AlertDialog
功能很强大,可以生成各种内容的对话框
AlertDialog生成对话框可分为如下4个区域:
——图标区
——标题区
——内容区
——按钮区
AlterDialog使用步骤:
(1)创建AlertDialog.Builder对象
(2)调用AlertDialog.Builder的setTitle()或setCustomTitle()方法设置标题
(3)调用AlertDialog.Builder的setIcon()方法设置图标
(4)调用AlertDialog.Builder相关方法设置显示内容,
包括:setMessage 设置最简单的文本提示信息
setItems 设置内容为简单列表项,调用该方法时需要传入一个数组或者数组资源的资源ID
setSingleChoiceItems 设置内容为单选的列表项,可以传入数组,资源id,Cursor,ListAdapter作为参数
setMultiChoiceItems 设置内容为多选的列表项
setAdapter 设置内容为自定义列表项
setView 设置内容为任意类型的View,完成一个登录对话框的界面
(5)调用AlertDialog.Builder的setPositiveButton(),setNegativeButton
或setNeutralButton()方法添加多个按钮
(6)调用AlertDialog.Builder的create()方法创建AlterDialog对象
(7)调用AlertDialog的show()方法显示对话框
setCancelable(false):设置是否可以取消对话框,默认为true,点击按钮,回退健或者点击
任何一个地方都会关闭对话框。需要在create之前调用。
AlertDialog.dismiss():取消对话框
AlertDialog.cancel():取消对话框
修改Activity的背景颜色:
getWindow().setBackgroundDrawableResource(int);
修改Activity的背景图片:
getWindow().setBackgroundDrawable(Drawable);

——DatePickerDialog,TimePickerDialog
这两个对话框功能简单,用法也很简单。只需要两步就可以了:
1)通过new关键字创建实例,调用show()将对话框显示出来
2)绑定监听器,从而通过监听器获取用户设置的事件

——ProgressDialog
使用ProgressDialog进度条对话框有两种方式:
1)如果只是创建一个简单的进度对话框,
调用ProgressDialog提供的静态show()方法显示对话框即可
这里的参数boolean indeterminate设置是否是不明确的状态。
2)创建ProgressDialog,然后调用方法对对话框中的进度条进行设置,
设置完成后将对话框显示出来即可。
ProgressDialog包含如下的方法:

a)setTitle(“提示信息”);
b)setMessage(charSequence)设置对话框里显示的消息
c)setMax(int)设置对话框中进度条的最大值
d)setProgressStyle(ProgressDialog.STYLE_HORIZONTAL)设置对话框里进度条的风格
e)setIndeterminate(boolean)设置进度条是否显示不明确值,不明确就是滚动条的当前值自动在最小到最大值之间来回移动,形成这样一个动画效果,这个只是告诉别人“我正在工作”,但不能提示工作进度到哪个阶段。主要是在进行一些无法确定操作时间的任务时作为提示。而“明确”就是根据你的进度可以设置现在的进度值
f)p.dismiss()关闭对话框

补充:还有其他的方式也可以完成对话框
1)在需要设置成对话框的Activity在AndroidManifest.xml中配置
android:theme=”@android:style/Theme.Dialog”
2)PopWindow也可以做类似对话框风格的窗口
只需要两步就可以完成:
a)创建PopWindow对象,为其设置布局内容与宽度、高度
b)调用pop.showAsDropDown(View)将PopupWindow作为View组件以下拉组件显示出来,
或者调用showAtLocation()方法将PopupWindow在指定位置显示出来
第一个参数指定PopupWindow的锚点view,即依附在哪个view上。
第二个参数指定起始点
第三,四个参数设置以起始点的右下角为原点,向向右、下各偏移量。

0 0