我想显示没有标题的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或类似的内容?
非常感谢您的帮助! :)
答案 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
是一个观点,我之前曾夸大过。