Puedo usar android:gravity="bottom|center_horizontal"
xml en una vista de texto para obtener los resultados deseados, pero necesito hacerlo mediante programación. Mi vista de texto está dentro de un tablerow
si eso importa en a 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 entiendo correctamente, ¿eso se aplicaría a la vista de texto tablerow
, no?
it.gravity = Gravity.CENTER_HORIZONTAL or Gravity.BOTTOM
or
y noand
?Esto centrará el texto en una vista de texto:
fuente
LayoutParams
no está definido aquí y puede variar, por lo que no se compilará. Debe conocer un diseño principal (por ejemploLinearLayout
) y escribirlo aquí.Podemos establecer la gravedad del diseño en cualquier vista, como a continuación:
Esto es equivalente al siguiente código xml
fuente
Debe utilizar
textView.setGravity(Gravity.CENTER_HORIZONTAL);
.Recuerda que usando
no funciona Esto establecerá la gravedad para el widget y no para su texto.
fuente
Usa este código
fuente
Esto establecerá la gravedad de su vista de texto.
fuente
Resolví esto haciendo algunas cosas, primero obteniendo el
height
de myTextView
y sumergiéndolo en el textosize
para obtener la cantidad total de líneas posibles con elTextView
.Después de obtener este valor, debe establecerlo
TextView
maxLines
en este nuevo valor.Ajuste el
Gravity
queBottom
una vez que se ha superado la cantidad máxima de líneas y se desplazará hacia abajo automáticamente.Para que esto funcione correctamente, debe utilizar
append()
elTextView
, sisetText()
no funcionará.El beneficio de este método es que se puede usar dinámicamente independientemente
height
de tuTextView
y el textosize
. Si decide realizar modificaciones en su diseño, este código seguirá funcionando.fuente