Ich habe ein Dialogfragment, das so aussieht.
AlertDialog ad = builder.create();
Drawable d = new ColorDrawable(Color.BLACK);
d.setAlpha(130);
ad.getWindow().setBackgroundDrawable(d);
Dieser Code macht den Hintergrund halbtransparent. Aber ich habe immer noch einen weißen Bereich unten. Ich möchte den weißen Bereich loswerden und nur einen halbtransparenten Hintergrund haben.
Ich habe bereits viele Dinge ausprobiert, die ich in anderen Beiträgen gesehen habe.
Ich weiß nicht, welches Objekt ich zwischen dem Dialogfragment, dem AlertDialog und dem LinearLayout ändern muss.
Es könnte nicht das LinearLayout sein, denn wenn ich den Rand vergrößere, bewegt sich nichts.
Hier ist mein Code:
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
// setStyle(DialogFragment.STYLE_NORMAL, 0);
// setStyle(STYLE_NO_FRAME, R.style.CustomDialog);
// setStyle(STYLE_NO_FRAME, 0);
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
View view = getActivity().getLayoutInflater().inflate(
R.layout.share_or_die, null);
AlertDialog ad = builder.create();
Drawable d = new ColorDrawable(Color.BLACK);
d.setAlpha(130);
ad.getWindow().setBackgroundDrawable(d);
ad.setCanceledOnTouchOutside(true);
ad.getWindow().requestFeature(Window.FEATURE_NO_TITLE);
ad.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
return ad;
}
Ich rufe es nur in der MainActivity auf, wenn der Benutzer auf die Zurück-Taste klickt:
@Override
public void onBackPressed() {
if (isUserConnected && !hasShared) {
shareOnExitDialog = new ShareOnExitDialog();
shareOnExitDialog.setCancelable(true);
shareOnExitDialog.show(getSupportFragmentManager(), "Exit");
} else {
finish();
}
}
Jede Hilfe wäre geschätzt!