2012-02-19 20 views
5

Estoy buscando una forma de cambiar el tamaño (para que no toque los bordes) un EditText dentro de un AlertDialog.Resizing EditText dentro de un AlertDialog

enter image description here

Mi código de ejemplo

AlertDialog.Builder alert = new AlertDialog.Builder(myActivity.this); 

alert.setTitle("Test"); 

EditText textBox = new EditText(myActivity.this); 
alert.setView(textBox); 

alert.setPositiveButton("OK", new DialogInterface.OnClickListener() { 
    public void onClick(DialogInterface dialog, int whichButton) { 
    // do nothing 
    } 
}); 

alert.setNegativeButton("Cancel", new DialogInterface.OnClickListener() { 
    public void onClick(DialogInterface dialog, int whichButton) { 
// do nothing 
} 
}); 

alert.show(); 

He intentado soluciones proporcionadas aquí sin éxito:

Respuesta

22

agregue su texto de edición dentro de una distribución lineal y establezca los márgenes para ese diseño. ver a continuación:

AlertDialog.Builder alert = new AlertDialog.Builder(this); 

    alert.setTitle("Test"); 

    LinearLayout layout = new LinearLayout(this); 
    layout.setOrientation(LinearLayout.VERTICAL); 
    LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
     LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT); 
    params.setMargins(20, 0, 30, 0); 

    EditText textBox = new EditText(myActivity.this); 
    layout.addView(textBox, params); 

    alert.setView(layout); 

    alert.setPositiveButton("OK", new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dialog, int whichButton) { 
     // do nothing 
     } 
    }); 

    alert.setNegativeButton("Cancel", new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dialog, int whichButton) { 
    // do nothing 
    } 
    }); 

    alert.show(); 
+0

Gracias por tomarse el tiempo, esto ayudó a poner las piezas adecuadas en los lugares correctos. – ThePaul

Cuestiones relacionadas