1.对话框.
●AletDialog: 功能最为丰富,实际应用最为广泛的对话框。
●ProgressDialog: 进度对话框,是对简单进度条的封装。
●DataPickerDialog: 日期选择对话框。
●TimePickerDialog;时间选择对话框。
●自定义对话框:对话框布局自定义,并设置监听事件
2.自定义对话框
创建一个自定义样式文件
//获取布局文件View view-getLayounfatero,inflate(R.layout.est.null;
//设置的自定义样式布局文件;直接使用布局文件id设置视图
builder.setViewview);
//获取自定义组件id
Buton btn= view.findViewByldlR.id.login; btn.setTex[“测试登录”);
3.ProgressDialog
显示加截进度; 以弹出形式显示;结合Dialog与Progressbar
//this表示该对话框是针对当前Activity的
ProgressDialog progressDialog = new ProgressDialog (DialogActivity. this);
//设置最大值为100
*progressDialog. setMax (100)//设置可以被取消
*progressDialog. setCancelable(true);
*progressDialog. setCanceledOnTouchOutside(true); //点击外部返回
*progressDialog. setProgress(100); //设置进度条
.//设置进度条风格STYLE HORIZONTAL
*progressDialog. setProgressStyle (ProgressDialog. STYLE HORIZONTAL);
*progressDialog. setTitle(“任务进度”);
*progressDialog. setMessage(“耗时任务完成百分比”):
*progressDialog. setIndeterminate(false); //精确显示
*progressDialog. show() ;
//放在show(之后, 不然有些属性是没有效果的,比如height 和width
Window dialogWindow = dialog. getindow() ;
WindowManager n = getWindowManager(:
Display d = B getDefaultDisplayO: /1获取屏幕宽、高用
WindosManager. LayoutParams p = dialogWindow. getAttributesO: //获取对话框当前的参数值
//设置高度和宽度
D. height = (int) (d. getHeightO * 0.4); //高度设置为屏称的0.6
p.width = (int) (d. getWidth() * 0.6): //宽度设置为屏幕的0.65
D. gravity = Gravity. TOP://设置位置
D.alpha = 0. 8f://设置透明度
dialogWindow, setAttributes§;
//this表示谈对话瓶是针对5前Activity的
ProgressDialog progressDialog = new ProgressDialog(Dialogactivity.this);
//设置最大值为100
progressDialog.sethax(100);
//设置可以技取消。back 其他位置
progressDialog.setCance1ab1e(true);
progressDialog.setCanceledonTouchoutside(true); //点击外部返回
progressDialog.setProgress(100); //设营进度条
//设置边度第风格STYLE HORIZONTAL
progressDialog.setprogressstylerogressDia1og.STYLE. HCRIZONTAL); //精准 水平 圆圈
progressDialog.setTitle(“任务进度”);
progressDialog.setNessage("耗时任务完成百分比”);
progressDialog.setIndeterminate(false); //精确显示
progressDialog.showO);
//放在show()之后,不然有些属性是没有效果的,比theight Foridth
window dialogrindow=dia1og.getwindon();
windowlanager m=getwrindonManager();
Display d=n.getDefaultDisplayO; 获取屏幕宽、高windowlanager .LayoutParans p . dialogrindow. getAttributes(); //获取对话框当前的参数值
//改置高度和定度
p.height=(int) (d.getHeight()*0.4); //高度设置为屏幕的0.6
p.width = (int) (d.getiridth() *0.6); //宽度设置为屏幕的0.65
p.gravity=Gravity.TOP://设置位置
p.alpha=0.8f://设置透明度
dalogirindow.setAttributes(p);
4.进度条对话框(ProgressDialog):
●将进度条简单包裹起来,可以设置进度条的各种式样
●启动线程,模拟耗时任务的进行, 下载完成后,自动消失
5.DateDialog :日期Dialog
「用于显示口期设置」
构造方法初始化:month 0-11;比实际月份小1
DatePickerDialog.OnDateSetListener):事件处理
onDateSet(DatePicker view, int year, int month, int dayOfMonth):获取用户选择日期
自定义样式参照: AlertDialog
//获取系统的当前日期:0-11
Calendar calendar=Calendar . getInstance() ;
int year=calendar . get (Calendar .YEAR);
int month=calendar .get (Calendar .MONTH);;
int day=calendar . get(Calendar . DAY. _OF_ MONTH);;
System. out . print1n(month);
//1.创建11期对话枢:
/**
* @param context 上下文
* @param listener 监听器
* @param year 初始化年月日
*@param month 值比实际值月小1
{@1ink Calendar #MONTH})
* @param dayofMonth the initially selected day of month (1-31, depending
on month)
*/
DatepickerDialog dialog=new DatepickerDialog(this, new
DatePickerDialog . onDateSetListener() {
@override//可以获取用户设置的日期
pub1ic void onDateSet (DatePicker view, int year, int month, int dayofMonth) {
String meg=year+" 年"+(month+1)+"月"+dayofMonth+"Il";
Log.i("info=>", meg);
}
},year ,month,day);
dialog. show() ;
1.创建
2.设置
3.事件
public DatePickerDialog(Context context,
OnDateSetListener callBack, //点击确定的回调监听
int year,//显示年份
int monthQfYear,//显示月份.
int dayOfMonth)//显示日
6. TimeDialog :时间Dialog
public TimePickerDialog (Context context,
OnTimeSetListener callBack, //点击确定的回调监听
int hourOfDay,//几点
int minute, //几分
boolean is24HourView)//是否是24小时制
7.自定义Dialog
●继承Dialog类
●实现
构造方法和onCreate
在styles. xml中自定义style
自定义布局
●事件监听
View. OnClickListener .
●传值
自定义并实现接口(传出)
类成员变量(传入)
135

被折叠的 条评论
为什么被折叠?



