安卓fragment制作dialog
时间: 2023-07-29 10:06:14 浏览: 96
要在 Android 中使用 Fragment 制作 Dialog,可以按照以下步骤操作:
1. 创建一个继承自 DialogFragment 的 Fragment 类。
2. 实现 onCreateView 方法,该方法会返回一个 View 对象,用于显示 Dialog 的内容。
3. 在 onCreateDialog 方法中创建一个 AlertDialog 对象,并设置相关属性(例如标题、按钮等)。
4. 在 onStart 方法中调用 getDialog().getWindow().setLayout() 方法,设置 Dialog 的宽度和高度。
5. 在需要显示 Dialog 的地方,创建该 Fragment 对象并调用 show() 方法即可。
以下是一个示例代码:
```
public class MyDialogFragment extends DialogFragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.dialog_layout, container, false);
return view;
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setTitle("Dialog Title")
.setMessage("Dialog Message")
.setPositiveButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// User clicked OK button
}
})
.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// User cancelled the dialog
}
});
return builder.create();
}
@Override
public void onStart() {
super.onStart();
getDialog().getWindow().setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
}
}
```
在需要显示 Dialog 的地方,可以这样调用:
```
MyDialogFragment dialog = new MyDialogFragment();
dialog.show(getSupportFragmentManager(), "MyDialogFragment");
```
注意,第二个参数是一个 tag,用于标识该 DialogFragment,可以在需要时使用。
阅读全文