《【2017年整理】Android中对话框(Dialog)的创建方法》由会员分享,可在线阅读,更多相关《【2017年整理】Android中对话框(Dialog)的创建方法(4页珍藏版)》请在金锄头文库上搜索。
1、Android 中对话框(Dialog)的创建方法1,创建 new AlertDialog.Builder(Context context)一些设置:create()创建show()显示dismiss()退出对话框2,常用方法setIcon:设置图标setTitle:设置标题setPositiveButton:设置 确定按钮setNegativeButton:设置 取消按钮setNeutralButton:设置 忽略按钮setCancelable(Boolean arg0)/按回退键是否可以取消3,可选但唯一的方法setMessage 设置显示消息setItems 显示单选列表,选择后对话框退
2、出setSingleChoiceItems 显示单选列表,选择后对话框不退出setMultiChoiceItems 显示多选列表,选择后对话框不退出4,从资源文件加载对框视图 通过 setView( LayoutInflater.from(Context context).inflate(resource, null) )安装视图5,通过 Activity.showDialog(int id)来显示对话框重写 Activity 的以下方法protected Dialog onCreateDialog(int id) /Dialog 第一次创建时调用.这里需要通过 AlertDialog.cre
3、ate()返回创建的对话框protected onPrepareDialog(int id, Dialog dialog) /Dialog 显示前调用6,其他对话框ProgressDialog 对话框setIndeterminate 设置进度条是否自动运转setProgressStyle 设置显示风格; ProgressDialog.STYLE_HORIZONTAL/ProgressDialog.STYLE_SPINNERsetProgress 设置进度,只有对话框显示后才有用setCancelable(Boolean arg0)/按回退键是否可以取消,进度条对框框默认不取消setMessag
4、e() 设置显示内容最简单的显示方法:public static ProgressDialog show (Context context, CharSequence title, CharSequence message) TimePickerDialog/DatePickerDialog例子:“从配置文件加载对话框视图”public void inputPwd() /LayoutInflater 是用来找 layout 下 xml 布局文件,并且实例化LayoutInflater inflater = LayoutInflater.from(Main.this);final View la
5、yView = inflater.inflate(R.layout.dialogview, null);/加载配置文件来创建一个对话框Builder dialog = new AlertDialog.Builder(Main.this).setView(layView);dialog.setTitle(输入密码 );/添加 OK 按钮的单击事件dialog.setPositiveButton( OK , new DialogInterface.OnClickListener() Overridepublic void onClick(DialogInterface dialog, int wh
6、ich) /必须在 findViewById()方法之前写上 layView,否则默认为 main.xmlEditText secondPwd = (EditText) layView.findViewById(R.id.secondPwd); String inputPwd = secondPwd.getText().toString(); /从对话框中获取到的数据赋值给 inputPwdString pwdDB = getPassWord(); /从数据库中获取密码,并将其赋值给pwdDBif (inputPwd.equals(pwdDB) /如果输入的密码等于数据库中的密码,返回首页/返回到首页Intent intent = new Intent(Intent.ACTION_MAIN);startActivity(intent); ).setNeutralButton(CANCEL, new DialogInterface.OnClickListener() Overridepublic void onClick(DialogInterface dialog, int which) System.out.println(+ CANCEL +);).create();dialog.show();