1 import android.app.ProgressDialog;
2 import android.content.DialogInterface;
3 import android.os.Bundle;
4 import android.os.SystemClock;
5 import android.support.v7.app.AlertDialog;
6 import android.support.v7.app.AppCompatActivity;
7 import android.view.View;
8 import android.widget.Toast;
9
10 public class MainActivity extends AppCompatActivity {
11
12 @Override
13 protected void onCreate(Bundle savedInstanceState) {
14 super.onCreate(savedInstanceState);
15 setContentView(R.layout.activity_main);
16 }
17
18 /**
19 * 普通对话框
20 *
21 * @param view
22 */
23 public void click1(View view) {
24 AlertDialog.Builder builder = new AlertDialog.Builder(this);
25 //设置标题
26 builder.setTitle("用户安全提示:");
27 //设置提示消息
28 builder.setMessage("你确定接受用户隐私条款吗?");
29 builder.setPositiveButton("确定", null);
30 builder.setNegativeButton("取消", null);
31 //显示dialog
32 builder.show();
33 }
34
35 /**
36 * 单选对话框
37 *
38 * @param view
39 */
40 public void click2(View view) {
41 AlertDialog.Builder builder = new AlertDialog.Builder(this);
42 //设置标题
43 builder.setTitle("选择一项你的专业:");
44 //设置要显示的item条目
45 final String items[] = {"Java", "C++", "PHP", "Android", "C#", "Python", "MySql"};
46 //设置item点击事件
47 builder.setSingleChoiceItems(items, -1, new DialogInterface.OnClickListener() {
48 @Override
49 public void onClick(DialogInterface dialog, int which) {
50 Toast.makeText(MainActivity.this, "你选择了:" + items[which], Toast.LENGTH_SHORT).show();
51 dialog.dismiss();
52 }
53 });
54 //显示dialog
55 builder.show();
56 }
57
58 /**
59 * 多选对话框
60 *
61 * @param view
62 */
63 public void click3(View view) {
64 AlertDialog.Builder builder = new AlertDialog.Builder(this);
65 //设置标题
66 builder.setTitle("选择你的兴趣爱好:");
67 //设置要显示的item条目
68 final String items[] = {"看书", "玩游戏", "看电影", "打球", "健身", "自驾游", "去酒吧"};
69 //设置每个条目的选择状态 false为没有选中 true为选中
70 final boolean[] checks = {true, true, false, false, false, false, false};
71 //设置item点击事件 条目被选中时 修改checks里的boolean值
72 builder.setMultiChoiceItems(items, checks, new DialogInterface.OnMultiChoiceClickListener() {
73 @Override
74 public void onClick(DialogInterface dialog, int which, boolean isChecked) {
75 checks[which] = isChecked;
76 }
77 });
78 //设置确定按钮点击事件
79 builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
80 @Override
81 public void onClick(DialogInterface dialog, int which) {
82 StringBuffer buffer = new StringBuffer();
83 for (int i = 0; i < checks.length; i++) {
84 if (checks[i]) {
85 buffer.append(items[i] + ",");
86 }
87 }
88 Toast.makeText(MainActivity.this, buffer.toString(), Toast.LENGTH_SHORT).show();
89 }
90 });
91 builder.setNegativeButton("取消", null);
92 //显示dialog
93 builder.show();
94 }
95
96 /**
97 * 进度条对话框
98 *
99 * @param view
100 */
101 public void click4(View view) {
102 final ProgressDialog dialog = new ProgressDialog(this);
103 dialog.setTitle("请稍等:");
104 //dialog.setMessage("正在努力加载...");
105 //dialog.show();
106
107 //以下的属性不设置 进度条样式默认为圆形
108
109 //设置进度最大值为100
110 dialog.setMax(100);
111 //设置进度条样式为水平
112 dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
113
114 dialog.show();
115 //模拟一个进度加载过程
116 new Thread() {
117 @Override
118 public void run() {
119 for (int i = 0; i <= 100; i++) {
120 dialog.setProgress(i);
121 //休眠200毫秒
122 SystemClock.sleep(200);
123 }
124 dialog.dismiss();
125 }
126 }.start();
127 }
128 }