如何创建showdialog?

时间:2012-10-09 09:58:03

标签: android

我将对话框自定义为:

dialoge3 = new Dialog(this);

dialoge3.setContentView(R.layout.layoutdialoge003);

Button btnCacnel = (Button) dialoge3.findViewById(R.id.btnE3Cancel);

btnCacnel.setOnClickListener(new OnClickListener() {    
    public void onClick(View v) {
        // TODO Auto-generated method stub
        dialoge3.cancel();
    }
});

dialoge3.show();

当我点击显示对话框时,我仍然可以点击活动。 我希望在对话框显示时,我无法点击活动。

在C#中相同:

Form frm=new Form ();
frm.showDialog();

4 个答案:

答案 0 :(得分:1)

尝试添加以下属性。也许这就是你要找的东西,

dialoge3.setCanceledOnTouchOutside(false);

这可能会确保当用户触摸对话框边界外的屏幕时,您的Dialog不会被取消。

答案 1 :(得分:0)

尝试将AlertDialog.Builder用于您的目的。可以使用bulder为对话框设置自定义布局。

http://developer.android.com/guide/topics/ui/dialogs.html#CustomLayout

答案 2 :(得分:0)

AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
        builder.setMessage(R.string.dialog_fire_missiles)
               .setPositiveButton(R.string.fire, new DialogInterface.OnClickListener() {
                   public void onClick(DialogInterface dialog, int id) {
                       // FIRE ZE MISSILES!
                   }
               })
               .setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
                   public void onClick(DialogInterface dialog, int id) {
                       // User cancelled the dialog
                   }
               });
        // Create the AlertDialog object and return it
        return builder.create();

这是制作警告对话框的简单方法。如果您不理解我的代码,请简要告诉我您的确切问题..

答案 3 :(得分:0)

  

使用此功能并更改布局文件..

private void showDiaalog() {
                final Dialog dialog = new Dialog(Context);
                dialog.requestWindowFeature(dialog.getWindow().FEATURE_NO_TITLE);
                dialog.setContentView(R.layout.layoutfile);

                dialog.setCancelable(true);
                btnok = (Button) dialog.findViewById(R.id.btnOk);

                btnok.setOnClickListener(new OnClickListener() {

                    public void onClick(View arg0) {

                            //some thing else
                        }


                    }
                });
                Button btnCancel = (Button) dialog.findViewById(R.id.btncancel);

                btnCancel.setOnClickListener(new OnClickListener() {

                    public void onClick(View arg0) {

                        dialog.dismiss();
                    }
                });

                dialog.show();
            }