Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/197.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 是否可以将PopupWindow设置为模态,但不能设置为AlertDialog?_Android - Fatal编程技术网

Android 是否可以将PopupWindow设置为模态,但不能设置为AlertDialog?

Android 是否可以将PopupWindow设置为模态,但不能设置为AlertDialog?,android,Android,是否可以将PopupWindow设置为模态,但不能设置为AlertDialog? 我需要使用自定义“确定”和“取消”按钮来设置自定义布局,有时只是自定义“确定”按钮。为什么不使用AlertDialog?可以调用setContentView方法自定义对话框视图 是一个示例。您可以使用带有对话框窗口的自定义布局 这里有一个例子 public class Dialog { private static Dialog dlg = null; public static void cre

是否可以将PopupWindow设置为模态,但不能设置为AlertDialog?
我需要使用自定义“确定”和“取消”按钮来设置自定义布局,有时只是自定义“确定”按钮。

为什么不使用AlertDialog?可以调用setContentView方法自定义对话框视图


是一个示例。

您可以使用带有对话框窗口的自定义布局

这里有一个例子

public class Dialog
{
    private static Dialog dlg = null;

    public static void create(Context context, String title, String message, boolean cancelable)
    {
        if (dlg != null)
        {
            return;
        }

        dlg = new Dialog (context);
        dlg.requestWindowFeature(Window.FEATURE_NO_TITLE);
        dlg.getWindow().setBackgroundDrawableResource(R.color.transparent);

        dlg.setContentView(R.layout.help_dialog);

        TextView titleHeader = (TextView)dlg.findViewById(R.id.popup_header_text);
        titleHeader.setText(Html.fromHtml((String) title));

        TextView content = (TextView)dlg.findViewById(R.id.help_content);
        content.setText(Html.fromHtml((String) message));

        Button okBtn = (Button)dlg.findViewById(R.id.help_btn_ok);
        okBtn.setOnClickListener(new OnClickListener() 
        {
            @Override
            public void onClick(View v) 
            {
                dismissHelpDialog();
            }
        });

        dlg.setCancelable(cancelable);
        if (cancelable)
        {
            dlg.setCanceledOnTouchOutside(true);
        }
        dlg.setOnCancelListener(new OnCancelListener() 
        {
            @Override
            public void onCancel(DialogInterface dialog) 
            {
                dismissHelpDialog();
            }
        });
        dlg.setOnDismissListener(new OnDismissListener() 
        {

            @Override
            public void onDismiss(DialogInterface dialog) 
            {
                dismissHelpDialog();

            }
        });

        dlg.show();
    }

    private static void dismissHelpDialog()
    {
        if (dlg != null)
        {
            dlg.dismiss();
            dlg = null;
        }
    }
简单使用后:

Dialog.create(this, "Help Window"), "Help window Text", true);

在你的活动中使用对话框主题,它将是浮动的,在屏幕的其余部分有一个暗淡的背景。