将Android AlertDialog嵌入UI而不是弹出窗口
下面的Android代码创建了一个弹出框,只能通过单击它创建的(否定)按钮来取消该框将Android AlertDialog嵌入UI而不是弹出窗口,android,modal-dialog,android-alertdialog,Android,Modal Dialog,Android Alertdialog,下面的Android代码创建了一个弹出框,只能通过单击它创建的(否定)按钮来取消该框 DialogFragment dialog = new DialogFragment() { @Override public Dialog onCreateDialog(Bundle savedInstanceState) { AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); builde
DialogFragment dialog = new DialogFragment() {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setNegativeButton(getResources().getString(R.string.abort),
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id) {}
});
setCancelable(false);
return builder.create();
}
};
dialog.show(getSupportFragmentManager(),"");
是否可以将弹出框嵌入到UI中(以便在单击其按钮之前禁用所有其他内容)
弹出框是否可以嵌入到UI中
您可以使用FragmentTransaction
,将您的对话框fragment
显示为常规片段,指明您希望它显示的位置
(这样,在单击其按钮之前,所有其他内容都将被禁用)
如果您不打算在自己的窗口中以实际对话框的形式显示
对话框片段
,那么您需要自己完成这一部分。我可以嵌入UI,而无需构建对话框片段
,这似乎比构建对话框片段
并推入UI要好,因为——正如您所注意到的——我自己需要确保“在单击按钮之前禁用所有其他内容”,从而失去了确保“在单击按钮之前禁用所有其他内容”的DialogFragment
的优势。