android的Feagment的用法
参考文档:安卓官方网站 参考文档
1、新建类 ,继承Dialogment,重写onCreateDialog方法
public class MyFragmentDialog extends DialogFragment {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
// Use the Builder class for convenient dialog construction
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setMessage("Dialog 内容")
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dismiss();
// FIRE ZE MISSILES!
}
})
.setNegativeButton("取消", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// User cancelled the dialog
}
});
// Create the AlertDialog object and return it
return builder.create();
}
}
调用 :
new MyFragmentDialog().show(getSupportFragmentManager(),"TAG");
这种直接弹出个普通的dialog
2、自定义视图 ,将视图显示Dialog
public class OwnFragmentDialog extends MyFragmentDialog {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
LayoutInflater inflater = requireActivity().getLayoutInflater();
builder.setView(inflater.inflate(R.layout.activity_main2,null));//取layout
builder.setMessage("Dialog 内容")
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dismiss();
// FIRE ZE MISSILES!
}
})
.setNegativeButton("取消", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// User cancelled the dialog
}
});
return builder.create();
}
}
new OwnFragmentDialog().show(getSupportFragmentManager(),"TAG");
效果 将自定义的layout做成Dialog