Ich versuche, einen Rahmen für ein Dialogfenster in Android hinzuzufügen. Abgerundete Ecken in das Dialogfenster hinzugefügt, um eine ziehbar mit den folgenden Zeilen mitHinzufügen von Rahmen zum Dialogfeld in Android
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:left="5dp"
android:right="5dp"
android:bottom="5dp"
android:top="5dp">
<shape android:shape="rectangle">
<solid android:color="#ffbf80" />
<corners android:radius="30dp" />
<padding
android:left="1dp"
android:top="1dp"
android:right="1dp"
android:bottom="1dp" />
</shape>
</item>
</layer-list>
Um Grenze zum Dialogfeld hinzuzufügen, habe ich versucht, durch den Hub Element hinzugefügt wird, wie unten
<shape android:shape="rectangle">
<solid
android:color="#ffbf80" />
<stroke android:color="#ff3300" android:width="2dp"/>
<corners
android:radius="30dp" />
<padding
android:left="1dp"
android:top="1dp"
android:right="1dp"
android:bottom="1dp" />
</shape>
Aber dies ist die Schaffung ein Rahmen um jedes Element im Dialog wie Textansicht, Symbol, Schaltfläche auch. Ich möchte nur eine Umrandung für das Fenster.
Ich habe den Alarm-Dialog im Java-Code mit AlertDialog.Builder erstellt,
myDialogBuilder=new AlertDialog.Builder(new
ContextThemeWrapper(getActivity(),
R.style.CustomDialog))
.setTitle(title.getText().toString())
.setMessage(myText)
.setPositiveButton("Done", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which)
{
getDialog().dismiss();
}
});
myDialog=myDialogBuilder.create();
myDialog.setOnShowListener(new DialogInterface.OnShowListener() {
@Override
public void onShow(DialogInterface dialog) {
Window view=((AlertDialog)dialog).getWindow();
view.setBackgroundDrawable(new
ColorDrawable(Color.TRANSPARENT));
...
}
});
Ich habe folgend in meinem styles.xml für das Dialogfeld
<style name="CustomDialog" parent="@style/ThemeOverlay.AppCompat.Dialog">
<item name="android:backgroundDimEnabled">true</item>
<item name="android:background">@drawable/dialog_bg</item>
<item name="android:textColorPrimary">@color/my_textcolor</item>
</style>
Bitte helfen Sie mir zu verstehen, Welche Änderungen sollte ich vornehmen, damit der Alarmdialogrand angezeigt wird?
Dank
Vielen Dank für Ihre Antwort. Ich habe bereits die drei Dinge hinzugefügt, die Sie erwähnt haben, aber der einzige Unterschied besteht darin, dass ich den Alarmdialog im Code erstelle, anstatt ein benutzerdefiniertes Layout zu verwenden. Funktioniert es deshalb nicht? – Sri
Wenn Sie immer noch "myDialogBuilder = new AlertDialog.Builder (..)" verwenden, erstellen Sie kein benutzerdefiniertes Dialogfeld und die Klasse, die Sie für das benutzerdefinierte Dialogfeld erstellt haben, tut nichts, weil Sie es nicht verwenden. Ändern Sie es in "myDialog = new MyCustomDialog()" oder wie auch immer Sie Ihre benutzerdefinierte Dialogklasse aufgerufen haben. Um ein benutzerdefiniertes Dialogfeld zu erstellen, müssen Sie eine Java-Klasse erstellen, die die Dialog Android-Klasse erweitert. –
Ich denke, für API 11 und höher können wir Alarmdialog mit benutzerdefinierten Stil mit AlertDialog.Builder erstellen. Bitte überprüfen Sie diesen Link https: // stackoverflow.com/fragen/14770400/android-alertdialog-styling. Ich konnte Hintergrundfarbe und abgerundete Ecken für den Alarmdialog festlegen, aber es ist der Strich allein, der nicht funktioniert. Wenn ich einen Strich in der Form in einer Zeichnungsdatei hinzufüge, wird ein gerundeter Rahmen für den Titel, die Schaltfläche, die Nachricht und alles, was im Warnungsdialog vorhanden ist, angezeigt. Ich brauche nur einen Umrissrahmen für das Warndialogfeld. – Sri