对话框
① AletDialog:提示对话框:功能最为丰富,实际应用最为广泛的对话框。
② ProgressDialog:进度对话框,是对简单进度条的封装。
③DataPickerDialog:日期选择对话框。
④TimePickerDialog:时间选择对话框。
⑤ 自定义对话框:对话框布局自定义,并设置监听事件
8.1.1 AlertDialog(警示对话框 )
AlertDialog生成的对话框分为4个区域:图标区、标题区、内容区和按钮区。
创建对话框的步骤:
使用AlertDialog.Builder创建对象
调用AlertDialog.Builder的setTitle(或setCustomTitle()方法设置标题。
调用AlertDialog.Builder的setIcon()方法设置图标
调用AlertDialog.Builder的相关设置方法设置对话框内容
调用AlertDialog.Builder的setPositiveButton、setNegativeButton()或setNeutralButton0)方法添加多个按钮。
调用AlertDialog.Builder的create(方法创建AlertDialog对象,再调用AlertDialog对象的show)方。法将该对话框显示出来。
自定义对话框:
1.创建一个自定义样式文件
2.//获取布局文件 View view=getLayoutInflflater().inflflate(R.layout.test,null);
//设置的自定义样式布局文件;直接使用布局文件id设置视图
builder.setView(view);
//获取自定义组件id
Button btn= view.fifindViewById(R.id.login); btn.setText(“测试登录”);
dismiss() cancel() 功能效果一样;cancel回调setOnCancelListener();
8.1.2 ProgressDialog (进度条对话框)
将进度条简单包裹起来,可以设置进度条的各种式样,启动线程,模拟耗时任务的进行,下载完成后,自动消失。
显示加载进度;以弹出形式显示;结合Dialog 与 Progressbar;
DateDialog
用于显示日期设置:
构造方法初始化:month 0-11;比实际月份小1
DatePickerDialog.OnDateSetListener():事件处理
onDateSet(DatePicker view, int year, int month, int dayOfMonth):获取用户选择日期
自定义样式参照:AlertDialog
TimePickerDialog
//1.获取系统的当期时间
Calendar calendar=Calendar.getInstance(); int hour=calendar.get(Calendar.HOUR); int minute=calendar.get(Calendar.MINUTE);
//2.创建时间对话框
/**
* @param context :在哪个页面活动
* @param listener :事件处理
* @param hourOfDay :小时
* @param minute :分钟
* @param is24HourView :是否24小时进制显示boolean
*/
TimePickerDialog dialog=new TimePickerDialog(MainActivity.this, new TimePickerDialog.OnTimeSetListener() {
@Override
//回显用户设置的时间
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
Toast.makeText(MainActivity.this,"用户设置时 间:"+hourOfDay+":"+minute,Toast.LENGTH_LONG).show();
} }, hour, minute, true);
//3.设置基本属性
//dialog.set
//4.显示
dialog.show();