没有标题的DialogFragment wrap_content

时间:2014-09-25 11:41:22

标签: android android-alertdialog android-dialog android-dialogfragment

我想显示没有标题的dialogFragment。

我开始这样的对话:

MyDialogFragment dialog = new MyDialogFragment();
dialog.show(getFragmentManager(), "dialog");

这很好用,但我的对话框中有一个标题。

为了删除标题,我尝试在我的OnCreateView中执行此操作:

getDialog().getWindow().requestFeature(Window.FEATURE_NO_TITLE);

这是我的onCreate:

Dialog dialog = super.onCreateDialog(savedInstanceState);
dialog.getWindow().requestFeature(Window.FEATURE_NO_TITLE);

这也在onCreateView和onCreate:

setStyle(DialogFragment.STYLE_NO_TITLE, 0);

但每次我的窗口都是一个小的白色对话框。我认为,我的视图不可见,因为我的对话框太小了。我找到了一些帮助,我可以设置我的Dialogs大小,但我不想设置修复大小。我的对话框应该有大小,这对于显示我的完整视图是非常必要的。

如何根据需要设置对话框大小?

或者是否有一个使用alertDialog的解决方案,我可以在其中设置我的customView或类似的内容?

非常感谢您的帮助! :)

2 个答案:

答案 0 :(得分:0)

在DialogFragment中添加此项。我希望这会对你有所帮助:

@Override
        public void onStart() {
            super.onStart();
            if (getDialog() == null) {
                return;
            }
            DisplayMetrics metrics = new DisplayMetrics();
            getSherlockActivity().getWindowManager().getDefaultDisplay().getMetrics(metrics);
            int width = metrics.widthPixels;
            int dialogWidth = width - getResources().getDimensionPixelSize(R.dimen.lef_and_right_margin);
            int dialogHeight = getResources().getDimensionPixelOffset(R.dimen.height_window);
            getDialog().getWindow().setLayout(dialogWidth, dialogHeight);
            getDialog().getWindow().setGravity(Gravity.CENTER);
        }

答案 1 :(得分:0)

找到解决方案:

我正在使用警告对话框并设置自定义视图:

AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setView(layout);

layout是一个观点,我之前曾夸大过。