Android AlertDialog总结
2012-03-09 17:46
281 查看
一、AlertDialog简介:AlertDialog的构造方法被声明为protected,所以不能直接使用new关键字来创建AlertDialog类的对象实例。要想创建AlertDialog对话框,需要使用Builder类,该类是AlertDialog类中定义的一个内嵌类。因此必须创建AlertDialog.Builder类的对象实例,然后再调用show()来显示对话框。
例如:AlertDialog.Builderdb=newBuilder(this);
db..create().show();
二、属性介绍
1AlertDialog.Builder属性
*setTitle:为对话框设置标题;
*setIcon:为对话框设置图标;
*setMessage:为对话框设置内容;
*setView:给对话框设置自定义样式;
*setItems:设置对话框要显示的一个list,一般用于显示几个命令时;
*setMultiChoiceItems:用来设置对话框显示一系列的复选框;
*setNeutralButton:响应中立行为的点击;
*setPositiveButton:响应Yes/Ok的点击;
*setNegativeButton:响应No/Cancel的点击;
*create:创建对话框;
*show:显示对话框;
2ProgressDialog属性
*setProgressStyle:设置进度条风格,风格为圆形,旋转的;
*setTitlt:设置ProgressDialog标题;
*setMessage:设置ProgressDialog提示信息;
*setIcon:设置ProgressDialog标题图标;
*setIndeterminate:设置ProgressDialog的进度条是否不明确;
*setCancelable:设置ProgressDialog是否可以按返回键取消;
*setButton:设置ProgressDialog的一个Button(需要监听Button事件);
*show:显示ProgressDialog。
可以创建类型的对话框,如:带按钮、简单列表、单选列表、多选列表、水平进度或圆形对话框(默认是:圆形)、悬浮对话框和触摸任何位置都可以关闭的对话框等,也可以自定义对话框(下面有自定义登陆示例)。
三、示例
例如:AlertDialog.Builderdb=newBuilder(this);
db..create().show();
二、属性介绍
1AlertDialog.Builder属性
*setTitle:为对话框设置标题;
*setIcon:为对话框设置图标;
*setMessage:为对话框设置内容;
*setView:给对话框设置自定义样式;
*setItems:设置对话框要显示的一个list,一般用于显示几个命令时;
*setMultiChoiceItems:用来设置对话框显示一系列的复选框;
*setNeutralButton:响应中立行为的点击;
*setPositiveButton:响应Yes/Ok的点击;
*setNegativeButton:响应No/Cancel的点击;
*create:创建对话框;
*show:显示对话框;
2ProgressDialog属性
*setProgressStyle:设置进度条风格,风格为圆形,旋转的;
*setTitlt:设置ProgressDialog标题;
*setMessage:设置ProgressDialog提示信息;
*setIcon:设置ProgressDialog标题图标;
*setIndeterminate:设置ProgressDialog的进度条是否不明确;
*setCancelable:设置ProgressDialog是否可以按返回键取消;
*setButton:设置ProgressDialog的一个Button(需要监听Button事件);
*show:显示ProgressDialog。
可以创建类型的对话框,如:带按钮、简单列表、单选列表、多选列表、水平进度或圆形对话框(默认是:圆形)、悬浮对话框和触摸任何位置都可以关闭的对话框等,也可以自定义对话框(下面有自定义登陆示例)。
三、示例
////////////////////////////////////////////////////////////////////////////// |
023 | /*【简单提示对话框】*/ |
024 | Buttonbtn1=(Button)findViewById(R.id.dialg_demo_btn01); |
025 | btn1.setOnClickListener(newOnClickListener() |
026 | { |
027 | publicvoidonClick(Viewv) |
028 | { |
029 | //TODOAuto-generatedmethodstub |
030 | newAlertDialog.Builder(dialog_demo.this).setTitle("简单提示对话框").setMessage("这是提示信息") |
031 | .show(); |
032 | return; |
033 | } |
034 | }); |
035 | //////////////////////////////////////////////////////////////////////////////// |
036 | /*【带确定取消按钮的提示对话框】*/ |
037 | Buttonbtn2=(Button)findViewById(R.id.dialg_demo_btn02); |
038 | btn2.setOnClickListener(newOnClickListener() |
039 | { |
040 | publicvoidonClick(Viewv) |
041 | { |
042 | //TODOAuto-generatedmethodstub |
043 | AlertDialog.Builderdialog02=newAlertDialog.Builder(dialog_demo.this); |
044 | dialog02.setTitle("带确定取消按钮的提示对话框"); |
045 | dialog02.setIcon(R.drawable.qq); |
046 | dialog02.setMessage("这是提示内容"); |
047 | dialog02.setPositiveButton("确定",newDialogInterface.OnClickListener() |
048 | { |
049 | publicvoidonClick(DialogInterfacedialoginterface,intwhich) |
050 | { |
051 | Toast.makeText(dialog_demo.this,"你选择了确定",Toast.LENGTH_LONG).show(); |
052 | } |
053 | }); |
054 | dialog02.setNegativeButton("取消",newDialogInterface.OnClickListener() |
055 | { |
056 | publicvoidonClick(DialogInterfacedialoginterface,intwhich) |
057 | { |
058 | Toast.makeText(dialog_demo.this,"你选择了取消",Toast.LENGTH_LONG).show(); |
059 | } |
060 | }); |
061 | dialog02.create().show(); |
062 | return; |
063 | } |
064 | }); |
065 | //////////////////////////////////////////////////////////////////////////////// |
066 | /*【带多个按钮的提示对话框】*/ |
067 | Buttonbtn3=(Button)findViewById(R.id.dialg_demo_btn03); |
068 | btn3.setOnClickListener(newOnClickListener() |
069 | { |
070 | publicvoidonClick(Viewv) |
071 | { |
072 | //TODOAuto-generatedmethodstub |
073 | AlertDialog.Builderdialog03=newAlertDialog.Builder(dialog_demo.this); |
074 | dialog03.setIcon(R.drawable.img1); |
075 | dialog03.setTitle("带多个按钮的提示对话框"); |
076 | dialog03.setMessage("你最喜欢的球类运动是什么呢?"); |
077 | dialog03.setPositiveButton("篮球",newDialogInterface.OnClickListener() |
078 | { |
079 | publicvoidonClick(DialogInterfacedialoginterface,intwhich) |
080 | { |
081 | showDialog("篮球很不错"); |
082 | } |
083 | }); |
084 | dialog03.setNeutralButton("乒乓球",newDialogInterface.OnClickListener() |
085 | { |
086 | publicvoidonClick(DialogInterfacedialoginterface,intwhich) |
087 | { |
088 | showDialog("乒乓球很不错"); |
089 | } |
090 | }); |
091 | dialog03.setNegativeButton("足球",newDialogInterface.OnClickListener() |
092 | { |
093 | publicvoidonClick(DialogInterfacedialoginterface,intwhich) |
094 | { |
095 | showDialog("足球很不错"); |
096 | } |
097 | }); |
098 | dialog03.create().show(); |
099 | return; |
100 | } |
101 | }); |
102 | //////////////////////////////////////////////////////////////////////////////// |
103 | /*【单选按钮对话框】*/ |
104 | Buttonbtn4=(Button)findViewById(R.id.dialg_demo_btn04); |
105 | btn4.setOnClickListener(newOnClickListener() |
106 | { |
107 | publicvoidonClick(Viewv) |
108 | { |
109 | //TODOAuto-generatedmethodstub |
110 | mSingleChoiceID=-1; |
111 | AlertDialog.Builderdialog04=newAlertDialog.Builder(dialog_demo.this); |
112 | dialog04.setTitle("单选按妞"); |
113 | dialog04.setSingleChoiceItems(m_Items,0,newDialogInterface.OnClickListener() |
114 | { |
115 | publicvoidonClick(DialogInterfacedialog,intwhichButton) |
116 | { |
117 | mSingleChoiceID=whichButton; |
118 | showDialog("你选择的id为"+whichButton+","+m_Items[whichButton]); |
119 | } |
120 | }); |
121 | dialog04.setPositiveButton("确定",newDialogInterface.OnClickListener() |
122 | { |
123 | publicvoidonClick(DialogInterfacedialog,intwhichButton) |
124 | { |
125 | if(mSingleChoiceID>0) |
126 | { |
127 | showDialog("你选择的是"+mSingleChoiceID); |
128 | } |
129 | } |
130 | }); |
131 | dialog04.setNegativeButton("取消",newDialogInterface.OnClickListener() |
132 | { |
133 | publicvoidonClick(DialogInterfacedialog,intwhichButton) |
134 | { |
135 |
136 | } |
137 | }); |
138 | dialog04.create().show(); |
139 | return; |
140 | } |
141 | }); |
142 | //////////////////////////////////////////////////////////////////////////////// |
143 | /*【多选按钮对话框】*/ |
144 | Buttonbtn5=(Button)findViewById(R.id.dialg_demo_btn05); |
145 | btn5.setOnClickListener(newOnClickListener() |
146 | { |
147 | publicvoidonClick(Viewv) |
148 | { |
149 | //TODOAuto-generatedmethodstub |
150 | MultiChoiceID.clear(); |
151 | AlertDialog.Builderdialog05=newAlertDialog.Builder(dialog_demo.this); |
152 | dialog05.setTitle("多选按钮"); |
153 | dialog05.setMultiChoiceItems(m_Items,newboolean[] |
154 | {false,false,false}, |
155 | newDialogInterface.OnMultiChoiceClickListener() |
156 | { |
157 | publicvoidonClick(DialogInterfacedialog,intwhichButton, |
158 | booleanisChecked) |
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 | Buttonbtn6=(Button)findViewById(R.id.dialg_demo_btn06); |
179 | btn6.setOnClickListener(newOnClickListener() |
180 | { |
181 | publicvoidonClick(Viewv) |
182 | { |
183 | //TODOAuto-generatedmethodstub |
184 | AlertDialog.Builderdialog06=newAlertDialog.Builder(dialog_demo.this); |
185 | dialog06.setTitle("列表框"); |
186 | dialog06.setItems(m_Items,newDialogInterface.OnClickListener() |
187 | { |
188 | publicvoidonClick(DialogInterfacedialog,intwhich) |
189 | { |
190 | //点击后弹出窗口选择了第几项 |
191 | showDialog("你选择的id为"+which+","+m_Items[which]); |
192 | } |
193 | }); |
194 | dialog06.create().show(); |
195 | return; |
196 | } |
197 | }); |
////////////////////////////////////////////////////////////////////////////// |
199 | /*【自定义登录对话框】*/ |
200 | Buttonbtn7=(Button)findViewById(R.id.dialg_demo_btn07); |
201 | btn7.setOnClickListener(newOnClickListener() |
202 | { |
203 | publicvoidonClick(Viewv) |
204 | { |
205 | //TODOAuto-generatedmethodstub |
206 | LayoutInflaterfactory=LayoutInflater.from(dialog_demo.this); |
207 | finalViewview=factory.inflate(R.layout.dialog_demo_login,null);//获得自定义对话框 |
208 |
209 | AlertDialog.Builderdialog07=newAlertDialog.Builder(dialog_demo.this); |
210 | dialog07.setIcon(R.drawable.qq); |
211 | dialog07.setTitle("自定义登录对话框"); |
212 | dialog07.setView(view);//引用自己定义的布局 |
213 | dialog07.setPositiveButton("确定",newDialogInterface.OnClickListener() |
214 | { |
215 | publicvoidonClick(DialogInterfacedialog,intwhichButton) |
216 | { |
217 |
218 | EditTextuserName=(EditText)view |
219 | .findViewById(R.id.dialog_demo_loginETUserName); |
220 | EditTextpassword=(EditText)view |
221 | .findViewById(R.id.dialog_demo_loginETPassWord); |
222 | showDialog("姓名:"+userName.getText().toString()+"密码:" |
223 | +password.getText().toString()); |
224 | } |
225 | }); |
226 | dialog07.setNegativeButton("取消",newDialogInterface.OnClickListener() |
227 | { |
228 | publicvoidonClick(DialogInterfacedialog,intwhichButton) |
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 | Buttonbtn8=(Button)findViewById(R.id.dialg_demo_btn08); |
240 | btn8.setOnClickListener(newOnClickListener() |
241 | { |
242 | publicvoidonClick(Viewv) |
243 | { |
244 | //TODOAuto-generatedmethodstub |
245 | mProgressDialog=newProgressDialog(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("确定",newDialogInterface.OnClickListener() |
251 | { |
252 | publicvoidonClick(DialogInterfacedialog,intwhichButton) |
253 | { |
254 | //这里添加点击后的逻辑 |
255 | } |
256 | }); |
257 | mProgressDialog.setButton2("取消",newDialogInterface.OnClickListener() |
258 | { |
259 | publicvoidonClick(DialogInterfacedialog,intwhichButton) |
260 | { |
261 | //这里添加点击后的逻辑 |
262 | } |
263 | }); |
264 | mProgressDialog.show(); |
265 | newThread() |
266 | { |
267 | @Override |
268 | publicvoidrun() |
269 | { |
270 | intProgress=0; |
271 | while(Progress<MAX_PROGRESS) |
272 | { |
273 | try |
274 | { |
275 | mProgressDialog.setProgress(Progress++); |
276 | //mProgressDialog.incrementProgressBy(1); |
277 | Thread.sleep(100); |
278 | }catch(Exceptione) |
279 | { |
280 | //TODOAuto-generatedcatchblock |
281 | mProgressDialog.cancel(); |
282 | //e.printStackTrace(); |
283 | } |
284 | } |
285 | }; |
286 | }.start(); |
287 | return; |
288 | } |
289 | }); |
290 | //////////////////////////////////////////////////////////////////////////////// |
291 | /*【圆形(转圈)进度条】*/ |
292 | Buttonbtn9=(Button)findViewById(R.id.dialg_demo_btn09); |
293 | btn9.setOnClickListener(newOnClickListener() |
294 | { |
295 | publicvoidonClick(Viewv) |
296 | { |
297 | //TODOAuto-generatedmethodstub |
298 | mProgressDialog=newProgressDialog(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("确定",newDialogInterface.OnClickListener() |
305 | { |
306 | publicvoidonClick(DialogInterfacedialog,intwhichButton) |
307 | { |
308 | //这里添加点击后的逻辑 |
309 | } |
310 | }); |
311 | mProgressDialog.show();//让ProgressDialog显示 |
312 | return; |
313 | } |
314 | }); |
315 | //////////////////////////////////////////////////////////////////////////////// |
316 | /*【带补充对话框】*/ |
317 | Buttonbtn10=(Button)findViewById(R.id.dialg_demo_btn10); |
318 | btn10.setOnClickListener(newOnClickListener() |
319 | { |
320 | publicvoidonClick(Viewv) |
321 | { |
322 | //TODOAuto-generatedmethodstub |
323 | return; |
324 | } |
325 | }); |
326 | //////////////////////////////////////////////////////////////////////////////// |
相关文章推荐
- android学习总结(16.09.08)AlertDialog的简单用法
- 总结Android之AlertDialog.Builder用法
- Android控件之AlertDialog-单选、多选信息列表弹出框
- android AlertDialog的应用
- android AlertDialog布局 ——2
- android alertdialog设置圆角
- Android进阶之AlertDialog自定义
- Android Alert Dialog解决点击按钮对话框不关闭/的问题
- JavaAndAndroid程序学习之——关闭程序和AlertDialog中的button区别
- Android之AlertDialog和Dialog
- Android alertdialog实现确认退出
- Android 对话框 之AlertDialog和Dialog
- Android UI控件之AlertDialog
- android AlertDialog
- 完全自定义Android对话框AlertDialog的实现
- Android入门第九篇之AlertDialog
- Android笔记之AlertDialog使用
- 【总结】Dialog的使用(Android)
- android基础AlertDialog使用
- 0827Android基础Toast+AlertDialog