我开发了一个应用程序,想要将Fragment显示为对话框。
在我的应用程序中,我使用了选项卡和Fragment。我只有一个活动,并根据需要替换Fragment。
如果我们使用活动,则在清单文件中声明“android:theme =“@ android:style / Theme.Dialog”以将活动显示为对话框,我想为Fragment做同样的事情。
我开发了一个应用程序,想要将Fragment显示为对话框。
在我的应用程序中,我使用了选项卡和Fragment。我只有一个活动,并根据需要替换Fragment。
如果我们使用活动,则在清单文件中声明“android:theme =“@ android:style / Theme.Dialog”以将活动显示为对话框,我想为Fragment做同样的事情。
import android.app.Dialog;
import android.app.DialogFragment;
import android.app.ProgressDialog;
import android.os.Bundle;
public class LoadingDialogFragment extends DialogFragment {
private final String message;
private LoadingDialogFragment(String message) {
this.message = message;
}
public static LoadingDialogFragment newInstance(String message) {
LoadingDialogFragment fragment = new LoadingDialogFragment(message);
return fragment;
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
final ProgressDialog dialog = new ProgressDialog(getActivity());
dialog.setMessage(message);
dialog.setIndeterminate(true);
dialog.setCancelable(true);
return dialog;
}
}
可以像这样实例化:
LoadingDialogFragment.newInstance(context.getString(R.string.loading_message))
如果您想要自定义布局,可以在此对话框内部填充视图并设置setContentView。 http://developer.android.com/guide/topics/ui/dialogs.html#CustomLayout
只需使用DialogFragment。它是用于此用途的预期片段子类。 http://developer.android.com/reference/android/app/DialogFragment.html