Stellen Sie alert dialog-hintergrund transparent
Ich bin erstellen einer Warnmeldung, die auf Android Jelly Beans OS. Alles funktioniert gut, aber was ich möchte ist, dass anstelle des schwarzen Hintergrunds der alert-dialog möchte ich einen transparenten hintergrund. Ich lese so viele Artikel und Benutzer Frage auf stackoverflow, aber keiner von Ihnen wird mir helfen.
Hier ist mein code:
AlertDialog.Builder builder = new AlertDialog.Builder(this, R.style.CustomAlertDialog);
builder.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog1, int which) {
gActivityResult = REQUEST_PICK_CONTACT;
onResume();
return;
} });
builder.setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog1, int which) {
return;
} });
View view = getLayoutInflater().inflate(R.layout.alert_dialog, null);
builder.setTitle(R.string.gender_age);
builder.setInverseBackgroundForced(false);
builder.setView (view);
dialog = builder.create ();
Hier ist mein CustomAlertDialog definiert ist, res/values/styles.xml
<style name="CustomAlertDialog" parent="@android:style/Theme.Dialog">
<!-- All customizations that are NOT specific to a particular API-level can go here. -->
<item name="android:windowFrame">@null</item>
<item name="android:windowIsFloating">true</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
<item name="android:windowBackground">@color/transparent_color</item>
<item name="android:windowSoftInputMode">stateUnspecified|adjustPan</item>
<item name="android:colorBackgroundCacheHint">@null</item>
<item name="android:gravity">left</item>
</style>
Hier ist die color.xml
<resources>
<color name="transparent_color">#00000000</color>
</resources>
Aber es hat mir nicht helfen.
Meine Frage: Ist das machbar? Wenn ja, können Sie bitte führe mich in die richtige Richtung?
Ist Ihr Ziel nur um ihn transparent zu machen? Oder gibt es andere Gründe, die Sie wählten bei der Erstellung eines eigenen theme? Transparenz gebracht werden kann auch ohne das benutzerdefinierte Design.
Ich brauche es nur, um transparent zu sein.
Ich brauche es nur, um transparent zu sein.
InformationsquelleAutor Raj | 2013-06-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie noch nicht gelesen Style-Attribute für benutzerdefinierte Stil AlertDialog Frage, sollten Sie voran gehen und Lesen. Die Antwort deutet darauf hin, zu verwenden
Dialog
stattAlert Dialog
. Außerdem Lesen Warum LayoutInflater ignorieren die layout_width und layout_height layout-Parameter, die ich angegeben habe? Problem mitLayoutInflater
könnte klar ein bisschen mehr. Hoffe, es hilft. Versuchen Sie es und lassen Sie mich wissen, wenn es funktioniert.okay. Nicht konvertieren
Dialog
. Auf IhremAlertDialog
( NICHT der Erbauer) versuchen:dialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT))
.Ich habe versucht, vor, aber es hat nicht funktioniert. Ich habe auch versucht dialog.getWindow().setBackgroundDrawable(neue ColorDrawable(0)), die auch nicht funktioniert hat. Ich bin nicht sicher, warum sollte es ein großes Angebot zu geben, der hintergrund transparent, um den Alarm-dialog.
Du hast Recht. Vielleicht ist das der Grund, warum Sie erstellt-Dialoge. Ich in der Regel verwenden Sie entweder
Dialogs
oder "eine Tätigkeit mit einem Dialog-Thema", wenn ich etwas verlangen ike, was Sie sich wünschen.InformationsquelleAutor Shobhit Puri
Fand ich diese Art, die kompatibel ist mit dem AlertDialog.Builder . Mit dem "Dump View-Hierarchie" - button in der Android - "Geräte" - tab in Eclipse, sah ich viele verschachtelte FrameLayouts und es schien, wie der hintergrund war in diesen, vs das Fenster.
Durchqueren diese Aussicht und die Lage hintergrund auf transparent auf jeder tatsächlich gearbeitet (meine benutzerdefinierte Ansicht dann schwebt über dem gedimmten app, keine Bilder oder Hintergründe, und es ist keine änderung im layout). Ich hatte eine benutzerdefinierte Ansicht zu, so durchquert herunter, aber Traversierung ViewGroups aus dem Fenster sollte auch funktionieren.
Ich bin mit einem AlertDialog.Generator in meinem eigenen DialogFragment Unterklasse mit einer benutzerdefinierten Ansicht.
InformationsquelleAutor leorleor
Hatte ich etwas ähnliches für eines meiner Projekte. Was ich Tat, war zu erstellen, die eine Aktivität nur für die
AlertDialog
.Nicht sicher, ob dies ist, was Sie nach, aber posten es hier, falls es dir hilft...
Aktivität
Und ich den hintergrund auf transparent in das layout (alert_dialog.xml)...
Hinzugefügt und die Aktivität, die das Manifest...
Dieser hat den job für mich.
Hoffe, das hilft.
InformationsquelleAutor neo108
einfach anrufen,
kurz vor
InformationsquelleAutor mani