角を丸くして表示しているカスタムダイアログビューがあります。このため、正常に実行しているデフォルトのダイアログ境界フレームを非表示にする必要があります。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;
}
}