2011-01-27 12 views
7

Si configuro solo el margen para mi vista de texto, es decir, dentro del diseño lineal, todo funciona. Si configuro solo la gravedad para mi vista de texto, funciona. Pero si establezco ambos atributos (gravedad y márgenes), la gravedad permanece a la izquierda con los márgenes establecidos con éxito.Establecer el margen y la gravedad de la vista de texto en el código no funciona

Mi código para configurar ambos atributos que no funciona como se esperaba:

tv2=new TextView(this); 
tv2.setText("Text"); 
LinearLayout.LayoutParams para=new LinearLayout.LayoutParams(
    LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT); 
para.setMargins(0, 10, 0, 10); //left,top,right, bottom 
tv2.setLayoutParams(para); 
tv2.setGravity(android.view.Gravity.CENTER_HORIZONTAL); 

debo construir mi diseño en el código, no puede utilizar archivos XML.

Respuesta

14

Trate de usar esto en su lugar:

para.gravity = Gravity.CENTER_HORIZONTAL; 
tv2.setLayoutParams(para); 

//the below sets the view's content gravity, not the gravity 
//of the view itself. Since the width is wrap_content, this 
//has no effect. 
//tv2.setGravity(android.view.Gravity.CENTER_HORIZONTAL); 
+0

muy buen tipo ... – Siten

Cuestiones relacionadas