Android中对话框(Dialog)的创建方法

 

1,创建
     new AlertDialog.Builder(Context context)
     一些设置:
     create()创建
     show()显示
     dismiss()退出对话框

2,常用方法
     setIcon:设置图标
     setTitle:设置标题
     setPositiveButton:设置 确定按钮
     setNegativeButton:设置 取消按钮
     setNeutralButton:设置 忽略按钮
     setCancelable(Boolean arg0)//按回退键是否可以取消

3,可选但唯一的方法
     setMessage 设置显示消息
     setItems   显示单选列表,选择后对话框退出
     setSingleChoiceItems 显示单选列表,选择后对话框不退出
     setMultiChoiceItems 显示多选列表,选择后对话框不退出
   
4,从资源文件加载对框视图
     通过setView( LayoutInflater.from(Context context).inflate(resource, null) )安装视图

5,通过Activity.showDialog(int id)来显示对话框
     重写Activity的以下方法
     protected Dialog onCreateDialog(int id) //Dialog第一次创建时调用.这里需要通过AlertDialog.create()返回创建的对话框
     protected onPrepareDialog(int id, Dialog dialog) //Dialog显示前调用

6,其他对话框
     ProgressDialog对话框
     setIndeterminate 设置进度条是否自动运转
     setProgressStyle 设置显示风格;

      ProgressDialog.STYLE_HORIZONTAL/ProgressDialog.STYLE_SPINNER
     setProgress 设置进度,只有对话框显示后才有用
     setCancelable(Boolean arg0)//按回退键是否可以取消,进度条对框框默认不取消
     setMessage() 设置显示内容


最简单的显示方法:

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 layView = inflater.inflate(R.layout.dialogview, null);
   
    //加载配置文件来创建一个对话框
    Builder dialog = new AlertDialog.Builder(Main.this).setView(layView);
   
      dialog.setTitle("输入密码");
      //添加 " OK " 按钮的单击事件
      dialog.setPositiveButton(" OK ", new DialogInterface.OnClickListener() {

       @Override
    public void onClick(DialogInterface dialog, int which) {
        //必须在findViewById()方法之前写上layView,否则默认为main.xml
           EditText secondPwd = (EditText) layView.findViewById(R.id.secondPwd);
       
     String inputPwd = secondPwd.getText().toString(); //从对话框中获取到的数据赋值给inputPwd
    
     String pwdDB = getPassWord(); //从数据库中获取密码,并将其赋值给pwdDB
    
       if (inputPwd.equals(pwdDB)) { //如果输入的密码等于数据库中的密码,返回首页
       //返回到首页
       Intent intent = new Intent(Intent.ACTION_MAIN);
       startActivity(intent);
     }
    }
   })
   
   .setNeutralButton("CANCEL", new DialogInterface.OnClickListener() {
    
    @Override
    public void onClick(DialogInterface dialog, int which) {
     System.out.println("++ CANCEL ++");
    }
   })
   .create();

    dialog.show();
}

 

 

你可能感兴趣的:(数据库,android,String,layout,null,dialog)