ProgressDialog进度条和AlertDialog弹出对话框的使用
显示对话框
?? ?对话框经常作为Activity的一部分来创建和显示。你通常应该从protected Dialog?Activity.onCreateDialog (int id) 回调方法里创建对话框。当你使用这个回调函数时,Android系统会有效的设置这个Activity为每个对话框的所有者,从而自动管理每个对话框的状态并挂靠到Activity上。这样,每个对话框继承这个Activity的特定属性。比如,当一个对话框打开时,菜单键显示为这个Activity定义的选项菜单,音量键修改Activity使用的音频流。
增加按钮Adding buttons
?? ?这就是我一开始很想知道的究竟如何添加Yes/No,Ok/Cancel这样的按钮。原来是通过setPositiveButton(...)响应Yes/Ok的点击,setNeutralButton(...)响应中立行为的点击,setNegativeButton(...)响应No/Cancel的点击。注意,只能各自设置一个按钮来响应点击事件。
?? ?由于ProgressDialog是AlertDialog的扩展类,所以ProgressDialog也能设置按钮,比如一个取消下载的按钮。不过要注意的是,和前面的AlertDialog.Builder不同,ProgressDialog是调用AlertDialog的setButton,setButton2,setButton3函数,这些函数没有明确哪个是正面/中立/负面的,由我们决定。
显示进度条Showing a progress bar而选择动画进度条显示进度:
1. ? 用类构造器初始化进度对话框,ProgressDialog(Context)。
2. ? 用setProgressStyle(int)方法设置进度风格为"STYLE_HORIZONTAL"以及设置其它属性,比如消息。
创建ProgressDialog大概是这样的:
/** * 登录框 */protected void dialog_show(){// 将Layout中的login.xml匹配给视图控件LayoutInflater inflater = LayoutInflater.from(this);final View view = inflater.inflate(R.layout.login, null);// 创—ialogAlertDialog.Builder builder = new AlertDialog.Builder(this);builder.setTitle("登录框");builder.setView(view);builder.setPositiveButton("登录", new OnClickListener(){@Overridepublic void onClick(DialogInterface dialog, int which){// 取得login.xml中的账号EditText和密码EditText控件EditText user = (EditText) view.findViewById(R.id.user);EditText pass = (EditText) view.findViewById(R.id.pass);// 取得两个控件中的值String user_str = user.getText().toString();String pass_str = pass.getText().toString();// 验证账号和密码validate(user_str, pass_str);}});builder.setNegativeButton("取消", new OnClickListener(){@Overridepublic void onClick(DialogInterface dialog, int which){dialog.dismiss();}});// 这个很重要的,是dialog的显示功能,如果这个没有的话,是不会显示出来的builder.show();}
?
?

增加按钮Adding buttons