对话框是Android中不可或缺的,在使用对话框的时候,需要使用AlertDialog.Builder类。当然处理系统默认的对话框外,还可以自定义对话框,如果对话框设置了按钮,那么要对其进行事件监听OnClickListener。
下面的是一个用AlertDialog.Builder类和自定义的对话框的实例,当点击确定时,转移到登陆对话框,当输入用户名和密码后,转移到登陆进度对话框
这里的自定义对话框是由两个TextView和两个EditText组成,也就是那个登录对话框,自定义对话框的布局文件是l文件,见下面
另外呢,使用AlertDialog来创建对话框,需要了解一下几个方法
setTitle();给对话框设置标题
setIcon();给对话框设置图标
setMessage();设置对话框的提示信息
setItems();设置对话框要显示的一个list,一般用于显示几个命令时
setSingleChoiceItems();设置对话框显示一个单选的List
setMultiChoiceItems();设置对话框显示一系列的复选框
setPositiveButton();给对话框添加"yes"按钮
setNegativeButton();给对话框添加"no"按钮
DialogTest.java
Java代码
1. package org.hualang.dialog;
2.
3. import android.app.Activity;
4. import android.app.AlertDialog;
5. import android.app.Dialog;
6. import android.app.ProgressDialog;
7. import&t.DialogInterface;
alertdialog使用方法8. import android.os.Bundle;
9. import android.view.LayoutInflater;
10. import android.view.View;
11.
12. public class DialogTest extends Activity {
13. /** Called when the activity is first created. */
14. ProgressDialog mydialog;
15. @Override
16. public void onCreate(Bundle savedInstanceState) {
17. Create(savedInstanceState);
18. setContentView(R.layout.main);
19. Dialog dialog=new AlertDialog.Builder(DialogTest.this)
20. .setTitle("登录提示")//设置标题
21. .setMessage("这里需要登录")//设置对话框显示内容
22. .setPositiveButton("确定", //设置确定按钮
23. new DialogInterface.OnClickListener() {
24. @Override
25. public void onClick(DialogInterface dialog, int which) {
26. //点击确定转向登录对话框
27. LayoutInflater factory=LayoutInflater.from(DialogTest.this);
28. //得到自定义对话框
29. final View DialogView=factory.inflate(R.layout.dialog, null);
30. //创建对话框
31. AlertDialog dlg=new AlertDialog.Builder(DialogTest.this)
32. .setTitle("登录框")
33. .setView(DialogView)//设置自定义对话框样式
34. .setPositiveButton("确定",
35. new DialogInterface.OnClickListener() {//设置监听事件
36.
37. @Override
38. public void onClick(DialogInterface dialog, int which) {
39. // 输入完成后点击“确定”开始登录
40. mydialog=ProgressDialog.show(DialogTest.this, "请稍等...", "正在登录...",true);
41. new Thread()
42. {
43. public void run()
44. {
45. try
46. {
47. sleep(3000);
48. }catch(Exception e)
49. {
50. e.printStackTrace();
51. }finally
52. {
53. //登录结束,取消mydialog对话框
54. mydialog.dismiss();
55. }
56. }
57. }.start();
58. }
59. }).setNegativeButton("取消",//设置取消按钮
60. new DialogInterface.OnClickListener() {
61.
62. @Override
63. public void onClick(DialogInterface dialog, int which) {
64. //点击取消后退出程序
65. DialogTest.this.finish();
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论