我有一个带有圆角的自定义对话框视图。因此,我需要隐藏我成功使用的默认对话框边框,getDialog().getWindow().setBackgroundDrawable(new ColorDrawable(0));。
我的问题是对话框现在扩展了整个父宽度,我只希望它像普通对话框窗口一样显示大约 90% 的宽度。我尝试设置 getWindow().setLayout(...) 并设置布局参数属性但无济于事。任何帮助深表感谢。
*更新。删除 getDialog().getWindow().setBackgroundDrawable(new ColorDrawable(0)); 从我的代码中修复了宽度问题,但让我回到了默认对话框边框显示的问题。虽然因为我的自定义对话框没有边框和圆角,但我需要该边框消失而不会像大多数对话框一样丢失 90% 或任何对话框宽度。
public final class ResetPasswordDialogFragment extends DialogFragment {
public static ResetPasswordDialogFragment newInstance() {
ResetPasswordDialogFragment f = new ResetPasswordDialogFragment();
Bundle args = new Bundle();
f.setArguments(args);
return f;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.dialog_fragment_password_reminder, container, false);
//Removes the default dialog background border
getDialog().getWindow().setBackgroundDrawable(new ColorDrawable(0));
Button resetBtn = (Button)v.findViewById(R.id.resetPasswordBtn);
Button closeBtn = (Button)v.findViewById(R.id.closeBtn);
//Click Listeners
resetBtn.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
//TODO web call here
}
});
closeBtn.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
dismiss();
}
});
return v;
}
}