Android establece la gravedad de un TextView programáticamente



Answers

Esto centrará el texto en una vista de texto:

TextView ta = (TextView) findViewById(R.layout.text_view);
LayoutParams lp = new LayoutParams();
lp.gravity = Gravity.CENTER_HORIZONTAL;
ta.setLayoutParams(lp);
Question

Puedo usar android:gravity="bottom|center_horizontal" en xml en una vista de texto para obtener los resultados deseados, pero necesito hacer esto programáticamente. Mi vista de texto está dentro de una tablerow si eso importa en una relativelayout .

Yo he tratado:

LayoutParams layoutParams = new TableRow.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, Gravity.BOTTOM | Gravity.CENTER_HORIZONTAL);
labelTV.setLayoutParams(layoutParams);

Pero si lo entiendo correctamente, ¿eso se aplicaría a la tablerow , no a la vista de texto?




textView.setGravity(Gravity.CENTER | Gravity.BOTTOM);

Esto establecerá la gravedad de su vista de texto.




Debe usar textView.setGravity(Gravity.CENTER_HORIZONTAL); .

Recuerde que usar

LinearLayout.LayoutParams layoutParams =new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
layoutParams2.gravity = Gravity.BOTTOM | Gravity.CENTER_HORIZONTAL;

no funcionará Esto establecerá la gravedad para el widget y no para su texto.




Related