Android之对话框AlertDialog及其子类的介绍(一)

安卓提供了4种常用的对话框:
AlertDialog:功能最丰富,实际应用最广的对话框,最常用的。
ProgressDialog:进度对话框,这个对话框只是对简单进度条的封装
DatePickerDialog:日期选择对话框,这个对话框只是对DatePicker的包装
TimePickerDialog:时间选择对话框,这个对话框只是对TimePicker的包装

一、AlertDialog,功能很强大,可以生成各种内容的对话框
AlertDialog生成对话框可分为如下4个区域:
1)图标区
2)标题区
3)内容区
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)dismiss()关闭对话框

补充:还有其他的方式也可以完成对话框
1)在需要设置成对话框的Activity在AndroidManifest.xml中配置
android:theme=”@android:style/Theme.Dialog”
2)设置Activity全屏的方式:
a)在AndroidManifest.xml的配置文件里面的标签添加属性:
android:theme=”@android:style/Theme.NoTitleBar.Fullscreen”
b)在Activity的onCreate()方法中的super()和setContentView()两个
方法之间加入下面两条语句:
this.requestWindowFeature(Window.FEATURE_NO_TITLE);//去掉标题栏
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);//去掉信息栏

3)PopupWindow也可以做类似对话框风格的窗口
只需要两步就可以完成:
a)创建PopWindow对象,为其设置布局内容与宽度、高度
b)调用pop.showAsDropDown(View)将PopupWindow作为View组件以下拉组件显示出来,
或者调用showAtLocation()方法将PopupWindow在指定位置显示出来
还可以添加参数View的setOnTouchListener监听器.
让弹出框消失。
第一个参数指定PopupWindow的锚点view,即依附在哪个view上。
第二个参数指定起始点
第三,四个参数设置以起始点的右下角为原点,向向右、下各偏移量。

注意:
a)使用LayoutInflater类将布局文件实例化为View控件。
调用Activity中的getLayoutInflater()获取LayoutInflater对象,
然后调用该对象的inflate(int,ViewGroup);
b)调用dismiss()使PopWindow隐藏
c)PopupWindow非常合适显示一些需要浮动显示的内容

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值