¿Podría ser algo tan simple como usar setView
en la clase AlertDialog? (Junto con algunas ediciones al .xml). Primero, tomé información sobre setView
desde here.
public void setView (View view, int viewSpacingLeft, int viewSpacingTop, int viewSpacingRight, int viewSpacingBottom)
Set the view to display in that dialog, specifying the spacing to appear around that view.
Parameters:
view The view to show in the content area of the dialog
viewSpacingLeft Extra space to appear to the left of view
viewSpacingTop Extra space to appear above view
viewSpacingRight Extra space to appear to the right of view
viewSpacingBottom Extra space to appear below view
Y aquí algunos ejemplos de código del SDK (AlertDialogSamples.java), que utiliza setView
.
case DIALOG_TEXT_ENTRY:
// This example shows how to add a custom layout to an AlertDialog
LayoutInflater factory = LayoutInflater.from(this);
final View textEntryView = factory.inflate(R.layout.alert_dialog_text_entry, null);
return new AlertDialog.Builder(AlertDialogSamples.this)
.setIcon(R.drawable.alert_dialog_icon)
.setTitle(R.string.alert_dialog_text_entry)
.setView(textEntryView)
.setPositiveButton(R.string.alert_dialog_ok, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
/* User clicked OK so do some stuff */
}
})
.setNegativeButton(R.string.alert_dialog_cancel, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
/* User clicked cancel so do some stuff */
}
})
.create();
}
return null;
Y, por último, algunos de los archivos XML parece que se añade márgenes alrededor del texto (alert_dialog_text_entry.xml).
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/username_view"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_marginLeft="20dip"
android:layout_marginRight="20dip"
android:text="@string/alert_dialog_username"
android:gravity="left"
android:textAppearance="?android:attr/textAppearanceMedium" />
Espero que ayude.
¿Algún progreso? ¿Has probado mi sugerencia? – gary