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 tablerowsi 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.BOTTOMory noand?Esto centrará el texto en una vista de texto:
fuente
LayoutParamsno 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
heightde myTextViewy sumergiéndolo en el textosizepara obtener la cantidad total de líneas posibles con elTextView.Después de obtener este valor, debe establecerlo
TextViewmaxLinesen este nuevo valor.Ajuste el
GravityqueBottomuna 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
heightde tuTextViewy el textosize. Si decide realizar modificaciones en su diseño, este código seguirá funcionando.fuente