2012-02-10 7 views
14

hey quiero administrar la altura y el ancho de EditText Box programáticamente en android intenté edittext.setWidth(32); y edittext.setEms(50); ambos no funcionan. Por favor, mira mi código de codificación siguiente lo estoy usando para crear dinámico EditarTexto en Androidcómo establecer EditText altura y ancho del cuadro mediante programación en android

private EditText createEditText() 
    { 
     final LayoutParams lparams = new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT); 
     final EditText edittext = new EditText(this); 
     edittext.setLayoutParams(lparams); 
     edittext.setWidth(32); 
     edittext.setEms(50); 
     return edittext; 
    } 

Respuesta

21
private EditText createEditText() 
{ 
    final LayoutParams lparams = new LayoutParams(50,30); // Width , height 
    final EditText edittext = new EditText(this); 
    edittext.setLayoutParams(lparams); 
    return edittext; 
} 

Prueba esto.

+5

Qué 'LayoutParams' para importar? – Mann

+2

necesidad de importar ViewGroup.LayoutParams – MRK

10
edittext.getLayoutParams().width=32; 
+0

gracias a su trabajo adecuadamente u muchas gracias –

+6

Esto me hace NullPointerExceptions ... :-( – JerabekJakub

6
DisplayMetrics metrics = new DisplayMetrics(); 
WindowManager wm = (WindowManager) this.getSystemService(Context.WINDOW_SERVICE); 
wm.getDefaultDisplay().getMetrics(metrics); 
final float height = metrics.heightPixels; 

EditText edittext = new EditText(this); 

edittext.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT,(int) (height/2))); 
-2

Prueba el siguiente código: -

Display display = getWindowManager().getDefaultDisplay(); 
    int screenWidth = display.getWidth(); 
    int screenHeight = display.getHeight(); 

profile_pic.getLayoutParams().height=(screenHeight/6); 
    profile_pic.getLayoutParams().width=(screenHeight/6); 
1
RelativeLayout.LayoutParams.width = 32; 
RelativeLayout.LayoutParams.height = 50; 

funciona para mí. por ejemplo

lparams.width = 32; 
0
LinearLayout.LayoutParams params = (LinearLayout.LayoutParams) edittext.getLayoutParams(); 
      params.width = mScreenWidth/5; 
      params.height = mScreenWidth/5; 
      edittext.setLayoutParams(params); 
Cuestiones relacionadas