自定义Dialog

来源:互联网 发布:安全网络格言 编辑:程序博客网 时间:2024/05/21 07:46

默认的Dialog:

        AlertDialog.Builder builder = new AlertDialog.Builder(this);        builder.setTitle("最新版本:" + mVersionName);        builder.setMessage(mDesc);        // builder.setCancelable(false);//不让用户取消对话框, 用户体验太差,尽量不要用        builder.setPositiveButton("立即更新", new OnClickListener() {            @Override            public void onClick(DialogInterface dialog, int which) {                System.out.println("立即更新");                download();            }        });        builder.setNegativeButton("以后再说", new OnClickListener() {            @Override            public void onClick(DialogInterface dialog, int which) {                enterHome();            }        });        // 设置取消的监听, 用户点击返回键时会触发        builder.setOnCancelListener(new OnCancelListener() {            @Override            public void onCancel(DialogInterface dialog) {                enterHome();            }        });        builder.show();

感觉默认的dialog不够漂亮。
自定义一个吧~

  1. 写一个布局文件
  2. 在dialog内用View.inflate() 引入
  3. 设置各种监听事件
        AlertDialog.Builder setpw=new AlertDialog.Builder(this);        final AlertDialog setpwad=setpw.create();        View adview=View.inflate(HomeActivity.this,R.layout.dialog_set_passwd,null);//创建一个View对象。布局是xml写好了的        setpwad.setView(adview,0,0,0,0);//设置布局,后的参数表示间距。        final EditText btpasswd=(EditText)adview.findViewById(R.id.editText);        final EditText btpasswdconfirm=(EditText)adview.findViewById(R.id.editText2);//找到布局内的组建        Button cancle=(Button)adview.findViewById(R.id.cancer);        Button ok=(Button)adview.findViewById(R.id.ok);        cancle.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                setpwad.dismiss();//让DiaLog消失            }        });        ok.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {            }        });        setpwad.show();
0 0
原创粉丝点击