AlertDialog.Builder

一、AlertDialog简介:

AlertDialog的构造方法被声明为protected,所以不能直接使用new关键字来创建AlertDialog类的对象实例。要想创建AlertDialog对话框,需要使用Builder类,该类是AlertDialog类中定义的一个内嵌类。因此必须创建AlertDialog.Builder类的对象实例,然后再调用show()来显示对话框。

    例如:    AlertDialog.Builder db= new Builder(this);

                    db..create().show();

 二、属性介绍

1 AlertDialog.Builder属性 
* setTitle: 为对话框设置标题 ;
* setIcon : 为对话框设置图标;
* setMessage: 为对话框设置内容;
* setView :  给对话框设置自定义样式 ;
* setItems: 设置对话框要显示的一个list,一般用于显示几个命令时;
* setMultiChoiceItems:用来设置对话框显示一系列的复选框;
* setNeutralButton : 响应中立行为的点击;
* setPositiveButton : 响应Yes/Ok的点击 ;
* setNegativeButton :响应No/Cancel的点击 ;
* create : 创建对话框 ;
* show : 显示对话框;

2 ProgressDialog属性
*setProgressStyle:      设置进度条风格,风格为圆形,旋转的; 
*setTitlt:                          设置ProgressDialog 标题;
*setMessage:              设置ProgressDialog提示信息;
*setIcon:                         设置ProgressDialog标题图标;
*setIndeterminate:    设置ProgressDialog 的进度条是否不明确;
*setCancelable:         设置ProgressDialog 是否可以按返回键取消;
*setButton:              设置ProgressDialog 的一个Button(需要监听Button事件); 
*show:                     显示ProgressDialog。

可以创建类型的对话框,如:带按钮、简单列表、单选列表、多选列表、水平进度或圆形对话框(默认是:圆形)、悬浮对话框和触摸任何位置都可以关闭的对话框等,也可以自定义对话框(下面有自定义登陆示例)

023	         
024	         Button btn1 = (Button) findViewById(R.id.dialg_demo_btn01);
025	         btn1.setOnClickListener(new OnClickListener()
026	         {
027	             public void onClick(View v)
028	             {
029	                 // TODO Auto-generated method stub
030	                 new AlertDialog.Builder(dialog_demo.this).setTitle("简单提示对话框").setMessage("这是提示信息")
031	                         .show();
032	                 return;
033	             }
034	         });
035	         // //
036	         
037	         Button btn2 = (Button) findViewById(R.id.dialg_demo_btn02);
038	         btn2.setOnClickListener(new OnClickListener()
039	         {
040	             public void onClick(View v)
041	             {
042	                 // TODO Auto-generated method stub
043	                 AlertDialog.Builder dialog02 = new AlertDialog.Builder(dialog_demo.this);
044	                 dialog02.setTitle("带确定取消按钮的提示对话框");
045	                 dialog02.setIcon(R.drawable.qq);
046	                 dialog02.setMessage("这是提示内容");
047	                 dialog02.setPositiveButton("确定", new DialogInterface.OnClickListener()
048	                 {
049	                     public void onClick(DialogInterface dialoginterface, int which)
050	                     {
051	                         Toast.makeText(dialog_demo.this, "你选择了确定", Toast.LENGTH_LONG).show();
052	                     }
053	                 });
054	                 dialog02.setNegativeButton("取消", new DialogInterface.OnClickListener()
055	                 {
056	                     public void onClick(DialogInterface dialoginterface, int which)
057	                     {
058	                         Toast.makeText(dialog_demo.this, "你选择了取消", Toast.LENGTH_LONG).show();
059	                     }
060	                 });
061	                 dialog02.create().show();
062	                 return;
063	             }
064	         });
065	         // //
066	         
067	         Button btn3 = (Button) findViewById(R.id.dialg_demo_btn03);
068	         btn3.setOnClickListener(new OnClickListener()
069	         {
070	             public void onClick(View v)
071	             {
072	                 // TODO Auto-generated method stub
073	                 AlertDialog.Builder dialog03 = new AlertDialog.Builder(dialog_demo.this);
074	                 dialog03.setIcon(R.drawable.img1);
075	                 dialog03.setTitle("带多个按钮的提示对话框");
076	                 dialog03.setMessage("你最喜欢的球类运动是什么呢?");
077	                 dialog03.setPositiveButton("篮球", new DialogInterface.OnClickListener()
078	                 {
079	                     public void onClick(DialogInterface dialoginterface, int which)
080	                     {
081	                         showDialog("篮球很不错");
082	                     }
083	                 });
084	                 dialog03.setNeutralButton("乒乓球", new DialogInterface.OnClickListener()
085	                 {
086	                     public void onClick(DialogInterface dialoginterface, int which)
087	                     {
088	                         showDialog("乒乓球很不错");
089	                     }
090	                 });
091	                 dialog03.setNegativeButton("足球", new DialogInterface.OnClickListener()
092	                 {
093	                     public void onClick(DialogInterface dialoginterface, int which)
094	                     {
095	                         showDialog("足球很不错");
096	                     }
097	                 });
098	                 dialog03.create().show();
099	                 return;
100	             }
101	         });
102	         // //
103	         
104	         Button btn4 = (Button) findViewById(R.id.dialg_demo_btn04);
105	         btn4.setOnClickListener(new OnClickListener()
106	         {
107	             public void onClick(View v)
108	             {
109	                 // TODO Auto-generated method stub
110	                 mSingleChoiceID = -1;
111	                 AlertDialog.Builder dialog04 = new AlertDialog.Builder(dialog_demo.this);
112	                 dialog04.setTitle("单选按妞");
113	                 dialog04.setSingleChoiceItems(m_Items, 0, new DialogInterface.OnClickListener()
114	                 {
115	                     public void onClick(DialogInterface dialog, int whichButton)
116	                     {
117	                         mSingleChoiceID = whichButton;
118	                         showDialog("你选择的id为" + whichButton + " , " + m_Items[whichButton]);
119	                     }
120	                 });
121	                 dialog04.setPositiveButton("确定", new DialogInterface.OnClickListener()
122	                 {
123	                     public void onClick(DialogInterface dialog, int whichButton)
124	                     {
125	                         if (mSingleChoiceID > 0)
126	                         {
127	                             showDialog("你选择的是" + mSingleChoiceID);
128	                         }
129	                     }
130	                 });
131	                 dialog04.setNegativeButton("取消", new DialogInterface.OnClickListener()
132	                 {
133	                     public void onClick(DialogInterface dialog, int whichButton)
134	                     {
135	                              
136	                     }
137	                 });
138	                 dialog04.create().show();
139	                 return;
140	             }
141	         });
142	         // //
143	         
144	         Button btn5 = (Button) findViewById(R.id.dialg_demo_btn05);
145	         btn5.setOnClickListener(new OnClickListener()
146	         {
147	             public void onClick(View v)
148	             {
149	                 // TODO Auto-generated method stub
150	                 MultiChoiceID.clear();
151	                 AlertDialog.Builder dialog05 = new AlertDialog.Builder(dialog_demo.this);
152	                 dialog05.setTitle("多选按钮");
153	                 dialog05.setMultiChoiceItems(m_Items, new boolean[]
154	                 { false, false, false},
155	                         new DialogInterface.OnMultiChoiceClickListener()
156	                         {
157	                             public void onClick(DialogInterface dialog, int whichButton,
158	                                     boolean isChecked)
159	                             {
160	                                 if (isChecked)
161	                                 {
162	                                     MultiChoiceID.add(whichButton);
163	                                     showDialog("你选择的id为" + whichButton + " , "
164	                                             + m_Items[whichButton]);
165	                                 } else
166	                                 {
167	                                     MultiChoiceID.remove(whichButton);
168	                                 }
169	  
170	                             }
171	                         });
172	                 dialog05.create().show();
173	                 return;
174	             }
175	         });
176	         // //
177	         
178	         Button btn6 = (Button) findViewById(R.id.dialg_demo_btn06);
179	         btn6.setOnClickListener(new OnClickListener()
180	         {
181	             public void onClick(View v)
182	             {
183	                 // TODO Auto-generated method stub
184	                 AlertDialog.Builder dialog06 = new AlertDialog.Builder(dialog_demo.this);
185	                 dialog06.setTitle("列表框");
186	                 dialog06.setItems(m_Items, new DialogInterface.OnClickListener()
187	                 {
188	                     public void onClick(DialogInterface dialog, int which)
189	                     {
190	                         // 点击后弹出窗口选择了第几项
191	                         showDialog("你选择的id为" + which + " , " + m_Items[which]);
192	                     }
193	                 });
194	                 dialog06.create().show();
195	                 return;
196	             }
197	         });       
//
199	         
200	         Button btn7 = (Button) findViewById(R.id.dialg_demo_btn07);
201	         btn7.setOnClickListener(new OnClickListener()
202	         {
203	             public void onClick(View v)
204	             {
205	                 // TODO Auto-generated method stub
206	                 LayoutInflater factory = LayoutInflater.from(dialog_demo.this);               
207	                 final View view = factory.inflate(R.layout.dialog_demo_login, null);// 获得自定义对话框
208	                  
209	                 AlertDialog.Builder dialog07 = new AlertDialog.Builder(dialog_demo.this);
210	                 dialog07.setIcon(R.drawable.qq);
211	                 dialog07.setTitle("自定义登录对话框");
212	                 dialog07.setView(view);// 引用自己定义的布局
213	                 dialog07.setPositiveButton("确定", new DialogInterface.OnClickListener()
214	                 {
215	                     public void onClick(DialogInterface dialog, int whichButton)
216	                     {
217	  
218	                         EditText userName = (EditText) view
219	                                 .findViewById(R.id.dialog_demo_loginETUserName);
220	                         EditText password = (EditText) view
221	                                 .findViewById(R.id.dialog_demo_loginETPassWord);
222	                         showDialog("姓名 :" + userName.getText().toString() + "密码:"
223	                                 + password.getText().toString());
224	                     }
225	                 });
226	                 dialog07.setNegativeButton("取消", new DialogInterface.OnClickListener()
227	                 {
228	                     public void onClick(DialogInterface dialog, int whichButton)
229	                     {
230	                         //Toast.makeText(dialog_demo.this, "你选择了取消", Toast.LENGTH_LONG).show();
231	                         showDialog("你选择了取消");
232	                     }
233	                 });
234	                 dialog07.create().show();
235	                 return;
236	             }
237	         });
238	         // //
239	         Button btn8 = (Button) findViewById(R.id.dialg_demo_btn08);
240	         btn8.setOnClickListener(new OnClickListener()
241	         {
242	             public void onClick(View v)
243	             {
244	                 // TODO Auto-generated method stub
245	                 mProgressDialog = new ProgressDialog(dialog_demo.this);//创建ProgressDialog对象
246	                 mProgressDialog.setIcon(R.drawable.qq);// 设置ProgressDialog标题 图标
247	                 mProgressDialog.setTitle("进度条窗口");// 设置ProgressDialog标题
248	                 mProgressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);//设置进度条风格,风格为长形
249	                 mProgressDialog.setMax(MAX_PROGRESS);// 设置ProgressDialo进度条进度
250	                 mProgressDialog.setButton("确定", new DialogInterface.OnClickListener()
251	                 {
252	                     public void onClick(DialogInterface dialog, int whichButton)
253	                     {
254	                         // 这里添加点击后的逻辑
255	                     }
256	                 });
257	                 mProgressDialog.setButton2("取消", new DialogInterface.OnClickListener()
258	                 {
259	                     public void onClick(DialogInterface dialog, int whichButton)
260	                     {
261	                         // 这里添加点击后的逻辑
262	                     }
263	                 });
264	                 mProgressDialog.show();
265	                 new Thread()
266	                 {
267	                     @Override
268	                     public void run()
269	                     {
270	                         int Progress = 0;
271	                         while (Progress < MAX_PROGRESS)
272	                         {
273	                             try
274	                             {               
275	                                 mProgressDialog.setProgress(Progress++); 
276	                                 //mProgressDialog.incrementProgressBy(1);
277	                                 Thread.sleep(100);
278	                             } catch (Exception e)
279	                             {
280	                                 // TODO Auto-generated catch block
281	                                 mProgressDialog.cancel();
282	                                 //e.printStackTrace();
283	                             }
284	                         }   
285	                     };
286	                 }.start();
287	                 return;
288	             }
289	         });
290	         // //
291	         
292	         Button btn9 = (Button) findViewById(R.id.dialg_demo_btn09);
293	         btn9.setOnClickListener(new OnClickListener()
294	         {
295	             public void onClick(View v)
296	             {
297	                 // TODO Auto-generated method stub
298	                 mProgressDialog = new ProgressDialog(dialog_demo.this);//创建ProgressDialog对象
299	                 mProgressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER); //设置进度条风格,风格为圆形,旋转的
300	                 mProgressDialog.setTitle("读取ing...");// 设置ProgressDialog标题
301	                 mProgressDialog.setMessage("正在读取中请稍候...");// 设置ProgressDialog提示信息
302	                 mProgressDialog.setIndeterminate(true);//设置ProgressDialog 的进度条不明确
303	                 mProgressDialog.setCancelable(true);// 设置ProgressDialog 可以按退回键取消
304	                 mProgressDialog.setButton("确定", new DialogInterface.OnClickListener()
305	                 {
306	                     public void onClick(DialogInterface dialog, int whichButton)
307	                     {
308	                         // 这里添加点击后的逻辑
309	                     }
310	                 });
311	                 mProgressDialog.show();// 让ProgressDialog显示
312	                 return;
313	             }
314	         });
315	         // //
316	         
317	         Button btn10 = (Button) findViewById(R.id.dialg_demo_btn10);
318	         btn10.setOnClickListener(new OnClickListener()
319	         {
320	             public void onClick(View v)
321	             {
322	                 // TODO Auto-generated method stub
323	                 return;
324	             }
325	         });


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值