我想为我的应用构建自定义Dialog
。我读到了一些不同的方法,我想问一下它们之间有什么不同,以及更常用和更受欢迎的方法。
扩展DialogFragment
并在onCreateDialog
初始化它:
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setMessage(R.string.dialog_fmessage)
//code
//code
return builder.create();
扩展DialogFragment
和onCreateView
以扩大布局:
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
return inflater.inflate(R.layout.purchase_items, container, false);
}
不要在活动中使用任何扩展简单定义实例类型Dialog
:
Dialog dialog = new Dialog(CustomDialog.this);
dialog.setContentView(R.layout.dialog);
dialog.setTitle("Custom Dialog");
TextView text = (TextView) dialog.findViewById(R.id.textDialog);
//code
//code
//code
dialog.show();
答案 0 :(得分:0)
DialogFragment
并在onCreateDialog
初始化它:如果要使用带有两个按钮的简单对话框,则应使用AlertDialog.Builder
来遵循此方法。您还可以使用setView
设置自定义布局。这将为视图 BETWEEN 设置该对话框的标题和按钮的自定义布局。
如果要为对话框使用完整的自定义布局(标题,图标,按钮等),则应遵循此方法。
如果您只想在一个活动中创建一个对话框,那么您应该使用它。
但是,如果您想在各种活动中显示相同的对话框,那么您应该根据您的要求遵循前两种方法中的任何一种。然后,您就可以从任何活动中显示对话框,并且不必在每个活动中编写相同的代码。