【发布时间】:2014-12-18 23:17:46
【问题描述】:
我在全屏显示 DialogFragment 时遇到了一些问题。在我的应用程序中,我有一个片段,当您单击某个按钮时,它会调用一个 DialogFragment。但是 DialogFragment 只是填充了 Fragment 的区域(在操作栏下方)。我希望它像这样填满整个屏幕:http://img845.imageshack.us/img845/8682/myimage2.png
有什么帮助吗?
public class ItensActivity extends Fragment {
...
public void openDialogItens()
{
dialog = new ItemDialog();
dialog.show(getFragmentManager(), "");
getFragmentManager().executePendingTransactions();
}
public static class ItemDialog extends DialogFragment
{
@SuppressWarnings("deprecation")
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setView(getContentView());
Dialog dialog = builder.create();
dialog.setCanceledOnTouchOutside(true);
WindowManager.LayoutParams lp = new WindowManager.LayoutParams();
lp.copyFrom(dialog.getWindow().getAttributes());
lp.width = WindowManager.LayoutParams.WRAP_CONTENT;
lp.height = WindowManager.LayoutParams.FILL_PARENT;
dialog.getWindow().requestFeature(Window.FEATURE_NO_TITLE);
dialog.getWindow().setAttributes(lp);
return dialog;
}
private View getContentView() {
LayoutInflater inflater = getActivity().getLayoutInflater();
View view = inflater.inflate(R.layout.popup_item, null);
return view;
}
}
【问题讨论】:
-
我不确定我是否理解你想要的,但如果你想要一个“全屏”片段,为什么要使用 DialogFragment?请改用普通的 Fragment。
-
这是因为我想像弹出/对话框一样显示它,显示其背面的内容,例如:i.stack.imgur.com/uV5Jd.png。但是 DialogFragment 没有覆盖操作栏
-
所以...您不想要一个 全屏 Dialog,而是一个部分覆盖 ActionBar 的 Dialog,对吧?
-
如果对话框被主活动调用,它会起作用。但就片段而言,它没有。
标签: android android-fragments fullscreen android-dialogfragment