Benutzerdefinierte AlertDialog Grenzen
Ich bin erstellen einer benutzerdefinierten dialog. Dieses Beispiel-code ist:
final AlertDialog dialog;
protected AlertDialog createDialog(int dialogId) {
AlertDialog.Builder builder;
builder = new AlertDialog.Builder(parent);
AlertDialog fDialog = null;
switch(dialogId) {
case Constants.cusDialogtId:
builder = new AlertDialog.Builder(parent);
builder.setTitle("Title");
LayoutInflater inflater = (LayoutInflater)parent.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.layout.customdialog, null);
builder.setView(view);
fDialog = builder.create();
break;
}
dialog = fDialog;
return dialog;
}
Das problem ist, dass, wenn das Dialogfeld angezeigt wird, hat es einen grauen hintergrund der native dialog, deren einige Obere und untere Grenze ist, zeigt sich auch mit meinen benutzerdefinierten dialog.
Gibt es eine Möglichkeit zu zeigen, nur mein eigenes Dialogfeld anzeigen...???
Das XML, das ich verwende, ist:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:orientation="vertical"
android:background="@drawable/bgsmall" >
<EditText android:id="@+id/redeemamount"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dip"
android:layout_marginLeft="20dip"
android:layout_marginRight="20dip"
android:hint="Enter amount"
android:inputType="numberDecimal">
</EditText>
<Button android:id="@+id/submitRedeemAmountButton"
android:layout_width="fill_parent"
android:layout_height="40dip"
android:text="Submit"
android:textColor="#FFFFFF"
android:textStyle="bold"
android:background="@drawable/buttoncorner"
android:layout_marginTop="20dip"
android:layout_marginLeft="20dip"
android:layout_marginRight="20dip"
android:layout_marginBottom="20dip">
</Button>
</LinearLayout>
- können Sie die xml für customdialog?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich glaube nicht, dass Sie können entfernen Sie die Ränder mithilfe
AlertDialog.Builder
.Was Sie tun können, ist, erstellen Sie eine
CustomDialog
Klasse, die Sie erweitertDialog
und im Konstruktor IhrerCustomDialog
Sie Blasen Sie Ihrecustomdialog.xml
.Außerdem müssen Sie erstellen eine benutzerdefinierte
style
für Ihre dialog -, verbirgt die Grenzen. Hier ist ein Beispiel:Definieren auch die transparente Farbe:
Und erstellen Sie Ihren dialog mit :
Erstellen Sie eine benutzerdefiniertes Design:
dann verwenden Sie es:
Update
Konstruktor oben ist in der Tat API 11+. Um dies zu umgehen, müssen Sie erweitern AlertDialog (da seine Konstrukteure sind
protected
) und und verwenden Sie dann den Konstruktor mit theme-parameter. Geben Sie Ihre benutzerdefinierte Ansicht Folgen Sie den Anweisungen hier - dieFrameLayout
trick wie am Anfang beschrieben.FrameLayout
trick benötigt, um legen Sie Ihre Ansicht.