1、对话框的分类
<1>AlertDialog 警告对话框(提示对话框)
(1)父类:android.app.Dialog
(2)创建AlertDialog对话框的步骤
a.创建AlertDialog.Builder对象,该对象能创建AlertDialog;
1. AlertDialog alertDialog = null;
2. AlertDialog.Builder builder = new Builder(MainActivity.this);
b.调用Builder对象的方法设置图标、标题、内容、按钮等;
1. builder.setTitle("警告对话框")// 设置标题
2. .setIcon(R.drawable.icon18)// 设置标题图标
3. .setMessage("确定要删除吗?")// 设置标题文本内容
4. .setPositiveButton("确定", new OnClickListener() {
5. @Override
6. public void onClick(DialogInterface dialog, int which) {
7. // 点击确定按钮要做的事
8. Toast.makeText(MainActivity.this, "确定",Toast.LENGTH_SHORT).show();})
9. .setNegativeButton("取消", null)
10. .setNeutralButton("其他", null);
c.调用Builder对象的create()方法创建AlertDialog对话框.setCanceledOnTouchOutside(false):点击对话框以外对话框不消失
1. // 通过builder对象创建对话框对象
2. alertDialog = builder.create();
d.调用AlertDialog的show()方法来显示对话框
1. // 显示对话框
2. alertDialog.show();
<2>ProgressDialog 进度对话框
(1)父类:android.app.AlertDialog
(2)创建ProgressDialog对话框的步骤:
a.实例化ProgressDialog,创建出ProgressDialog对象
b.调用该对象的方法设置图标、标题、内容、按钮等
c.调用 ProgressDialog 对象的show()方法显示出 ProgressDialog 对话框
<3>DatePickerDialog 日期选择对话框
(1)父类:android.app.AlertDialog
(2)创建DatePickerDialog对话框的步骤:
a.实例化DatePickerDialog,创建出 DatePickerDialog对象
1. DatePickerDialog dialog = new DatePickerDialog(this,new OnDateSetListener() {
2. @Override
3. public void onDateSet(DatePicker view, int year,
4. int monthOfYear, int dayOfMonth) {
5. //选择日期之后调用的方法 注意:参数monthOfYear是0~11
6. Toast.makeText(MainActivity.this, year+":"+(monthOfYear+1)+":"+dayOfMonth, Toast.LENGTH_SHORT).show();
7. }
8. }, year, month, day);
b.调用DatePickerDialog对象的show()方法显示出DatePickerDialog对话框
1. dialog.show();
c.绑定监听器:OnDateSetListener()
1. Calendar calendar = Calendar.getInstance();
2. int year = calendar.get(Calendar.YEAR);
3. int month = calendar.get(Calendar.MONTH);
4. @Override
5. public void onDateSet(DatePicker view, int year,
6. int monthOfYear, int dayOfMonth) {
7. //选择日期之后调用的方法 注意:参数monthOfYear是0~11
8. Toast.makeText(MainActivity.this, year+":"+(monthOfYear+1)+":"+dayOfMonth, Toast.LENGTH_SHORT).show();
9. }
<4>TimerPickerDialog 时间选择对话框
<5>自定义对话框(登录对话框、关于对话框)
(1)AlertDialog——自定义对话框的创建步骤:
a.创建AlertDialog.Builder对象
1. AlertDialog.Builder builder = new Builder(this);
b.设置对话框的标题、按钮等(既可以使用系统自带的,也可以自定义)
c.自定义布局文件
1. <?xml version="1.0" encoding="utf-8"?>
2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3. android:layout_width="match_parent"
4. android:layout_height="match_parent"
5. android:orientation="vertical" >
6.
7. <TextView
8. android:layout_width="match_parent"
9. android:layout_height="wrap_content"
10. android:text="删除"
11. android:textSize="30sp"
12. android:gravity="center"
13. android:padding="10dp"/>
14.
15. <TextureView
16. android:layout_width="match_parent"
17. android:layout_height="1dp"
18. android:background="#ccc"/>
19.
20. <TextView
21. android:layout_width="match_parent"
22. android:layout_height="wrap_content"
23. android:text="确定要删除吗?"
24. android:gravity="center"
25. android:padding="15dp"
26. android:textSize="20sp"/>
27.
28. <LinearLayout
29. android:layout_width="match_parent"
30. android:layout_height="wrap_content"
31. android:orientation="horizontal"
32. android:gravity="center">
33.
34. <Button
35. android:id="@+id/btnSure"
36. android:layout_width="0dp"
37. android:layout_weight="1"
38. android:layout_height="wrap_content"
39. android:text="确定"
40. />
41. <Button
42. android:id="@+id/btnClean"
43. android:layout_width="0dp"
44. android:layout_weight="1"
45. android:layout_height="wrap_content"
46. android:text="取消"
47. />
48. </LinearLayout>
49. </LinearLayout>
d.使用LayoutInflater 的 inflater()方法填充自定义的布局文件,返回view对象。用该对象的findViewById()方法加载自定义布局上所有控件;
1. // 获取布局对象的两种方法
2. View view2 = LayoutInflater.from(this).inflate(R.layout.dialog_layout,null);
3. // view2=getLayoutInflater().inflate(R.layout.dialog_layout, null);
e.调用Builder对象的setView()方法加载view对象;
1. builder.setView(view2);// 设置对话框要显示的布局
2. Button btnSure = (Button) view2.findViewById(R.id.btnSure);
f.调用Builder对象的create()方法创建AlertDialog对话框;
1. customDialog = builder.create();
g.调用AlertDialog的show()方法来显示对话框
1. customDialog.show();
<6>列表对话框
(1)普通列表对话框
(2)单选列表对话框
(3)多选列表对话框
(4)带图标的列表对话框
共同学习,写下你的评论
评论加载中...
作者其他优质文章